From 4188bbb30db7ce7ac713256d9fb02a52c46bcf64 Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Wed, 12 Aug 2026 15:38:56 +0200 Subject: [PATCH 1/2] fix(entitlements): make successive adjustments accumulate instead of replacing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported: 25 days, "+2 wedding", then "−2 booked in error" left 23 days rather than the 25 it started from. manual_adjustment is a running total, but the dialog offered it as a per-correction figure labelled "Manual adjustment (+/−)" and update() assigned rather than added. So the second correction did not cancel the first, it overwrote it: the stored adjustment went 0 → 2 → −2, and the allowance 25 → 27 → 23. The sum itself was never wrong; base + carry-over + adjustment is right. The adjustment fed into it was. HR thinks in corrections, so the API now takes them. adjustmentDelta adds to what is already stored; manualAdjustment keeps setting the total outright for the rare wholesale overwrite. Sending both is refused rather than guessed at. Applying the delta on the server rather than reading-modifying-writing in the client also means two people adjusting the same entitlement cannot silently lose one another's correction. The dialog now asks for the correction and shows the accumulated total beside it, so it is visible that the field adds rather than replaces. Left empty it changes nothing, so saving a base-days edit on its own no longer disturbs the adjustment. The regression test walks the reported numbers exactly and fails on the old behaviour with the reported 23. Co-Authored-By: Claude Opus 5 (1M context) --- SPECIFICATION.md | 5 ++ lib/Controller/EntitlementController.php | 10 ++-- lib/Service/EntitlementService.php | 31 +++++++++++- src/views/hr/HrBalances.vue | 47 ++++++++++++++++--- tests/Unit/Service/EntitlementServiceTest.php | 43 +++++++++++++++++ 5 files changed, 124 insertions(+), 12 deletions(-) diff --git a/SPECIFICATION.md b/SPECIFICATION.md index a0b23ac..b8a05a3 100644 --- a/SPECIFICATION.md +++ b/SPECIFICATION.md @@ -771,6 +771,11 @@ the SPA). All list endpoints paginate and accept filters. - `GET /api/employees/{uid}/balance` — manager (reports) / HR only. - `GET /api/entitlements` / `PUT /api/entitlements/{id}` — HR manage. - `POST /api/entitlements/bulk` — HR bulk set. +- `PUT /api/entitlements/{id}` — HR manage. **`adjustmentDelta` adds to** the stored + manual adjustment; `manualAdjustment` **sets** it outright. Corrections are made as + deltas ("+2 for the wedding", later "−2, booked in error") and must cancel to + nothing — treating the second as an absolute set is what made 25 → +2 → 27 → −2 + land on 23 instead of back on 25. Sending both is refused rather than guessed at. - `GET /api/entitlements/{id}/history` — HR only: who changed which figure on an entitlement, from what to what, and the note they gave. One row per figure per save, so a single adjustment reads on its own rather than having to be diffed diff --git a/lib/Controller/EntitlementController.php b/lib/Controller/EntitlementController.php index 75f9e2a..ba8d2ab 100644 --- a/lib/Controller/EntitlementController.php +++ b/lib/Controller/EntitlementController.php @@ -39,13 +39,14 @@ public function index(string $employeeUid, ?int $year = null): DataResponse { #[NoAdminRequired] #[UserRateLimit(limit: 30, period: 60)] - public function create(string $employeeUid, int $year, int $typeId, ?float $baseDays = null, ?float $carryOverDays = null, ?float $manualAdjustment = null, ?string $adjustmentNote = null): DataResponse { - return $this->handle(function () use ($employeeUid, $year, $typeId, $baseDays, $carryOverDays, $manualAdjustment, $adjustmentNote) { + public function create(string $employeeUid, int $year, int $typeId, ?float $baseDays = null, ?float $carryOverDays = null, ?float $manualAdjustment = null, ?float $adjustmentDelta = null, ?string $adjustmentNote = null): DataResponse { + return $this->handle(function () use ($employeeUid, $year, $typeId, $baseDays, $carryOverDays, $manualAdjustment, $adjustmentDelta, $adjustmentNote) { $this->permission->assertHr((string)$this->userId); $data = array_filter([ 'baseDays' => $baseDays, 'carryOverDays' => $carryOverDays, 'manualAdjustment' => $manualAdjustment, + 'adjustmentDelta' => $adjustmentDelta, 'adjustmentNote' => $adjustmentNote, ], static fn ($v) => $v !== null); return $this->service->setForEmployee((string)$this->userId, $employeeUid, $year, $typeId, $data)->jsonSerialize(); @@ -54,13 +55,14 @@ public function create(string $employeeUid, int $year, int $typeId, ?float $base #[NoAdminRequired] #[UserRateLimit(limit: 30, period: 60)] - public function update(int $id, ?float $baseDays = null, ?float $carryOverDays = null, ?float $manualAdjustment = null, ?string $adjustmentNote = null): DataResponse { - return $this->handle(function () use ($id, $baseDays, $carryOverDays, $manualAdjustment, $adjustmentNote) { + public function update(int $id, ?float $baseDays = null, ?float $carryOverDays = null, ?float $manualAdjustment = null, ?float $adjustmentDelta = null, ?string $adjustmentNote = null): DataResponse { + return $this->handle(function () use ($id, $baseDays, $carryOverDays, $manualAdjustment, $adjustmentDelta, $adjustmentNote) { $this->permission->assertHr((string)$this->userId); $data = array_filter([ 'baseDays' => $baseDays, 'carryOverDays' => $carryOverDays, 'manualAdjustment' => $manualAdjustment, + 'adjustmentDelta' => $adjustmentDelta, 'adjustmentNote' => $adjustmentNote, ], static fn ($v) => $v !== null); return $this->service->update((string)$this->userId, $id, $data)->jsonSerialize(); diff --git a/lib/Service/EntitlementService.php b/lib/Service/EntitlementService.php index 315e34b..88aa3aa 100644 --- a/lib/Service/EntitlementService.php +++ b/lib/Service/EntitlementService.php @@ -45,7 +45,17 @@ public function listForEmployee(string $employeeUid, ?int $year = null): array { /** * Update an entitlement row (HR). Manual adjustments require a note (§6.1). * - * @param array{baseDays?:float,carryOverDays?:float,manualAdjustment?:float,adjustmentNote?:string} $data + * Two ways to move the manual adjustment, and the difference matters: + * + * - `adjustmentDelta` **adds to** what is already there. This is how corrections + * are actually made — "+2 for the wedding", later "−2, booked in error" — and + * the two must cancel to nothing. + * - `manualAdjustment` **sets** the running total outright, for the rare case of + * overwriting it wholesale. + * + * Sending both is refused rather than guessed at. + * + * @param array{baseDays?:float,carryOverDays?:float,manualAdjustment?:float,adjustmentDelta?:float,adjustmentNote?:string} $data */ public function update(string $actorUid, int $id, array $data): Entitlement { try { @@ -53,6 +63,9 @@ public function update(string $actorUid, int $id, array $data): Entitlement { } catch (DoesNotExistException) { throw new NotFoundException('Entitlement not found'); } + if (array_key_exists('adjustmentDelta', $data) && array_key_exists('manualAdjustment', $data)) { + throw new ValidationException('Send either an adjustment to apply or an absolute adjustment, not both.'); + } // Read before any setter runs: these are what the history reports moving from. $before = [ EntitlementEvent::FIELD_BASE_DAYS => $ent->getBaseDays(), @@ -67,7 +80,21 @@ public function update(string $actorUid, int $id, array $data): Entitlement { if (array_key_exists('carryOverDays', $data)) { $ent->setCarryOverDays((float)$data['carryOverDays']); } - if (array_key_exists('manualAdjustment', $data)) { + if (array_key_exists('adjustmentDelta', $data)) { + // A correction on top of whatever corrections came before, so "+2" and a + // later "−2" cancel and the allowance returns to where it started. + // Assigning here instead — which is what the absolute branch below does — + // made the second correction *replace* the first: 25 → +2 → 27, then a + // −2 correction landed on 23 rather than back on 25. + $delta = (float)$data['adjustmentDelta']; + if (abs($delta) > 0.001) { + if ($note === '') { + throw new ValidationException('A note is required when adjusting an entitlement.'); + } + $ent->setManualAdjustment($ent->getManualAdjustment() + $delta); + $ent->setAdjustmentNote($data['adjustmentNote'] ?? $ent->getAdjustmentNote()); + } + } elseif (array_key_exists('manualAdjustment', $data)) { $adjustment = (float)$data['manualAdjustment']; if ($adjustment !== $ent->getManualAdjustment() && $note === '') { throw new ValidationException('A note is required when adjusting an entitlement.'); diff --git a/src/views/hr/HrBalances.vue b/src/views/hr/HrBalances.vue index 2c27d1b..97738bf 100644 --- a/src/views/hr/HrBalances.vue +++ b/src/views/hr/HrBalances.vue @@ -136,8 +136,17 @@

{{ editing.displayName }} · {{ editing.typeLabel }} · {{ year }}

- - + + + +

+ {{ t('absence', 'Adjustments so far: {total} · leaving the field empty changes nothing', { total: signed(currentAdjustment) }) }} +

@@ -216,7 +225,8 @@ export default { years: [y - 1, y, y + 1], editing: null, saving: false, - form: { baseDays: 0, manualAdjustment: 0, adjustmentNote: '' }, + form: { baseDays: 0, adjustmentDelta: '', adjustmentNote: '' }, + currentAdjustment: 0, history: [], historyLoading: false, } @@ -359,14 +369,17 @@ export default { try { const list = await api.listEntitlements(row.employeeUid, this.year) const ent = list.find((e) => e.typeId === row.typeId) + this.currentAdjustment = ent ? ent.manualAdjustment : (row.manualAdjustment || 0) this.form = { baseDays: ent ? ent.baseDays : row.baseDays, - manualAdjustment: ent ? ent.manualAdjustment : 0, + // Always empty: this field is the correction to apply, not the total. + adjustmentDelta: '', adjustmentNote: '', entitlementId: ent ? ent.id : row.entitlementId, } } catch { - this.form = { baseDays: row.baseDays, manualAdjustment: 0, adjustmentNote: '', entitlementId: row.entitlementId } + this.currentAdjustment = row.manualAdjustment || 0 + this.form = { baseDays: row.baseDays, adjustmentDelta: '', adjustmentNote: '', entitlementId: row.entitlementId } } await this.loadHistory() }, @@ -392,6 +405,17 @@ export default { } }, + /** + * A signed day count, so "+2" and "−2" read as corrections rather than totals. + * + * @param {number} value the accumulated adjustment + * @return {string} + */ + signed(value) { + const n = Number(value) || 0 + return (n > 0 ? '+' : n < 0 ? '−' : '') + this.fmt(Math.abs(n)) + }, + fieldLabel(field) { return { base_days: t('absence', 'Base days'), @@ -407,11 +431,16 @@ export default { async save() { this.saving = true try { + const delta = Number(this.form.adjustmentDelta) const data = { baseDays: Number(this.form.baseDays), - manualAdjustment: Number(this.form.manualAdjustment), adjustmentNote: this.form.adjustmentNote, } + // Omitted entirely when blank, so saving a base-days change on its own + // never touches the accumulated adjustment. + if (this.form.adjustmentDelta !== '' && !Number.isNaN(delta)) { + data.adjustmentDelta = delta + } if (this.form.entitlementId) { await api.updateEntitlement(this.form.entitlementId, data) } else { @@ -475,6 +504,12 @@ td.low { gap: 8px; margin-top: 8px; } + + &__hint { + margin: -4px 0 0; + font-size: 0.85rem; + color: var(--color-text-maxcontrast); + } } .log { diff --git a/tests/Unit/Service/EntitlementServiceTest.php b/tests/Unit/Service/EntitlementServiceTest.php index 4ad1040..ec65465 100644 --- a/tests/Unit/Service/EntitlementServiceTest.php +++ b/tests/Unit/Service/EntitlementServiceTest.php @@ -167,6 +167,49 @@ public function testAdjustingRecordsTheChangeWithItsNote(): void { self::assertSame('bob', $recorded[0]->getEmployeeUid()); } + /** + * The reported bug, in full. 25 days, "+2 wedding", then "−2 booked in error" + * has to land back on 25 — it landed on 23, because the second correction + * *replaced* the first instead of adding to it. + */ + public function testTwoOppositeCorrectionsCancelOut(): void { + $ent = $this->priorEntitlement(25.0); + $ent->setManualAdjustment(0.0); + $this->entitlementMapper->method('find')->with(1)->willReturn($ent); + $this->entitlementMapper->method('update')->willReturnArgument(0); + + $after = $this->service->update('hr', 1, ['adjustmentDelta' => 2.0, 'adjustmentNote' => 'Wedding']); + self::assertSame(2.0, $after->getManualAdjustment()); + self::assertSame(27.0, $after->getEntitlement()); + + $after = $this->service->update('hr', 1, ['adjustmentDelta' => -2.0, 'adjustmentNote' => 'Booked in error']); + self::assertSame(0.0, $after->getManualAdjustment(), 'the two corrections must cancel'); + self::assertSame(25.0, $after->getEntitlement(), 'the allowance returns to where it started'); + } + + public function testAbsoluteAdjustmentStillSetsTheTotalOutright(): void { + $ent = $this->priorEntitlement(25.0); + $ent->setManualAdjustment(2.0); + $this->entitlementMapper->method('find')->with(1)->willReturn($ent); + $this->entitlementMapper->method('update')->willReturnArgument(0); + + // The other half of the contract: manualAdjustment overwrites rather than adds. + $after = $this->service->update('hr', 1, ['manualAdjustment' => 5.0, 'adjustmentNote' => 'Recount']); + self::assertSame(5.0, $after->getManualAdjustment()); + } + + public function testSendingBothAdjustmentFormsIsRefused(): void { + $ent = $this->priorEntitlement(25.0); + $this->entitlementMapper->method('find')->with(1)->willReturn($ent); + + $this->expectException(ValidationException::class); + $this->service->update('hr', 1, [ + 'adjustmentDelta' => 2.0, + 'manualAdjustment' => 5.0, + 'adjustmentNote' => 'Ambiguous', + ]); + } + public function testSavingWithoutChangingAnythingRecordsNothing(): void { $ent = $this->priorEntitlement(28.0); $this->entitlementMapper->method('find')->with(1)->willReturn($ent); From 56a1384b44d8004942fc8753cac9ea9252733112 Mon Sep 17 00:00:00 2001 From: Frank Karlitschek Date: Wed, 12 Aug 2026 15:38:56 +0200 Subject: [PATCH 2/2] chore(assets): recompile Co-Authored-By: Claude Opus 5 (1M context) --- js/absence-main.mjs | 14 +++++++------- js/absence-main.mjs.map | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/js/absence-main.mjs b/js/absence-main.mjs index 6ee098e..f8daecc 100644 --- a/js/absence-main.mjs +++ b/js/absence-main.mjs @@ -1,8 +1,8 @@ (function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode(`@charset "UTF-8";.material-design-icon[data-v-a28923a1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-a28923a1]{position:sticky;width:var(--default-clickable-area);height:var(--default-clickable-area);padding:calc((var(--default-clickable-area) - 16px) / 2);cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000;top:var(--app-navigation-padding);inset-inline-start:calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2)}.app-details-toggle--mobile[data-v-a28923a1]{inset-inline-start:var(--app-navigation-padding)}.app-details-toggle[data-v-a28923a1]:active,.app-details-toggle[data-v-a28923a1]:hover,.app-details-toggle[data-v-a28923a1]:focus{opacity:1}.material-design-icon[data-v-51427d61]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-51427d61]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0!important;background-color:var(--color-main-background);min-width:0}.app-content[data-v-51427d61]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-51427d61]{position:relative;width:100%;height:100%}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-51427d61] .app-content-list{display:flex}.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-51427d61] .app-content-details,.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-51427d61] .app-content-list{display:none}.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-51427d61] .app-content-details{display:block}[data-v-51427d61] .splitpanes.default-theme .app-content-list{max-width:none;scrollbar-width:auto}[data-v-51427d61] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-51427d61] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky}@media only screen and (width<1024px){[data-v-51427d61] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-51427d61] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (width<1024px){[data-v-51427d61] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-51427d61] .splitpanes.default-theme .splitpanes__splitter{background-color:var(--color-main-background)}[data-v-51427d61] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-51427d61] .splitpanes.default-theme .splitpanes__splitter:after{background-color:var(--color-border)}[data-v-51427d61] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter{border-inline-start:1px solid var(--color-border)}[data-v-51427d61] .splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter{border-top:1px solid var(--color-border)}.app-content-wrapper--show-list[data-v-51427d61] .app-content-list{max-width:none}.app-content-wrapper__list[data-v-51427d61]{height:100%}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane{-webkit-user-select:none;user-select:none;pointer-events:none}:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--ready .splitpanes__pane{will-change:width,height;transition:width .2s ease-out,height .2s ease-out}.splitpanes--ready.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes__splitter:focus{outline:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{box-sizing:border-box;background-color:#fff;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:focus-visible{outline-offset:-2px;outline:2px solid #3b82f6}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";background-color:#00000026;transition:background-color .3s;position:absolute;top:50%;left:50%}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;width:7px;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{width:1px;height:30px;transform:translateY(-50%)}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{width:30px;height:1px;transform:translate(-50%)}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.material-design-icon[data-v-5a15295d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-toggle-wrapper[data-v-5a15295d]{position:absolute;top:var(--app-navigation-padding);inset-inline-end:calc(0px - var(--app-navigation-padding));margin-inline-end:calc(-1 * var(--default-clickable-area))}button.app-navigation-toggle[data-v-5a15295d]{background-color:var(--color-main-background)}.app-navigation,.app-content{--app-navigation-padding: calc(var(--default-grid-baseline, 4px) * 2)}.material-design-icon[data-v-1344f70d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-1344f70d]{--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-text-maxcontrast-default));transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;--app-navigation-max-width: calc(100vw - (var(--app-navigation-padding) + var(--default-clickable-area) + var(--default-grid-baseline)));max-width:var(--app-navigation-max-width);position:relative;top:0;inset-inline-start:0;padding:0;z-index:1800;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-grow:0;flex-shrink:0;background-color:transparent}.app-navigation--legacy[data-v-1344f70d]{background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--closed[data-v-1344f70d]{margin-inline-start:calc(-1*min(300px,var(--app-navigation-max-width)))}.app-navigation__search[data-v-1344f70d]{width:100%}.app-navigation__body[data-v-1344f70d]{overflow-y:scroll}.app-navigation__content>ul[data-v-1344f70d]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.app-navigation .app-navigation__list[data-v-1344f70d]{height:100%}.app-navigation__body--no-list[data-v-1344f70d]{flex:1 1 auto;overflow:auto;height:100%}.app-navigation__content[data-v-1344f70d]{height:100%;display:flex;flex-direction:column}[data-themes*=highcontrast] .app-navigation[data-v-1344f70d]{border-inline-end:1px solid var(--color-border)}@media only screen and (width<1024px){.app-navigation[data-v-1344f70d]{position:absolute;border-inline-end:1px solid var(--color-border);background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}}@media only screen and (max-width:512px){.app-navigation[data-v-1344f70d]{z-index:1400}}.material-design-icon[data-v-d72957ed]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-list[data-v-d72957ed]{position:relative;width:100%;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:var(--default-grid-baseline, 4px);padding:var(--app-navigation-padding)}.material-design-icon[data-v-f0e411c2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-f0e411c2]{display:flex;justify-content:space-between}.app-navigation-caption--heading[data-v-f0e411c2]{padding:var(--app-navigation-padding)}.app-navigation-caption--heading[data-v-f0e411c2]:not(:first-child):not(:last-child){padding:0 var(--app-navigation-padding)}.app-navigation-caption__name[data-v-f0e411c2]{font-weight:var(--font-weight-heading, bold);color:var(--color-main-text);font-size:var(--default-font-size);line-height:var(--default-clickable-area);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none!important;flex-shrink:0;padding-block:0;padding-inline:calc(var(--default-grid-baseline, 4px) * 2) 0;margin-top:0;margin-bottom:var(--default-grid-baseline)}.app-navigation-caption__actions[data-v-f0e411c2]{flex:0 0 var(--default-clickable-area)}.app-navigation-caption[data-v-f0e411c2]:not(:first-child){margin-top:calc(var(--default-clickable-area) / 2)}.material-design-icon[data-v-cfbd3794]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-cfbd3794]{position:relative;inset-inline-end:0}.icon-collapse[data-v-cfbd3794]:hover{background-color:var(--color-background-dark)!important}.icon-collapse--active[data-v-cfbd3794]:hover{background-color:var(--color-primary-element)!important}.material-design-icon[data-v-fcab058b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry[data-v-fcab058b]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;width:100%;min-height:var(--default-clickable-area);transition:background-color var(--animation-quick) ease-in-out;transition:background-color .2s ease-in-out;border-radius:var(--border-radius-element)}.app-navigation-entry-wrapper[data-v-fcab058b]{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul[data-v-fcab058b]{display:none}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-fcab058b]{background-color:color-mix(in srgb,var(--color-primary-element) 16%,transparent)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-fcab058b]:hover{background-color:color-mix(in srgb,var(--color-primary-element) 22%,transparent)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-fcab058b],.app-navigation-entry:not(.app-navigation-entry--legacy).active:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-fcab058b]{color:var(--color-main-text)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active[data-v-fcab058b]:not(.app-navigation-entry--editing):before{content:"";position:absolute;inset-block:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-start:0;width:3px;background-color:var(--color-primary-element);border-radius:999px;animation:nc-nav-stripe-in-fcab058b var(--animation-quick, .2s) ease-out}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-fcab058b]{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--legacy.active[data-v-fcab058b]:hover{background-color:var(--color-primary-element-hover)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-link[data-v-fcab058b],.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry-button[data-v-fcab058b]{color:var(--color-primary-element-text)!important}.app-navigation-entry[data-v-fcab058b]:focus-within,.app-navigation-entry[data-v-fcab058b]:hover{background-color:var(--color-background-hover)}.app-navigation-entry[data-v-fcab058b]:not(.app-navigation-entry--legacy):focus-within,.app-navigation-entry[data-v-fcab058b]:not(.app-navigation-entry--legacy):hover{background-color:color-mix(in srgb,var(--color-primary-element) 8%,transparent)}.app-navigation-entry.active .app-navigation-entry__children[data-v-fcab058b],.app-navigation-entry:focus-within .app-navigation-entry__children[data-v-fcab058b],.app-navigation-entry:hover .app-navigation-entry__children[data-v-fcab058b]{background-color:var(--color-main-background)}.app-navigation-entry.active .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fcab058b],.app-navigation-entry.app-navigation-entry--deleted .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fcab058b],.app-navigation-entry:focus .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fcab058b],.app-navigation-entry:focus-within .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fcab058b],.app-navigation-entry:hover .app-navigation-entry__utils .app-navigation-entry__actions[data-v-fcab058b]{display:inline-block}.app-navigation-entry .app-navigation-entry__actions[data-v-fcab058b]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry:not(.app-navigation-entry--legacy).active .app-navigation-entry__actions[data-v-fcab058b]:hover .button-vue{background-color:var(--color-background-dark)!important}.app-navigation-entry.app-navigation-entry--legacy.active .app-navigation-entry__actions[data-v-fcab058b]:hover .button-vue{background-color:var(--color-primary-element)!important}.app-navigation-entry.app-navigation-entry--deleted>ul[data-v-fcab058b]{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link[data-v-fcab058b],.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-button[data-v-fcab058b]{padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2)}.app-navigation-entry .app-navigation-entry-link[data-v-fcab058b],.app-navigation-entry .app-navigation-entry-button[data-v-fcab058b]{z-index:100;display:flex;overflow:hidden;flex:1 1 0;min-height:var(--default-clickable-area);padding:0;white-space:nowrap;color:var(--color-main-text);font-weight:500;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px 16px;line-height:var(--default-clickable-area)}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon[data-v-fcab058b],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry-icon[data-v-fcab058b]{display:flex;align-items:center;flex:0 0 var(--default-clickable-area);justify-content:center;width:var(--default-clickable-area);height:var(--default-clickable-area);background-size:16px 16px;background-repeat:no-repeat;background-position:calc((var(--default-clickable-area) - 16px) / 2) center}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__name[data-v-fcab058b],.app-navigation-entry .app-navigation-entry-button .app-navigation-entry__name[data-v-fcab058b]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--font-weight-element, normal)}.app-navigation-entry .app-navigation-entry-link .editingContainer[data-v-fcab058b],.app-navigation-entry .app-navigation-entry-button .editingContainer[data-v-fcab058b]{width:calc(100% - var(--default-clickable-area));margin:auto}.app-navigation-entry .app-navigation-entry-link[data-v-fcab058b]:focus-visible,.app-navigation-entry .app-navigation-entry-button[data-v-fcab058b]:focus-visible{box-shadow:0 0 0 4px var(--color-main-background);outline:2px solid var(--color-main-text);border-radius:var(--border-radius-element)}.app-navigation-entry__children[data-v-fcab058b]{--app-navigation-item-child-offset: 10px;position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%;gap:var(--default-grid-baseline, 4px);padding-inline-start:var(--app-navigation-item-child-offset)}.app-navigation-entry__children .app-navigation-entry[data-v-fcab058b]{display:inline-flex;flex-wrap:wrap}.app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children .app-navigation-entry__children[data-v-fcab058b]{--app-navigation-item-child-offset: 0}.app-navigation-entry__deleted[data-v-fcab058b]{display:inline-flex;flex:1 1 0;padding-inline-start:calc(var(--default-clickable-area) - (var(--default-clickable-area) - 16px) / 2)!important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description[data-v-fcab058b]{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:var(--default-clickable-area)}.app-navigation-entry__utils[data-v-fcab058b]{display:flex;min-width:var(--default-clickable-area);align-items:center;flex:0 1 auto;justify-content:flex-end}.app-navigation-entry__utils.app-navigation-entry__utils--display-actions .action-item.app-navigation-entry__actions[data-v-fcab058b]{display:inline-block}.app-navigation-entry__utils .app-navigation-entry__counter-wrapper[data-v-fcab058b]{margin-inline-end:calc(var(--default-grid-baseline) * 2);display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__utils .action-item.app-navigation-entry__actions[data-v-fcab058b]{display:none}.app-navigation-entry--editing .app-navigation-entry-edit[data-v-fcab058b]{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted[data-v-fcab058b]{z-index:250;transform:translate(0)}.app-navigation-entry--pinned[data-v-fcab058b]{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned[data-v-fcab058b]{margin-top:0}[data-themes*=highcontrast] .app-navigation-entry[data-v-fcab058b]:active{background-color:var(--color-primary-element-light-hover)!important}@keyframes nc-nav-stripe-in-fcab058b{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.material-design-icon[data-v-6926a0b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm[data-v-6926a0b8]{flex:1 0 100%;width:100%}.app-navigation-input-confirm form[data-v-6926a0b8]{display:flex}.app-navigation-input-confirm__input[data-v-6926a0b8]{height:34px;flex:1 1 100%;font-size:100%!important;margin:5px!important;margin-inline-start:-8px!important;padding:7px!important}.app-navigation-input-confirm__input[data-v-6926a0b8]:active,.app-navigation-input-confirm__input[data-v-6926a0b8]:focus,.app-navigation-input-confirm__input[data-v-6926a0b8]:hover{outline:none;background-color:var(--color-main-background);color:var(--color-main-text);border-color:var(--color-primary-element)}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) form[data-v-6926a0b8]{align-items:center;gap:5px;padding-inline-end:5px}.app-navigation-input-confirm:not(.app-navigation-input-confirm--legacy) .app-navigation-input-confirm__input[data-v-6926a0b8]{margin-inline-end:0!important}.app-navigation-input-confirm[data-v-6926a0b8]:not(.app-navigation-input-confirm--legacy) .button-vue{width:34px!important;min-width:34px!important;height:34px!important;flex:0 0 34px}.material-design-icon[data-v-6c2daf4e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-6c2daf4e]:hover,li.action.active[data-v-6c2daf4e]{border-radius:6px;padding:0}li.action[data-v-6c2daf4e]:hover{background-color:var(--color-background-hover)}.action--disabled[data-v-6c2daf4e]{pointer-events:none;opacity:.5}.action--disabled[data-v-6c2daf4e]:hover,.action--disabled[data-v-6c2daf4e]:focus{cursor:default;opacity:.5}.action--disabled[data-v-6c2daf4e] *{opacity:1!important}.action-button[data-v-6c2daf4e]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:var(--font-weight-element, normal);font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-button>span[data-v-6c2daf4e]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-6c2daf4e]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-6c2daf4e] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-button[data-v-6c2daf4e] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button__longtext-wrapper[data-v-6c2daf4e],.action-button__longtext[data-v-6c2daf4e]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-6c2daf4e]{cursor:pointer;white-space:pre-wrap!important}.action-button__name[data-v-6c2daf4e]{font-weight:var(--font-weight-heading, bold);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-button__description[data-v-6c2daf4e]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);font-weight:var(--font-weight-default, normal);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-button__menu-icon[data-v-6c2daf4e],.action-button__pressed-icon[data-v-6c2daf4e]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action-button[data-v-6c2daf4e] *{cursor:pointer}.material-design-icon[data-v-0ba6c9df]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-0ba6c9df]{display:block;padding:calc(var(--default-grid-baseline, 4px) * 2)}.app-navigation-new button[data-v-0ba6c9df]{width:100%}#skip-actions.vue-skip-actions:focus-within{top:0!important;inset-inline-start:0!important;width:100vw;height:100vh;padding:var(--body-container-margin)!important;-webkit-backdrop-filter:brightness(50%);backdrop-filter:brightness(50%)}@media only screen and (min-width:1024px){.content:not(.content--legacy) .app-navigation:not(.app-navigation--closed):not(.app-navigation--close)~.app-content{border-inline-start:1px solid var(--color-border);border-start-start-radius:var(--body-container-radius);border-end-start-radius:var(--body-container-radius)}}.material-design-icon[data-v-d13dcb98]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-skip-actions__container[data-v-d13dcb98]{background-color:var(--color-main-background);border-radius:var(--border-radius-element);padding:22px}.vue-skip-actions__headline[data-v-d13dcb98]{font-weight:var(--font-weight-heading, bold);font-size:20px;line-height:30px;margin-bottom:12px}.vue-skip-actions__buttons[data-v-d13dcb98]{display:flex;flex-wrap:wrap;gap:12px}.vue-skip-actions__buttons[data-v-d13dcb98]>*{flex:1 0 fit-content}.vue-skip-actions__image[data-v-d13dcb98]{margin-top:12px}.vue-skip-actions__image[data-v-d13dcb98]:dir(rtl){transform:rotateY(180deg)}.content[data-v-d13dcb98]{display:flex;width:calc(100% - var(--body-container-margin) * 2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-d13dcb98]:not(.content--legacy){background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.content[data-v-d13dcb98]:not(.with-sidebar--full){position:fixed}.content[data-v-d13dcb98],.content[data-v-d13dcb98] *{box-sizing:border-box}.material-design-icon[data-v-36ffc13f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-36ffc13f]{--counter-bubble-height: 22px;font-size:var(--font-size-small, 13px);overflow:hidden;width:fit-content;min-width:var(--counter-bubble-height);text-align:center;line-height:var(--counter-bubble-height);padding:0 calc(1.5 * var(--default-grid-baseline));border-radius:.5lh;background-color:var(--color-primary-element-light);font-weight:700;color:var(--color-primary-element-light-text)}.counter-bubble__counter .active[data-v-36ffc13f]{color:var(--color-main-background);background-color:var(--color-primary-element-light)}.counter-bubble__counter--highlighted[data-v-36ffc13f]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.counter-bubble__counter--highlighted.active[data-v-36ffc13f]{color:var(--color-primary-element);background-color:var(--color-main-background)}.counter-bubble__counter--outlined[data-v-36ffc13f]{color:var(--color-primary-element);background:transparent;box-shadow:inset 0 0 0 2px}.counter-bubble__counter--outlined.active[data-v-36ffc13f]{color:var(--color-main-background);box-shadow:inset 0 0 0 2px}.material-design-icon[data-v-b97e1f7a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.native-datetime-picker[data-v-b97e1f7a]{display:flex;flex-direction:column}.native-datetime-picker .native-datetime-picker__label[data-v-b97e1f7a]{margin-block-end:2px}.native-datetime-picker .native-datetime-picker__input[data-v-b97e1f7a]{--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));width:100%;flex:0 0 auto;margin:0;padding-inline-start:calc(var(--border-radius-element) + var(--input-border-width-offset));padding-inline-end:calc(var(--default-grid-baseline) + var(--input-border-width-offset));border:var(--border-width-input, 2px) solid var(--color-border-maxcontrast)}.native-datetime-picker .native-datetime-picker__input[data-v-b97e1f7a]:active:not([disabled]),.native-datetime-picker .native-datetime-picker__input[data-v-b97e1f7a]:hover:not([disabled]),.native-datetime-picker .native-datetime-picker__input[data-v-b97e1f7a]:focus:not([disabled]),.native-datetime-picker .native-datetime-picker__input[data-v-b97e1f7a]:focus-within:not([disabled]){border-color:var(--color-main-text);border-width:var(--border-width-input-focused, 2px);box-shadow:0 0 0 2px var(--color-main-background)!important;--input-border-width-offset: 0px}[data-theme-light] .native-datetime-picker__input[data-v-b97e1f7a],[data-themes*=light] .native-datetime-picker__input[data-v-b97e1f7a]{color-scheme:light}[data-theme-dark] .native-datetime-picker__input[data-v-b97e1f7a],[data-themes*=dark] .native-datetime-picker__input[data-v-b97e1f7a]{color-scheme:dark}@media(prefers-color-scheme:light){[data-theme-default] .native-datetime-picker__input[data-v-b97e1f7a],[data-themes*=default] .native-datetime-picker__input[data-v-b97e1f7a]{color-scheme:light}}@media(prefers-color-scheme:dark){[data-theme-default] .native-datetime-picker__input[data-v-b97e1f7a],[data-themes*=default] .native-datetime-picker__input[data-v-b97e1f7a]{color-scheme:dark}}.material-design-icon[data-v-d327fb49]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.textarea[data-v-d327fb49]{--input-border-color: var(--color-border-maxcontrast);--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));position:relative;width:100%;border-radius:var(--border-radius-element);margin-block-start:6px;resize:vertical}.textarea--disabled[data-v-d327fb49]{opacity:.7;filter:saturate(.7)}.textarea__main-wrapper[data-v-d327fb49]{padding:var(--border-width-input-focused, 2px);position:relative}.textarea__input[data-v-d327fb49]{margin:0;padding-block:var(--border-radius-element);padding-inline:10px;width:100%;font-size:var(--default-font-size);text-overflow:ellipsis;cursor:pointer;min-height:calc(var(--default-clickable-area) * 2);min-width:calc(var(--default-clickable-area) * 2);max-width:100%;background-color:var(--color-main-background);color:var(--color-main-text);--input-border-box-shadow-light: 0 -1px var(--input-border-color), 0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);--input-border-box-shadow-dark: 0 1px var(--input-border-color), 0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);--input-border-box-shadow: var(--input-border-box-shadow-light);border:none;border-radius:var(--border-radius-element);box-shadow:var(--input-border-box-shadow)}.textarea__input[data-v-d327fb49]:hover:not([disabled]){box-shadow:0 0 0 1px var(--input-border-color)}@media(prefers-color-scheme:dark){.textarea__input .textarea__input[data-v-d327fb49]{--input-border-box-shadow: var(--input-border-box-shadow-dark)}}[data-theme-dark] .textarea__input[data-v-d327fb49]{--input-border-box-shadow: var(--input-border-box-shadow-dark)}[data-theme-light] .textarea__input[data-v-d327fb49]{--input-border-box-shadow: var(--input-border-box-shadow-light)}.textarea--legacy .textarea__input[data-v-d327fb49]{box-shadow:0 0 0 1px var(--input-border-color)}.textarea--legacy .textarea__input[data-v-d327fb49]:hover:not([disabled]){box-shadow:0 0 0 2px var(--input-border-color)}.textarea__input[data-v-d327fb49]:focus-within:not([disabled]),.textarea__input[data-v-d327fb49]:active:not([disabled]){box-shadow:0 0 0 2px var(--input-border-color),0 0 0 4px var(--color-main-background)!important}.textarea__input[data-v-d327fb49]:active:not([disabled]),.textarea__input[data-v-d327fb49]:focus:not([disabled]){--input-border-width-offset: 0px;--input-border-color: var(--color-main-text)}.textarea__input[data-v-d327fb49]:not(:focus,.textarea__input--label-outside)::placeholder{opacity:0}.textarea__input[data-v-d327fb49]:focus{cursor:text}.textarea__input[data-v-d327fb49]:disabled{cursor:default}.textarea__input[data-v-d327fb49]:focus-visible{box-shadow:unset!important}.textarea__input--success[data-v-d327fb49]{--input-border-color: var(--color-border-success, var(--color-success)) !important}.textarea__input--success[data-v-d327fb49]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__input--error[data-v-d327fb49]{--input-border-color: var(--color-border-error, var(--color-error)) !important}.textarea__input--error[data-v-d327fb49]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.textarea__label[data-v-d327fb49]{position:absolute;margin-inline:12px 0;max-width:fit-content;inset-block-start:11px;inset-inline:0;color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.textarea__input:focus+.textarea__label[data-v-d327fb49],.textarea__input:not(:placeholder-shown)+.textarea__label[data-v-d327fb49]{inset-block-start:-10px;line-height:1.5;font-size:13px;font-weight:var(--font-weight-element, 500);color:var(--color-main-text);background-color:var(--color-main-background);padding-inline:4px;margin-inline-start:8px;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.textarea__helper-text-message[data-v-d327fb49]{padding-block:4px;display:flex;align-items:center}.textarea__helper-text-message__icon[data-v-d327fb49]{margin-inline-end:8px}.textarea__helper-text-message--error[data-v-d327fb49]{color:var(--color-error-text)}.textarea__helper-text-message--success[data-v-d327fb49]{color:var(--color-success-text)}.material-design-icon[data-v-8e16cbb5]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}/*! * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later - */.input-field[data-v-8e16cbb5]{--input-border-color: var(--color-border-maxcontrast);--input-border-radius: var(--border-radius-element);--input-padding-start: var(--border-radius-element);--input-padding-end: var(--border-radius-element);position:relative;width:100%;margin-block-start:6px}.input-field--disabled[data-v-8e16cbb5]{opacity:.4;filter:saturate(.4)}.input-field--label-outside[data-v-8e16cbb5]{margin-block-start:0}.input-field--leading-icon[data-v-8e16cbb5]{--input-padding-start: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--trailing-icon[data-v-8e16cbb5]{--input-padding-end: calc(var(--default-clickable-area) - var(--default-grid-baseline))}.input-field--pill[data-v-8e16cbb5]{--input-border-radius: var(--border-radius-pill)}.input-field__main-wrapper[data-v-8e16cbb5]{height:var(--default-clickable-area);padding:var(--border-width-input-focused, 2px);position:relative}.input-field__input[data-v-8e16cbb5]{--input-border-box-shadow-light: 0 -1px var(--input-border-color), 0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);--input-border-box-shadow-dark: 0 1px var(--input-border-color), 0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);--input-border-box-shadow: var(--input-border-box-shadow-light);border:none;border-radius:var(--border-radius-element);box-shadow:var(--input-border-box-shadow)}.input-field__input[data-v-8e16cbb5]:hover:not([disabled]){box-shadow:0 0 0 1px var(--input-border-color)}@media(prefers-color-scheme:dark){.input-field__input .input-field__input[data-v-8e16cbb5]{--input-border-box-shadow: var(--input-border-box-shadow-dark)}}[data-theme-dark] .input-field__input[data-v-8e16cbb5]{--input-border-box-shadow: var(--input-border-box-shadow-dark)}[data-theme-light] .input-field__input[data-v-8e16cbb5]{--input-border-box-shadow: var(--input-border-box-shadow-light)}.input-field--legacy .input-field__input[data-v-8e16cbb5]{box-shadow:0 0 0 1px var(--input-border-color)}.input-field--legacy .input-field__input[data-v-8e16cbb5]:hover:not([disabled]){box-shadow:0 0 0 2px var(--input-border-color)}.input-field__input[data-v-8e16cbb5]:focus-within:not([disabled]),.input-field__input[data-v-8e16cbb5]:active:not([disabled]){box-shadow:0 0 0 2px var(--input-border-color),0 0 0 4px var(--color-main-background)!important}.input-field__input[data-v-8e16cbb5]{background-color:var(--color-main-background);color:var(--color-main-text);border-radius:var(--input-border-radius);cursor:pointer;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;font-size:var(--default-font-size);text-overflow:ellipsis;padding-block:0;padding-inline:var(--input-padding-start) var(--input-padding-end);height:100%!important;min-height:unset;width:100%}.input-field__input[data-v-8e16cbb5]::placeholder{color:var(--color-text-maxcontrast)}.input-field__input[data-v-8e16cbb5]::-webkit-search-cancel-button{display:none}.input-field__input[data-v-8e16cbb5]::-webkit-search-decoration,.input-field__input[data-v-8e16cbb5]::-webkit-search-results-button,.input-field__input[data-v-8e16cbb5]::-webkit-search-results-decoration,.input-field__input[data-v-8e16cbb5]::-ms-clear{display:none}.input-field__input[data-v-8e16cbb5]:active:not([disabled]),.input-field__input[data-v-8e16cbb5]:focus:not([disabled]){--input-border-color: var(--color-main-text)}.input-field__input:focus+.input-field__label[data-v-8e16cbb5],.input-field__input:hover:not(:placeholder-shown)+.input-field__label[data-v-8e16cbb5]{color:var(--color-main-text)}.input-field__input[data-v-8e16cbb5]:focus{cursor:text}.input-field__input[data-v-8e16cbb5]:disabled{cursor:default}.input-field__input[data-v-8e16cbb5]:focus-visible{box-shadow:unset!important}.input-field:not(.input-field--label-outside) .input-field__input[data-v-8e16cbb5]:not(:focus)::placeholder{opacity:0}.input-field__label[data-v-8e16cbb5]{--input-label-font-size: var(--default-font-size);font-size:var(--input-label-font-size);position:absolute;margin-inline:var(--input-padding-start) var(--input-padding-end);max-width:fit-content;inset-block-start:calc((var(--default-clickable-area) - 1lh) / 2);inset-inline:var(--border-width-input-focused, 2px);color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick),background-color var(--animation-quick) var(--animation-slow)}.input-field__input:focus+.input-field__label[data-v-8e16cbb5],.input-field__input:not(:placeholder-shown)+.input-field__label[data-v-8e16cbb5]{--input-label-font-size: 13px;line-height:1.5;inset-block-start:calc(-1.5 * var(--input-label-font-size) / 2);font-weight:var(--font-weight-element, 500);border-radius:var(--default-grid-baseline) var(--default-grid-baseline) 0 0;background-color:var(--color-main-background);padding-inline:var(--default-grid-baseline);margin-inline:calc(var(--input-padding-start) - var(--default-grid-baseline)) calc(var(--input-padding-end) - var(--default-grid-baseline));transition:height var(--animation-quick),inset-block-start var(--animation-quick),font-size var(--animation-quick),color var(--animation-quick)}.input-field__icon[data-v-8e16cbb5]{position:absolute;height:var(--default-clickable-area);width:var(--default-clickable-area);display:flex;align-items:center;justify-content:center;opacity:.7;inset-block-end:0}.input-field__icon--leading[data-v-8e16cbb5]{inset-inline-start:0px}.input-field__icon--trailing[data-v-8e16cbb5]{inset-inline-end:0px}.input-field__trailing-button[data-v-8e16cbb5]{--button-size: calc(var(--default-clickable-area) - 2 * var(--border-width-input-focused, 2px)) !important;--button-radius: calc(var(--input-border-radius) - var(--border-width-input-focused, 2px))}.input-field__trailing-button.button-vue[data-v-8e16cbb5]{position:absolute;top:var(--border-width-input-focused, 2px);inset-inline-end:var(--border-width-input-focused, 2px)}.input-field__trailing-button.button-vue[data-v-8e16cbb5]:focus-visible{box-shadow:none!important}.input-field__helper-text-message[data-v-8e16cbb5]{padding-block:4px;padding-inline:var(--border-radius-element);display:flex;align-items:center;color:var(--color-text-maxcontrast);overflow-wrap:anywhere}.input-field__helper-text-message__icon[data-v-8e16cbb5]{margin-inline-end:8px}.input-field--error .input-field__helper-text-message[data-v-8e16cbb5],.input-field--error .input-field__icon--trailing[data-v-8e16cbb5]{color:var(--color-text-error, var(--color-error))}.input-field--error .input-field__input[data-v-8e16cbb5],.input-field__input[data-v-8e16cbb5]:user-invalid{--input-border-color: var(--color-border-error, var(--color-error)) !important}.input-field--error .input-field__input[data-v-8e16cbb5]:focus-visible,.input-field__input[data-v-8e16cbb5]:user-invalid:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field--success .input-field__input[data-v-8e16cbb5]{--input-border-color: var(--color-border-success, var(--color-success)) !important}.input-field--success .input-field__input[data-v-8e16cbb5]:focus-visible{box-shadow:#f8fafc 0 0 0 2px,var(--color-primary-element) 0 0 0 4px,#0000000d 0 1px 2px}.input-field--success .input-field__helper-text-message__icon[data-v-8e16cbb5]{color:var(--color-border-success, var(--color-success))}.dialog[data-v-0efca66b]{display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 3);padding:calc(var(--default-grid-baseline, 4px) * 5)}.dialog__title[data-v-0efca66b]{margin:0 0 4px;font-size:1.3rem}.dialog__row[data-v-0efca66b]{display:flex;gap:calc(var(--default-grid-baseline, 4px) * 3);flex-wrap:wrap}.dialog__row .dialog__field[data-v-0efca66b]{flex:1 1 140px}.dialog__field[data-v-0efca66b]{display:flex;flex-direction:column;gap:4px}.dialog__label[data-v-0efca66b]{font-weight:600;font-size:.9rem}.dialog__req[data-v-0efca66b]{color:var(--color-error)}.dialog__optional[data-v-0efca66b]{font-weight:400;font-size:.8rem;color:var(--color-text-maxcontrast)}.dialog__hint[data-v-0efca66b]{margin:4px 0 0;font-size:.8rem;color:var(--color-text-maxcontrast)}.dialog__link[data-v-0efca66b]{text-decoration:underline}.dialog__actions[data-v-0efca66b]{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.preview[data-v-0efca66b]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(var(--default-grid-baseline, 4px) * 3);border-radius:var(--border-radius-large, 12px);background:color-mix(in srgb,var(--type-color) 12%,var(--color-main-background));border:2px solid color-mix(in srgb,var(--type-color) 40%,transparent)}.preview__days[data-v-0efca66b]{display:flex;flex-direction:column;line-height:1.1}.preview__count[data-v-0efca66b]{font-size:1.8rem;font-weight:700;color:var(--type-color)}.preview__caption[data-v-0efca66b]{font-size:.8rem;color:var(--color-text-maxcontrast)}.preview__balance[data-v-0efca66b]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.85rem;color:var(--color-text-maxcontrast)}.preview__bar[data-v-0efca66b]{display:block;width:120px;height:6px;border-radius:3px;background:var(--color-background-dark);overflow:hidden}.preview__bar-fill[data-v-0efca66b]{display:block;height:100%;border-radius:3px;background:var(--type-color);transition:width .3s ease}.opt[data-v-0efca66b]{display:inline-flex;align-items:center;gap:8px}.opt__icon[data-v-0efca66b]{font-size:1.1em}._material-design-icon_v9SPG{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._sidebarTabsButton_OCROY{border:none;color:var(--color-main-text);font-size:var(--default-font-size);cursor:pointer;display:flex;flex-direction:column;gap:var(--default-grid-baseline);min-width:var(--default-clickable-area)}._sidebarTabsButton_OCROY *{cursor:pointer}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9){position:relative;border-radius:var(--border-radius-element);background-color:var(--color-main-background);padding:var(--default-grid-baseline);padding-block-end:calc(var(--default-grid-baseline) * 2);transition:background-color var(--animation-quick)}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9):after{content:"";position:absolute;bottom:0;left:50%;width:0;height:4px;border-radius:999px;background-color:var(--color-primary-element);opacity:0;transform:translate(-50%);transition:width var(--animation-quick),opacity var(--animation-quick)}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9):hover{background-color:var(--color-background-hover)}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9):focus-visible{outline:2px solid var(--color-main-text);outline-offset:2px}._sidebarTabsButton_legacy_e9-y9{border-bottom:var(--default-grid-baseline) solid transparent!important;border-radius:var(--border-radius-small);background-color:var(--color-main-background);padding:var(--border-radius-small);transition:background-color var(--animation-quick),border-bottom-color var(--animation-quick)}._sidebarTabsButton_legacy_e9-y9:hover{background-color:var(--color-background-hover)!important}._sidebarTabsButton_legacy_e9-y9:active,._sidebarTabsButton_legacy_e9-y9:focus{background-color:var(--color-main-background)!important}._sidebarTabsButton_selected_S48M1,._sidebarTabsButton_selected_S48M1 *{cursor:default}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9)._sidebarTabsButton_selected_S48M1{background-color:var(--color-background-hover)}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9)._sidebarTabsButton_selected_S48M1:after{width:80%;opacity:1}._sidebarTabsButton_OCROY:not(._sidebarTabsButton_legacy_e9-y9)._sidebarTabsButton_selected_S48M1:hover{background-color:var(--color-background-dark)}._sidebarTabsButton_legacy_e9-y9._sidebarTabsButton_selected_S48M1{border-bottom-color:var(--color-primary-element)!important;border-bottom-left-radius:0;border-bottom-right-radius:0}._sidebarTabsButton_legacy_e9-y9._sidebarTabsButton_selected_S48M1:hover{background-color:var(--color-primary-element-light-hover)!important;color:var(--color-primary-element-light-text)!important}._sidebarTabsButton__name_GZRY8{font-weight:var(--font-weight-element, normal);overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}._sidebarTabsButton_legacy_e9-y9._sidebarTabsButton_selected_S48M1 ._sidebarTabsButton__name_GZRY8{font-weight:var(--font-weight-element, bold)}._sidebarTabsButton__icon_ZDmkU{display:inline-flex;align-items:center;justify-content:center}._sidebarTabsButton__legacyIcon_y6cLW{background-size:20px;display:flex;align-items:center;justify-content:center}.material-design-icon[data-v-e74d1502]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-e74d1502]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-e74d1502]{display:flex;justify-content:stretch;margin:10px 8px 0;border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__nav[data-v-e74d1502]:not(.app-sidebar-tabs__nav--legacy){gap:var(--default-grid-baseline);padding-block-end:var(--default-grid-baseline)}.app-sidebar-tabs__tab[data-v-e74d1502]{flex:1 1 1px}.app-sidebar-tabs__content[data-v-e74d1502]{position:relative;min-height:256px;height:100%}.app-sidebar-tabs__content--multiple[data-v-e74d1502]>:not(section){display:none}.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}@property --app-sidebar-offset{syntax: ""; initial-value: 0; inherits: true;}body{--app-sidebar-padding: calc(var(--default-grid-baseline, 4px) * 2);--app-sidebar-offset: 0;transition:--app-sidebar-offset 0ms!important}body:has(.app-sidebar.slide-right-enter-active),body:has(.app-sidebar.slide-right-leave-active){transition:--app-sidebar-offset var(--animation-quick)}body:has(.app-sidebar__toggle){--app-sidebar-offset: calc(var(--app-sidebar-padding) + var(--default-clickable-area))}.material-design-icon[data-v-e8979b7f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-e8979b7f]{--app-sidebar-width: clamp(300px, 27vw, 500px);--app-sidebar-padding: calc(var(--default-grid-baseline, 4px) * 2);width:var(--app-sidebar-width);z-index:1500;top:0;inset-inline-end:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;height:100%;border-inline-start:1px solid var(--color-border);background:var(--color-main-background);position:relative}.app-sidebar__toggle[data-v-e8979b7f]{position:absolute!important;inset-block-start:var(--app-sidebar-padding);inset-inline-end:var(--app-sidebar-padding);z-index:1001}.app-sidebar .app-sidebar-header[data-v-e8979b7f]{--app-sidebar-close-button-offset: calc(var(--default-clickable-area) + var(--app-sidebar-padding))}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-e8979b7f]{position:absolute;z-index:100;top:var(--app-sidebar-padding);inset-inline-end:var(--app-sidebar-padding);width:var(--default-clickable-area);height:var(--default-clickable-area)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-e8979b7f]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-e8979b7f]{--figure-size: calc(52px + var(--app-sidebar-padding));z-index:2;width:var(--figure-size);height:var(--figure-size);margin:calc(var(--app-sidebar-padding) / 2);border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-e8979b7f]{padding-inline-start:0;flex:1 1 auto;min-width:0;padding-inline-end:calc(var(--default-clickable-area) + var(--app-sidebar-close-button-offset));padding-top:var(--app-sidebar-padding)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-e8979b7f]{padding-inline-end:var(--app-sidebar-close-button-offset)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-e8979b7f]{z-index:3;position:absolute;top:calc(var(--app-sidebar-padding) / 2);inset-inline-start:calc(-1 * var(--default-clickable-area));gap:0}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-e8979b7f]{top:var(--app-sidebar-padding);inset-inline-end:var(--app-sidebar-close-button-offset);position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-e8979b7f]{position:absolute;top:var(--app-sidebar-padding);inset-inline-end:var(--app-sidebar-close-button-offset)}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-e8979b7f]{padding-inline-end:calc(var(--default-clickable-area) + var(--app-sidebar-close-button-offset))}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-e8979b7f]{padding-inline-end:var(--app-sidebar-close-button-offset)}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-e8979b7f]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-e8979b7f]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-e8979b7f]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-e8979b7f]{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;padding-inline:var(--app-sidebar-padding);padding-block:var(--app-sidebar-padding) calc(var(--app-sidebar-padding) / 2);gap:0 4px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-e8979b7f]{padding-inline-start:6px}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__mainname-form[data-v-e8979b7f],.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__mainname-form[data-v-e8979b7f]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subname--editable .app-sidebar-header__subname[data-v-e8979b7f]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-e8979b7f]{display:flex;height:var(--default-clickable-area);width:var(--default-clickable-area);justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-e8979b7f]{box-shadow:none}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-e8979b7f]:not([aria-pressed=true]):hover{box-shadow:none;background-color:var(--color-background-hover)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container[data-v-e8979b7f]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container[data-v-e8979b7f]{display:flex;align-items:center;min-height:var(--default-clickable-area)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-e8979b7f]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname[data-v-e8979b7f] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form[data-v-e8979b7f]{display:flex;flex:1 1 auto;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__mainname-form input.app-sidebar-header__mainname-input[data-v-e8979b7f]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:var(--font-weight-heading, bold)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container .app-sidebar-header__menu[data-v-e8979b7f]{margin-inline-start:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname[data-v-e8979b7f],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-e8979b7f]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-e8979b7f]{color:var(--color-text-maxcontrast);font-size:var(--default-font-size);padding:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__subname[data-v-e8979b7f] *{vertical-align:text-bottom}.app-sidebar .app-sidebar-header .app-sidebar-header__mainname--hidden[data-v-e8979b7f]{position:absolute;top:0;inset-inline-start:0;margin:0;width:1px;height:1px;overflow:hidden}.app-sidebar .app-sidebar-header__description[data-v-e8979b7f]{display:flex;align-items:center;margin:0 10px}@media only screen and (max-width:512px){.app-sidebar[data-v-e8979b7f]{position:absolute;--app-sidebar-width: 100vw}}.slide-right-leave-active[data-v-e8979b7f],.slide-right-enter-active[data-v-e8979b7f]{transition-duration:var(--animation-quick);transition-property:margin-inline-end}.slide-right-enter-to[data-v-e8979b7f],.slide-right-leave[data-v-e8979b7f]{margin-inline-end:0}.slide-right-enter-from[data-v-e8979b7f],.slide-right-leave-to[data-v-e8979b7f]{margin-inline-end:calc(-1 * var(--app-sidebar-width))}.material-design-icon[data-v-8609a4c1]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-8609a4c1]{display:flex;align-items:center;flex-direction:column;justify-content:center;flex-grow:1;padding:var(--default-grid-baseline)}.modal-wrapper .empty-content[data-v-8609a4c1]{margin-top:5vh;margin-bottom:5vh}.empty-content__icon[data-v-8609a4c1]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-8609a4c1] svg{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important}.empty-content__name[data-v-8609a4c1]{margin-bottom:10px;text-align:center;font-weight:var(--font-weight-heading, bold);font-size:20px;line-height:30px}.empty-content__description[data-v-8609a4c1]{color:var(--color-text-maxcontrast);text-align:center;text-wrap-style:balance}.empty-content__action[data-v-8609a4c1]{margin-top:8px}.modal-wrapper .empty-content__action[data-v-8609a4c1]{margin-top:20px;display:flex}.material-design-icon[data-v-dba10798]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-dba10798]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-dba10798]:focus{border-color:var(--color-primary-element);box-shadow:0 0 .2em var(--color-primary-element);outline:0}.app-sidebar__tab--active[data-v-dba10798]{display:block}.material-design-icon[data-v-e0ae1174]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-e0ae1174]{position:relative;display:inline-block;width:var(--avatar-size);height:var(--avatar-size)}.avatardiv--unknown[data-v-e0ae1174]{position:relative;background-color:var(--color-main-background);white-space:normal}.avatardiv[data-v-e0ae1174]:not(.avatardiv--unknown){background-color:var(--color-main-background)!important;box-shadow:0 0 5px #0000000d inset}.avatardiv--with-menu[data-v-e0ae1174]{cursor:pointer}.avatardiv--with-menu .action-item[data-v-e0ae1174]{position:absolute;top:0;inset-inline-start:0}.avatardiv--with-menu[data-v-e0ae1174] .action-item__menutoggle{cursor:pointer;opacity:0}.avatardiv--with-menu[data-v-e0ae1174]:focus-within .action-item__menutoggle,.avatardiv--with-menu[data-v-e0ae1174]:hover .action-item__menutoggle,.avatardiv--with-menu.avatardiv--with-menu-loading[data-v-e0ae1174] .action-item__menutoggle{opacity:1}.avatardiv--with-menu:focus-within img[data-v-e0ae1174],.avatardiv--with-menu:hover img[data-v-e0ae1174],.avatardiv--with-menu.avatardiv--with-menu-loading img[data-v-e0ae1174]{opacity:.3}.avatardiv--with-menu[data-v-e0ae1174] .action-item__menutoggle,.avatardiv--with-menu img[data-v-e0ae1174]{transition:opacity var(--animation-quick)}.avatardiv--with-menu[data-v-e0ae1174] .button-vue,.avatardiv--with-menu[data-v-e0ae1174] .button-vue__icon{height:var(--avatar-size);min-height:var(--avatar-size);width:var(--avatar-size)!important;min-width:var(--avatar-size)}.avatardiv--with-menu[data-v-e0ae1174]>.button-vue,.avatardiv--with-menu[data-v-e0ae1174]>.action-item .button-vue{--button-radius: calc(var(--avatar-size) / 2)}.avatardiv .avatardiv__initials-wrapper[data-v-e0ae1174]{display:block;height:var(--avatar-size);width:var(--avatar-size);background-color:var(--color-main-background);border-radius:calc(var(--avatar-size) / 2)}.avatardiv .avatardiv__initials-wrapper .avatardiv__initials[data-v-e0ae1174]{position:absolute;top:0;inset-inline-start:0;display:block;width:100%;text-align:center;font-weight:var(--font-weight-default, normal)}.avatardiv img[data-v-e0ae1174]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-e0ae1174]{width:var(--avatar-size);height:var(--avatar-size)}.avatardiv .avatardiv__user-status[data-v-e0ae1174]{--avatar-status-size-orbital: calc(var(--avatar-size) * (1 - 1 / sqrt(2)));--avatar-status-size-min: var(--font-size-small);--avatar-status-size: max(var(--avatar-status-size-orbital), var(--avatar-status-size-min));box-sizing:border-box;position:absolute;inset-inline-end:0;inset-block-end:0;height:var(--avatar-status-size);width:var(--avatar-status-size);line-height:1;font-size:calc(var(--avatar-status-size) / 1.2);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:var(--avatar-status-size);background-position:center;border-radius:50%;display:flex;align-items:center;justify-content:center}.acli:hover .avatardiv .avatardiv__user-status[data-v-e0ae1174]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-e0ae1174]{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}.avatardiv .avatardiv__user-status--icon[data-v-e0ae1174]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-e0ae1174]{position:relative;display:inline-block}.avatar-class-icon[data-v-e0ae1174]{display:block;border-radius:calc(var(--avatar-size) / 2);background-color:var(--color-background-darker);height:100%}._material-design-icon_ZJnaR{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}._externalLink_d-mCx{text-decoration:underline}._externalLink_decorated_W3wuz:after{content:" ↗"}.material-design-icon[data-v-3c4a673d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-3c4a673d]{color:var(--color-primary-element-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-3c4a673d]{position:relative;max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-3c4a673d]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-inline:2px 6px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-3c4a673d]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-3c4a673d]{color:inherit;background-size:cover}.mention-bubble__title[data-v-3c4a673d]{overflow:hidden;margin-inline-start:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-3c4a673d]:before{content:attr(title)}.mention-bubble__select[data-v-3c4a673d]{position:absolute;z-index:-1;inset-inline-start:-100vw;width:1px;height:1px;overflow:hidden}.material-design-icon[data-v-881a79fb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-status-icon[data-v-881a79fb]{--user-status-color-online: #2D7B41;--user-status-color-busy: #DB0606;--user-status-color-away: #C88800;--user-status-color-offline: #6B6B6B;display:flex;justify-content:center;align-items:center}.user-status-icon--invisible[data-v-881a79fb]{filter:var(--background-invert-if-dark)}.user-status-icon[data-v-881a79fb] svg{width:100%;height:100%}.material-design-icon[data-v-32f01b7a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-32f01b7a]:hover,li.action.active[data-v-32f01b7a]{border-radius:6px;padding:0}li.action[data-v-32f01b7a]:hover{background-color:var(--color-background-hover)}.action-link[data-v-32f01b7a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:var(--font-weight-element, normal);font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-link>span[data-v-32f01b7a]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-32f01b7a]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-32f01b7a] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-link[data-v-32f01b7a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link__longtext-wrapper[data-v-32f01b7a],.action-link__longtext[data-v-32f01b7a]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-32f01b7a]{cursor:pointer;white-space:pre-wrap!important}.action-link__name[data-v-32f01b7a]{font-weight:var(--font-weight-heading, bold);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-link__description[data-v-32f01b7a]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);font-weight:var(--font-weight-default, normal);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-link__menu-icon[data-v-32f01b7a]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.material-design-icon[data-v-87267750]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-87267750]:hover,li.action.active[data-v-87267750]{border-radius:6px;padding:0}li.action[data-v-87267750]:hover{background-color:var(--color-background-hover)}.action-router[data-v-87267750]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:var(--font-weight-element, normal);font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-router>span[data-v-87267750]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-87267750]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-87267750] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-router[data-v-87267750] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router__longtext-wrapper[data-v-87267750],.action-router__longtext[data-v-87267750]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-87267750]{cursor:pointer;white-space:pre-wrap!important}.action-router__name[data-v-87267750]{font-weight:var(--font-weight-heading, bold);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-router__description[data-v-87267750]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);font-weight:var(--font-weight-default, normal);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-router__menu-icon[data-v-87267750]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-87267750]{pointer-events:none;opacity:.5}.action--disabled[data-v-87267750]:hover,.action--disabled[data-v-87267750]:focus{cursor:default;opacity:.5}.action--disabled[data-v-87267750] *{opacity:1!important}.material-design-icon[data-v-fa684b48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.action[data-v-fa684b48]:hover,li.action.active[data-v-fa684b48]{border-radius:6px;padding:0}li.action[data-v-fa684b48]:hover{background-color:var(--color-background-hover)}.action-text[data-v-fa684b48]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-inline-end:calc((var(--default-clickable-area) - 16px) / 2);box-sizing:border-box;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:var(--font-weight-element, normal);font-size:var(--default-font-size);line-height:var(--default-clickable-area)}.action-text>span[data-v-fa684b48]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-fa684b48]{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1;background-position:calc((var(--default-clickable-area) - 16px) / 2) center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-fa684b48] .material-design-icon{width:var(--default-clickable-area);height:var(--default-clickable-area);opacity:1}.action-text[data-v-fa684b48] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text__longtext-wrapper[data-v-fa684b48],.action-text__longtext[data-v-fa684b48]{max-width:220px;line-height:1.6em;padding:calc((var(--default-clickable-area) - 1.6em) / 2) 0;cursor:pointer;text-align:start;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-fa684b48]{cursor:pointer;white-space:pre-wrap!important}.action-text__name[data-v-fa684b48]{font-weight:var(--font-weight-heading, bold);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:block}.action-text__description[data-v-fa684b48]{display:block;white-space:pre-wrap;font-size:var(--font-size-small);font-weight:var(--font-weight-default, normal);line-height:var(--default-line-height);color:var(--color-text-maxcontrast);cursor:pointer}.action-text__menu-icon[data-v-fa684b48]{margin-inline:auto calc((var(--default-clickable-area) - 16px) / 2 * -1)}.action--disabled[data-v-fa684b48]{pointer-events:none;opacity:.5}.action--disabled[data-v-fa684b48]:hover,.action--disabled[data-v-fa684b48]:focus{cursor:default;opacity:.5}.action--disabled[data-v-fa684b48] *{opacity:1!important}.action-text[data-v-fa684b48],.action-text span[data-v-fa684b48]{cursor:default}.status-chip[data-v-b664cccb]{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--border-radius-pill, 16px);font-size:.8rem;font-weight:600;color:var(--chip-text);background:color-mix(in srgb,var(--chip-tint) 18%,var(--color-main-background));border:1px solid color-mix(in srgb,var(--chip-tint) 35%,transparent);white-space:nowrap}.status-chip__dot[data-v-b664cccb]{font-size:.85em;line-height:1}.section[data-v-48df71be]{padding:calc(var(--default-grid-baseline, 4px) * 3);display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 3)}.section__title[data-v-48df71be]{margin:0;font-size:.95rem}.overlap[data-v-48df71be]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.overlap__item[data-v-48df71be]{display:flex;align-items:center;gap:10px}.overlap__name[data-v-48df71be]{flex:1}.type-chip[data-v-debceb16]{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--border-radius-pill, 16px);font-size:.8rem;font-weight:600;color:color-mix(in srgb,var(--type-color) 50%,var(--color-main-text));background:color-mix(in srgb,var(--type-color) 16%,var(--color-main-background));border:1px solid color-mix(in srgb,var(--type-color) 35%,transparent);white-space:nowrap}.type-chip__icon[data-v-debceb16]{font-size:.95em;line-height:1}.stepper[data-v-2577feb9]{display:flex;list-style:none;margin:0;padding:0}.stepper__step[data-v-2577feb9]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;--tone: var(--color-primary-element)}.stepper__step--success[data-v-2577feb9]{--tone: var(--color-success)}.stepper__step--error[data-v-2577feb9]{--tone: var(--color-error)}.stepper__step--muted[data-v-2577feb9]{--tone: var(--color-text-maxcontrast)}.stepper__dot[data-v-2577feb9]{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;background:var(--color-background-dark);border:2px solid var(--color-border);z-index:1;transition:transform .2s ease}.stepper__label[data-v-2577feb9]{font-size:.75rem;text-align:center;color:var(--color-text-maxcontrast)}.stepper__bar[data-v-2577feb9]{position:absolute;top:15px;inset-inline-start:50%;width:100%;height:2px;background:var(--color-border);z-index:0}.stepper__step--done .stepper__dot[data-v-2577feb9],.stepper__step--current .stepper__dot[data-v-2577feb9]{background:color-mix(in srgb,var(--tone) 18%,var(--color-main-background));border-color:var(--tone)}.stepper__step--done .stepper__label[data-v-2577feb9],.stepper__step--current .stepper__label[data-v-2577feb9]{color:var(--color-main-text);font-weight:600}.stepper__step--current .stepper__dot[data-v-2577feb9]{transform:scale(1.08);box-shadow:0 0 0 4px color-mix(in srgb,var(--tone) 20%,transparent)}.stepper__step--done .stepper__bar[data-v-2577feb9]{background:var(--tone)}@media(prefers-reduced-motion:reduce){.stepper__dot[data-v-2577feb9]{transition:none}}.section[data-v-cb2c4f6d]{padding:calc(var(--default-grid-baseline, 4px) * 3);display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 3)}.facts[data-v-cb2c4f6d]{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.facts dt[data-v-cb2c4f6d]{color:var(--color-text-maxcontrast);font-size:.85rem}.facts dd[data-v-cb2c4f6d]{margin:0;font-weight:500}.facts__decided[data-v-cb2c4f6d]{display:flex;align-items:center;gap:6px}.facts__muted[data-v-cb2c4f6d]{color:var(--color-text-maxcontrast);font-weight:400}.actions[data-v-cb2c4f6d]{display:flex;flex-wrap:wrap;gap:8px}.confirm__actions[data-v-cb2c4f6d]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.reject[data-v-cb2c4f6d]{display:flex;flex-direction:column;gap:8px}.reject__actions[data-v-cb2c4f6d]{display:flex;justify-content:flex-end;gap:8px}.comments[data-v-cb2c4f6d]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.comments__item[data-v-cb2c4f6d]{background:var(--color-background-hover);border-radius:var(--border-radius-large, 12px);padding:10px 12px}.comments__item p[data-v-cb2c4f6d]{margin:6px 0 0}.comments__head[data-v-cb2c4f6d]{display:flex;align-items:center;gap:8px;font-size:.85rem}.comment-add[data-v-cb2c4f6d]{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.timeline[data-v-cb2c4f6d]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.timeline__item[data-v-cb2c4f6d]{display:flex;gap:12px;padding-bottom:16px;position:relative}.timeline__item[data-v-cb2c4f6d]:not(:last-child):before{content:"";position:absolute;inset-inline-start:13px;top:26px;bottom:0;width:2px;background:var(--color-border)}.timeline__marker[data-v-cb2c4f6d]{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;background:var(--color-background-hover);z-index:1}.timeline__body[data-v-cb2c4f6d]{flex:1;min-width:0}.timeline__head[data-v-cb2c4f6d]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.timeline__time[data-v-cb2c4f6d]{font-size:.78rem;color:var(--color-text-maxcontrast);white-space:nowrap}.timeline__who[data-v-cb2c4f6d]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-text-maxcontrast);margin-top:2px}.timeline__detail[data-v-cb2c4f6d]{margin:6px 0 0;padding:6px 10px;background:var(--color-background-hover);border-radius:var(--border-radius, 8px);font-size:.88rem;white-space:pre-wrap;overflow-wrap:anywhere}.app-absence .page{max-width:1100px;margin:0 auto;padding:calc(var(--default-grid-baseline, 4px) * 5);display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 5)}.app-absence .page--narrow{max-width:900px}.app-absence .page--roomy{gap:calc(var(--default-grid-baseline, 4px) * 6)}.app-absence .page--flat{display:block;gap:0}.app-absence .page--flat .page__title{margin-block-end:24px}.app-absence .page__header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.app-absence .page__header--center{align-items:center;gap:12px}.app-absence .page__title{margin:0;font-size:1.6rem}.app-absence .page__tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.app-absence .page__search{width:240px}.app-absence .surface{background:var(--color-main-background);border:1px solid var(--color-border);border-radius:var(--border-radius-large, 12px);padding:calc(var(--default-grid-baseline, 4px) * 4)}.app-absence .surface--sunken{background:var(--color-background-hover);border-color:transparent}.app-absence .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:calc(var(--default-grid-baseline, 4px) * 4)}.app-absence .page__hint{margin:-12px 0 0;color:var(--color-text-maxcontrast);font-size:.9rem}.app-absence .table-wrap{overflow-x:auto;background:var(--color-main-background);border:1px solid var(--color-border);border-radius:var(--border-radius-large, 12px)}.app-absence .tbl{width:100%;border-collapse:collapse}.app-absence .tbl th,.app-absence .tbl td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--color-border)}.app-absence .tbl th:first-child,.app-absence .tbl td:first-child{padding-inline-start:18px}.app-absence .tbl th:last-child,.app-absence .tbl td:last-child{padding-inline-end:18px}.app-absence .tbl th{font-size:.76rem;font-weight:600;color:var(--color-text-maxcontrast);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:var(--color-background-hover);border-bottom-color:var(--color-border-dark, var(--color-border))}.app-absence .tbl thead th:first-child{border-start-start-radius:var(--border-radius-large, 12px)}.app-absence .tbl thead th:last-child{border-start-end-radius:var(--border-radius-large, 12px)}.app-absence .tbl tbody tr:last-child td{border-bottom:none}.app-absence .tbl tbody tr{transition:background-color .12s ease}.app-absence .tbl tbody tr:hover{background:var(--color-background-hover)}.app-absence .tbl .num{text-align:end;font-variant-numeric:tabular-nums}.app-absence .tbl .lead{font-weight:600;color:var(--color-main-text)}.app-absence .tbl .neg{color:var(--color-error);font-weight:600}.app-absence .tbl--interactive tbody tr{cursor:pointer}@media(prefers-reduced-motion:reduce){.app-absence .tbl tbody tr{transition:none}}.app-absence .page__header{padding-inline-start:calc(var(--default-clickable-area, 44px) + var(--app-navigation-padding, 4px) * 2)}.material-design-icon[data-v-0e705f5a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-0e705f5a]{display:flex;position:relative;width:100%;padding:2px 4px}.list-item__wrapper[data-v-0e705f5a]:first-of-type{padding-block-start:4px}.list-item__wrapper[data-v-0e705f5a]:last-of-type{padding-block-end:4px}.list-item__wrapper:not(.list-item__wrapper--legacy):not(.list-item__wrapper--active):not(.active) .list-item[data-v-0e705f5a]:hover,.list-item__wrapper:not(.list-item__wrapper--legacy):not(.list-item__wrapper--active):not(.active) .list-item[data-v-0e705f5a]:focus-within,.list-item__wrapper:not(.list-item__wrapper--legacy):not(.list-item__wrapper--active):not(.active) .list-item[data-v-0e705f5a]:has(:active),.list-item__wrapper:not(.list-item__wrapper--legacy):not(.list-item__wrapper--active):not(.active) .list-item[data-v-0e705f5a]:has(:focus-visible){background-color:color-mix(in srgb,var(--color-primary-element) 8%,transparent)}.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a],.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]{background-color:var(--color-primary-element-light);color:var(--color-main-text)!important}.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:hover,.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:focus-within,.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:has(:focus-visible),.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:has(:active),.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:hover,.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:focus-within,.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:has(:focus-visible),.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:has(:active){background-color:var(--color-primary-element-light-hover)}.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:before,.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item[data-v-0e705f5a]:before{content:"";position:absolute;inset-block:calc(var(--default-grid-baseline, 4px) * 2);inset-inline-start:0;width:3px;background-color:var(--color-primary-element);border-radius:999px;animation:nc-nav-stripe-in-0e705f5a var(--animation-quick, .2s) ease-out}.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item-content__name[data-v-0e705f5a],.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item-content__subname[data-v-0e705f5a],.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item-content__details[data-v-0e705f5a],.list-item__wrapper--active:not(.list-item__wrapper--legacy) .list-item-details__details[data-v-0e705f5a],.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item-content__name[data-v-0e705f5a],.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item-content__subname[data-v-0e705f5a],.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item-content__details[data-v-0e705f5a],.list-item__wrapper.active:not(.list-item__wrapper--legacy) .list-item-details__details[data-v-0e705f5a]{color:var(--color-main-text)!important}.list-item__wrapper--active.list-item__wrapper--legacy .list-item[data-v-0e705f5a],.list-item__wrapper.active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]{background-color:var(--color-primary-element);color:var(--color-primary-element-text)!important}.list-item__wrapper--active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:hover,.list-item__wrapper--active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:focus-within,.list-item__wrapper--active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:has(:focus-visible),.list-item__wrapper--active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:has(:active),.list-item__wrapper.active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:hover,.list-item__wrapper.active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:focus-within,.list-item__wrapper.active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:has(:focus-visible),.list-item__wrapper.active.list-item__wrapper--legacy .list-item[data-v-0e705f5a]:has(:active){background-color:var(--color-primary-element-hover)}.list-item__wrapper--active.list-item__wrapper--legacy .list-item-content__name[data-v-0e705f5a],.list-item__wrapper--active.list-item__wrapper--legacy .list-item-content__subname[data-v-0e705f5a],.list-item__wrapper--active.list-item__wrapper--legacy .list-item-content__details[data-v-0e705f5a],.list-item__wrapper--active.list-item__wrapper--legacy .list-item-details__details[data-v-0e705f5a],.list-item__wrapper.active.list-item__wrapper--legacy .list-item-content__name[data-v-0e705f5a],.list-item__wrapper.active.list-item__wrapper--legacy .list-item-content__subname[data-v-0e705f5a],.list-item__wrapper.active.list-item__wrapper--legacy .list-item-content__details[data-v-0e705f5a],.list-item__wrapper.active.list-item__wrapper--legacy .list-item-details__details[data-v-0e705f5a]{color:var(--color-primary-element-text)!important}@keyframes nc-nav-stripe-in-0e705f5a{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.list-item__wrapper .list-item-content__name[data-v-0e705f5a],.list-item__wrapper .list-item-content__subname[data-v-0e705f5a],.list-item__wrapper .list-item-content__details[data-v-0e705f5a],.list-item__wrapper .list-item-details__details[data-v-0e705f5a]{white-space:nowrap;margin-block:0;margin-inline:0 auto;overflow:hidden;text-overflow:ellipsis}.list-item-content__name[data-v-0e705f5a]{min-width:100px;flex:1 1 10%;font-weight:var(--font-weight-element, 500)}.list-item-content__subname[data-v-0e705f5a]{flex:1 0;min-width:0;color:var(--color-text-maxcontrast)}.list-item-content__subname--bold[data-v-0e705f5a]{font-weight:var(--font-weight-element, 500)}.list-item[data-v-0e705f5a]{--list-item-padding: var(--default-grid-baseline);--list-item-height: 2lh;--list-item-border-radius: var(--border-radius-element, 32px);box-sizing:border-box;display:flex;position:relative;flex:0 0 auto;justify-content:flex-start;padding:var(--list-item-padding);width:100%;border-radius:var(--border-radius-element, 32px);cursor:pointer;transition:background-color var(--animation-quick) ease-in-out;list-style:none}.list-item[data-v-0e705f5a]:hover,.list-item[data-v-0e705f5a]:focus-within,.list-item[data-v-0e705f5a]:has(:active),.list-item[data-v-0e705f5a]:has(:focus-visible){background-color:var(--color-background-hover)}.list-item[data-v-0e705f5a]:has(.list-item__anchor:focus-visible){outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background)}.list-item--compact[data-v-0e705f5a]{--list-item-padding: calc(.5 * var(--default-grid-baseline)) var(--default-grid-baseline)}.list-item--compact[data-v-0e705f5a]:not(:has(.list-item-content__subname)){--list-item-height: var(--default-clickable-area)}.list-item--one-line[data-v-0e705f5a]{--list-item-height: var(--default-clickable-area);--list-item-border-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));--list-item-padding: var(--default-grid-baseline)}.list-item--one-line .list-item-content__main[data-v-0e705f5a]{display:flex;justify-content:start;gap:12px;min-width:0}.list-item--one-line .list-item-content__details[data-v-0e705f5a]{flex-direction:row;align-items:center;justify-content:end}.list-item--one-line .list-item-content__name[data-v-0e705f5a]{align-self:center;max-width:300px}.list-item__anchor[data-v-0e705f5a]{color:inherit;display:flex;flex:1 0 auto;align-items:center;height:var(--list-item-height);min-width:0}.list-item__anchor[data-v-0e705f5a]:focus-visible{outline:none}.list-item-content[data-v-0e705f5a]{display:flex;flex:1 0;justify-content:space-between;padding-inline-start:calc(2 * var(--default-grid-baseline));min-width:0}.list-item-content__main[data-v-0e705f5a]{flex:1 0;width:0;margin:auto 0}.list-item-content__main--oneline[data-v-0e705f5a]{display:flex}.list-item-content__details[data-v-0e705f5a]{display:flex;flex-direction:column;justify-content:end;align-items:end}.list-item-content__actions[data-v-0e705f5a],.list-item-content__extra-actions[data-v-0e705f5a]{flex:0 0 auto;align-self:center;justify-content:center;margin-inline-start:var(--default-grid-baseline)}.list-item-content__extra-actions[data-v-0e705f5a]{display:flex;align-items:center;gap:var(--default-grid-baseline)}.list-item-details__details[data-v-0e705f5a]{color:var(--color-text-maxcontrast);margin:0 9px!important;font-weight:var(--font-weight-default, normal)}.list-item-details__extra[data-v-0e705f5a]{margin:2px 4px 0;display:flex;align-items:center}.list-item-details__indicator[data-v-0e705f5a]{margin:0 5px}.list-item__extra[data-v-0e705f5a]{margin-top:var(--default-grid-baseline)}.rli[data-v-9d301de2]{position:relative;border-radius:var(--border-radius-large, 12px);transition:transform .15s ease,background-color .15s ease}.rli[data-v-9d301de2]:before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--type-color);z-index:1}.rli[data-v-9d301de2]:hover{background:var(--color-background-hover);transform:translateY(-1px)}.rli--active[data-v-9d301de2]{background:var(--color-background-hover)}.rli[data-v-9d301de2] .list-item,.rli[data-v-9d301de2] .list-item__wrapper{border-radius:var(--border-radius-large, 12px)}.rli__icon[data-v-9d301de2]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:1.2rem}@media(prefers-reduced-motion:reduce){.rli[data-v-9d301de2]{transition:none}.rli[data-v-9d301de2]:hover{transform:none}}.skeleton[data-v-024c423c]{display:flex;flex-direction:column;gap:6px}.skeleton__row[data-v-024c423c]{display:flex;align-items:center;gap:12px;padding:10px 8px}.skeleton__avatar[data-v-024c423c]{width:40px;height:40px;border-radius:50%;flex:0 0 auto}.skeleton__lines[data-v-024c423c]{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton__line[data-v-024c423c]{height:12px;border-radius:6px}.skeleton__line--title[data-v-024c423c]{width:45%}.skeleton__line--sub[data-v-024c423c]{width:65%;height:10px}.skeleton__pill[data-v-024c423c]{width:72px;height:22px;border-radius:var(--border-radius-pill, 16px);flex:0 0 auto}.skeleton__avatar[data-v-024c423c],.skeleton__line[data-v-024c423c],.skeleton__pill[data-v-024c423c]{background:linear-gradient(90deg,var(--color-background-hover) 25%,var(--color-background-dark) 37%,var(--color-background-hover) 63%);background-size:400% 100%;animation:skeleton-shimmer-024c423c 1.4s ease infinite}@keyframes skeleton-shimmer-024c423c{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton__avatar[data-v-024c423c],.skeleton__line[data-v-024c423c],.skeleton__pill[data-v-024c423c]{animation:none}}.group__title[data-v-8142b834]{margin:0 0 12px;font-size:1.1rem}.list[data-v-8142b834]{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;list-style:none}.rli-enter-active[data-v-8142b834],.rli-leave-active[data-v-8142b834]{transition:opacity .25s ease,transform .25s ease}.rli-enter-from[data-v-8142b834]{opacity:0;transform:translateY(8px)}.rli-leave-to[data-v-8142b834]{opacity:0;transform:translate(-12px)}.rli-move[data-v-8142b834]{transition:transform .25s ease}@media(prefers-reduced-motion:reduce){.rli-enter-active[data-v-8142b834],.rli-leave-active[data-v-8142b834],.rli-move[data-v-8142b834]{transition:none}}.filters__employee[data-v-7eba53dc]{width:260px}.filters__select[data-v-7eba53dc]{width:200px}.filters__year[data-v-7eba53dc]{width:140px}.summary[data-v-7eba53dc]{margin:0;color:var(--color-text-maxcontrast)}.summary__muted[data-v-7eba53dc]{color:var(--color-text-maxcontrast)}.list[data-v-7eba53dc]{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;list-style:none}.more[data-v-7eba53dc]{display:flex;justify-content:center}.opt[data-v-7eba53dc]{display:inline-flex;align-items:center;gap:8px}.opt__icon[data-v-7eba53dc]{font-size:1.1em}.rli-enter-active[data-v-7eba53dc],.rli-leave-active[data-v-7eba53dc]{transition:opacity .25s ease,transform .25s ease}.rli-enter-from[data-v-7eba53dc]{opacity:0;transform:translateY(8px)}.rli-leave-to[data-v-7eba53dc]{opacity:0;transform:translate(-12px)}.rli-move[data-v-7eba53dc]{transition:transform .25s ease}@media(prefers-reduced-motion:reduce){.rli-enter-active[data-v-7eba53dc],.rli-leave-active[data-v-7eba53dc],.rli-move[data-v-7eba53dc]{transition:none}}.meter[data-v-e8d7a1b8]{display:flex;align-items:center;min-width:60px}.meter__track[data-v-e8d7a1b8]{width:100%;height:8px;border-radius:4px;background:var(--color-background-dark);overflow:hidden}.meter__fill[data-v-e8d7a1b8]{height:100%;border-radius:4px;transition:width .32s ease}@media(prefers-reduced-motion:reduce){.meter__fill[data-v-e8d7a1b8]{transition:none}}.tile[data-v-25421704]{position:relative;display:flex;flex-direction:column;gap:2px;padding:calc(var(--default-grid-baseline, 4px) * 4);border-radius:var(--border-radius-large, 12px);background:color-mix(in srgb,var(--tile-accent) 8%,var(--color-main-background));border:1px solid color-mix(in srgb,var(--tile-accent) 22%,transparent);overflow:hidden}.tile[data-v-25421704]:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--tile-accent)}.tile__icon[data-v-25421704]{font-size:1.3rem;line-height:1;margin-bottom:6px}.tile__value[data-v-25421704]{font-size:2rem;font-weight:700;line-height:1.1;color:var(--tile-accent);font-variant-numeric:tabular-nums}.tile__label[data-v-25421704]{color:var(--color-main-text);font-size:.9rem}.tile__caption[data-v-25421704]{color:var(--color-text-maxcontrast);font-size:.8rem}.emp[data-v-95c2dc4f],.type[data-v-95c2dc4f]{display:inline-flex;align-items:center;gap:8px}.bar-col[data-v-95c2dc4f]{width:15%;min-width:90px}.bar-col__none[data-v-95c2dc4f]{color:var(--color-text-maxcontrast)}td.low[data-v-95c2dc4f]{color:var(--color-warning)}.edit[data-v-95c2dc4f]{display:flex;flex-direction:column;gap:10px;padding:calc(var(--default-grid-baseline, 4px) * 5)}.edit label[data-v-95c2dc4f]{font-weight:600;font-size:.85rem}.edit__actions[data-v-95c2dc4f]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.log[data-v-95c2dc4f]{margin-top:4px;border-top:1px solid var(--color-border);padding-top:12px}.log__title[data-v-95c2dc4f]{margin:0 0 8px;font-size:.9rem;color:var(--color-text-maxcontrast)}.log__list[data-v-95c2dc4f]{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;max-height:220px;overflow-y:auto}.log__item[data-v-95c2dc4f]{display:flex;align-items:flex-start;gap:10px}.log__delta[data-v-95c2dc4f]{flex:0 0 auto;min-width:3.2em;text-align:end;font-weight:700;font-variant-numeric:tabular-nums}.log__delta--up[data-v-95c2dc4f]{color:var(--color-success-text)}.log__delta--down[data-v-95c2dc4f]{color:var(--color-error-text)}.log__body[data-v-95c2dc4f]{display:flex;flex-direction:column;gap:1px}.log__note[data-v-95c2dc4f]{font-style:italic}.log__meta[data-v-95c2dc4f],.log__empty[data-v-95c2dc4f]{font-size:.85rem;color:var(--color-text-maxcontrast)}.log__empty[data-v-95c2dc4f]{margin:0}.tiles--wide[data-v-fe776cae]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card[data-v-fe776cae]{display:flex;flex-direction:column;gap:12px}.card h3[data-v-fe776cae]{margin:0}.card p[data-v-fe776cae]{margin:0;color:var(--color-text-maxcontrast)}.card__row[data-v-fe776cae]{display:flex;gap:12px;flex-wrap:wrap}.dl[data-v-fe776cae]{text-decoration:none}.report[data-v-d16a9a05]{display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 4)}.rank[data-v-d16a9a05]{width:3em;color:var(--color-text-maxcontrast)}.strong[data-v-d16a9a05]{font-weight:700}.opt[data-v-d16a9a05]{display:inline-flex;align-items:center;gap:8px}.opt__icon[data-v-d16a9a05]{font-size:1.1em}.emp[data-v-d16a9a05]{display:inline-flex;align-items:center;gap:8px}.emp__link[data-v-d16a9a05]{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:start}.emp__link[data-v-d16a9a05]:hover{text-decoration:underline}.row--drillable[data-v-d16a9a05]{cursor:pointer}.row--drillable[data-v-d16a9a05]:hover{background:var(--color-background-hover)}.bar-col[data-v-d16a9a05]{width:20%;min-width:80px}.donut[data-v-a6ff040b]{margin:0}.donut__title[data-v-a6ff040b]{font-weight:600;margin-bottom:8px}.donut__body[data-v-a6ff040b]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut__svg[data-v-a6ff040b]{width:160px;height:160px;flex:0 0 auto}.donut__track[data-v-a6ff040b]{fill:none;stroke:var(--color-background-dark);stroke-width:18}.donut__seg[data-v-a6ff040b]{fill:none;stroke-width:18;stroke-linecap:butt;transition:stroke-dasharray .8s cubic-bezier(.4,0,.2,1)}.donut__total[data-v-a6ff040b]{font-size:26px;font-weight:700;text-anchor:middle;fill:var(--color-main-text)}.donut__unit[data-v-a6ff040b]{font-size:11px;text-anchor:middle;fill:var(--color-text-maxcontrast);text-transform:uppercase;letter-spacing:.06em}.donut__legend[data-v-a6ff040b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:160px}.donut__legend li[data-v-a6ff040b]{display:flex;align-items:center;gap:8px;font-size:.88rem}.donut__swatch[data-v-a6ff040b]{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.donut__label[data-v-a6ff040b]{flex:1}.donut__value[data-v-a6ff040b]{color:var(--color-text-maxcontrast)}@media(prefers-reduced-motion:reduce){.donut__seg[data-v-a6ff040b]{transition:none}}.line[data-v-f4b72e98]{margin:0}.line__title[data-v-f4b72e98]{font-weight:600;margin-bottom:8px}.line__svg[data-v-f4b72e98]{width:100%;height:auto}.line__grid[data-v-f4b72e98]{stroke:var(--color-border);stroke-width:1}.line__area[data-v-f4b72e98]{fill:color-mix(in srgb,var(--color-primary-element) 18%,transparent)}.line__stroke[data-v-f4b72e98]{fill:none;stroke:var(--color-primary-element);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.line__dot[data-v-f4b72e98]{fill:var(--color-main-background);stroke:var(--color-primary-element);stroke-width:2}.line__xlabel[data-v-f4b72e98]{font-size:10px;fill:var(--color-text-maxcontrast)}.range[data-v-7f0c5570]{display:flex;gap:12px}.charts[data-v-7f0c5570]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:calc(var(--default-grid-baseline, 4px) * 4)}.gantt[data-v-884a93e2]{display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 3)}.gantt__toolbar[data-v-884a93e2]{display:flex;align-items:center;gap:8px}.gantt__month[data-v-884a93e2]{font-size:1.1rem;min-width:150px;text-align:center}.gantt__scroll[data-v-884a93e2]{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--border-radius-large, 12px);padding-block-end:12px;flex:0 0 auto}.gantt__grid[data-v-884a93e2]{min-width:max-content}.gantt__row[data-v-884a93e2]{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border-dark, var(--color-border))}.gantt__row[data-v-884a93e2]:last-child{border-bottom:none}.gantt__row--head[data-v-884a93e2]{position:sticky;top:0;z-index:3;background:var(--color-main-background)}.gantt__name[data-v-884a93e2]{position:sticky;inset-inline-start:0;z-index:2;flex:0 0 180px;width:180px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-main-background);border-inline-end:1px solid var(--color-border)}.gantt__name--head[data-v-884a93e2]{font-size:.8rem;color:var(--color-text-maxcontrast);text-transform:uppercase;letter-spacing:.04em}.gantt__name-text[data-v-884a93e2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt__track[data-v-884a93e2]{position:relative;height:42px;width:calc(var(--days) * var(--day-w));flex:0 0 auto}.gantt__daynum[data-v-884a93e2]{position:absolute;top:50%;transform:translateY(-50%);width:var(--day-w);text-align:center;font-size:.72rem;color:var(--color-text-maxcontrast)}.gantt__daynum--weekend[data-v-884a93e2]{color:var(--color-primary-element)}.gantt__daynum--today[data-v-884a93e2]{color:var(--color-primary-element-text, #fff);background:var(--color-primary-element);border-radius:8px;padding:1px 0}.gantt__col[data-v-884a93e2]{position:absolute;top:0;bottom:0;width:var(--day-w)}.gantt__col--weekend[data-v-884a93e2]{background:var(--color-background-dark)}.gantt__today[data-v-884a93e2]{position:absolute;top:0;bottom:0;width:2px;background:var(--color-primary-element);opacity:.7;z-index:1}.gantt__pill[data-v-884a93e2]{position:absolute;top:8px;height:26px;display:flex;align-items:center;padding:0 8px;border-radius:var(--border-radius-pill, 14px);background:var(--pill);color:#fff;font-size:.85rem;box-shadow:0 1px 3px #0000002e;overflow:hidden;z-index:1;animation:pill-in-884a93e2 .3s ease both}.gantt__pill--pending[data-v-884a93e2]{background:repeating-linear-gradient(45deg,var(--pill),var(--pill) 6px,color-mix(in srgb,var(--pill) 55%,transparent) 6px,color-mix(in srgb,var(--pill) 55%,transparent) 12px);opacity:.9}.gantt__pill--clickable[data-v-884a93e2]{border:none;font:inherit;text-align:start;cursor:pointer}.gantt__pill--clickable[data-v-884a93e2]:hover{filter:brightness(1.08);box-shadow:0 2px 6px #00000047}.gantt__pill--clickable[data-v-884a93e2]:focus-visible{outline:2px solid var(--color-main-text);outline-offset:1px}.gantt__pill--active[data-v-884a93e2]{outline:2px solid var(--color-main-text);outline-offset:1px}@keyframes pill-in-884a93e2{0%{opacity:0;transform:scaleX(.9);transform-origin:left}to{opacity:1;transform:scaleX(1)}}.legend[data-v-884a93e2]{display:flex;flex-wrap:wrap;gap:14px;font-size:.8rem;color:var(--color-text-maxcontrast)}.legend__item[data-v-884a93e2]{display:inline-flex;align-items:center;gap:6px}.legend__swatch[data-v-884a93e2]{width:14px;height:14px;border-radius:4px}.legend__swatch--pending[data-v-884a93e2]{background:repeating-linear-gradient(45deg,var(--color-text-maxcontrast),var(--color-text-maxcontrast) 3px,transparent 3px,transparent 6px)}@media(prefers-reduced-motion:reduce){.gantt__pill[data-v-884a93e2]{animation:none}}.ring[data-v-430f0399]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:calc(var(--default-grid-baseline, 4px) * 3)}.ring__svg[data-v-430f0399]{width:120px;height:120px}.ring__track[data-v-430f0399]{fill:none;stroke:var(--color-background-darker, var(--color-border));stroke-width:10}.ring__used[data-v-430f0399]{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1)}.ring__value[data-v-430f0399]{font-size:26px;font-weight:700;text-anchor:middle;fill:var(--color-main-text)}.ring__unit[data-v-430f0399]{font-size:11px;text-anchor:middle;fill:var(--color-text-maxcontrast);text-transform:uppercase;letter-spacing:.06em}.ring__label[data-v-430f0399]{display:flex;align-items:center;gap:6px;font-weight:600}.ring__meta[data-v-430f0399]{font-size:.82rem;color:var(--color-text-maxcontrast)}.ring__pending[data-v-430f0399]{color:var(--color-warning-text, var(--color-warning))}.card[data-v-291dbad2]{display:flex;align-items:center;gap:calc(var(--default-grid-baseline, 4px) * 4);flex-wrap:wrap;background:var(--color-background-hover);border-radius:var(--border-radius-large, 12px);padding:calc(var(--default-grid-baseline, 4px) * 2) calc(var(--default-grid-baseline, 4px) * 3)}.card[data-v-291dbad2] .ring{padding:calc(var(--default-grid-baseline, 4px));gap:2px}.card[data-v-291dbad2] .ring__svg{width:92px;height:92px}.card[data-v-291dbad2] .ring__value{font-size:30px}.card[data-v-291dbad2] .ring__unit{font-size:12px}.ledger[data-v-291dbad2]{flex:1;min-width:220px;max-width:340px;margin:0;margin-inline-start:auto;padding:0;font-size:.85rem}.ledger__row[data-v-291dbad2]{display:flex;justify-content:space-between;gap:12px;padding:1px 0;color:var(--color-text-maxcontrast)}.ledger__row dt[data-v-291dbad2],.ledger__row dd[data-v-291dbad2]{padding:0;margin:0;width:auto}.ledger__row dt[data-v-291dbad2]{font-weight:400;text-align:start}.ledger__row dd[data-v-291dbad2]{font-variant-numeric:tabular-nums}.ledger__row--total[data-v-291dbad2]{border-top:1px solid var(--color-border);color:var(--color-main-text);font-weight:600}.ledger__row--pending[data-v-291dbad2]{color:var(--color-warning-text, var(--color-warning))}.ledger__row--available[data-v-291dbad2]{border-top:1px solid var(--color-border);color:var(--color-main-text);font-weight:700}.ledger__row--available dd[data-v-291dbad2]{color:var(--type-color, var(--color-main-text))}.chart[data-v-fc9e92b9]{margin:0}.chart__title[data-v-fc9e92b9]{font-weight:600;margin-bottom:8px}.chart__svg[data-v-fc9e92b9]{width:100%;height:auto}.chart__bar[data-v-fc9e92b9]{transition:height .8s cubic-bezier(.4,0,.2,1),y .8s cubic-bezier(.4,0,.2,1)}.chart__label[data-v-fc9e92b9]{font-size:11px;fill:var(--color-text-maxcontrast)}.chart__value[data-v-fc9e92b9]{font-size:11px;font-weight:600;fill:var(--color-main-text)}.palm[data-v-900621e8]{max-width:160px;height:auto}.palm__sun[data-v-900621e8]{fill:var(--color-warning);opacity:.85;animation:palm-bob-900621e8 4s ease-in-out infinite;transform-origin:center}.palm__sea[data-v-900621e8]{fill:color-mix(in srgb,var(--color-primary-element) 30%,transparent)}.palm__island[data-v-900621e8]{fill:color-mix(in srgb,var(--color-success) 35%,var(--color-main-background))}.palm__trunk[data-v-900621e8]{fill:color-mix(in srgb,#8a5a2b 70%,var(--color-main-text))}.palm__coco[data-v-900621e8]{fill:#6b3f1d}.palm__frond[data-v-900621e8]{fill:var(--color-success)}.palm__fronds[data-v-900621e8]{transform-origin:75px 70px;animation:palm-sway-900621e8 5s ease-in-out infinite}.palm__blossom[data-v-900621e8]{fill:#e8829e;transform-origin:center;animation:palm-bloom-900621e8 3s ease-in-out infinite}.palm__bird[data-v-900621e8]{fill:none;stroke:var(--color-text-maxcontrast);stroke-width:1.4;stroke-linecap:round;animation:palm-bob-900621e8 5s ease-in-out infinite}.palm__leaf[data-v-900621e8],.palm__flake[data-v-900621e8]{transform-box:fill-box;transform-origin:center;animation:palm-fall-900621e8 6s linear infinite}.palm__leaf[data-v-900621e8]{fill:#c2703a}.palm__flake[data-v-900621e8]{fill:var(--color-main-text);opacity:.55}.palm__snow[data-v-900621e8]{fill:color-mix(in srgb,var(--color-main-text) 12%,var(--color-main-background))}.palm--spring .palm__frond[data-v-900621e8]{fill:color-mix(in srgb,var(--color-success) 80%,#d8f0a0)}.palm--spring .palm__sun[data-v-900621e8]{opacity:.6}.palm--autumn .palm__frond[data-v-900621e8]{fill:color-mix(in srgb,var(--color-warning) 70%,var(--color-success))}.palm--autumn .palm__sea[data-v-900621e8]{fill:color-mix(in srgb,var(--color-primary-element) 22%,transparent)}.palm--winter .palm__frond[data-v-900621e8]{fill:color-mix(in srgb,var(--color-success) 55%,var(--color-text-maxcontrast))}.palm--winter .palm__island[data-v-900621e8]{fill:color-mix(in srgb,var(--color-success) 18%,var(--color-main-background))}.palm--winter .palm__sun[data-v-900621e8]{opacity:.45}.palm--winter .palm__sea[data-v-900621e8]{fill:color-mix(in srgb,var(--color-primary-element) 18%,transparent)}@keyframes palm-sway-900621e8{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes palm-bob-900621e8{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes palm-bloom-900621e8{0%,to{transform:scale(.85);opacity:.75}50%{transform:scale(1.1);opacity:1}}@keyframes palm-fall-900621e8{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(-14px,46px) rotate(180deg);opacity:0}}@media(prefers-reduced-motion:reduce){.palm__fronds[data-v-900621e8],.palm__sun[data-v-900621e8],.palm__bird[data-v-900621e8],.palm__blossom[data-v-900621e8],.palm__leaf[data-v-900621e8],.palm__flake[data-v-900621e8]{animation:none}}.hero[data-v-4042e821]{display:flex;align-items:center;gap:16px;padding:calc(var(--default-grid-baseline, 4px) * 4);border-radius:var(--border-radius-large, 12px);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--color-main-background)),color-mix(in srgb,var(--accent) 8%,var(--color-main-background)));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.hero__emoji[data-v-4042e821]{font-size:2.4rem;line-height:1}.hero__text[data-v-4042e821]{display:flex;flex-direction:column;gap:2px}.hero__eyebrow[data-v-4042e821]{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-maxcontrast)}.hero__headline[data-v-4042e821]{font-size:1.25rem}.hero__headline--ticking[data-v-4042e821]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hero__sub[data-v-4042e821]{font-size:.9rem;color:var(--color-text-maxcontrast)}.overview[data-v-4042e821]{display:flex;flex-direction:column;gap:calc(var(--default-grid-baseline, 4px) * 3)}.charts[data-v-4042e821]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--default-grid-baseline, 4px) * 3)}.requests__title[data-v-4042e821]{margin:0 0 12px;font-size:1.1rem}.requests__list[data-v-4042e821]{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;list-style:none}.rli-enter-active[data-v-4042e821],.rli-leave-active[data-v-4042e821]{transition:opacity .25s ease,transform .25s ease}.rli-enter-from[data-v-4042e821]{opacity:0;transform:translateY(8px)}.rli-leave-to[data-v-4042e821]{opacity:0;transform:translate(-12px)}.rli-move[data-v-4042e821]{transition:transform .25s ease}@media(prefers-reduced-motion:reduce){.rli-enter-active[data-v-4042e821],.rli-leave-active[data-v-4042e821],.rli-move[data-v-4042e821]{transition:none}}`)),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); -import{l as Na,u as di,a as Cs,w as Le,o as Ta,b as pi,c as I,r as ut,d as c,e as F,n as ne,f as X,g as Ie,i as _e,h as Q,j as xs,k as Tt,m as o,p as hi,q as he,s as Pe,t as Ss,v as As,x as bt,y as za,z as Ri,A as mi,B as wn,C as Ls,D as Za,E as ie,F as Ns,G as Dt,H as ge,I as kn,J as He,K as Vi,L as Ts,M as $e,N as Ne,O as Cn,_ as te,P as u,Q as k,R as j,S as U,T as pe,U as xe,V as et,W as r,X as b,Y as C,Z as rt,$ as Ds,a0 as Es,a1 as Ot,a2 as _,a3 as Se,a4 as xn,a5 as Z,a6 as me,a7 as Is,a8 as Bs,a9 as Ms,aa as Kt,ab as Sn,ac as An,ad as $s,ae as Yt,af as we,ag as it,ah as zs,ai as Da,aj as pt,ak as Rs,al as Vs,am as ct,an as z,ao as fi,ap as gi,aq as J,ar as Ps,as as Ln,at as Os,au as qs,av as Ea,aw as Fs,ax as Qt,ay as Hs,az as Nn,aA as Us,aB as qt,aC as _t,aD as js,aE as Ws,aF as Gs,aG as Tn,aH as Dn,aI as H,aJ as Zs,aK as Ka,aL as Ks,aM as Ys,aN as Xs,aO as Qs,aP as Js,aQ as dt,aR as Et,aS as Ya,aT as el,aU as tt,aV as tl,aW as al,aX as le,aY as Lt,aZ as E,a_ as ke,a$ as at,b0 as yi,b1 as Ft,b2 as En,b3 as Ae,b4 as il,b5 as nl,b6 as sl,b7 as bi,b8 as Pi,b9 as In,ba as ll,bb as ol,bc as rl,bd as cl,be as se,bf as Xa,bg as Oi,bh as ul,bi as dl,bj as pl,bk as hl,bl as vi,bm as Bn,bn as ml,bo as fl,bp as Qa,bq as Ia,br as Mn,bs as Jt,bt as gl,bu as qi,bv as yl,bw as bl,bx as vl,by as _l}from"./NcCheckboxRadioSwitch-DVdt5Hkq-0woWiQP2.chunk.mjs";const ws="absence",ks="1.0.12";function _i(){try{return Na("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}var wl=Object.assign({inheritAttrs:!1},{__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1},keyboardStep:{type:Number,default:5}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick","direction-changed"],setup(e,{emit:a}){let t=a,s=e,n=di(),i=Cs(),l=Ie([]),d=Q(()=>l.value.reduce((w,S)=>(w[~~S.id]=S)&&w,{})),h=Q(()=>l.value.length),f=Ie(null),m=Ie(!1),p=Ie({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),y=Ie({splitter:null,timeoutId:null}),g=Q(()=>({[`splitpanes splitpanes--${s.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":p.value.dragging,"splitpanes--ready":m.value})),x=()=>{document.addEventListener("mousemove",V,{passive:!1}),document.addEventListener("mouseup",L),"ontouchstart"in window&&(document.addEventListener("touchmove",V,{passive:!1}),document.addEventListener("touchend",L))},v=()=>{document.removeEventListener("mousemove",V,{passive:!1}),document.removeEventListener("mouseup",L),"ontouchstart"in window&&(document.removeEventListener("touchmove",V,{passive:!1}),document.removeEventListener("touchend",L))},A=(w,S)=>{let N=w.target.closest(".splitpanes__splitter");if(N){let{left:D,top:B}=N.getBoundingClientRect(),{clientX:O,clientY:K}="ontouchstart"in window&&w.touches?w.touches[0]:w;p.value.cursorOffset=s.horizontal?K-B:O-D}x(),p.value.mouseDown=!0,p.value.activeSplitter=S,document.documentElement.style.cursor=s.horizontal?"row-resize":"col-resize"},V=w=>{p.value.mouseDown&&(w.preventDefault(),p.value.dragging||(window.getSelection()?.removeAllRanges(),p.value.dragging=!0),requestAnimationFrame(()=>{G(ce(w)),$("resize",{event:w},!0)}))},L=w=>{p.value.dragging&&(window.getSelection()?.removeAllRanges(),$("resized",{event:w},!0)),p.value.mouseDown=!1,p.value.activeSplitter=null,setTimeout(()=>{p.value.dragging=!1,v(),document.documentElement.style.cursor=""},100)},R=(w,S)=>{"ontouchstart"in window&&(w.preventDefault(),y.value.splitter===S?(clearTimeout(y.value.timeoutId),y.value.timeoutId=null,Y(w,S),y.value.splitter=null):(y.value.splitter=S,y.value.timeoutId=setTimeout(()=>y.value.splitter=null,500))),p.value.dragging||$("splitter-click",{event:w,index:S},!0)},Y=(w,S)=>{if($("splitter-dblclick",{event:w,index:S},!0),s.maximizePanes){let N=0;l.value=l.value.map((D,B)=>(D.size=B===S?D.max:D.min,B!==S&&(N+=D.min),D)),l.value[S].size-=N,$("pane-maximize",{event:w,index:S,pane:l.value[S]}),$("resized",{event:w,index:S},!0)}},ae=(w,S)=>{if(!s.keyboardStep)return;let N=s.horizontal?w.key==="ArrowDown":w.key==="ArrowRight",D=s.horizontal?w.key==="ArrowUp":w.key==="ArrowLeft";if(!N&&!D)return;w.preventDefault(),p.value.activeSplitter=S;let B=(N?1:-1)*(s.rtl&&!s.horizontal?-1:1),O=Fe(S)+l.value[S].size;ze(Math.min(Math.max(O+B*s.keyboardStep,0),100)),$("resize",{event:w},!0),$("resized",{event:w},!0),p.value.activeSplitter=null},re=(w,S)=>{let N=d.value[S];N&&$("pane-click",{event:w,index:N.index,pane:N})},ce=w=>{let S=f.value.getBoundingClientRect(),{clientX:N,clientY:D}="ontouchstart"in window&&w.touches?w.touches[0]:w;return{x:N-(s.horizontal?0:p.value.cursorOffset)-S.left,y:D-(s.horizontal?p.value.cursorOffset:0)-S.top}},Be=w=>{w=w[s.horizontal?"y":"x"];let S=f.value[s.horizontal?"clientHeight":"clientWidth"];return s.rtl&&!s.horizontal&&(w=S-w),w*100/S},G=w=>{ze(Be(w))},ze=w=>{let S=p.value.activeSplitter;if(S===null||S>=l.value.length-1)return;let N={prevPanesSize:Fe(S),nextPanesSize:ye(S),prevReachedMinPanes:0,nextReachedMinPanes:0},D=0+(s.pushOtherPanes?0:N.prevPanesSize),B=100-(s.pushOtherPanes?0:N.nextPanesSize);w=Math.max(Math.min(w,B),D);let O=[S,S+1],K=l.value[O[0]]||null,ue=l.value[O[1]]||null,oe=K!==null&&K.max<100&&w>=K.max+N.prevPanesSize,Ut=ue!==null&&ue.max<100&&w<=100-(ue.max+ye(S+1));if(oe||Ut){oe?(K.size=K.max,ue.size=Math.min(Math.max(100-K.max-N.prevPanesSize-N.nextPanesSize,ue.min),ue.max)):(K.size=Math.min(Math.max(100-ue.max-N.prevPanesSize-ye(S+1),K.min),K.max),ue.size=ue.max);return}if(s.pushOtherPanes){let zi=qe(N,w);if(!zi)return;({sums:N,panesToResize:O}=zi),K=l.value[O[0]]||null,ue=l.value[O[1]]||null}K!==null&&(K.size=Math.min(Math.max(w-N.prevPanesSize-N.prevReachedMinPanes,K.min),K.max)),ue!==null&&(ue.size=Math.min(Math.max(100-w-N.nextPanesSize-N.nextReachedMinPanes,ue.min),ue.max))},qe=(w,S)=>{let N=p.value.activeSplitter,D=[N,N+1];if(S{O>D[0]&&O<=N&&(B.size=B.min,w.prevReachedMinPanes+=B.min)}),D[0]===void 0)return w.prevReachedMinPanes=0,l.value[0].size=l.value[0].min,l.value.forEach((B,O)=>{O>0&&O<=N&&(B.size=B.min,w.prevReachedMinPanes+=B.min)}),l.value[D[1]].size=100-w.prevReachedMinPanes-l.value[0].min-w.prevPanesSize-w.nextPanesSize,null;w.prevPanesSize=Fe(D[0])}return S>100-w.nextPanesSize-l.value[D[1]].min&&(D[1]=Te(N).index,w.nextReachedMinPanes=0,D[1]>N+1&&l.value.forEach((B,O)=>{O>N&&O{O>=N+1&&(B.size=B.min,w.nextReachedMinPanes+=B.min)}),D[0]!==void 0&&(l.value[D[0]].size=100-w.prevPanesSize-ye(D[0]-1)),null):{sums:w,panesToResize:D}},Fe=w=>l.value.reduce((S,N,D)=>S+(Dl.value.reduce((S,N,D)=>S+(D>w+1?N.size:0),0),Ge=w=>[...l.value].reverse().find(S=>S.indexS.min)||{},Te=w=>l.value.find(S=>S.index>w+1&&S.size>S.min)||{},Me=()=>{let w=Array.from(f.value?.children||[]);for(let S of w){let N=S.classList.contains("splitpanes__pane"),D=S.classList.contains("splitpanes__splitter");!N&&!D&&(S.remove(),console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."))}},nt=(w,S,N=!1)=>{let D=w-1,B=document.createElement("div");B.classList.add("splitpanes__splitter"),N||(B.onmousedown=O=>A(O,D),typeof window<"u"&&"ontouchstart"in window&&(B.ontouchstart=O=>A(O,D)),B.onclick=O=>R(O,D+1),s.keyboardStep&&(B.setAttribute("tabindex","0"),B.setAttribute("role","separator"),B.setAttribute("aria-orientation",s.horizontal?"horizontal":"vertical"),B.onkeydown=O=>ae(O,D))),B.ondblclick=O=>Y(O,D+1),S.parentNode.insertBefore(B,S)},wt=w=>{w.onmousedown=null,w.onclick=null,w.ondblclick=null,w.onkeydown=null,w.remove()},mt=()=>{let w=Array.from(f.value?.children||[]);for(let N of w)N.className.includes("splitpanes__splitter")&&wt(N);let S=0;for(let N of w)N.className.includes("splitpanes__pane")&&(!S&&s.firstSplitter?nt(S,N,!0):S&&nt(S,N),S++)},kt=({uid:w,...S})=>{let N=d.value[w];for(let[D,B]of Object.entries(S))N[D]=B},ft=!1,Ct=w=>{let S=-1;Array.from(f.value?.children||[]).some(N=>(N.className.includes("splitpanes__pane")&&S++,N.isSameNode(w.el))),l.value.splice(S,0,{...w,index:S}),l.value.forEach((N,D)=>N.index=D),m.value&&!ft&&(ft=!0,Tt(()=>{mt(),Ze({addedPane:l.value[S]}),$("pane-add",{pane:l.value[S]}),ft=!1}))},xt=w=>{let S=l.value.findIndex(D=>D.id===w);l.value[S].el=null;let N=l.value.splice(S,1)[0];l.value.forEach((D,B)=>D.index=B),Tt(()=>{mt(),$("pane-remove",{pane:N}),Ze({removedPane:{...N}})})},Ze=(w={})=>{!w.addedPane&&!w.removedPane?Ke():l.value.some(S=>S.givenSize!==null||S.min||S.max<100)?T(w):st(),m.value&&$("resized")},st=()=>{let w=100/h.value,S=100,N=[],D=[];for(let B of l.value)B.size=Math.max(Math.min(w,B.max),B.min),S-=B.size,B.size>=B.max&&N.push(B.id),B.size<=B.min&&D.push(B.id);Math.abs(S)>.1&&P(S,N,D)},Ke=()=>{let w=100,S=[],N=[],D=0;for(let O of l.value)w-=O.size,O.givenSize!==null&&D++,O.size>=O.max&&S.push(O.id),O.size<=O.min&&N.push(O.id);let B=100;if(w>.1){for(let O of l.value)O.givenSize===null&&(O.size=Math.max(Math.min(w/(h.value-D),O.max),O.min)),B-=O.size;B>.1&&P(B,S,N)}},T=({addedPane:w,removedPane:S}={})=>{let N=l.value.reduce((oe,Ut)=>oe+(Ut.givenSize===null?0:Ut.givenSize),0),D=l.value.filter(oe=>oe.givenSize===null).length,B=D>0?(100-N)/D:0,O=0,K=[],ue=[];for(let oe of l.value)O-=oe.size,oe.size>=oe.max&&K.push(oe.id),oe.size<=oe.min&&ue.push(oe.id);if(!(Math.abs(O)<.1)){O=100;for(let oe of l.value)oe.givenSize===null&&(oe.size=Math.max(Math.min(B,oe.max),oe.min)),O-=oe.size,oe.size>=oe.max&&K.push(oe.id),oe.size<=oe.min&&ue.push(oe.id);Math.abs(O)>.1&&P(O,K,ue)}},P=(w,S,N)=>{let D;D=w>0?w/(h.value-S.length):w/(h.value-N.length),l.value.forEach((B,O)=>{if(w>0&&!S.includes(B.id)){let K=Math.max(Math.min(B.size+D,B.max),B.min),ue=K-B.size;w-=ue,B.size=K}else if(!N.includes(B.id)){let K=Math.max(Math.min(B.size+D,B.max),B.min),ue=K-B.size;w-=ue,B.size=K}}),Math.abs(w)>.1&&m.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")},$=(w,S=void 0,N=!1)=>{let D=S?.index??p.value.activeSplitter??null;t(w,{...S,...D!==null&&{index:D},...N&&D!==null&&{prevPane:l.value[D-+!!s.firstSplitter],nextPane:l.value[D+ +!s.firstSplitter]},panes:l.value.map(B=>({min:B.min,max:B.max,size:B.size}))})};Le(()=>s.firstSplitter,()=>mt()),Le(()=>s.horizontal,w=>Tt(()=>{t("direction-changed",{horizontal:w,panes:l.value.map(S=>({min:S.min,max:S.max,size:S.size}))})})),Ta(()=>{Me(),mt(),Ze(),$("ready"),m.value=!0}),pi(()=>m.value=!1);let W=()=>{let{class:w,...S}=n;return hi("div",{ref:f,class:[g.value,w],...S},i.default?.())};return he("panes",l),he("indexedPanes",d),he("horizontal",Q(()=>s.horizontal)),he("requestUpdate",kt),he("onPaneAdd",Ct),he("onPaneRemove",xt),he("onPaneClick",re),(w,S)=>(o(),I(ut(W)))}}),kl={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(e){let a=e,t=_e("requestUpdate"),s=_e("onPaneAdd"),n=_e("horizontal"),i=_e("onPaneRemove"),l=_e("onPaneClick"),d=xs()?.uid,h=_e("indexedPanes"),f=Q(()=>h.value[d]),m=Ie(null),p=Q(()=>{let v=isNaN(a.size)||a.size===void 0?0:parseFloat(a.size);return Math.max(Math.min(v,g.value),y.value)}),y=Q(()=>{let v=parseFloat(a.minSize);return isNaN(v)?0:v}),g=Q(()=>{let v=parseFloat(a.maxSize);return isNaN(v)?100:v}),x=Q(()=>{let v=f.value?.size??(a.size===void 0?void 0:p.value);return v===void 0?"":`${n.value?"height":"width"}: ${v}%`});return Le(()=>p.value,v=>t({uid:d,size:v})),Le(()=>y.value,v=>t({uid:d,min:v})),Le(()=>g.value,v=>t({uid:d,max:v})),Ta(()=>{s({id:d,el:m.value,min:y.value,max:g.value,givenSize:a.size===void 0?null:p.value,size:p.value})}),pi(()=>i(d)),(v,A)=>(o(),c("div",{ref_key:"paneEl",ref:m,class:"splitpanes__pane",onClick:A[0]||=V=>X(l)(V,v._.uid),style:ne(x.value)},[F(v.$slots,"default")],4))}};const gt=typeof document<"u",$n=/#/g,Cl=/&/g,xl=/\//g,Sl=/=/g,Al=/\?/g,zn=/\+/g,Ll=/%5B/g,Nl=/%5D/g,Rn=/%5E/g,Tl=/%60/g,Vn=/%7B/g,Dl=/%7C/g,Pn=/%7D/g,El=/%20/g;function wi(e){return e==null?"":encodeURI(""+e).replace(Dl,"|").replace(Ll,"[").replace(Nl,"]")}function Il(e){return wi(e).replace(Vn,"{").replace(Pn,"}").replace(Rn,"^")}function Ja(e){return wi(e).replace(zn,"%2B").replace(El,"+").replace($n,"%23").replace(Cl,"%26").replace(Tl,"`").replace(Vn,"{").replace(Pn,"}").replace(Rn,"^")}function Bl(e){return Ja(e).replace(Sl,"%3D")}function Ml(e){return wi(e).replace($n,"%23").replace(Al,"%3F")}function $l(e){return Ml(e).replace(xl,"%2F")}function ea(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const zl=/\/$/,Rl=e=>e.replace(zl,"");function Ra(e,a,t="/"){let s,n={},i="",l="";const d=a.indexOf("#");let h=a.indexOf("?");return h=d>=0&&h>d?-1:h,h>=0&&(s=a.slice(0,h),i=a.slice(h,d>0?d:a.length),n=e(i.slice(1))),d>=0&&(s=s||a.slice(0,d),l=a.slice(d,a.length)),s=ql(s??a,t),{fullPath:s+i+l,path:s,query:n,hash:ea(l)}}function Vl(e,a){const t=a.query?e(a.query):"";return a.path+(t&&"?")+t+(a.hash||"")}function Fi(e,a){return!a||!e.toLowerCase().startsWith(a.toLowerCase())?e:e.slice(a.length)||"/"}function Pl(e,a,t){const s=a.matched.length-1,n=t.matched.length-1;return s>-1&&s===n&&vt(a.matched[s],t.matched[n])&&On(a.params,t.params)&&e(a.query)===e(t.query)&&a.hash===t.hash}function vt(e,a){return(e.aliasOf||e)===(a.aliasOf||a)}function On(e,a){if(Object.keys(e).length!==Object.keys(a).length)return!1;for(var t in e)if(!Ol(e[t],a[t]))return!1;return!0}function Ol(e,a){return Pe(e)?Hi(e,a):Pe(a)?Hi(a,e):(e&&e.valueOf())===(a&&a.valueOf())}function Hi(e,a){return Pe(a)?e.length===a.length&&e.every((t,s)=>t===a[s]):e.length===1&&e[0]===a}function ql(e,a){if(e.startsWith("/"))return e;if(!e)return a;const t=a.split("/"),s=e.split("/"),n=s[s.length-1];(n===".."||n===".")&&s.push("");let i=t.length-1,l,d;for(l=0;l1&&i--;else break;return t.slice(0,i).join("/")+"/"+s.slice(l).join("/")}const Ye={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function Fl(e){if(!e)if(gt){const a=document.querySelector("base");e=a&&a.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Rl(e)}const Hl=/^[^#]+#/;function Ul(e,a){return e.replace(Hl,"#")+a}function jl(e,a){const t=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:a.behavior,left:s.left-t.left-(a.left||0),top:s.top-t.top-(a.top||0)}}const Ba=()=>({left:window.scrollX,top:window.scrollY});function Wl(e){let a;if("el"in e){const t=e.el,s=typeof t=="string"&&t.startsWith("#"),n=typeof t=="string"?s?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!n)return;a=jl(n,e)}else a=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(a):window.scrollTo(a.left!=null?a.left:window.scrollX,a.top!=null?a.top:window.scrollY)}function Ui(e,a){return(history.state?history.state.position-a:-1)+e}const ei=new Map;function Gl(e,a){ei.set(e,a)}function Zl(e){const a=ei.get(e);return ei.delete(e),a}function Kl(e){return typeof e=="string"||e&&typeof e=="object"}function qn(e){return typeof e=="string"||typeof e=="symbol"}function Yl(e){const a={};if(e===""||e==="?")return a;const t=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sn&&Ja(n)):[s&&Ja(s)]).forEach(n=>{n!==void 0&&(a+=(a.length?"&":"")+t,n!=null&&(a+="="+n))})}return a}function Xl(e){const a={};for(const t in e){const s=e[t];s!==void 0&&(a[t]=Pe(s)?s.map(n=>n==null?null:""+n):s==null?s:""+s)}return a}function St(){let e=[];function a(s){return e.push(s),()=>{const n=e.indexOf(s);n>-1&&e.splice(n,1)}}function t(){e=[]}return{add:a,list:()=>e.slice(),reset:t}}function Qe(e,a,t,s,n,i=l=>l()){const l=s&&(s.enterCallbacks[n]=s.enterCallbacks[n]||[]);return()=>new Promise((d,h)=>{const f=y=>{y===!1?h(bt(4,{from:t,to:a})):y instanceof Error?h(y):Kl(y)?h(bt(2,{from:a,to:y})):(l&&s.enterCallbacks[n]===l&&typeof y=="function"&&l.push(y),d())},m=i(()=>e.call(s&&s.instances[n],a,t,f));let p=Promise.resolve(m);e.length<3&&(p=p.then(f)),p.catch(y=>h(y))})}function Va(e,a,t,s,n=i=>i()){const i=[];for(const l of e)for(const d in l.components){let h=l.components[d];if(!(a!=="beforeRouteEnter"&&!l.instances[d]))if(Ss(h)){const f=(h.__vccOpts||h)[a];f&&i.push(Qe(f,t,s,l,d,n))}else{let f=h();i.push(()=>f.then(m=>{if(!m)throw new Error(`Couldn't resolve component "${d}" at "${l.path}"`);const p=As(m)?m.default:m;l.mods[d]=m,l.components[d]=p;const y=(p.__vccOpts||p)[a];return y&&Qe(y,t,s,l,d,n)()}))}}return i}function Ql(e,a){const t=[],s=[],n=[],i=Math.max(a.matched.length,e.matched.length);for(let l=0;lvt(f,d))?s.push(d):t.push(d));const h=e.matched[l];h&&(a.matched.find(f=>vt(f,h))||n.push(h))}return[t,s,n]}let Jl=()=>location.protocol+"//"+location.host;function Fn(e,a){const{pathname:t,search:s,hash:n}=a,i=e.indexOf("#");if(i>-1){let l=n.includes(e.slice(i))?e.slice(i).length:1,d=n.slice(l);return d[0]!=="/"&&(d="/"+d),Fi(d,"")}return Fi(t,e)+s+n}function eo(e,a,t,s){let n=[],i=[],l=null;const d=({state:y})=>{const g=Fn(e,location),x=t.value,v=a.value;let A=0;if(y){if(t.value=g,a.value=y,l&&l===x){l=null;return}A=v?y.position-v.position:0}else s(g);n.forEach(V=>{V(t.value,x,{delta:A,type:"pop",direction:A?A>0?"forward":"back":""})})};function h(){l=t.value}function f(y){n.push(y);const g=()=>{const x=n.indexOf(y);x>-1&&n.splice(x,1)};return i.push(g),g}function m(){if(document.visibilityState==="hidden"){const{history:y}=window;if(!y.state)return;y.replaceState(ie({},y.state,{scroll:Ba()}),"")}}function p(){for(const y of i)y();i=[],window.removeEventListener("popstate",d),window.removeEventListener("pagehide",m),document.removeEventListener("visibilitychange",m)}return window.addEventListener("popstate",d),window.addEventListener("pagehide",m),document.addEventListener("visibilitychange",m),{pauseListeners:h,listen:f,destroy:p}}function Wi(e,a,t,s=!1,n=!1){return{back:e,current:a,forward:t,replaced:s,position:window.history.length,scroll:n?Ba():null}}function to(e){const{history:a,location:t}=window,s={value:Fn(e,t)},n={value:a.state};n.value||i(s.value,{back:null,current:s.value,forward:null,position:a.length-1,replaced:!0,scroll:null},!0);function i(h,f,m){const p=e.indexOf("#"),y=p>-1?(t.host&&document.querySelector("base")?e:e.slice(p))+h:Jl()+e+h;try{a[m?"replaceState":"pushState"](f,"",y),n.value=f}catch(g){console.error(g),t[m?"replace":"assign"](y)}}function l(h,f){i(h,ie({},a.state,Wi(n.value.back,h,n.value.forward,!0),f,{position:n.value.position}),!0),s.value=h}function d(h,f){const m=ie({},n.value,a.state,{forward:h,scroll:Ba()});i(m.current,m,!0),i(h,ie({},Wi(s.value,h,null),{position:m.position+1},f),!1),s.value=h}return{location:s,state:n,push:d,replace:l}}function ao(e){e=Fl(e);const a=to(e),t=eo(e,a.state,a.location,a.replace);function s(i,l=!0){l||t.pauseListeners(),history.go(i)}const n=ie({location:"",base:e,go:s,createHref:Ul.bind(null,e)},a,t);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>a.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>a.state.value}),n}function io(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),ao(e)}const no={type:0,value:""},so=/[a-zA-Z0-9_]/;function lo(e){if(!e)return[[]];if(e==="/")return[[no]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function a(g){throw new Error(`ERR (${t})/"${f}": ${g}`)}let t=0,s=t;const n=[];let i;function l(){i&&n.push(i),i=[]}let d=0,h,f="",m="";function p(){f&&(t===0?i.push({type:0,value:f}):t===1||t===2||t===3?(i.length>1&&(h==="*"||h==="+")&&a(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:f,regexp:m,repeatable:h==="*"||h==="+",optional:h==="*"||h==="?"})):a("Invalid state to consume buffer"),f="")}function y(){f+=h}for(;da.length?a.length===1&&a[0]===80?1:-1:0}function Hn(e,a){let t=0;const s=e.score,n=a.score;for(;t0&&a[a.length-1]<0}const po={strict:!1,end:!0,sensitive:!1};function ho(e,a,t){const s=co(lo(e.path),t),n=ie(s,{record:e,parent:a,children:[],alias:[]});return a&&!n.record.aliasOf==!a.record.aliasOf&&a.children.push(n),n}function mo(e,a){const t=[],s=new Map;a=Ri(po,a);function n(p){return s.get(p)}function i(p,y,g){const x=!g,v=Yi(p);v.aliasOf=g&&g.record;const A=Ri(a,p),V=[v];if("alias"in p){const Y=typeof p.alias=="string"?[p.alias]:p.alias;for(const ae of Y)V.push(Yi(ie({},v,{components:g?g.record.components:v.components,path:ae,aliasOf:g?g.record:v})))}let L,R;for(const Y of V){const{path:ae}=Y;if(y&&ae[0]!=="/"){const re=y.record.path,ce=re[re.length-1]==="/"?"":"/";Y.path=y.record.path+(ae&&ce+ae)}if(L=ho(Y,y,A),g?g.alias.push(L):(R=R||L,R!==L&&R.alias.push(L),x&&p.name&&!Xi(L)&&l(p.name)),Un(L)&&h(L),v.children){const re=v.children;for(let ce=0;ce{l(R)}:Dt}function l(p){if(qn(p)){const y=s.get(p);y&&(s.delete(p),t.splice(t.indexOf(y),1),y.children.forEach(l),y.alias.forEach(l))}else{const y=t.indexOf(p);y>-1&&(t.splice(y,1),p.record.name&&s.delete(p.record.name),p.children.forEach(l),p.alias.forEach(l))}}function d(){return t}function h(p){const y=yo(p,t);t.splice(y,0,p),p.record.name&&!Xi(p)&&s.set(p.record.name,p)}function f(p,y){let g,x={},v,A;if("name"in p&&p.name){if(g=s.get(p.name),!g)throw bt(1,{location:p});A=g.record.name,x=ie(Ki(y.params,g.keys.filter(R=>!R.optional).concat(g.parent?g.parent.keys.filter(R=>R.optional):[]).map(R=>R.name)),p.params&&Ki(p.params,g.keys.map(R=>R.name))),v=g.stringify(x)}else if(p.path!=null)v=p.path,g=t.find(R=>R.re.test(v)),g&&(x=g.parse(v),A=g.record.name,g.keys.forEach(R=>{R.optional&&!x[R.name]&&delete x[R.name]}));else{if(g=y.name?s.get(y.name):t.find(R=>R.re.test(y.path)),!g)throw bt(1,{location:p,currentLocation:y});A=g.record.name,x=ie({},y.params,p.params),v=g.stringify(x)}const V=[];let L=g;for(;L;)V.unshift(L.record),L=L.parent;return{name:A,path:v,params:x,matched:V,meta:go(V)}}e.forEach(p=>i(p));function m(){t.length=0,s.clear()}return{addRoute:i,resolve:f,removeRoute:l,clearRoutes:m,getRoutes:d,getRecordMatcher:n}}function Ki(e,a){const t={};for(const s of a)s in e&&(t[s]=e[s]);return t}function Yi(e){const a={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:fo(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(a,"mods",{value:{}}),a}function fo(e){const a={},t=e.props||!1;if("component"in e)a.default=t;else for(const s in e.components)a[s]=typeof t=="object"?t[s]:t;return a}function Xi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function go(e){return e.reduce((a,t)=>ie(a,t.meta),{})}function yo(e,a){let t=0,s=a.length;for(;t!==s;){const i=t+s>>1;Hn(e,a[i])<0?s=i:t=i+1}const n=bo(e);return n&&(s=a.lastIndexOf(n,s-1)),s}function bo(e){let a=e;for(;a=a.parent;)if(Un(a)&&Hn(e,a)===0)return a}function Un({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qi(e){const a=_e(mi),t=_e(wn),s=Q(()=>{const h=X(e.to);return a.resolve(h)}),n=Q(()=>{const{matched:h}=s.value,{length:f}=h,m=h[f-1],p=t.matched;if(!m||!p.length)return-1;const y=p.findIndex(vt.bind(null,m));if(y>-1)return y;const g=Ji(h[f-2]);return f>1&&Ji(m)===g&&p[p.length-1].path!==g?p.findIndex(vt.bind(null,h[f-2])):y}),i=Q(()=>n.value>-1&&ko(t.params,s.value.params)),l=Q(()=>n.value>-1&&n.value===t.matched.length-1&&On(t.params,s.value.params));function d(h={}){if(wo(h)){const f=a[X(e.replace)?"replace":"push"](X(e.to)).catch(Dt);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:Q(()=>s.value.href),isActive:i,isExactActive:l,navigate:d}}function vo(e){return e.length===1?e[0]:e}const _o=ge({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:Qi,setup(e,{slots:a}){const t=kn(Qi(e)),{options:s}=_e(mi),n=Q(()=>({[en(e.activeClass,s.linkActiveClass,"router-link-active")]:t.isActive,[en(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const i=a.default&&vo(a.default(t));return e.custom?i:hi("a",{"aria-current":t.isExactActive?e.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:n.value},i)}}});function wo(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 a=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(a))return}return e.preventDefault&&e.preventDefault(),!0}}function ko(e,a){for(const t in a){const s=a[t],n=e[t];if(typeof s=="string"){if(s!==n)return!1}else if(!Pe(n)||n.length!==s.length||s.some((i,l)=>i.valueOf()!==n[l].valueOf()))return!1}return!0}function Ji(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const en=(e,a,t)=>e??a??t,Co=ge({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:a,slots:t}){const s=_e(Za),n=Q(()=>e.route||s.value),i=_e(Vi,0),l=Q(()=>{let f=X(i);const{matched:m}=n.value;let p;for(;(p=m[f])&&!p.components;)f++;return f}),d=Q(()=>n.value.matched[l.value]);he(Vi,Q(()=>l.value+1)),he(Ts,d),he(Za,n);const h=Ie();return Le(()=>[h.value,d.value,e.name],([f,m,p],[y,g,x])=>{m&&(m.instances[p]=f,g&&g!==m&&f&&f===y&&(m.leaveGuards.size||(m.leaveGuards=g.leaveGuards),m.updateGuards.size||(m.updateGuards=g.updateGuards))),f&&m&&(!g||!vt(m,g)||!y)&&(m.enterCallbacks[p]||[]).forEach(v=>v(f))},{flush:"post"}),()=>{const f=n.value,m=e.name,p=d.value,y=p&&p.components[m];if(!y)return tn(t.default,{Component:y,route:f});const g=p.props[m],x=g?g===!0?f.params:typeof g=="function"?g(f):g:null,v=hi(y,ie({},x,a,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(p.instances[m]=null)},ref:h}));return tn(t.default,{Component:v,route:f})||v}}});function tn(e,a){if(!e)return null;const t=e(a);return t.length===1?t[0]:t}const xo=Co;function So(e){const a=mo(e.routes,e),t=e.parseQuery||Yl,s=e.stringifyQuery||ji,n=e.history,i=St(),l=St(),d=St(),h=Ns(Ye);let f=Ye;gt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=za.bind(null,T=>""+T),p=za.bind(null,$l),y=za.bind(null,ea);function g(T,P){let $,W;return qn(T)?($=a.getRecordMatcher(T),W=P):W=T,a.addRoute(W,$)}function x(T){const P=a.getRecordMatcher(T);P&&a.removeRoute(P)}function v(){return a.getRoutes().map(T=>T.record)}function A(T){return!!a.getRecordMatcher(T)}function V(T,P){if(P=ie({},P||h.value),typeof T=="string"){const D=Ra(t,T,P.path),B=a.resolve({path:D.path},P),O=n.createHref(D.fullPath);return ie(D,B,{params:y(B.params),redirectedFrom:void 0,href:O})}let $;if(T.path!=null)$=ie({},T,{path:Ra(t,T.path,P.path).path});else{const D=ie({},T.params);for(const B in D)D[B]==null&&delete D[B];$=ie({},T,{params:p(D)}),P.params=p(P.params)}const W=a.resolve($,P),w=T.hash||"";W.params=m(y(W.params));const S=Vl(s,ie({},T,{hash:Il(w),path:W.path})),N=n.createHref(S);return ie({fullPath:S,hash:w,query:s===ji?Xl(T.query):T.query||{}},W,{redirectedFrom:void 0,href:N})}function L(T){return typeof T=="string"?Ra(t,T,h.value.path):ie({},T)}function R(T,P){if(f!==T)return bt(8,{from:P,to:T})}function Y(T){return ce(T)}function ae(T){return Y(ie(L(T),{replace:!0}))}function re(T,P){const $=T.matched[T.matched.length-1];if($&&$.redirect){const{redirect:W}=$;let w=typeof W=="function"?W(T,P):W;return typeof w=="string"&&(w=w.includes("?")||w.includes("#")?w=L(w):{path:w},w.params={}),ie({query:T.query,hash:T.hash,params:w.path!=null?{}:T.params},w)}}function ce(T,P){const $=f=V(T),W=h.value,w=T.state,S=T.force,N=T.replace===!0,D=re($,W);if(D)return ce(ie(L(D),{state:typeof D=="object"?ie({},w,D.state):w,force:S,replace:N}),P||$);const B=$;B.redirectedFrom=P;let O;return!S&&Pl(s,W,$)&&(O=bt(16,{to:B,from:W}),ft(W,W,!0,!1)),(O?Promise.resolve(O):ze(B,W)).catch(K=>He(K)?He(K,2)?K:kt(K):wt(K,B,W)).then(K=>{if(K){if(He(K,2))return ce(ie({replace:N},L(K.to),{state:typeof K.to=="object"?ie({},w,K.to.state):w,force:S}),P||B)}else K=Fe(B,W,!0,N,w);return qe(B,W,K),K})}function Be(T,P){const $=R(T,P);return $?Promise.reject($):Promise.resolve()}function G(T){const P=Ze.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(T):T()}function ze(T,P){let $;const[W,w,S]=Ql(T,P);$=Va(W.reverse(),"beforeRouteLeave",T,P);for(const D of W)D.leaveGuards.forEach(B=>{$.push(Qe(B,T,P))});const N=Be.bind(null,T,P);return $.push(N),Ke($).then(()=>{$=[];for(const D of i.list())$.push(Qe(D,T,P));return $.push(N),Ke($)}).then(()=>{$=Va(w,"beforeRouteUpdate",T,P);for(const D of w)D.updateGuards.forEach(B=>{$.push(Qe(B,T,P))});return $.push(N),Ke($)}).then(()=>{$=[];for(const D of S)if(D.beforeEnter)if(Pe(D.beforeEnter))for(const B of D.beforeEnter)$.push(Qe(B,T,P));else $.push(Qe(D.beforeEnter,T,P));return $.push(N),Ke($)}).then(()=>(T.matched.forEach(D=>D.enterCallbacks={}),$=Va(S,"beforeRouteEnter",T,P,G),$.push(N),Ke($))).then(()=>{$=[];for(const D of l.list())$.push(Qe(D,T,P));return $.push(N),Ke($)}).catch(D=>He(D,8)?D:Promise.reject(D))}function qe(T,P,$){d.list().forEach(W=>G(()=>W(T,P,$)))}function Fe(T,P,$,W,w){const S=R(T,P);if(S)return S;const N=P===Ye,D=gt?history.state:{};$&&(W||N?n.replace(T.fullPath,ie({scroll:N&&D&&D.scroll},w)):n.push(T.fullPath,w)),h.value=T,ft(T,P,$,N),kt()}let ye;function Ge(){ye||(ye=n.listen((T,P,$)=>{if(!st.listening)return;const W=V(T),w=re(W,st.currentRoute.value);if(w){ce(ie(w,{replace:!0,force:!0}),W).catch(Dt);return}f=W;const S=h.value;gt&&Gl(Ui(S.fullPath,$.delta),Ba()),ze(W,S).catch(N=>He(N,12)?N:He(N,2)?(ce(ie(L(N.to),{force:!0}),W).then(D=>{He(D,20)&&!$.delta&&$.type==="pop"&&n.go(-1,!1)}).catch(Dt),Promise.reject()):($.delta&&n.go(-$.delta,!1),wt(N,W,S))).then(N=>{N=N||Fe(W,S,!1),N&&($.delta&&!He(N,8)?n.go(-$.delta,!1):$.type==="pop"&&He(N,20)&&n.go(-1,!1)),qe(W,S,N)}).catch(Dt)}))}let Te=St(),Me=St(),nt;function wt(T,P,$){kt(T);const W=Me.list();return W.length?W.forEach(w=>w(T,P,$)):console.error(T),Promise.reject(T)}function mt(){return nt&&h.value!==Ye?Promise.resolve():new Promise((T,P)=>{Te.add([T,P])})}function kt(T){return nt||(nt=!T,Ge(),Te.list().forEach(([P,$])=>T?$(T):P()),Te.reset()),T}function ft(T,P,$,W){const{scrollBehavior:w}=e;if(!gt||!w)return Promise.resolve();const S=!$&&Zl(Ui(T.fullPath,0))||(W||!$)&&history.state&&history.state.scroll||null;return Tt().then(()=>w(T,P,S)).then(N=>T===h.value&&N&&Wl(N)).catch(N=>T===h.value&&wt(N,T,P))}const Ct=T=>n.go(T);let xt;const Ze=new Set,st={currentRoute:h,listening:!0,addRoute:g,removeRoute:x,clearRoutes:a.clearRoutes,hasRoute:A,getRoutes:v,resolve:V,options:e,push:Y,replace:ae,go:Ct,back:()=>Ct(-1),forward:()=>Ct(1),beforeEach:i.add,beforeResolve:l.add,afterEach:d.add,onError:Me.add,isReady:mt,install(T){T.component("RouterLink",_o),T.component("RouterView",xo),T.config.globalProperties.$router=st,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>X(h)}),gt&&!xt&&h.value===Ye&&(xt=!0,Y(n.location).catch(W=>{}));const P={};for(const W in Ye)Object.defineProperty(P,W,{get:()=>h.value[W],enumerable:!0});T.provide(mi,st),T.provide(wn,Ls(P)),T.provide(Za,h);const $=T.unmount;Ze.add(T),T.unmount=function(){Ze.delete(T),Ze.size<1&&(f=Ye,ye&&ye(),ye=null,h.value=Ye,xt=!1,nt=!1),$()}}};function Ke(T){return T.reduce((P,$)=>P.then(()=>G($)),Promise.resolve())}return st}function Ao(e){let a=!1,t;return(...s)=>(a||(a=!0,t=e(...s)),t)}let jn="missing-app-name";try{jn=ws}catch{$e.error("The `@nextcloud/vue` library was used without setting / replacing the `appName`.")}const Lo=jn;let No="";try{No=ks}catch{$e.error("The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.")}function Wn(){return _e("appName",Lo)}const To=Ao(()=>{const e=Na("core","apps",[]),a=Wn();return e.find(({id:t})=>t===a)?.name??a});Ne(Is);const Do=ge({__name:"NcAppContentDetailsToggle",setup(e){const a=Ot();Le(a,t),Ta(()=>{t(a.value)}),pi(()=>{a.value&&t(!1)});function t(s=!0){const n=document.querySelector(".app-navigation .app-navigation-toggle");n&&(n.style.display=s?"none":"",s===!0&&rt("toggle-navigation",{open:!1}))}return(s,n)=>(o(),I(X(me),{"aria-label":X(Z)("Go back to the list"),class:U(["app-details-toggle",{"app-details-toggle--mobile":X(a)}]),title:X(Z)("Go back to the list"),variant:"tertiary"},{icon:C(()=>[b(X(Se),{directional:"",path:X(xn)},null,8,["path"])]),_:1},8,["aria-label","class","title"]))}}),Eo=te(Do,[["__scopeId","data-v-a28923a1"]]),an=Cn("nextcloud").persist().build(),Io=_i().theming?.name??"Nextcloud",Bo={name:"NcAppContent",components:{NcAppContentDetailsToggle:Eo,Pane:kl,Splitpanes:wl},props:{disableSwipe:{type:Boolean,default:!1},listSize:{type:Number,default:20},listMinWidth:{type:Number,default:15},listMaxWidth:{type:Number,default:40},paneConfigKey:{type:String,default:""},showDetails:{type:Boolean,default:!0},layout:{type:String,default:"vertical-split",validator(e){return["no-split","vertical-split","horizontal-split"].includes(e)}},pageHeading:{type:String,default:null},pageTitle:{type:String,default:null}},emits:["update:showDetails","resizeList"],setup(){return{appName:Wn(),localizedAppName:To(),isMobile:Ot(),isRtl:Es}},data(){return{contentHeight:0,swiping:{},listPaneSize:this.restorePaneConfig()}},computed:{paneConfigID(){if(this.paneConfigKey!=="")return`pane-list-size-${this.paneConfigKey}`;try{return`pane-list-size-${this.appName}`}catch{return $e.info("[NcAppContent]: falling back to global nextcloud pane config"),"pane-list-size-nextcloud"}},detailsPaneSize(){return this.listPaneSize?100-this.listPaneSize:this.paneDefaults.details.size},paneDefaults(){return{list:{size:this.listSize,min:this.listMinWidth,max:this.listMaxWidth},details:{size:100-this.listSize,min:100-this.listMaxWidth,max:100-this.listMinWidth}}},realPageTitle(){const e=new Set;if(this.pageTitle)for(const a of this.pageTitle.split(" - "))e.add(a);else if(this.pageHeading){for(const a of this.pageHeading.split(" - "))e.add(a);e.size>0&&e.add(this.localizedAppName)}else return null;return e.add(Io),[...e.values()].join(" - ")}},watch:{realPageTitle:{immediate:!0,handler(){this.realPageTitle!==null&&(document.title=this.realPageTitle)}},paneConfigKey:{immediate:!0,handler(){this.restorePaneConfig()}}},mounted(){this.disableSwipe||(this.swiping=Ds(this.$el,{onSwipeEnd:this.handleSwipe})),this.restorePaneConfig()},methods:{handleSwipe(e,a){Math.abs(this.swiping.lengthX)>70&&(this.swiping.coordsStart.x<300/2&&a==="right"?rt("toggle-navigation",{open:!0}):this.swiping.coordsStart.x<300*1.5&&a==="left"&&rt("toggle-navigation",{open:!1}))},handlePaneResize(e){const a=parseInt(e.panes[0].size,10);an.setItem(this.paneConfigID,JSON.stringify(a)),this.listPaneSize=a,this.$emit("resizeList",{size:a}),$e.debug("[NcAppContent] pane config",{listPaneSize:a})},restorePaneConfig(){const e=parseInt(an.getItem(this.paneConfigID),10);if(!isNaN(e)&&e!==this.listPaneSize)return $e.debug("[NcAppContent] pane config",{listPaneSize:e}),this.listPaneSize=e,e},hideDetails(){this.$emit("update:showDetails",!1)}}},Mo={key:0,class:"hidden-visually"},$o={class:"app-content-wrapper__list"},zo={key:1,class:"app-content-wrapper"};function Ro(e,a,t,s,n,i){const l=_("NcAppContentDetailsToggle"),d=_("Pane"),h=_("Splitpanes");return o(),c("main",{id:"app-content-vue",class:U(["app-content no-snapper",{"app-content--has-list":!!e.$slots.list}])},[t.pageHeading?(o(),c("h1",Mo,u(t.pageHeading),1)):k("",!0),e.$slots.list?(o(),c(j,{key:1},[s.isMobile||t.layout==="no-split"?(o(),c("div",{key:0,class:U(["app-content-wrapper app-content-wrapper--no-split",{"app-content-wrapper--show-details":t.showDetails,"app-content-wrapper--show-list":!t.showDetails,"app-content-wrapper--mobile":s.isMobile}])},[t.showDetails?(o(),I(l,{key:0,onClick:pe(i.hideDetails,["stop","prevent"])},null,8,["onClick"])):k("",!0),xe(r("div",$o,[F(e.$slots,"list",{},void 0,!0)],512),[[et,!t.showDetails]]),t.showDetails?F(e.$slots,"default",{key:1},void 0,!0):k("",!0)],2)):t.layout==="vertical-split"||t.layout==="horizontal-split"?(o(),c("div",zo,[b(h,{horizontal:t.layout==="horizontal-split",class:U(["default-theme",{"splitpanes--horizontal":t.layout==="horizontal-split","splitpanes--vertical":t.layout==="vertical-split"}]),rtl:s.isRtl,onResized:i.handlePaneResize},{default:C(()=>[b(d,{class:"splitpanes__pane-list",size:n.listPaneSize||i.paneDefaults.list.size,minSize:i.paneDefaults.list.min,maxSize:i.paneDefaults.list.max},{default:C(()=>[F(e.$slots,"list",{},void 0,!0)]),_:3},8,["size","minSize","maxSize"]),b(d,{class:"splitpanes__pane-details",size:i.detailsPaneSize,minSize:i.paneDefaults.details.min,maxSize:i.paneDefaults.details.max},{default:C(()=>[F(e.$slots,"default",{},void 0,!0)]),_:3},8,["size","minSize","maxSize"])]),_:3},8,["horizontal","class","rtl","onResized"])])):k("",!0)],64)):k("",!0),e.$slots.list?k("",!0):F(e.$slots,"default",{key:2},void 0,!0)],2)}const Vo=te(Bo,[["render",Ro],["__scopeId","data-v-51427d61"]]),Po={name:"NcAppNavigationList"},Oo={class:"app-navigation-list"};function qo(e,a,t,s,n,i){return o(),c("ul",Oo,[F(e.$slots,"default",{},void 0,!0)])}const Fo=te(Po,[["render",qo],["__scopeId","data-v-d72957ed"]]),Gn=Symbol.for("NcContent:setHasAppNavigation"),Zn=Symbol.for("NcContent:selector");Ne(Bs);const Ho={class:"app-navigation-toggle-wrapper"},Uo=ge({__name:"NcAppNavigationToggle",props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:["update:open"],setup(e){const a=pt(e,"open"),t=Q(()=>a.value?Z("Close navigation"):Z("Open navigation"));return(s,n)=>(o(),c("div",Ho,[b(X(me),{class:"app-navigation-toggle","aria-controls":"app-navigation-vue","aria-expanded":a.value?"true":"false","aria-label":t.value,title:t.value,variant:"tertiary",onClick:n[0]||(n[0]=i=>a.value=!a.value)},{icon:C(()=>[b(Se,{path:a.value?X(Rs):X(Vs)},null,8,["path"])]),_:1},8,["aria-expanded","aria-label","title"])]))}}),jo=te(Uo,[["__scopeId","data-v-5a15295d"]]),Wo=["aria-hidden","aria-label","aria-labelledby","inert"],Go={class:"app-navigation__search"},Zo=ge({__name:"NcAppNavigation",props:{ariaLabel:{},ariaLabelledby:{}},setup(e){const a=e;let t;const s=_e(Gn,()=>zs(),!1),n=Da("appNavigationContainer"),i=Ot(),l=Ie(!i.value),d=Q(()=>i.value&&l.value);Ms(()=>{!a.ariaLabel&&a.ariaLabelledby}),Le(i,()=>{l.value=!i.value}),Le(d,()=>{m()}),Ta(()=>{s(!0),Kt("toggle-navigation",f),rt("navigation-toggled",{open:l.value}),t=Sn(n.value,{allowOutsideClick:!0,clickOutsideDeactivates:()=>(i.value&&(t.deactivate({returnFocus:!1}),h(!1)),!1),fallbackFocus:n.value,trapStack:An(),escapeDeactivates:!1}),m()}),$s(()=>{s(!1),Yt("toggle-navigation",f),t.deactivate()});function h(y){if(l.value===y){rt("navigation-toggled",{open:l.value});return}l.value=y===void 0?!l.value:y;const g=getComputedStyle(document.body),x=parseInt(g.getPropertyValue("--animation-quick"))||100;setTimeout(()=>{rt("navigation-toggled",{open:l.value})},1.5*x)}function f({open:y}){return h(y)}function m(){d.value?t.activate():t.deactivate()}function p(){i.value&&h(!1)}return(y,g)=>(o(),c("div",{ref:"appNavigationContainer",class:U(["app-navigation",{"app-navigation--closed":!l.value,"app-navigation--legacy":X(it)}])},[r("nav",{id:"app-navigation-vue","aria-hidden":l.value?"false":"true","aria-label":e.ariaLabel||void 0,"aria-labelledby":e.ariaLabelledby||void 0,class:"app-navigation__content",inert:!l.value||void 0,onKeydown:we(p,["esc"])},[r("div",Go,[F(y.$slots,"search",{},void 0,!0)]),r("div",{class:U(["app-navigation__body",{"app-navigation__body--no-list":!y.$slots.list}])},[F(y.$slots,"default",{},void 0,!0)],2),y.$slots.list?(o(),I(Fo,{key:0,class:"app-navigation__list"},{default:C(()=>[F(y.$slots,"list",{},void 0,!0)]),_:3})):k("",!0),F(y.$slots,"footer",{},void 0,!0)],40,Wo),b(jo,{open:l.value,"onUpdate:open":h},null,8,["open"])],2))}}),Ko=te(Zo,[["__scopeId","data-v-1344f70d"]]),Yo={name:"NcAppNavigationCaption",components:{NcActions:ct},props:{name:{type:String,required:!0},headingId:{type:String,default:null},isHeading:{type:Boolean,default:!1},headingLevel:{type:Number,default:2},...ct.props},computed:{actionsProps(){const e=Object.keys(ct.props),a=Object.entries(this.$props).filter(([t,s])=>e.includes(t));return Object.fromEntries(a)},wrapperTag(){return this.isHeading?"div":"li"},captionTag(){const e=Math.max(2,this.headingLevel);return this.isHeading?`h${e}`:"span"}}},Xo={key:0,class:"app-navigation-caption__actions"};function Qo(e,a,t,s,n,i){const l=_("NcActions");return o(),I(ut(i.wrapperTag),{class:U(["app-navigation-caption",{"app-navigation-caption--heading":t.isHeading}])},{default:C(()=>[(o(),I(ut(i.captionTag),{id:t.headingId,class:"app-navigation-caption__name"},{default:C(()=>[z(u(t.name),1)]),_:1},8,["id"])),e.$slots.actions?(o(),c("div",Xo,[b(l,fi(gi(i.actionsProps)),{icon:C(()=>[F(e.$slots,"actionsTriggerIcon",{},void 0,!0)]),default:C(()=>[F(e.$slots,"actions",{},void 0,!0)]),_:3},16)])):k("",!0)]),_:3},8,["class"])}const Jo=te(Yo,[["render",Qo],["__scopeId","data-v-f0e411c2"]]),er={name:"ChevronUpIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},tr=["aria-hidden","aria-label"],ar=["fill","width","height"],ir={d:"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z"},nr={key:0};function sr(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon chevron-up-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",ir,[t.title?(o(),c("title",nr,u(t.title),1)):k("",!0)])],8,ar))],16,tr)}const lr=te(er,[["render",sr]]),or={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},rr=["aria-hidden","aria-label"],cr=["fill","width","height"],ur={d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"},dr={key:0};function pr(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon arrow-right-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",ur,[t.title?(o(),c("title",dr,u(t.title),1)):k("",!0)])],8,cr))],16,rr)}const Kn=te(or,[["render",pr]]);Ne(Ps);const hr={name:"NcInputConfirmCancel",components:{IconArrowRight:Kn,IconClose:Ln,NcButton:me},props:{primary:{default:!1,type:Boolean},placeholder:{default:"",type:String},modelValue:{default:"",type:String}},emits:["cancel","confirm","update:modelValue"],setup(){return{isLegacy34:it}},data(){return{labelConfirm:Z("Confirm changes"),labelCancel:Z("Cancel changes")}},computed:{valueModel:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{confirm(){this.$emit("confirm")},cancel(){this.$emit("cancel")},focusInput(){this.$refs.input.focus()}}},mr=["placeholder"];function fr(e,a,t,s,n,i){const l=_("IconArrowRight"),d=_("NcButton"),h=_("IconClose");return o(),c("div",{class:U(["app-navigation-input-confirm",{"app-navigation-input-confirm--legacy":s.isLegacy34}])},[r("form",{onSubmit:a[1]||(a[1]=pe((...f)=>i.confirm&&i.confirm(...f),["prevent"])),onKeydown:a[2]||(a[2]=we(pe((...f)=>i.cancel&&i.cancel(...f),["exact","stop","prevent"]),["esc"])),onClick:a[3]||(a[3]=pe(()=>{},["stop","prevent"]))},[xe(r("input",{ref:"input","onUpdate:modelValue":a[0]||(a[0]=f=>i.valueModel=f),type:"text",class:"app-navigation-input-confirm__input",placeholder:t.placeholder},null,8,mr),[[Os,i.valueModel]]),b(d,{"aria-label":n.labelConfirm,type:"submit",variant:"primary",onClick:pe(i.confirm,["stop","prevent"])},{icon:C(()=>[b(l,{size:20})]),_:1},8,["aria-label","onClick"]),b(d,{"aria-label":n.labelCancel,type:"reset",variant:t.primary?"primary":"tertiary",onClick:pe(i.cancel,["stop","prevent"])},{icon:C(()=>[b(h,{size:20})]),_:1},8,["aria-label","variant","onClick"])],32)],2)}const gr=te(hr,[["render",fr],["__scopeId","data-v-6926a0b8"]]),yr={beforeUpdate(){this.text=this.getText()},data(){return{text:this.getText()}},computed:{isLongText(){return this.text&&this.text.trim().length>20}},methods:{getText(){return this.$slots.default?.()[0].children?.trim?.()||""}}},Ma={mixins:[yr],props:{icon:{type:String,default:""},name:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},inject:{closeMenu:{from:qs}},emits:["click"],created(){"ariaHidden"in this.$attrs},computed:{isIconUrl(){try{return!!new URL(this.icon,this.icon.startsWith("/")?window.location.origin:void 0)}catch{return!1}}},methods:{onClick(e){this.$emit("click",e),this.closeAfterClick&&this.closeMenu(!1)}}},br={name:"NcActionButton",components:{NcIconSvgWrapper:Se},mixins:[Ma],inject:{isInSemanticMenu:{from:Ea,default:!1}},props:{disabled:{type:Boolean,default:!1},isMenu:{type:Boolean,default:!1},type:{type:String,default:"button",validator:e=>["button","checkbox","radio","reset","submit"].includes(e)},modelValue:{type:[Boolean,String],default:null},value:{type:String,default:null},description:{type:String,default:""}},emits:["update:modelValue"],setup(){return{mdiCheck:Qt,mdiChevronRight:Fs}},computed:{isFocusable(){return!this.disabled},isChecked(){return this.type==="radio"&&typeof this.modelValue!="boolean"?this.modelValue===this.value:this.modelValue},nativeType(){return this.type==="submit"||this.type==="reset"?this.type:"button"},buttonAttributes(){const e={};return this.isInSemanticMenu?(e.role="menuitem",this.type==="radio"?(e.role="menuitemradio",e["aria-checked"]=this.isChecked?"true":"false"):(this.type==="checkbox"||this.nativeType==="button"&&this.modelValue!==null)&&(e.role="menuitemcheckbox",e["aria-checked"]=this.modelValue===null?"mixed":this.modelValue?"true":"false")):this.modelValue!==null&&this.nativeType==="button"&&(e["aria-pressed"]=this.modelValue?"true":"false"),e}},methods:{handleClick(e){this.onClick(e),(this.modelValue!==null||this.type!=="button")&&(this.type==="radio"?typeof this.modelValue!="boolean"?this.isChecked||this.$emit("update:modelValue",this.value):this.$emit("update:modelValue",!this.isChecked):this.$emit("update:modelValue",!this.isChecked))}}},vr=["role"],_r=["aria-label","disabled","title","type"],wr={class:"action-button__longtext-wrapper"},kr={key:0,class:"action-button__name"},Cr=["textContent"],xr={key:2,class:"action-button__text"},Sr=["textContent"],Ar={key:2,class:"action-button__pressed-icon material-design-icon"};function Lr(e,a,t,s,n,i){const l=_("NcIconSvgWrapper");return o(),c("li",{class:U(["action",{"action--disabled":t.disabled}]),role:i.isInSemanticMenu&&"presentation"},[r("button",J({"aria-label":e.ariaLabel,class:["action-button button-vue",{"action-button--active":i.isChecked,focusable:i.isFocusable}],disabled:t.disabled,title:e.title,type:i.nativeType},i.buttonAttributes,{onClick:a[0]||(a[0]=(...d)=>i.handleClick&&i.handleClick(...d))}),[F(e.$slots,"icon",{},()=>[r("span",{class:U([[e.isIconUrl?"action-button__icon--url":e.icon],"action-button__icon"]),style:ne({backgroundImage:e.isIconUrl?`url(${e.icon})`:null}),"aria-hidden":"true"},null,6)],!0),r("span",wr,[e.name?(o(),c("strong",kr,u(e.name),1)):k("",!0),e.isLongText?(o(),c("span",{key:1,class:"action-button__longtext",textContent:u(e.text)},null,8,Cr)):(o(),c("span",xr,u(e.text),1)),t.description?(o(),c("span",{key:3,class:"action-button__description",textContent:u(t.description)},null,8,Sr)):k("",!0)]),t.isMenu?(o(),I(l,{key:0,class:"action-button__menu-icon",directional:"",path:s.mdiChevronRight},null,8,["path"])):i.isChecked?(o(),I(l,{key:1,path:s.mdiCheck,class:"action-button__pressed-icon"},null,8,["path"])):i.isChecked===!1?(o(),c("span",Ar)):k("",!0),k("",!0)],16,_r)],10,vr)}const Yn=te(br,[["render",Lr],["__scopeId","data-v-6c2daf4e"]]),ki=ge({name:"NcVNodes",props:{vnodes:{type:[Array,Object],default:null}},render(){return this.vnodes||this.$slots?.default?.({})}}),Nr={name:"PencilIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Tr=["aria-hidden","aria-label"],Dr=["fill","width","height"],Er={d:"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"},Ir={key:0};function Br(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon pencil-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Er,[t.title?(o(),c("title",Ir,u(t.title),1)):k("",!0)])],8,Dr))],16,Tr)}const Mr=te(Nr,[["render",Br]]),$r={name:"UndoIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},zr=["aria-hidden","aria-label"],Rr=["fill","width","height"],Vr={d:"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"},Pr={key:0};function Or(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon undo-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Vr,[t.title?(o(),c("title",Pr,u(t.title),1)):k("",!0)])],8,Rr))],16,zr)}const qr=te($r,[["render",Or]]);Ne(Hs);const Fr={name:"NcAppNavigationIconCollapsible",components:{NcButton:me,ChevronDown:js,ChevronUp:lr},props:{open:{type:Boolean,required:!0},active:{type:Boolean,required:!0}},emits:["click"],setup(){return{isLegacy34:it}},computed:{labelButton(){return this.open?Z("Collapse menu"):Z("Open menu")}},methods:{onClick(e){this.$emit("click",e)}}};function Hr(e,a,t,s,n,i){const l=_("ChevronUp"),d=_("ChevronDown"),h=_("NcButton");return o(),I(h,{class:U(["icon-collapse",{"icon-collapse--active":t.active,"icon-collapse--open":t.open}]),"aria-label":i.labelButton,variant:t.active&&s.isLegacy34?"tertiary-on-primary":"tertiary",onClick:i.onClick},{icon:C(()=>[t.open?(o(),I(l,{key:0,size:20})):(o(),I(d,{key:1,size:20}))]),_:1},8,["class","aria-label","variant","onClick"])}const Ur=te(Fr,[["render",Hr],["__scopeId","data-v-cfbd3794"]]);Ne(Us,Nn);const jr={name:"NcAppNavigationItem",components:{NcActions:ct,NcActionButton:Yn,NcAppNavigationIconCollapsible:Ur,NcInputConfirmCancel:gr,NcLoadingIcon:qt,NcVNodes:ki,Pencil:Mr,Undo:qr},props:{active:{type:Boolean,default:!1},name:{type:String,required:!0},title:{type:String,default:null},id:{type:String,default:()=>_t(),validator:e=>e.trim()!==""},icon:{type:String,default:""},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:null},href:{type:String,default:null},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:""},editPlaceholder:{type:String,default:""},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:"bottom"},ariaDescription:{type:String,default:null},forceDisplayActions:{type:Boolean,default:!1},inlineActions:{type:Number,default:0}},emits:["update:menuOpen","update:open","update:name","click","undo"],setup(){return{isMobile:Ot(),isLegacy34:it}},data(){return{actionsBoundariesElement:void 0,editingValue:"",opened:this.open,editingActive:!1,menuOpenLocalValue:!1,focused:!1}},computed:{isRouterLink(){return this.to&&!this.href},canHaveChildren(){return this.$parent.$options._componentTag!=="AppNavigationItem"},editButtonAriaLabel(){return this.editLabel?this.editLabel:Z("Edit item")},undoButtonAriaLabel(){return Z("Undo changes")}},watch:{open(e){this.opened=e}},mounted(){this.actionsBoundariesElement=document.querySelector("#content-vue")||void 0},methods:{onMenuToggle(e){this.$emit("update:menuOpen",e),this.menuOpenLocalValue=e},toggleCollapse(){this.opened=!this.opened,this.$emit("update:open",this.opened)},onClick(e,a,t){this.$emit("click",e),!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&t&&(a?.(e),e.preventDefault())},handleEdit(){this.editingValue=this.name,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick(()=>{this.$refs.editingInput.focusInput()})},cancelEditing(){this.editingActive=!1},handleEditingDone(){this.$emit("update:name",this.editingValue),this.editingValue="",this.editingActive=!1},handleUndo(){this.$emit("undo")},handleFocus(){this.focused=!0},handleBlur(){this.focused=!1},handleTab(e){this.$refs.actions&&(this.focused?(e.preventDefault(),this.$refs.actions.$refs.triggerButton.$el.focus(),this.focused=!1):this.$refs.actions.$refs.triggerButton.$el.blur())},isExternal(e){return e&&e.match(/[a-z]+:\/\//i)}}},Wr=["id"],Gr=["aria-current","aria-description","aria-expanded","href","target","title","onClick"],Zr={key:0,class:"editingContainer"},Kr={key:1,class:"app-navigation-entry__deleted"},Yr={class:"app-navigation-entry__deleted-description"},Xr={key:0,class:"app-navigation-entry__counter-wrapper"},Qr={key:0,class:"app-navigation-entry__children"};function Jr(e,a,t,s,n,i){const l=_("NcLoadingIcon"),d=_("NcInputConfirmCancel"),h=_("Pencil"),f=_("NcActionButton"),m=_("Undo"),p=_("NcActions"),y=_("NcAppNavigationIconCollapsible");return o(),c("li",{id:t.id,class:U([{"app-navigation-entry--opened":n.opened,"app-navigation-entry--pinned":t.pinned,"app-navigation-entry--collapsible":t.allowCollapse&&!!e.$slots.default},"app-navigation-entry-wrapper"])},[(o(),I(ut(i.isRouterLink?"router-link":"NcVNodes"),fi(gi({...i.isRouterLink&&{custom:!0,to:t.to}})),{default:C(({href:g,navigate:x,isActive:v})=>[r("div",{class:U(["app-navigation-entry",{"app-navigation-entry--editing":n.editingActive,"app-navigation-entry--deleted":t.undo,"app-navigation-entry--legacy":s.isLegacy34,active:t.to&&v||t.active}])},[t.undo?k("",!0):(o(),c("a",{key:0,class:"app-navigation-entry-link","aria-current":t.active||t.to&&v?"page":void 0,"aria-description":t.ariaDescription,"aria-expanded":e.$slots.default?n.opened.toString():void 0,href:t.href||g||"#",target:i.isExternal(t.href)?"_blank":void 0,title:t.title||t.name,onBlur:a[1]||(a[1]=(...A)=>i.handleBlur&&i.handleBlur(...A)),onClick:A=>i.onClick(A,x,g),onFocus:a[2]||(a[2]=(...A)=>i.handleFocus&&i.handleFocus(...A)),onKeydown:a[3]||(a[3]=we(pe((...A)=>i.handleTab&&i.handleTab(...A),["exact"]),["tab"]))},[r("div",{class:U(["app-navigation-entry-icon",{[t.icon]:t.icon}])},[t.loading?(o(),I(l,{key:0})):F(e.$slots,"icon",{key:1,active:t.active||t.to&&v},void 0,!0)],2),r("span",{class:U(["app-navigation-entry__name",{"hidden-visually":n.editingActive}])},u(t.name),3),n.editingActive?(o(),c("div",Zr,[b(d,{ref:"editingInput",modelValue:n.editingValue,"onUpdate:modelValue":a[0]||(a[0]=A=>n.editingValue=A),placeholder:t.editPlaceholder!==""?t.editPlaceholder:t.name,primary:t.to&&v||t.active,onCancel:i.cancelEditing,onConfirm:i.handleEditingDone},null,8,["modelValue","placeholder","primary","onCancel","onConfirm"])])):k("",!0)],40,Gr)),t.undo?(o(),c("div",Kr,[r("div",Yr,u(t.name),1)])):k("",!0),(e.$slots.actions||e.$slots.counter||t.editable||t.undo)&&!n.editingActive?(o(),c("div",{key:2,class:U(["app-navigation-entry__utils",{"app-navigation-entry__utils--display-actions":t.forceDisplayActions||n.menuOpenLocalValue||t.menuOpen}])},[e.$slots.counter?(o(),c("div",Xr,[F(e.$slots,"counter",{},void 0,!0)])):k("",!0),e.$slots.actions||t.editable&&!n.editingActive||t.undo?(o(),I(p,{key:1,ref:"actions",class:"app-navigation-entry__actions",container:"#app-navigation-vue",boundariesElement:n.actionsBoundariesElement,inline:t.inlineActions,placement:t.menuPlacement,open:t.menuOpen,forceMenu:t.forceMenu,defaultIcon:t.menuIcon,variant:"tertiary","onUpdate:open":i.onMenuToggle},{icon:C(()=>[F(e.$slots,"menu-icon",{},void 0,!0)]),default:C(()=>[t.editable&&!n.editingActive?(o(),I(f,{key:0,"aria-label":i.editButtonAriaLabel,onClick:i.handleEdit},{icon:C(()=>[b(h,{size:20})]),default:C(()=>[z(" "+u(t.editLabel),1)]),_:1},8,["aria-label","onClick"])):k("",!0),t.undo?(o(),I(f,{key:1,"aria-label":i.undoButtonAriaLabel,onClick:i.handleUndo},{icon:C(()=>[b(m,{size:20})]),_:1},8,["aria-label","onClick"])):k("",!0),F(e.$slots,"actions",{},void 0,!0)]),_:3},8,["boundariesElement","inline","placement","open","forceMenu","defaultIcon","onUpdate:open"])):k("",!0)],2)):k("",!0),t.allowCollapse&&e.$slots.default?(o(),I(y,{key:3,active:t.to&&v||t.active,open:n.opened,onClick:pe(i.toggleCollapse,["prevent","stop"])},null,8,["active","open","onClick"])):k("",!0),F(e.$slots,"extra",{},void 0,!0)],2)]),_:3},16)),i.canHaveChildren&&e.$slots.default?(o(),c("ul",Qr,[F(e.$slots,"default",{},void 0,!0)])):k("",!0)],10,Wr)}const ec=te(jr,[["render",Jr],["__scopeId","data-v-fcab058b"]]),tc={components:{NcButton:me},props:{buttonId:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0},variant:{type:String,default:"primary",validator(e){return["primary","secondary","tertiary"].indexOf(e)!==-1}}},emits:["click"]},ac={class:"app-navigation-new"};function ic(e,a,t,s,n,i){const l=_("NcButton");return o(),c("div",ac,[b(l,{id:t.buttonId,disabled:t.disabled,variant:t.variant,onClick:a[0]||(a[0]=d=>e.$emit("click"))},{icon:C(()=>[F(e.$slots,"icon",{},void 0,!0)]),default:C(()=>[z(" "+u(t.text),1)]),_:3},8,["id","disabled","variant"])])}const nc=te(tc,[["render",ic],["__scopeId","data-v-0ba6c9df"]]);Ne(Ws);const sc=` @@ -54,9 +54,9 @@ import{l as Na,u as di,a as Cs,w as Le,o as Ta,b as pi,c as I,r as ut,d as c,e a -`,oc={class:"vue-skip-actions__container"},rc={class:"vue-skip-actions__headline"},cc={class:"vue-skip-actions__buttons"},uc=ge({__name:"NcContent",props:{appName:{}},setup(e){const a=e;he(Gn,d),he(Zn,"#content-vue"),he("appName",Q(()=>a.appName));const t=Ot(),s=Ie(!1),n=Ie(),i=Q(()=>n.value==="navigation"?lc:sc);Gs(()=>{const h=document.getElementById("skip-actions");h&&(h.innerHTML="",h.classList.add("vue-skip-actions"))});function l(){rt("toggle-navigation",{open:!0}),Tt(()=>{window.location.hash="app-navigation-vue",document.getElementById("app-navigation-vue").focus()})}function d(h){s.value=h,n.value||(n.value="navigation")}return(h,f)=>(o(),c("div",{id:"content-vue",class:U(["content",[`app-${e.appName.toLowerCase()}`,{"content--legacy":X(it)}]])},[(o(),I(Tn,{to:"#skip-actions"},[r("div",oc,[r("div",rc,u(X(Z)("Keyboard navigation help")),1),r("div",cc,[xe(b(me,{href:"#app-navigation-vue",variant:"tertiary",onClick:pe(l,["prevent"]),onFocusin:f[0]||(f[0]=m=>n.value="navigation"),onMouseover:f[1]||(f[1]=m=>n.value="navigation")},{default:C(()=>[z(u(X(Z)("Skip to app navigation")),1)]),_:1},512),[[et,s.value]]),b(me,{href:"#app-content-vue",variant:"tertiary",onFocusin:f[2]||(f[2]=m=>n.value="content"),onMouseover:f[3]||(f[3]=m=>n.value="content")},{default:C(()=>[z(u(X(Z)("Skip to main content")),1)]),_:1})]),xe(b(Se,{class:"vue-skip-actions__image",svg:i.value,size:"auto"},null,8,["svg"]),[[et,!X(t)]])])])),F(h.$slots,"default",{},void 0,!0)],2))}}),dc=te(uc,[["__scopeId","data-v-d13dcb98"]]),pc=["title"],hc=ge({__name:"NcCounterBubble",props:{count:{},active:{type:Boolean},type:{default:""},raw:{type:Boolean}},setup(e){const a=e,t=Q(()=>a.raw?a.count.toString():new Intl.NumberFormat(Dn(),{notation:"compact",compactDisplay:"short"}).format(a.count)),s=Q(()=>{if(a.raw)return;const n=a.count.toString();if(n!==t.value)return n});return(n,i)=>(o(),c("div",{class:U(["counter-bubble__counter",{active:e.active,"counter-bubble__counter--highlighted":e.type==="highlighted","counter-bubble__counter--outlined":e.type==="outlined"}]),title:s.value},u(t.value),11,pc))}}),Xn=te(hc,[["__scopeId","data-v-36ffc13f"]]),mc={name:"AccountGroupIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},fc=["aria-hidden","aria-label"],gc=["fill","width","height"],yc={d:"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z"},bc={key:0};function vc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon account-group-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",yc,[t.title?(o(),c("title",bc,u(t.title),1)):k("",!0)])],8,gc))],16,fc)}const Ci=H(mc,[["render",vc]]),_c={name:"CalendarAccountOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},wc=["aria-hidden","aria-label"],kc=["fill","width","height"],Cc={d:"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M12 10C14 10 15 12.42 13.59 13.84C12.17 15.26 9.75 14.25 9.75 12.25C9.75 11 10.75 10 12 10M16.5 17.88V18H7.5V17.88C7.5 16.63 9.5 15.63 12 15.63S16.5 16.63 16.5 17.88Z"},xc={key:0};function Sc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-account-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Cc,[t.title?(o(),c("title",xc,u(t.title),1)):k("",!0)])],8,kc))],16,wc)}const Ac=H(_c,[["render",Sc]]),Lc={name:"CalendarMonthIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Nc=["aria-hidden","aria-label"],Tc=["fill","width","height"],Dc={d:"M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z"},Ec={key:0};function Ic(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-month-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Dc,[t.title?(o(),c("title",Ec,u(t.title),1)):k("",!0)])],8,Tc))],16,Nc)}const Bc=H(Lc,[["render",Ic]]),Mc={name:"CalendarSearchIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$c=["aria-hidden","aria-label"],zc=["fill","width","height"],Rc={d:"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z"},Vc={key:0};function Pc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-search-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Rc,[t.title?(o(),c("title",Vc,u(t.title),1)):k("",!0)])],8,zc))],16,$c)}const Qn=H(Mc,[["render",Pc]]),Oc={name:"ChartBarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},qc=["aria-hidden","aria-label"],Fc=["fill","width","height"],Hc={d:"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z"},Uc={key:0};function jc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon chart-bar-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Hc,[t.title?(o(),c("title",Uc,u(t.title),1)):k("",!0)])],8,Fc))],16,qc)}const Wc=H(Oc,[["render",jc]]),Gc={name:"ClipboardCheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zc=["aria-hidden","aria-label"],Kc=["fill","width","height"],Yc={d:"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z"},Xc={key:0};function Qc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon clipboard-check-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Yc,[t.title?(o(),c("title",Xc,u(t.title),1)):k("",!0)])],8,Kc))],16,Zc)}const Jc=H(Gc,[["render",Qc]]),eu={name:"ClipboardPlusOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},tu=["aria-hidden","aria-label"],au=["fill","width","height"],iu={d:"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M13 12H16V14H13V17H11V14H8V12H11V9H13V12Z"},nu={key:0};function su(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon clipboard-plus-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",iu,[t.title?(o(),c("title",nu,u(t.title),1)):k("",!0)])],8,au))],16,tu)}const Jn=H(eu,[["render",su]]),lu={name:"DownloadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ou=["aria-hidden","aria-label"],ru=["fill","width","height"],cu={d:"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"},uu={key:0};function du(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon download-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",cu,[t.title?(o(),c("title",uu,u(t.title),1)):k("",!0)])],8,ru))],16,ou)}const es=H(lu,[["render",du]]),pu={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},hu=["aria-hidden","aria-label"],mu=["fill","width","height"],fu={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},gu={key:0};function yu(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon plus-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",fu,[t.title?(o(),c("title",gu,u(t.title),1)):k("",!0)])],8,mu))],16,hu)}const ts=H(pu,[["render",yu]]),bu={name:"ScaleBalanceIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vu=["aria-hidden","aria-label"],_u=["fill","width","height"],wu={d:"M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z"},ku={key:0};function Cu(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon scale-balance-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",wu,[t.title?(o(),c("title",ku,u(t.title),1)):k("",!0)])],8,_u))],16,vu)}const as=H(bu,[["render",Cu]]),xu={name:"ThermometerIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Su=["aria-hidden","aria-label"],Au=["fill","width","height"],Lu={d:"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z"},Nu={key:0};function Tu(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon thermometer-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Lu,[t.title?(o(),c("title",Nu,u(t.title),1)):k("",!0)])],8,Au))],16,Su)}const is=H(xu,[["render",Tu]]),Du=Symbol.for("nc:theme:enforced");function Eu(e){const a=Q(()=>Xs(e)??document.body),t=Ie(Ka(a.value)),s=Qs();function n(){t.value=Ka(a.value)}return Ks(a,n,{attributes:!0}),Le(a,n),Le(s,n,{immediate:!0}),Ys(t)}const Iu=Zs(()=>Eu());function Bu(){const e=Iu(),a=_e(Du,void 0);return Q(()=>a?.value?a.value==="dark":e.value)}Ne(Js);const Mu=["for"],$u=["id","type","value","min","max"],zu=ge({inheritAttrs:!1,__name:"NcDateTimePickerNative",props:dt({class:{default:void 0},id:{default:()=>_t()},inputClass:{default:""},type:{default:"date"},label:{default:()=>Z("Please choose a date")},min:{default:null},max:{default:null},hideLabel:{type:Boolean}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=pt(e,"modelValue"),t=e,s=Q(()=>a.value?d(a.value):""),n=Q(()=>t.max?d(t.max):void 0),i=Q(()=>t.min?d(t.min):void 0);function l(f){const m=f.getFullYear().toString().padStart(4,"0"),p=(f.getMonth()+1).toString().padStart(2,"0"),y=f.getDate().toString().padStart(2,"0"),g=f.getHours().toString().padStart(2,"0"),x=f.getMinutes().toString().padStart(2,"0");return{yyyy:m,MM:p,dd:y,hh:g,mm:x}}function d(f){const{yyyy:m,MM:p,dd:y,hh:g,mm:x}=l(f);if(t.type==="datetime-local")return`${m}-${p}-${y}T${g}:${x}`;if(t.type==="date")return`${m}-${p}-${y}`;if(t.type==="month")return`${m}-${p}`;if(t.type==="time")return`${g}:${x}`;if(t.type==="week"){const v=new Date(Number.parseInt(m),0,1),A=Math.floor((f.getTime()-v.getTime())/(1440*60*1e3)),V=Math.ceil(A/7);return`${m}-W${V}`}return""}function h(f){const m=f.target;if(!m||isNaN(m.valueAsNumber))a.value=null;else if(t.type==="time"){const p=m.value,{yyyy:y,MM:g,dd:x}=l(a.value||new Date);a.value=new Date(`${y}-${g}-${x}T${p}`)}else if(t.type==="month"){const p=(new Date(m.value).getMonth()+1).toString().padStart(2,"0"),{yyyy:y,dd:g,hh:x,mm:v}=l(a.value||new Date);a.value=new Date(`${y}-${p}-${g}T${x}:${v}`)}else{const p=new Date(m.valueAsNumber).getTimezoneOffset()*1e3*60,y=m.valueAsNumber+p;a.value=new Date(y)}}return(f,m)=>(o(),c("div",{class:U(["native-datetime-picker",f.$props.class])},[r("label",{class:U(["native-datetime-picker__label",{"hidden-visually":e.hideLabel}]),for:e.id},u(e.label),11,Mu),r("input",J({id:e.id,class:["native-datetime-picker__input",e.inputClass],type:e.type,value:s.value,min:i.value,max:n.value},f.$attrs,{onInput:h}),null,16,$u)],2))}}),xi=te(zu,[["__scopeId","data-v-b97e1f7a"]]),Ru={class:"textarea__main-wrapper"},Vu=["id","aria-describedby","disabled","placeholder","value"],Pu=["for"],Ou=["id"],qu=ge({inheritAttrs:!1,__name:"NcTextArea",props:dt({disabled:{type:Boolean},error:{type:Boolean},helperText:{default:void 0},id:{default:()=>_t()},inputClass:{default:""},label:{default:void 0},labelOutside:{type:Boolean},placeholder:{default:void 0},resize:{default:"both"},success:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e,{expose:a}){const t=pt(e,"modelValue"),s=e;a({focus:f,select:m});const n=di(),i=Da("input"),l=Q(()=>s.placeholder||(Et?s.label:void 0));Le(()=>s.labelOutside,()=>{!s.labelOutside&&!s.label&&$e.warn("[NcTextArea] You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.")});const d=Q(()=>{const p=[];return s.helperText&&p.push(`${s.id}-helper-text`),typeof n["aria-describedby"]=="string"&&p.push(n["aria-describedby"]),p.join(" ")||void 0});function h(p){const{value:y}=p.target;t.value=y}function f(p){i.value.focus(p)}function m(){i.value.select()}return(p,y)=>(o(),c("div",{class:U(["textarea",[p.$attrs.class,{"textarea--disabled":e.disabled,"textarea--legacy":X(Et)}]])},[r("div",Ru,[r("textarea",J({...p.$attrs,class:void 0},{id:e.id,ref:"input","aria-describedby":d.value,"aria-live":"polite",class:["textarea__input",[e.inputClass,{"textarea__input--label-outside":e.labelOutside,"textarea__input--legacy":X(Et),"textarea__input--success":e.success,"textarea__input--error":e.error}]],disabled:e.disabled,placeholder:l.value,style:{resize:e.resize},value:t.value,onInput:h}),null,16,Vu),e.labelOutside?k("",!0):(o(),c("label",{key:0,class:"textarea__label",for:e.id},u(e.label),9,Pu))]),e.helperText?(o(),c("p",{key:0,id:`${e.id}-helper-text`,class:U(["textarea__helper-text-message",{"textarea__helper-text-message--error":e.error,"textarea__helper-text-message--success":e.success}])},[e.success?(o(),I(Se,{key:0,class:"textarea__helper-text-message__icon",path:X(Qt),inline:""},null,8,["path"])):e.error?(o(),I(Se,{key:1,class:"textarea__helper-text-message__icon",path:X(Ya),inline:""},null,8,["path"])):k("",!0),z(" "+u(e.helperText),1)],10,Ou)):k("",!0)],2))}}),ns=te(qu,[["__scopeId","data-v-d327fb49"]]),Fu={class:"input-field__main-wrapper"},Hu=["id","aria-describedby","disabled","placeholder","type","value"],Uu=["for"],ju={class:"input-field__icon input-field__icon--leading"},Wu={key:2,class:"input-field__icon input-field__icon--trailing"},Gu=["id"],Zu=ge({inheritAttrs:!1,__name:"NcInputField",props:dt({class:{default:""},inputClass:{default:""},id:{default:()=>_t()},label:{default:void 0},labelOutside:{type:Boolean},type:{default:"text"},placeholder:{default:void 0},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{default:""},disabled:{type:Boolean},pill:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:dt(["trailingButtonClick"],["update:modelValue"]),setup(e,{expose:a,emit:t}){const s=pt(e,"modelValue"),n=e,i=t;a({focus:y,select:g});const l=di(),d=Da("input"),h=Q(()=>n.showTrailingButton||n.success),f=Q(()=>{if(n.placeholder)return n.placeholder;if(n.label)return Et?n.label:""}),m=Q(()=>n.label||n.labelOutside),p=Q(()=>{const v=[];return n.helperText&&v.push(`${n.id}-helper-text`),l["aria-describedby"]&&v.push(String(l["aria-describedby"])),v.join(" ")||void 0});function y(v){d.value.focus(v)}function g(){d.value.select()}function x(v){const A=v.target;s.value=n.type==="number"&&typeof s.value=="number"?parseFloat(A.value):A.value}return(v,A)=>(o(),c("div",{class:U(["input-field",[{"input-field--disabled":e.disabled,"input-field--error":e.error,"input-field--label-outside":e.labelOutside||!m.value,"input-field--leading-icon":!!v.$slots.icon,"input-field--trailing-icon":h.value,"input-field--pill":e.pill,"input-field--success":e.success,"input-field--legacy":X(Et)},v.$props.class]])},[r("div",Fu,[r("input",J(v.$attrs,{id:e.id,ref:"input","aria-describedby":p.value,"aria-live":"polite",class:["input-field__input",e.inputClass],disabled:e.disabled,placeholder:f.value,type:e.type,value:s.value.toString(),onInput:x}),null,16,Hu),!e.labelOutside&&m.value?(o(),c("label",{key:0,class:"input-field__label",for:e.id},u(e.label),9,Uu)):k("",!0),xe(r("div",ju,[F(v.$slots,"icon",{},void 0,!0)],512),[[et,!!v.$slots.icon]]),e.showTrailingButton?(o(),I(me,{key:1,class:"input-field__trailing-button","aria-label":e.trailingButtonLabel,disabled:e.disabled,variant:"tertiary-no-background",onClick:A[0]||(A[0]=V=>i("trailingButtonClick",V))},{icon:C(()=>[F(v.$slots,"trailing-button-icon",{},void 0,!0)]),_:3},8,["aria-label","disabled"])):e.success||e.error?(o(),c("div",Wu,[e.success?(o(),I(Se,{key:0,path:X(Qt)},null,8,["path"])):(o(),I(Se,{key:1,path:X(Ya)},null,8,["path"]))])):k("",!0)]),e.helperText?(o(),c("p",{key:0,id:`${e.id}-helper-text`,class:"input-field__helper-text-message"},[e.success?(o(),I(Se,{key:0,class:"input-field__helper-text-message__icon",path:X(Qt),inline:""},null,8,["path"])):e.error?(o(),I(Se,{key:1,class:"input-field__helper-text-message__icon",path:X(Ya),inline:""},null,8,["path"])):k("",!0),z(" "+u(e.helperText),1)],8,Gu)):k("",!0)],2))}}),nn=te(Zu,[["__scopeId","data-v-8e16cbb5"]]);Ne(el,Nn);const Si=ge({__name:"NcTextField",props:dt({class:{},inputClass:{},id:{},label:{},labelOutside:{type:Boolean},type:{},placeholder:{},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{},disabled:{type:Boolean},pill:{type:Boolean},trailingButtonIcon:{default:"close"}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e,{expose:a}){const t=pt(e,"modelValue"),s=e;a({focus:h,select:f});const n=Da("inputField"),i={arrowEnd:Z("Save changes"),close:Z("Clear text"),undo:Z("Undo changes")},l=new Set(Object.keys(nn.props)),d=Q(()=>{const m=Object.fromEntries(Object.entries(s).filter(([p])=>l.has(p)));return m.trailingButtonLabel??=i[s.trailingButtonIcon],m});function h(m){n.value.focus(m)}function f(){n.value.select()}return(m,p)=>(o(),I(X(nn),J(d.value,{ref:"inputField",modelValue:t.value,"onUpdate:modelValue":p[0]||(p[0]=y=>t.value=y)}),tt({_:2},[m.$slots.icon?{name:"icon",fn:C(()=>[F(m.$slots,"icon")]),key:"0"}:void 0,e.type!=="search"?{name:"trailing-button-icon",fn:C(()=>[e.trailingButtonIcon==="arrowEnd"?(o(),I(X(Se),{key:0,directional:"",path:X(xn)},null,8,["path"])):(o(),I(X(Se),{key:1,path:e.trailingButtonIcon==="undo"?X(tl):X(al)},null,8,["path"]))]),key:"1"}:void 0]),1040,["modelValue"]))}}),Ku={name:"SendIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Yu=["aria-hidden","aria-label"],Xu=["fill","width","height"],Qu={d:"M2,21L23,12L2,3V10L17,12L2,14V21Z"},Ju={key:0};function ed(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon send-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Qu,[t.title?(o(),c("title",Ju,u(t.title),1)):k("",!0)])],8,Xu))],16,Yu)}const td=H(Ku,[["render",ed]]);function ad(){try{return Na("absence","session")}catch{return{uid:null}}}function id(){try{return Na("absence","leaveTypes")||[]}catch{return[]}}const q=kn({session:ad(),leaveTypes:id(),requests:[],balance:{balances:[]},loading:!1,selectedId:null,leaveType(e){return e==null?{label:E("absence","Absent"),color:"#888",icon:"•"}:this.leaveTypes.find(a=>a.id===e)||{label:E("absence","Unknown"),color:"#888",icon:"❔"}},isHrRecorded(e){const a=this.leaveType(e.typeId);return a&&a.employeeRequestable===!1},statusVisible(e){return!(this.isHrRecorded(e)&&e.status==="APPROVED")},get enabledLeaveTypes(){return this.leaveTypes.filter(e=>e.enabled)},get requestableLeaveTypes(){return this.leaveTypes.filter(e=>e.enabled&&e.employeeRequestable)},async refreshSession(){try{this.session=await le.getSession()}catch(e){console.error("Absence: failed to refresh session",e)}},async loadLeaveTypes(){this.leaveTypes=await le.listLeaveTypes(!1)},async loadRequests(e){this.loading=!0;try{this.requests=await le.listRequests(e)}catch{ke(E("absence","Could not load requests"))}finally{this.loading=!1}},async loadMyBalance(e){try{this.balance=await le.getMyBalance(e)}catch{ke(E("absence","Could not load your balance"))}},async createRequest(e){const a=await le.createRequest(e);return Lt(E("absence","On its way ✈️")),await this.refreshSession(),a},async updateRequest(e,a){const t=await le.updateRequest(e,a);return Lt(E("absence","Request updated")),t},async cancelRequest(e){const a=await le.cancelRequest(e);return Lt(E("absence","Request cancelled")),await this.refreshSession(),a},async approveRequest(e,a){const t=await le.approveRequest(e,a);return await this.refreshSession(),t},async rejectRequest(e,a){const t=await le.rejectRequest(e,a);return Lt(E("absence","Request declined")),await this.refreshSession(),t},select(e){this.selectedId=e}});function ti(e){switch(e){case"PENDING":return{label:E("absence","Pending"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"⏳"};case"ESCALATED":return{label:E("absence","With HR"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"⏫"};case"APPROVED":return{label:E("absence","Approved"),text:"var(--color-success-text)",tint:"var(--color-success)",icon:"✅"};case"REJECTED":return{label:E("absence","Declined"),text:"var(--color-error-text)",tint:"var(--color-error)",icon:"✋"};case"CANCELLED":return{label:E("absence","Cancelled"),text:"var(--color-text-maxcontrast)",tint:"var(--color-text-maxcontrast)",icon:"🚫"};case"WITHDRAWAL_PENDING":return{label:E("absence","Withdrawal pending"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"↩️"};default:return{label:e,text:"var(--color-main-text)",tint:"var(--color-text-maxcontrast)",icon:"•"}}}const nd={name:"RequestDialog",components:{NcModal:En,NcSelect:Ft,NcDateTimePickerNative:xi,NcTextArea:ns,NcTextField:Si,NcNoteCard:yi,NcButton:me,NcLoadingIcon:qt,Send:td},props:{request:{type:Object,default:null},hrMode:{type:Boolean,default:!1}},emits:["close","saved"],data(){return{selectedType:null,startIso:null,endIso:null,workingDays:"",workingDaysTouched:!1,holidayChecker:null,reason:"",submitting:!1,selectedEmployee:null,employeeOptions:[],employeeLoading:!1,selectedReplacement:null,replacementOptions:[],replacementLoading:!1,coverage:null,coverageSeq:0,coverageTimer:null}},computed:{isEdit(){return this.request!==null},dialogTitle(){return this.hrMode?E("absence","Record absence"):this.isEdit?E("absence","Edit request"):E("absence","Request time off")},submitLabel(){return this.isEdit?E("absence","Save changes"):this.hrMode?E("absence","Record"):E("absence","Submit request")},typeOptions(){return this.hrMode||this.isEdit&&q.session.isHr?q.enabledLeaveTypes:q.requestableLeaveTypes},typeColor(){return this.selectedType?this.selectedType.color:"var(--color-primary-element)"},requiresNote(){return this.selectedType?this.selectedType.requiresNote:!1},needsReplacement(){return this.selectedType?this.selectedType.requiresReplacement:!1},startDate:{get(){return this.startIso?new Date(this.startIso+"T00:00:00"):null},set(e){this.startIso=e?Ae(e):null,this.startIso&&this.endIso&&this.endIsoa.typeId===this.selectedType.id&&a.year===e&&a.entitlement!==null)||null},projectedAvailable(){return this.balanceRow?Math.round((this.balanceRow.available-this.workingDaysNum)*10)/10:null},wouldGoNegative(){return this.balanceRow&&this.selectedType&&this.selectedType.countsAgainstBalance&&this.projectedAvailable<0},availablePct(){return!this.balanceRow||!this.balanceRow.entitlement?0:Math.max(0,Math.min(100,this.projectedAvailable/this.balanceRow.entitlement*100))},coverageApplies(){return!this.hrMode&&this.subjectUid===q.session.uid},overlaps(){return this.coverage?this.coverage.events.filter(e=>e.employeeUid!==q.session.uid&&!(this.request&&e.requestId===this.request.id)):[]},overlapCount(){return this.overlapNames.length},overlapNames(){return[...new Set(this.overlaps.map(e=>e.displayName))]},overlapLabel(){const e=this.overlapNames;return e.length<=3?e.join(", "):E("absence","{names} and {count} more",{names:e.slice(0,3).join(", "),count:e.length-3})},coverageTight(){return!this.coverage||!this.coverage.threshold?!1:this.coverage.maxConcurrent+1>=this.coverage.threshold},canSubmit(){return!(!this.selectedType||!this.startIso||!this.endIso||this.workingDaysNum<=0||this.hrMode&&!this.selectedEmployee||this.needsReplacement&&!this.selectedReplacement||this.requiresNote&&this.reason.trim()==="")}},watch:{startIso(){this.recomputePrefill(),this.scheduleCoverage()},endIso(){this.recomputePrefill(),this.scheduleCoverage()}},beforeUnmount(){clearTimeout(this.coverageTimer)},async mounted(){await this.initFromProps(),!this.hrMode&&!q.balance.balances.length&&await q.loadMyBalance();try{this.holidayChecker=await sl(q.session.holidayCountry,q.session.holidayRegion),this.recomputePrefill()}catch{}},methods:{t:E,n:at,scheduleCoverage(){clearTimeout(this.coverageTimer),this.coverageTimer=setTimeout(()=>this.loadCoverage(),350)},async loadCoverage(){if(!this.coverageApplies||!this.startIso||!this.endIso||this.endIsoa.id===this.request.typeId)||e[0],this.startIso=this.request.startDate,this.endIso=this.request.endDate,this.workingDays=String(this.request.workingDays),this.reason=this.request.reason||"",this.request.replacementUid&&(this.selectedReplacement={uid:this.request.replacementUid,displayName:this.request.replacementName||this.request.replacementUid});else{this.selectedType=e[0]||null;const a=Ae(new Date);this.startIso=a,this.endIso=a,this.hrMode||(this.selectedReplacement=this.pastReplacements()[0]||null)}this.hrMode||(this.replacementOptions=this.pastReplacements(),this.selectedReplacement&&!this.replacementOptions.some(a=>a.uid===this.selectedReplacement.uid)&&(this.replacementOptions=[this.selectedReplacement,...this.replacementOptions]))},pastReplacements(){const e=new Set,a=[],t=q.requests.filter(s=>s.employeeUid===q.session.uid&&s.replacementUid).sort((s,n)=>n.id-s.id);for(const s of t)e.has(s.replacementUid)||(e.add(s.replacementUid),a.push({uid:s.replacementUid,displayName:s.replacementName||s.replacementUid}));return a},async onEmployeeSearch(e){if(!(!e||e.length<2)){this.employeeLoading=!0;try{this.employeeOptions=await le.searchUsers(e)}catch{this.employeeOptions=[]}finally{this.employeeLoading=!1}}},async onReplacementSearch(e){if(!(!e||e.length<2)){this.replacementLoading=!0;try{const a=await le.searchUsers(e);this.replacementOptions=a.filter(t=>t.uid!==this.subjectUid)}catch{this.replacementOptions=[]}finally{this.replacementLoading=!1}}},async submit(){if(!this.canSubmit)return;this.submitting=!0;const e={typeId:this.selectedType.id,startDate:this.startIso,endDate:this.endIso,workingDays:this.workingDaysNum,reason:this.reason};this.hrMode&&this.selectedEmployee&&(e.employeeUid=this.selectedEmployee.uid),this.needsReplacement&&this.selectedReplacement&&(e.replacementUid=this.selectedReplacement.uid);try{this.isEdit?await q.updateRequest(this.request.id,e):await q.createRequest(e),this.$emit("saved")}catch(a){ke(a.response?.data?.message||E("absence","Could not save the request"))}finally{this.submitting=!1}}}},sd={class:"dialog"},ld={class:"dialog__title"},od={key:1,class:"dialog__field"},rd={class:"dialog__label"},cd={class:"dialog__field"},ud={class:"dialog__label"},dd={class:"opt"},pd={class:"opt__icon"},hd={class:"opt"},md={class:"opt__icon"},fd={key:2,class:"dialog__field"},gd={class:"dialog__label"},yd={class:"dialog__hint"},bd={class:"dialog__row"},vd={class:"dialog__field"},_d={class:"dialog__label"},wd={class:"dialog__field"},kd={class:"dialog__label"},Cd={class:"dialog__field"},xd={class:"dialog__label"},Sd={class:"dialog__hint"},Ad=["href"],Ld={class:"preview__balance"},Nd={class:"preview__bar",role:"presentation"},Td={class:"dialog__field"},Dd={class:"dialog__label"},Ed={key:0,class:"dialog__req"},Id={key:1,class:"dialog__optional"},Bd={class:"dialog__actions"};function Md(e,a,t,s,n,i){const l=_("NcNoteCard"),d=_("NcSelect"),h=_("NcDateTimePickerNative"),f=_("NcTextField"),m=_("NcTextArea"),p=_("NcButton"),y=_("NcLoadingIcon"),g=_("Send"),x=_("NcModal");return o(),I(x,{name:i.dialogTitle,size:"normal",onClose:a[7]||(a[7]=v=>e.$emit("close"))},{default:C(()=>[r("div",sd,[r("h2",ld,u(i.dialogTitle),1),t.hrMode?(o(),I(l,{key:0,type:"info"},{default:C(()=>[z(u(i.t("absence","Record an absence on behalf of an employee (e.g. sick leave). It is booked directly, without an approval step.")),1)]),_:1})):k("",!0),t.hrMode?(o(),c("div",od,[r("label",rd,u(i.t("absence","Employee")),1),b(d,{modelValue:n.selectedEmployee,"onUpdate:modelValue":a[0]||(a[0]=v=>n.selectedEmployee=v),options:n.employeeOptions,loading:n.employeeLoading,userSelect:!0,label:"displayName",filterable:!1,placeholder:i.t("absence","Search for an employee…"),"aria-label-combobox":i.t("absence","Employee"),onSearch:i.onEmployeeSearch},null,8,["modelValue","options","loading","placeholder","aria-label-combobox","onSearch"])])):k("",!0),r("div",cd,[r("label",ud,u(i.t("absence","Leave type")),1),b(d,{modelValue:n.selectedType,"onUpdate:modelValue":a[1]||(a[1]=v=>n.selectedType=v),options:i.typeOptions,label:"label",clearable:!1,"aria-label-combobox":i.t("absence","Leave type")},{option:C(({icon:v,label:A})=>[r("span",dd,[r("span",pd,u(v),1),z(u(A),1)])]),"selected-option":C(({icon:v,label:A})=>[r("span",hd,[r("span",md,u(v),1),z(u(A),1)])]),_:1},8,["modelValue","options","aria-label-combobox"])]),i.needsReplacement?(o(),c("div",fd,[r("label",gd,[z(u(i.t("absence","Replacement")),1),a[8]||(a[8]=r("span",{class:"dialog__req"},"*",-1))]),b(d,{modelValue:n.selectedReplacement,"onUpdate:modelValue":a[2]||(a[2]=v=>n.selectedReplacement=v),options:n.replacementOptions,loading:n.replacementLoading,userSelect:!0,label:"displayName",filterable:!1,placeholder:i.t("absence","Who covers for you?"),"aria-label-combobox":i.t("absence","Replacement"),onSearch:i.onReplacementSearch},null,8,["modelValue","options","loading","placeholder","aria-label-combobox","onSearch"]),r("p",yd,u(i.t("absence","A colleague who covers your duties while you are away. They are notified once your leave is approved.")),1)])):k("",!0),r("div",bd,[r("div",vd,[r("label",_d,u(i.t("absence","From")),1),b(h,{modelValue:i.startDate,"onUpdate:modelValue":a[3]||(a[3]=v=>i.startDate=v),type:"date"},null,8,["modelValue"])]),r("div",wd,[r("label",kd,u(i.t("absence","To")),1),b(h,{modelValue:i.endDate,"onUpdate:modelValue":a[4]||(a[4]=v=>i.endDate=v),type:"date"},null,8,["modelValue"])])]),r("div",Cd,[r("label",xd,[z(u(i.t("absence","Working days")),1),a[9]||(a[9]=r("span",{class:"dialog__req"},"*",-1))]),b(f,{modelValue:n.workingDays,type:"number",min:"0",step:"0.5",label:i.t("absence","Working days"),labelVisible:!1,"onUpdate:modelValue":i.onWorkingDaysInput},null,8,["modelValue","label","onUpdate:modelValue"]),r("p",Sd,[i.prefillActive?(o(),c(j,{key:0},[z(u(i.t("absence","Prefilled from your"))+" ",1),r("a",{href:i.settingsUrl,target:"_blank",rel:"noreferrer noopener",class:"dialog__link"},u(i.t("absence","working days and public holidays")),9,Ad),z(" "+u(i.t("absence","— adjust it if needed. Your manager will verify it.")),1)],64)):(o(),c(j,{key:1},[z(u(i.t("absence","Number of working days this absence covers (excluding weekends and public holidays). Your manager will verify it.")),1)],64))])]),i.balanceRow&&!t.hrMode&&i.workingDaysNum>0?(o(),c("div",{key:3,class:"preview",style:ne({"--type-color":i.typeColor})},[r("div",Ld,[r("span",null,u(i.t("absence","Available")),1),r("strong",null,u(i.formatDays(i.balanceRow.available))+" → "+u(i.formatDays(i.projectedAvailable)),1),r("span",Nd,[r("span",{class:"preview__bar-fill",style:ne({width:i.availablePct+"%"})},null,4)])])],4)):k("",!0),i.wouldGoNegative?(o(),I(l,{key:4,type:"warning"},{default:C(()=>[z(u(i.t("absence","Heads up: this goes beyond your available balance. You can still submit — HR may approve it.")),1)]),_:1})):k("",!0),i.overlapCount?(o(),I(l,{key:5,type:i.coverageTight?"warning":"info"},{default:C(()=>[i.coverageTight?(o(),c(j,{key:0},[z(u(i.n("absence","Heads up: %n colleague is already off then ({names}), so approving this would leave the team thin. You can still submit.","Heads up: %n colleagues are already off then ({names}), so approving this would leave the team thin. You can still submit.",i.overlapCount,{names:i.overlapLabel})),1)],64)):(o(),c(j,{key:1},[z(u(i.n("absence","%n colleague is off then ({names}).","%n colleagues are off then ({names}).",i.overlapCount,{names:i.overlapLabel})),1)],64))]),_:1},8,["type"])):k("",!0),r("div",Td,[r("label",Dd,[z(u(i.t("absence","Reason"))+" ",1),i.requiresNote?(o(),c("span",Ed,"*")):(o(),c("span",Id,u(i.t("absence","(optional)")),1))]),b(m,{modelValue:n.reason,"onUpdate:modelValue":a[5]||(a[5]=v=>n.reason=v),placeholder:i.t("absence","Optional note for your manager"),resize:"vertical",rows:"2"},null,8,["modelValue","placeholder"])]),r("div",Bd,[b(p,{variant:"tertiary",onClick:a[6]||(a[6]=v=>e.$emit("close"))},{default:C(()=>[z(u(i.t("absence","Cancel")),1)]),_:1}),b(p,{variant:"primary",disabled:!i.canSubmit||n.submitting,onClick:i.submit},{icon:C(()=>[n.submitting?(o(),I(y,{key:0,size:20})):(o(),I(g,{key:1,size:20}))]),default:C(()=>[z(" "+u(i.submitLabel),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["name"])}const $d=H(nd,[["render",Md],["__scopeId","data-v-0efca66b"]]),Pa=new WeakMap,ss={mounted(e,a){const t=!a.modifiers.bubble;let s;if(typeof a.value=="function")s=Pi(e,a.value,{capture:t});else{const[n,i]=a.value;s=Pi(e,n,Object.assign({capture:t},i))}Pa.set(e,s)},unmounted(e){const a=Pa.get(e);a&&typeof a=="function"?a():a?.stop(),Pa.delete(e)}},zd={mounted(e){e.focus()}},Rd="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Vd="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",ai="numeric",ii="ascii",ni="alpha",It="asciinumeric",Nt="alphanumeric",si="domain",ls="emoji",Pd="scheme",Od="slashscheme",Oa="whitespace";function qd(e,a){return e in a||(a[e]=[]),a[e]}function lt(e,a,t){a[ai]&&(a[It]=!0,a[Nt]=!0),a[ii]&&(a[It]=!0,a[ni]=!0),a[It]&&(a[Nt]=!0),a[ni]&&(a[Nt]=!0),a[Nt]&&(a[si]=!0),a[ls]&&(a[si]=!0);for(const s in a){const n=qd(s,t);n.indexOf(e)<0&&n.push(e)}}function Fd(e,a){const t={};for(const s in a)a[s].indexOf(e)>=0&&(t[s]=!0);return t}function Ce(e=null){this.j={},this.jr=[],this.jd=null,this.t=e}Ce.groups={},Ce.prototype={accepts(){return!!this.t},go(e){const a=this,t=a.j[e];if(t)return t;for(let s=0;se.ta(a,t,s,n),de=(e,a,t,s,n)=>e.tr(a,t,s,n),sn=(e,a,t,s,n)=>e.ts(a,t,s,n),M=(e,a,t,s,n)=>e.tt(a,t,s,n),We="WORD",li="UWORD",os="ASCIINUMERICAL",rs="ALPHANUMERICAL",Vt="LOCALHOST",oi="TLD",ri="UTLD",Xt="SCHEME",yt="SLASH_SCHEME",Ai="NUM",ci="WS",Li="NL",Bt="OPENBRACE",Mt="CLOSEBRACE",ta="OPENBRACKET",aa="CLOSEBRACKET",ia="OPENPAREN",na="CLOSEPAREN",sa="OPENANGLEBRACKET",la="CLOSEANGLEBRACKET",oa="FULLWIDTHLEFTPAREN",ra="FULLWIDTHRIGHTPAREN",ca="LEFTCORNERBRACKET",ua="RIGHTCORNERBRACKET",da="LEFTWHITECORNERBRACKET",pa="RIGHTWHITECORNERBRACKET",ha="FULLWIDTHLESSTHAN",ma="FULLWIDTHGREATERTHAN",fa="AMPERSAND",ga="APOSTROPHE",ya="ASTERISK",Je="AT",ba="BACKSLASH",va="BACKTICK",_a="CARET",ot="COLON",Ni="COMMA",wa="DOLLAR",Re="DOT",ka="EQUALS",Ti="EXCLAMATION",Ee="HYPHEN",$t="PERCENT",Ca="PIPE",xa="PLUS",Sa="POUND",zt="QUERY",Di="QUOTE",cs="FULLWIDTHMIDDLEDOT",Ei="SEMI",Ve="SLASH",Rt="TILDE",Aa="UNDERSCORE",us="EMOJI",La="SYM";var ds=Object.freeze({__proto__:null,ALPHANUMERICAL:rs,AMPERSAND:fa,APOSTROPHE:ga,ASCIINUMERICAL:os,ASTERISK:ya,AT:Je,BACKSLASH:ba,BACKTICK:va,CARET:_a,CLOSEANGLEBRACKET:la,CLOSEBRACE:Mt,CLOSEBRACKET:aa,CLOSEPAREN:na,COLON:ot,COMMA:Ni,DOLLAR:wa,DOT:Re,EMOJI:us,EQUALS:ka,EXCLAMATION:Ti,FULLWIDTHGREATERTHAN:ma,FULLWIDTHLEFTPAREN:oa,FULLWIDTHLESSTHAN:ha,FULLWIDTHMIDDLEDOT:cs,FULLWIDTHRIGHTPAREN:ra,HYPHEN:Ee,LEFTCORNERBRACKET:ca,LEFTWHITECORNERBRACKET:da,LOCALHOST:Vt,NL:Li,NUM:Ai,OPENANGLEBRACKET:sa,OPENBRACE:Bt,OPENBRACKET:ta,OPENPAREN:ia,PERCENT:$t,PIPE:Ca,PLUS:xa,POUND:Sa,QUERY:zt,QUOTE:Di,RIGHTCORNERBRACKET:ua,RIGHTWHITECORNERBRACKET:pa,SCHEME:Xt,SEMI:Ei,SLASH:Ve,SLASH_SCHEME:yt,SYM:La,TILDE:Rt,TLD:oi,UNDERSCORE:Aa,UTLD:ri,UWORD:li,WORD:We,WS:ci});const Ue=/[a-z]/,At=new RegExp("\\p{L}","u"),qa=new RegExp("\\p{Emoji}","u"),je=/\d/,Fa=/\s/,ln="\r",Ha=` -`,Hd="️",Ud="‍",Ua="";let jt=null,Wt=null;function jd(e=[]){const a={};Ce.groups=a;const t=new Ce;jt==null&&(jt=on(Rd)),Wt==null&&(Wt=on(Vd)),M(t,"'",ga),M(t,"{",Bt),M(t,"}",Mt),M(t,"[",ta),M(t,"]",aa),M(t,"(",ia),M(t,")",na),M(t,"<",sa),M(t,">",la),M(t,"(",oa),M(t,")",ra),M(t,"「",ca),M(t,"」",ua),M(t,"『",da),M(t,"』",pa),M(t,"<",ha),M(t,">",ma),M(t,"&",fa),M(t,"*",ya),M(t,"@",Je),M(t,"`",va),M(t,"^",_a),M(t,":",ot),M(t,",",Ni),M(t,"$",wa),M(t,".",Re),M(t,"=",ka),M(t,"!",Ti),M(t,"-",Ee),M(t,"%",$t),M(t,"|",Ca),M(t,"+",xa),M(t,"#",Sa),M(t,"?",zt),M(t,'"',Di),M(t,"/",Ve),M(t,";",Ei),M(t,"~",Rt),M(t,"_",Aa),M(t,"\\",ba),M(t,"・",cs);const s=de(t,je,Ai,{[ai]:!0});de(s,je,s);const n=de(s,Ue,os,{[It]:!0}),i=de(s,At,rs,{[Nt]:!0}),l=de(t,Ue,We,{[ii]:!0});de(l,je,n),de(l,Ue,l),de(n,je,n),de(n,Ue,n);const d=de(t,At,li,{[ni]:!0});de(d,Ue),de(d,je,i),de(d,At,d),de(i,je,i),de(i,Ue),de(i,At,i);const h=M(t,Ha,Li,{[Oa]:!0}),f=M(t,ln,ci,{[Oa]:!0}),m=de(t,Fa,ci,{[Oa]:!0});M(t,Ua,m),M(f,Ha,h),M(f,Ua,m),de(f,Fa,m),M(m,ln),M(m,Ha),de(m,Fa,m),M(m,Ua,m);const p=de(t,qa,us,{[ls]:!0});M(p,"#"),de(p,qa,p),M(p,Hd,p);const y=M(p,Ud);M(y,"#"),de(y,qa,p);const g=[[Ue,l],[je,n]],x=[[Ue,null],[At,d],[je,i]];for(let v=0;vv[0]>A[0]?1:-1);for(let v=0;v=0?V[si]=!0:Ue.test(A)?je.test(A)?V[It]=!0:V[ii]=!0:V[ai]=!0,sn(t,A,A,V)}return sn(t,"localhost",Vt,{ascii:!0}),t.jd=new Ce(La),{start:t,tokens:Object.assign({groups:a},ds)}}function ps(e,a){const t=Wd(a.replace(/[A-Z]/g,d=>d.toLowerCase())),s=t.length,n=[];let i=0,l=0;for(;l=0&&(p+=t[l].length,y++),f+=t[l].length,i+=t[l].length,l++;i-=p,l-=y,f-=p,n.push({t:m.t,v:a.slice(i-f,i),s:i-f,e:i})}return n}function Wd(e){const a=[],t=e.length;let s=0;for(;s56319||s+1===t||(i=e.charCodeAt(s+1))<56320||i>57343?e[s]:e.slice(s,s+2);a.push(l),s+=l.length}return a}function Xe(e,a,t,s,n){let i;const l=a.length;for(let d=0;d=0;)i++;if(i>0){a.push(t.join(""));for(let l=parseInt(e.substring(s,s+i),10);l>0;l--)t.pop();s+=i}else t.push(e[s]),s++}return a}const Pt={defaultProtocol:"http",events:null,format:rn,formatHref:rn,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Ii(e,a=null){let t=Object.assign({},Pt);e&&(t=Object.assign(t,e instanceof Ii?e.o:e));const s=t.ignoreTags,n=[];for(let i=0;it?s.substring(0,t)+"…":s},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e=Pt.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const a=this,t=this.toHref(e.get("defaultProtocol")),s=e.get("formatHref",t,this),n=e.get("tagName",t,a),i=this.toFormattedString(e),l={},d=e.get("className",t,a),h=e.get("target",t,a),f=e.get("rel",t,a),m=e.getObj("attributes",t,a),p=e.getObj("events",t,a);return l.href=s,d&&(l.class=d),h&&(l.target=h),f&&(l.rel=f),m&&Object.assign(l,m),{tagName:n,attributes:l,content:i,eventListeners:p}}};function $a(e,a){class t extends hs{constructor(n,i){super(n,i),this.t=e}}for(const s in a)t.prototype[s]=a[s];return t.t=e,t}const Gd=$a("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),cn=$a("text"),Zd=$a("nl"),Gt=$a("url",{isLink:!0,toHref(e=Pt.defaultProtocol){return this.hasProtocol()?this.v:`${e}://${this.v}`},hasProtocol(){const e=this.tk;return e.length>=2&&e[0].t!==Vt&&e[1].t===ot}}),De=e=>new Ce(e);function Kd({groups:e}){const a=e.domain.concat([fa,ya,Je,ba,va,_a,wa,ka,Ee,Ai,$t,Ca,xa,Sa,Ve,La,Rt,Aa]),t=[ga,ot,Ni,Re,Ti,$t,zt,Di,Ei,sa,la,Bt,Mt,aa,ta,ia,na,oa,ra,ca,ua,da,pa,ha,ma],s=[fa,ga,ya,ba,va,_a,wa,ka,Ee,Bt,Mt,$t,Ca,xa,Sa,zt,Ve,La,Rt,Aa],n=De(),i=M(n,Rt);ee(i,s,i),ee(i,e.domain,i);const l=De(),d=De(),h=De();ee(n,e.domain,l),ee(n,e.scheme,d),ee(n,e.slashscheme,h),ee(l,s,i),ee(l,e.domain,l);const f=M(l,Je);M(i,Je,f),M(d,Je,f),M(h,Je,f);const m=M(i,Re);ee(m,s,i),ee(m,e.domain,i);const p=De();ee(f,e.domain,p),ee(p,e.domain,p);const y=M(p,Re);ee(y,e.domain,p);const g=De(Gd);ee(y,e.tld,g),ee(y,e.utld,g),M(f,Vt,g);const x=M(p,Ee);M(x,Ee,x),ee(x,e.domain,p),ee(g,e.domain,p),M(g,Re,y),M(g,Ee,x);const v=M(l,Ee),A=M(l,Re);M(v,Ee,v),ee(v,e.domain,l),ee(A,s,i),ee(A,e.domain,l);const V=De(Gt);ee(A,e.tld,V),ee(A,e.utld,V),ee(V,e.domain,l),ee(V,s,i),M(V,Re,A),M(V,Ee,v),M(V,Je,f);const L=M(V,ot),R=De(Gt);ee(L,e.numeric,R);const Y=De(Gt),ae=De();ee(Y,a,Y),ee(Y,t,ae),ee(ae,a,Y),ee(ae,t,ae),M(V,Ve,Y),M(R,Ve,Y);const re=M(d,ot),ce=M(h,ot),Be=M(ce,Ve),G=M(Be,Ve);ee(d,e.domain,l),M(d,Re,A),M(d,Ee,v),ee(h,e.domain,l),M(h,Re,A),M(h,Ee,v),ee(re,e.domain,Y),M(re,Ve,Y),M(re,zt,Y),ee(G,e.domain,Y),ee(G,a,Y),M(G,Ve,Y);const ze=[[Bt,Mt],[ta,aa],[ia,na],[sa,la],[oa,ra],[ca,ua],[da,pa],[ha,ma]];for(let qe=0;qe=0&&y++,n++,m++;if(y<0)n-=m,n0&&(i.push(ja(cn,a,l)),l=[]),n-=y,m-=y;const g=p.t,x=t.slice(n-m,n);i.push(ja(g,a,x))}}return l.length>0&&i.push(ja(cn,a,l)),i}function ja(e,a,t){const s=t[0].s,n=t[t.length-1].e,i=a.slice(s,n);return new e(i,t)}const fe={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Xd(){fe.scanner=jd(fe.customSchemes);for(let e=0;e -`):!n.isLink||!a.check(n)?s.push(In(n.toString())):s.push(a.render(n));return s.join("")}function Jd(e){return e.replace(/"/g,""")}function ep(e){const a=[];for(const t in e){const s=e[t]+"";a.push(`${t}="${Jd(s)}"`)}return a.join(" ")}function tp({tagName:e,attributes:a,content:t}){return`<${e} ${ep(a)}>${In(t)}`}const ap=function(e,{value:a}){a?.linkify===!0&&(e.innerHTML=Qd(a.text))},ip=["title"],np=ge({__name:"NcAppSidebarHeader",props:{name:{},title:{},linkify:{type:Boolean}},setup(e){const a=_e("NcAppSidebar:header:ref");return(t,s)=>xe((o(),c("h2",{ref_key:"headerRef",ref:a,tabindex:"-1",title:e.title},[z(u(e.name),1)],8,ip)),[[X(ap),{text:e.name,linkify:e.linkify}]])}}),sp=["aria-labelledby"],lp={key:0,class:"empty-content__icon","aria-hidden":"true"},op=["id"],rp={key:2,class:"empty-content__description"},cp={key:3,class:"empty-content__action"},up=ge({__name:"NcEmptyContent",props:{description:{default:""},name:{default:""}},setup(e){const a=_t();return(t,s)=>(o(),c("div",{"aria-labelledby":X(a),class:"empty-content",role:"note"},[t.$slots.icon?(o(),c("div",lp,[F(t.$slots,"icon",{},void 0,!0)])):k("",!0),e.name!==""||t.$slots.name?(o(),c("div",{key:1,id:X(a),class:"empty-content__name"},[F(t.$slots,"name",{},()=>[z(u(e.name),1)],!0)],8,op)):k("",!0),e.description!==""||t.$slots.description?(o(),c("p",rp,[F(t.$slots,"description",{},()=>[z(u(e.description),1)],!0)])):k("",!0),t.$slots.action?(o(),c("div",cp,[F(t.$slots,"action",{},void 0,!0)])):k("",!0)],8,sp))}}),Oe=te(up,[["__scopeId","data-v-8609a4c1"]]),dp={name:"DockRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pp=["aria-hidden","aria-label"],hp=["fill","width","height"],mp={d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z"},fp={key:0};function gp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon dock-right-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",mp,[t.title?(o(),c("title",fp,u(t.title),1)):k("",!0)])],8,hp))],16,pp)}const yp=te(dp,[["render",gp]]),bp={name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vp=["aria-hidden","aria-label"],_p=["fill","width","height"],wp={d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"},kp={key:0};function Cp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon star-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",wp,[t.title?(o(),c("title",kp,u(t.title),1)):k("",!0)])],8,_p))],16,vp)}const xp=te(bp,[["render",Cp]]),Sp={name:"StarOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ap=["aria-hidden","aria-label"],Lp=["fill","width","height"],Np={d:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z"},Tp={key:0};function Dp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon star-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Np,[t.title?(o(),c("title",Tp,u(t.title),1)):k("",!0)])],8,Lp))],16,Ap)}const Ep=te(Sp,[["render",Dp]]),Ip=["aria-selected","tabindex"],Bp=ge({__name:"NcAppSidebarTabsButton",props:dt({tab:{}},{selected:{type:Boolean,required:!0},selectedModifiers:{}}),emits:["update:selected"],setup(e){const a=pt(e,"selected");return(t,s)=>(o(),c("button",{class:U(["button-vue",[t.$style.sidebarTabsButton,{[t.$style.sidebarTabsButton_selected]:a.value,[t.$style.sidebarTabsButton_legacy]:X(it)}]]),role:"tab","aria-selected":a.value,tabindex:a.value?0:-1,onClick:s[0]||(s[0]=n=>a.value=!0)},[r("span",{class:U(t.$style.sidebarTabsButton__icon)},[b(ki,{vnodes:e.tab.renderIcon()},{default:C(()=>[r("span",{class:U([t.$style.sidebarTabsButton__legacyIcon,e.tab.icon])},null,2)]),_:1},8,["vnodes"])],2),r("span",{class:U(t.$style.sidebarTabsButton__name)},u(e.tab.name),3)],10,Ip))}}),Mp="_sidebarTabsButton_OCROY",$p="_sidebarTabsButton_legacy_e9-y9",zp="_sidebarTabsButton_selected_S48M1",Rp="_sidebarTabsButton__name_GZRY8",Vp="_sidebarTabsButton__icon_ZDmkU",Pp="_sidebarTabsButton__legacyIcon_y6cLW",Op={"material-design-icon":"_material-design-icon_v9SPG",sidebarTabsButton:Mp,sidebarTabsButton_legacy:$p,sidebarTabsButton_selected:zp,sidebarTabsButton__name:Rp,sidebarTabsButton__icon:Vp,sidebarTabsButton__legacyIcon:Pp},qp={$style:Op},Fp=te(Bp,[["__cssModules",qp]]),Hp={name:"NcAppSidebarTabs",components:{NcAppSidebarTabsButton:Fp},provide(){return{registerTab:this.registerTab,unregisterTab:this.unregisterTab,getActiveTab:()=>this.activeTab,isTablistShown:()=>this.hasMultipleTabs}},props:{active:{type:String,default:""},forceTabs:{type:Boolean,default:!1}},emits:["update:active"],data(e){return{tabs:[],activeTab:e.active,isLegacy34:it}},computed:{hasMultipleTabs(){return this.tabs.length>1},showForSingleTab(){return this.forceTabs&&this.tabs.length===1},currentTabIndex(){return this.tabs.findIndex(e=>e.id===this.activeTab)}},watch:{tabs(){this.active&&this.updateActive()},active(e){e!==this.activeTab&&this.updateActive()}},methods:{setActive(e){this.activeTab=e,this.$emit("update:active",this.activeTab)},focusPreviousTab(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab(){this.currentTabIndexe===this.active)?this.active:this.tabs[0]?.id??""},registerTab(e){this.tabs.push(e),this.tabs.sort((a,t)=>a.order===t.order?a.name.localeCompare(t.name,[Dn()]):a.order-t.order),this.updateActive()},unregisterTab(e){const a=this.tabs.findIndex(t=>t.id===e);a!==-1&&this.tabs.splice(a,1),this.activeTab===e&&this.updateActive()}}},Up={class:"app-sidebar-tabs"};function jp(e,a,t,s,n,i){const l=_("NcAppSidebarTabsButton");return o(),c("div",Up,[i.hasMultipleTabs||i.showForSingleTab?(o(),c("div",{key:0,role:"tablist",class:U(["app-sidebar-tabs__nav",{"app-sidebar-tabs__nav--legacy":n.isLegacy34}]),onKeydown:[a[0]||(a[0]=we(pe((...d)=>i.focusPreviousTab&&i.focusPreviousTab(...d),["exact","prevent","stop"]),["left"])),a[1]||(a[1]=we(pe((...d)=>i.focusNextTab&&i.focusNextTab(...d),["exact","prevent","stop"]),["right"])),a[2]||(a[2]=we(pe((...d)=>i.focusActiveTabContent&&i.focusActiveTabContent(...d),["exact","prevent","stop"]),["tab"])),a[3]||(a[3]=we(pe((...d)=>i.focusFirstTab&&i.focusFirstTab(...d),["exact","prevent","stop"]),["home"])),a[4]||(a[4]=we(pe((...d)=>i.focusLastTab&&i.focusLastTab(...d),["exact","prevent","stop"]),["end"])),a[5]||(a[5]=we(pe((...d)=>i.focusFirstTab&&i.focusFirstTab(...d),["exact","prevent","stop"]),["page-up"])),a[6]||(a[6]=we(pe((...d)=>i.focusLastTab&&i.focusLastTab(...d),["exact","prevent","stop"]),["page-down"]))]},[(o(!0),c(j,null,se(n.tabs,d=>(o(),I(l,{id:`tab-button-${d.id}`,key:d.id,class:"app-sidebar-tabs__tab","aria-controls":`tab-${d.id}`,selected:n.activeTab===d.id,tab:d,"onUpdate:selected":h=>i.setActive(d.id)},null,8,["id","aria-controls","selected","tab","onUpdate:selected"]))),128))],34)):k("",!0),r("div",{class:U(["app-sidebar-tabs__content",{"app-sidebar-tabs__content--multiple":i.hasMultipleTabs}])},[F(e.$slots,"default",{},void 0,!0)],2)])}const Wp=te(Hp,[["render",jp],["__scopeId","data-v-e74d1502"]]);Ne(ll);const Gp={name:"NcAppSidebar",components:{NcActions:ct,NcAppSidebarHeader:np,NcAppSidebarTabs:Wp,NcButton:me,NcLoadingIcon:qt,NcEmptyContent:Oe,IconArrowRight:Kn,IconClose:Ln,IconDockRight:yp,IconStar:xp,IconStarOutline:Ep},directives:{Focus:zd,ClickOutside:ss},inject:{ncContentSelector:{from:Zn,default:void 0}},props:{active:{type:String,default:""},name:{type:String,required:!0},nameEditable:{type:Boolean,default:!1},namePlaceholder:{type:String,default:""},subname:{type:String,default:""},subtitle:{type:String,default:""},background:{type:String,default:""},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTabs:{type:Boolean,default:!1},linkifyName:{type:Boolean,default:!1},title:{type:String,default:""},open:{type:Boolean,default:!0},toggleClasses:{type:[String,Array,Object],default:""},toggleAttrs:{type:Object,default:void 0},noToggle:{type:Boolean,default:!1}},emits:["close","closed","opened","update:active","update:name","update:nameEditable","update:open","update:starred","submitName","dismissEditing"],setup(){const e=Ie(null);return he("NcAppSidebar:header:ref",e),{uid:_t(),isMobile:cl(),headerRef:e}},data(){return{changeNameTranslated:Z("Change name"),closeTranslated:Z("Close sidebar"),favoriteTranslated:Z("Favorite"),isStarred:this.starred,focusTrap:null,elementToReturnFocus:null}},computed:{canStar(){return this.isStarred!==null},hasFigureClickListener(){return!!this.$attrs.onFigureClick}},watch:{starred(){this.isStarred=this.starred},isMobile(){this.toggleFocusTrap()},open(){this.checkToggleButtonContainerAvailability()}},created(){this.preserveElementToReturnFocus(),this.checkToggleButtonContainerAvailability()},beforeUnmount(){this.$emit("closed"),this.focusTrap?.deactivate()},methods:{isSlotPopulated:ol,t:Z,preserveElementToReturnFocus(){if(document.activeElement&&document.activeElement!==document.body&&(this.elementToReturnFocus=document.activeElement,this.elementToReturnFocus.getAttribute("role")==="menuitem")){const e=this.elementToReturnFocus.closest('[role="menu"]');if(e){const a=document.querySelector(`[aria-controls="${e.id}"]`);this.elementToReturnFocus=a}}},initFocusTrap(){this.focusTrap||(this.focusTrap=Sn([this.$refs.sidebar,document.querySelector("#header")],{allowOutsideClick:!0,fallbackFocus:this.$refs.closeButton.$el,trapStack:An(),escapeDeactivates:!1}))},toggleFocusTrap(){this.open&&this.isMobile?(this.initFocusTrap(),this.focusTrap.activate()):this.focusTrap?.deactivate()},onKeydownEsc(e){this.isMobile&&(e.stopPropagation(),this.closeSidebar())},onAfterEnter(e){this.elementToReturnFocus&&this.focus(),this.toggleFocusTrap(),this.$emit("opened",e)},onAfterLeave(e){this.$emit("closed",e),this.toggleFocusTrap(),this.elementToReturnFocus?.focus({focusVisible:!0}),this.elementToReturnFocus=null},closeSidebar(e){this.$emit("close",e),this.$emit("update:open",!1)},onFigureClick(e){this.$emit("figureClick",e)},toggleStarred(){this.isStarred=!this.isStarred,this.$emit("update:starred",this.isStarred)},async editName(){this.$emit("update:nameEditable",!0),this.nameEditable&&(await this.$nextTick(),this.$refs.nameInput.focus())},focus(){if(!this.open&&!this.noToggle){this.$refs.toggle.$el.focus();return}try{this.headerRef.focus()}catch{}},focusActiveTabContent(){this.preserveElementToReturnFocus(),this.$refs.tabs.focusActiveTabContent()},checkToggleButtonContainerAvailability(){this.open===!1&&!this.noToggle&&!this.ncContentSelector&&$e.warn("[NcAppSidebar] It looks like you want to use NcAppSidebar with the built-in toggle button. This feature is only available when NcAppSidebar is used in NcContent.")},onNameInput(e){this.$emit("update:name",e.target.value)},onSubmitName(e){this.$emit("update:nameEditable",!1),this.$emit("submitName",e)},onDismissEditing(){this.$emit("update:nameEditable",!1),this.$emit("dismissEditing")},onUpdateActive(e){this.$emit("update:active",e)}}},Zp=["aria-labelledby"],Kp={class:"app-sidebar-header__info"},Yp={key:0,class:"app-sidebar-header__tertiary-actions"},Xp={class:"app-sidebar-header__name-container"},Qp={class:"app-sidebar-header__mainname-container"},Jp=["placeholder","value"],eh=["title"],th={key:2,class:"app-sidebar-header__description"};function ah(e,a,t,s,n,i){const l=_("IconDockRight"),d=_("NcButton"),h=_("NcLoadingIcon"),f=_("IconStar"),m=_("IconStarOutline"),p=_("NcAppSidebarHeader"),y=_("IconArrowRight"),g=_("NcActions"),x=_("IconClose"),v=_("NcAppSidebarTabs"),A=_("NcEmptyContent"),V=Xa("focus"),L=Xa("click-outside");return o(),I(rl,{appear:"",name:"slide-right",onAfterEnter:i.onAfterEnter,onAfterLeave:i.onAfterLeave},{default:C(()=>[xe(r("aside",{id:"app-sidebar-vue",ref:"sidebar",class:"app-sidebar","aria-labelledby":`app-sidebar-vue-${s.uid}__header`,onKeydown:a[6]||(a[6]=we((...R)=>i.onKeydownEsc&&i.onKeydownEsc(...R),["esc"]))},[i.ncContentSelector&&!t.open&&!t.noToggle?(o(),I(Tn,{key:0,to:i.ncContentSelector},[b(d,J({ref:"toggle","aria-label":i.t("Open sidebar"),class:["app-sidebar__toggle",t.toggleClasses],variant:"tertiary"},t.toggleAttrs,{onClick:a[0]||(a[0]=R=>e.$emit("update:open",!0))}),{icon:C(()=>[F(e.$slots,"toggle-icon",{},()=>[b(l,{size:20})],!0)]),_:3},16,["aria-label","class"])],8,["to"])):k("",!0),r("header",{class:U(["app-sidebar-header",{"app-sidebar-header--with-figure":i.isSlotPopulated(e.$slots.header?.())||t.background,"app-sidebar-header--compact":t.compact}])},[t.empty?(o(),I(p,{key:1,class:"app-sidebar-header__mainname--hidden",name:t.name,tabindex:"-1"},null,8,["name"])):F(e.$slots,"info",{key:0},()=>[r("div",Kp,[i.isSlotPopulated(e.$slots.header?.())||t.background?(o(),c("div",{key:0,class:U(["app-sidebar-header__figure",{"app-sidebar-header__figure--with-action":i.hasFigureClickListener}]),style:ne({backgroundImage:`url(${t.background})`}),tabindex:"0",onClick:a[1]||(a[1]=(...R)=>i.onFigureClick&&i.onFigureClick(...R)),onKeydown:a[2]||(a[2]=we((...R)=>i.onFigureClick&&i.onFigureClick(...R),["enter"]))},[F(e.$slots,"header",{class:"app-sidebar-header__background"},void 0,!0)],38)):k("",!0),r("div",{class:U(["app-sidebar-header__desc",{"app-sidebar-header__desc--with-tertiary-action":i.canStar||i.isSlotPopulated(e.$slots["tertiary-actions"]?.()),"app-sidebar-header__desc--editable":t.nameEditable&&!t.subname,"app-sidebar-header__desc--with-subname--editable":t.nameEditable&&t.subname,"app-sidebar-header__desc--without-actions":!i.isSlotPopulated(e.$slots["secondary-actions"]?.())}])},[i.canStar||i.isSlotPopulated(e.$slots["tertiary-actions"]?.())?(o(),c("div",Yp,[F(e.$slots,"tertiary-actions",{},()=>[i.canStar?(o(),I(d,{key:0,"aria-label":n.favoriteTranslated,pressed:n.isStarred,class:"app-sidebar-header__star",variant:"secondary",onClick:pe(i.toggleStarred,["prevent"])},{icon:C(()=>[t.starLoading?(o(),I(h,{key:0})):n.isStarred?(o(),I(f,{key:1,size:20})):(o(),I(m,{key:2,size:20}))]),_:1},8,["aria-label","pressed","onClick"])):k("",!0)],!0)])):k("",!0),r("div",Xp,[r("div",Qp,[xe(b(p,{class:"app-sidebar-header__mainname",name:t.name,linkify:t.linkifyName,title:t.title,tabindex:t.nameEditable?0:-1,onClick:pe(i.editName,["self"])},null,8,["name","linkify","title","tabindex","onClick"]),[[et,!t.nameEditable]]),t.nameEditable?xe((o(),c("form",{key:0,class:"app-sidebar-header__mainname-form",onSubmit:a[5]||(a[5]=pe((...R)=>i.onSubmitName&&i.onSubmitName(...R),["prevent"]))},[xe(r("input",{ref:"nameInput",class:"app-sidebar-header__mainname-input",type:"text",placeholder:t.namePlaceholder,value:t.name,onKeydown:a[3]||(a[3]=we(pe((...R)=>i.onDismissEditing&&i.onDismissEditing(...R),["stop"]),["esc"])),onInput:a[4]||(a[4]=(...R)=>i.onNameInput&&i.onNameInput(...R))},null,40,Jp),[[V]]),b(d,{"aria-label":n.changeNameTranslated,type:"submit",variant:"tertiary-no-background"},{icon:C(()=>[b(y,{size:20})]),_:1},8,["aria-label"])],32)),[[L,()=>i.onSubmitName()]]):k("",!0),i.isSlotPopulated(e.$slots["secondary-actions"]?.())?(o(),I(g,{key:1,class:"app-sidebar-header__menu",forceMenu:t.forceMenu},{default:C(()=>[F(e.$slots,"secondary-actions",{},void 0,!0)]),_:3},8,["forceMenu"])):k("",!0)]),t.subname.trim()!==""||e.$slots.subname?(o(),c("p",{key:0,title:t.subtitle||void 0,class:"app-sidebar-header__subname"},[F(e.$slots,"subname",{},()=>[z(u(t.subname),1)],!0)],8,eh)):k("",!0)])],2)])],!0),b(d,{ref:"closeButton","aria-label":n.closeTranslated,title:n.closeTranslated,class:"app-sidebar__close",variant:"tertiary",onClick:pe(i.closeSidebar,["prevent"])},{icon:C(()=>[b(x,{size:20})]),_:1},8,["aria-label","title","onClick"]),i.isSlotPopulated(e.$slots.description?.())&&!t.empty?(o(),c("div",th,[F(e.$slots,"description",{},void 0,!0)])):k("",!0)],2),xe(b(v,{ref:"tabs",active:t.active,forceTabs:t.forceTabs,"onUpdate:active":i.onUpdateActive},{default:C(()=>[F(e.$slots,"default",{},void 0,!0)]),_:3},8,["active","forceTabs","onUpdate:active"]),[[et,!t.loading]]),t.loading?(o(),I(A,{key:1},{icon:C(()=>[b(h,{size:64})]),_:1})):k("",!0)],40,Zp),[[et,t.open]])]),_:3},8,["onAfterEnter","onAfterLeave"])}const ih=te(Gp,[["render",ah],["__scopeId","data-v-e8979b7f"]]),nh={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},sh=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],lh={class:"hidden-visually"};function oh(e,a,t,s,n,i){return o(),c("section",{id:`tab-${t.id}`,"aria-hidden":!i.isActive,"aria-label":i.isTablistShown()?void 0:t.name,"aria-labelledby":i.isTablistShown()?`tab-button-${t.id}`:void 0,class:U(["app-sidebar__tab",{"app-sidebar__tab--active":i.isActive}]),role:i.isTablistShown()?"tabpanel":void 0,tabindex:i.isTablistShown()?0:-1,onScroll:a[0]||(a[0]=(...l)=>i.onScroll&&i.onScroll(...l))},[r("h3",lh,u(t.name),1),F(e.$slots,"default",{},void 0,!0)],42,sh)}const rh=te(nh,[["render",oh],["__scopeId","data-v-dba10798"]]);function ch(e,a){const t=(m,p)=>m.startsWith(p)?m.slice(p.length):m,s=(m,...p)=>p.reduce((y,g)=>t(y,g),m);if(!e)return null;const n=/^https?:\/\//.test(a),i=/^[a-z][a-z0-9+.-]*:.+/.test(a);if(!n&&i||n&&!a.startsWith(Oi())||!n&&!a.startsWith("/"))return null;const l=n?s(a,Oi(),"/index.php"):a,d=s(e.options.history.base,ul(),"/index.php"),h=s(l,d)||"/",f=e.resolve(h);return f.matched.length?f.fullPath:null}function uh(e){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(a=>a.enabled(e)):[]}const dh=new Int32Array(4);class be{static hashStr(a,t=!1){return this.onePassHasher.start().appendStr(a).end(t)}static hashAsciiStr(a,t=!1){return this.onePassHasher.start().appendAsciiStr(a).end(t)}static stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);static buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);static hexChars="0123456789abcdef";static hexOut=[];static onePassHasher=new be;static _hex(a){const t=be.hexChars,s=be.hexOut;let n,i,l,d;for(d=0;d<4;d+=1)for(i=d*8,n=a[d],l=0;l<8;l+=2)s[i+1+l]=t.charAt(n&15),n>>>=4,s[i+0+l]=t.charAt(n&15),n>>>=4;return s.join("")}static _md5cycle(a,t){let s=a[0],n=a[1],i=a[2],l=a[3];s+=(n&i|~n&l)+t[0]-680876936|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[1]-389564586|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[2]+606105819|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[3]-1044525330|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[4]-176418897|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[5]+1200080426|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[6]-1473231341|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[7]-45705983|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[8]+1770035416|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[9]-1958414417|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[10]-42063|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[11]-1990404162|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[12]+1804603682|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[13]-40341101|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[14]-1502002290|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[15]+1236535329|0,n=(n<<22|n>>>10)+i|0,s+=(n&l|i&~l)+t[1]-165796510|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[6]-1069501632|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[11]+643717713|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[0]-373897302|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[5]-701558691|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[10]+38016083|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[15]-660478335|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[4]-405537848|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[9]+568446438|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[14]-1019803690|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[3]-187363961|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[8]+1163531501|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[13]-1444681467|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[2]-51403784|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[7]+1735328473|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[12]-1926607734|0,n=(n<<20|n>>>12)+i|0,s+=(n^i^l)+t[5]-378558|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[8]-2022574463|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[11]+1839030562|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[14]-35309556|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[1]-1530992060|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[4]+1272893353|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[7]-155497632|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[10]-1094730640|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[13]+681279174|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[0]-358537222|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[3]-722521979|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[6]+76029189|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[9]-640364487|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[12]-421815835|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[15]+530742520|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[2]-995338651|0,n=(n<<23|n>>>9)+i|0,s+=(i^(n|~l))+t[0]-198630844|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[7]+1126891415|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[14]-1416354905|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[5]-57434055|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[12]+1700485571|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[3]-1894986606|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[10]-1051523|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[1]-2054922799|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[8]+1873313359|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[15]-30611744|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[6]-1560198380|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[13]+1309151649|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[4]-145523070|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[11]-1120210379|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[2]+718787259|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[9]-343485551|0,n=(n<<21|n>>>11)+i|0,a[0]=s+a[0]|0,a[1]=n+a[1]|0,a[2]=i+a[2]|0,a[3]=l+a[3]|0}_dataLength=0;_bufferLength=0;_state=new Int32Array(4);_buffer=new ArrayBuffer(68);_buffer8;_buffer32;constructor(){this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(be.stateIdentity),this}appendStr(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l;for(l=0;l>>6)+192,t[n++]=i&63|128;else if(i<55296||i>56319)t[n++]=(i>>>12)+224,t[n++]=i>>>6&63|128,t[n++]=i&63|128;else{if(i=(i-55296)*1024+(a.charCodeAt(++l)-56320)+65536,i>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");t[n++]=(i>>>18)+240,t[n++]=i>>>12&63|128,t[n++]=i>>>6&63|128,t[n++]=i&63|128}n>=64&&(this._dataLength+=64,be._md5cycle(this._state,s),n-=64,s[0]=s[16])}return this._bufferLength=n,this}appendAsciiStr(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l=0;for(;;){for(i=Math.min(a.length-l,64-n);i--;)t[n++]=a.charCodeAt(l++);if(n<64)break;this._dataLength+=64,be._md5cycle(this._state,s),n=0}return this._bufferLength=n,this}appendByteArray(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l=0;for(;;){for(i=Math.min(a.length-l,64-n);i--;)t[n++]=a[l++];if(n<64)break;this._dataLength+=64,be._md5cycle(this._state,s),n=0}return this._bufferLength=n,this}getState(){const a=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[a[0],a[1],a[2],a[3]]}}setState(a){const t=a.buffer,s=a.state,n=this._state;let i;for(this._dataLength=a.length,this._bufferLength=a.buflen,n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],i=0;i>2)+1;this._dataLength+=t;const l=this._dataLength*8;if(s[t]=128,s[t+1]=s[t+2]=s[t+3]=0,n.set(be.buffer32Identity.subarray(i),i),t>55&&(be._md5cycle(this._state,n),n.set(be.buffer32Identity)),l<=4294967295)n[14]=l;else{const d=l.toString(16).match(/(.*?)(.{0,8})$/);if(d===null)return a?dh:"";const h=parseInt(d[2],16),f=parseInt(d[1],16)||0;n[14]=h,n[15]=f}return be._md5cycle(this._state,n),a?this._state:be._hex(this._state)}}if(be.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");Ne(dl);class ve{constructor(a,t,s,n){this.r=a,this.g=t,this.b=s,this.name=n,this.r=Math.min(a,255),this.g=Math.min(t,255),this.b=Math.min(s,255),this.name=n}r;g;b;name;get color(){const a=t=>`00${t.toString(16)}`.slice(-2);return`#${a(this.r)}${a(this.g)}${a(this.b)}`}}function ph(e,a,t){return{r:(t.r-a.r)/e,g:(t.g-a.g)/e,b:(t.b-a.b)/e}}function Wa(e,a,t){const s=[];s.push(a);const n=ph(e,a,t);for(let i=1;i/g,d=/<\/?([^\s\/>]+)/;function h(x,v,A){x=x||"",v=v||[],A=A||"";let V=m(v,A);return p(x,V)}function f(x,v){x=x||[],v=v||"";let A=m(x,v);return function(V){return p(V||"",A)}}h.init_streaming_mode=f;function m(x,v){return x=y(x),{allowable_tags:x,tag_replacement:v,state:s,tag_buffer:"",depth:0,in_quote_char:""}}function p(x,v){if(typeof x!="string")throw new TypeError("'html' parameter must be a string");let A=v.allowable_tags,V=v.tag_replacement,L=v.state,R=v.tag_buffer,Y=v.depth,ae=v.in_quote_char,re="";for(let ce=0,Be=x.length;ce":if(ae)break;if(Y){Y--;break}ae="",L=s,R+=">",A.has(g(R))?re+=R:re+=V,R="";break;case'"':case"'":G===ae?ae="":ae=ae||G,R+=G;break;case"-":R==="a.appName));const t=Ot(),s=Ie(!1),n=Ie(),i=Q(()=>n.value==="navigation"?lc:sc);Gs(()=>{const h=document.getElementById("skip-actions");h&&(h.innerHTML="",h.classList.add("vue-skip-actions"))});function l(){rt("toggle-navigation",{open:!0}),Dt(()=>{window.location.hash="app-navigation-vue",document.getElementById("app-navigation-vue").focus()})}function d(h){s.value=h,n.value||(n.value="navigation")}return(h,f)=>(o(),c("div",{id:"content-vue",class:U(["content",[`app-${e.appName.toLowerCase()}`,{"content--legacy":X(it)}]])},[(o(),I(Dn,{to:"#skip-actions"},[r("div",oc,[r("div",rc,u(X(Z)("Keyboard navigation help")),1),r("div",cc,[xe(b(me,{href:"#app-navigation-vue",variant:"tertiary",onClick:pe(l,["prevent"]),onFocusin:f[0]||(f[0]=m=>n.value="navigation"),onMouseover:f[1]||(f[1]=m=>n.value="navigation")},{default:C(()=>[z(u(X(Z)("Skip to app navigation")),1)]),_:1},512),[[et,s.value]]),b(me,{href:"#app-content-vue",variant:"tertiary",onFocusin:f[2]||(f[2]=m=>n.value="content"),onMouseover:f[3]||(f[3]=m=>n.value="content")},{default:C(()=>[z(u(X(Z)("Skip to main content")),1)]),_:1})]),xe(b(Se,{class:"vue-skip-actions__image",svg:i.value,size:"auto"},null,8,["svg"]),[[et,!X(t)]])])])),F(h.$slots,"default",{},void 0,!0)],2))}}),dc=te(uc,[["__scopeId","data-v-d13dcb98"]]),pc=["title"],hc=ge({__name:"NcCounterBubble",props:{count:{},active:{type:Boolean},type:{default:""},raw:{type:Boolean}},setup(e){const a=e,t=Q(()=>a.raw?a.count.toString():new Intl.NumberFormat(Tn(),{notation:"compact",compactDisplay:"short"}).format(a.count)),s=Q(()=>{if(a.raw)return;const n=a.count.toString();if(n!==t.value)return n});return(n,i)=>(o(),c("div",{class:U(["counter-bubble__counter",{active:e.active,"counter-bubble__counter--highlighted":e.type==="highlighted","counter-bubble__counter--outlined":e.type==="outlined"}]),title:s.value},u(t.value),11,pc))}}),Xn=te(hc,[["__scopeId","data-v-36ffc13f"]]),mc={name:"AccountGroupIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},fc=["aria-hidden","aria-label"],gc=["fill","width","height"],yc={d:"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z"},bc={key:0};function vc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon account-group-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",yc,[t.title?(o(),c("title",bc,u(t.title),1)):k("",!0)])],8,gc))],16,fc)}const Ci=H(mc,[["render",vc]]),_c={name:"CalendarAccountOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},wc=["aria-hidden","aria-label"],kc=["fill","width","height"],Cc={d:"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M12 10C14 10 15 12.42 13.59 13.84C12.17 15.26 9.75 14.25 9.75 12.25C9.75 11 10.75 10 12 10M16.5 17.88V18H7.5V17.88C7.5 16.63 9.5 15.63 12 15.63S16.5 16.63 16.5 17.88Z"},xc={key:0};function Sc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-account-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Cc,[t.title?(o(),c("title",xc,u(t.title),1)):k("",!0)])],8,kc))],16,wc)}const Ac=H(_c,[["render",Sc]]),Lc={name:"CalendarMonthIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Nc=["aria-hidden","aria-label"],Dc=["fill","width","height"],Tc={d:"M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z"},Ec={key:0};function Ic(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-month-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Tc,[t.title?(o(),c("title",Ec,u(t.title),1)):k("",!0)])],8,Dc))],16,Nc)}const Bc=H(Lc,[["render",Ic]]),Mc={name:"CalendarSearchIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},$c=["aria-hidden","aria-label"],zc=["fill","width","height"],Rc={d:"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z"},Vc={key:0};function Pc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon calendar-search-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Rc,[t.title?(o(),c("title",Vc,u(t.title),1)):k("",!0)])],8,zc))],16,$c)}const Qn=H(Mc,[["render",Pc]]),Oc={name:"ChartBarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},qc=["aria-hidden","aria-label"],Fc=["fill","width","height"],Hc={d:"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z"},Uc={key:0};function jc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon chart-bar-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Hc,[t.title?(o(),c("title",Uc,u(t.title),1)):k("",!0)])],8,Fc))],16,qc)}const Wc=H(Oc,[["render",jc]]),Gc={name:"ClipboardCheckIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Zc=["aria-hidden","aria-label"],Kc=["fill","width","height"],Yc={d:"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z"},Xc={key:0};function Qc(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon clipboard-check-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Yc,[t.title?(o(),c("title",Xc,u(t.title),1)):k("",!0)])],8,Kc))],16,Zc)}const Jc=H(Gc,[["render",Qc]]),eu={name:"ClipboardPlusOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},tu=["aria-hidden","aria-label"],au=["fill","width","height"],iu={d:"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M13 12H16V14H13V17H11V14H8V12H11V9H13V12Z"},nu={key:0};function su(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon clipboard-plus-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",iu,[t.title?(o(),c("title",nu,u(t.title),1)):k("",!0)])],8,au))],16,tu)}const Jn=H(eu,[["render",su]]),lu={name:"DownloadIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},ou=["aria-hidden","aria-label"],ru=["fill","width","height"],cu={d:"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"},uu={key:0};function du(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon download-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",cu,[t.title?(o(),c("title",uu,u(t.title),1)):k("",!0)])],8,ru))],16,ou)}const es=H(lu,[["render",du]]),pu={name:"PlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},hu=["aria-hidden","aria-label"],mu=["fill","width","height"],fu={d:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z"},gu={key:0};function yu(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon plus-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",fu,[t.title?(o(),c("title",gu,u(t.title),1)):k("",!0)])],8,mu))],16,hu)}const ts=H(pu,[["render",yu]]),bu={name:"ScaleBalanceIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vu=["aria-hidden","aria-label"],_u=["fill","width","height"],wu={d:"M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z"},ku={key:0};function Cu(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon scale-balance-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",wu,[t.title?(o(),c("title",ku,u(t.title),1)):k("",!0)])],8,_u))],16,vu)}const as=H(bu,[["render",Cu]]),xu={name:"ThermometerIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Su=["aria-hidden","aria-label"],Au=["fill","width","height"],Lu={d:"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z"},Nu={key:0};function Du(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon thermometer-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Lu,[t.title?(o(),c("title",Nu,u(t.title),1)):k("",!0)])],8,Au))],16,Su)}const is=H(xu,[["render",Du]]),Tu=Symbol.for("nc:theme:enforced");function Eu(e){const a=Q(()=>Xs(e)??document.body),t=Ie(Ka(a.value)),s=Qs();function n(){t.value=Ka(a.value)}return Ks(a,n,{attributes:!0}),Le(a,n),Le(s,n,{immediate:!0}),Ys(t)}const Iu=Zs(()=>Eu());function Bu(){const e=Iu(),a=_e(Tu,void 0);return Q(()=>a?.value?a.value==="dark":e.value)}Ne(Js);const Mu=["for"],$u=["id","type","value","min","max"],zu=ge({inheritAttrs:!1,__name:"NcDateTimePickerNative",props:dt({class:{default:void 0},id:{default:()=>_t()},inputClass:{default:""},type:{default:"date"},label:{default:()=>Z("Please choose a date")},min:{default:null},max:{default:null},hideLabel:{type:Boolean}},{modelValue:{default:null},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const a=pt(e,"modelValue"),t=e,s=Q(()=>a.value?d(a.value):""),n=Q(()=>t.max?d(t.max):void 0),i=Q(()=>t.min?d(t.min):void 0);function l(f){const m=f.getFullYear().toString().padStart(4,"0"),p=(f.getMonth()+1).toString().padStart(2,"0"),y=f.getDate().toString().padStart(2,"0"),g=f.getHours().toString().padStart(2,"0"),x=f.getMinutes().toString().padStart(2,"0");return{yyyy:m,MM:p,dd:y,hh:g,mm:x}}function d(f){const{yyyy:m,MM:p,dd:y,hh:g,mm:x}=l(f);if(t.type==="datetime-local")return`${m}-${p}-${y}T${g}:${x}`;if(t.type==="date")return`${m}-${p}-${y}`;if(t.type==="month")return`${m}-${p}`;if(t.type==="time")return`${g}:${x}`;if(t.type==="week"){const v=new Date(Number.parseInt(m),0,1),A=Math.floor((f.getTime()-v.getTime())/(1440*60*1e3)),V=Math.ceil(A/7);return`${m}-W${V}`}return""}function h(f){const m=f.target;if(!m||isNaN(m.valueAsNumber))a.value=null;else if(t.type==="time"){const p=m.value,{yyyy:y,MM:g,dd:x}=l(a.value||new Date);a.value=new Date(`${y}-${g}-${x}T${p}`)}else if(t.type==="month"){const p=(new Date(m.value).getMonth()+1).toString().padStart(2,"0"),{yyyy:y,dd:g,hh:x,mm:v}=l(a.value||new Date);a.value=new Date(`${y}-${p}-${g}T${x}:${v}`)}else{const p=new Date(m.valueAsNumber).getTimezoneOffset()*1e3*60,y=m.valueAsNumber+p;a.value=new Date(y)}}return(f,m)=>(o(),c("div",{class:U(["native-datetime-picker",f.$props.class])},[r("label",{class:U(["native-datetime-picker__label",{"hidden-visually":e.hideLabel}]),for:e.id},u(e.label),11,Mu),r("input",J({id:e.id,class:["native-datetime-picker__input",e.inputClass],type:e.type,value:s.value,min:i.value,max:n.value},f.$attrs,{onInput:h}),null,16,$u)],2))}}),xi=te(zu,[["__scopeId","data-v-b97e1f7a"]]),Ru={class:"textarea__main-wrapper"},Vu=["id","aria-describedby","disabled","placeholder","value"],Pu=["for"],Ou=["id"],qu=ge({inheritAttrs:!1,__name:"NcTextArea",props:dt({disabled:{type:Boolean},error:{type:Boolean},helperText:{default:void 0},id:{default:()=>_t()},inputClass:{default:""},label:{default:void 0},labelOutside:{type:Boolean},placeholder:{default:void 0},resize:{default:"both"},success:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e,{expose:a}){const t=pt(e,"modelValue"),s=e;a({focus:f,select:m});const n=di(),i=Ta("input"),l=Q(()=>s.placeholder||(Et?s.label:void 0));Le(()=>s.labelOutside,()=>{!s.labelOutside&&!s.label&&$e.warn("[NcTextArea] You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.")});const d=Q(()=>{const p=[];return s.helperText&&p.push(`${s.id}-helper-text`),typeof n["aria-describedby"]=="string"&&p.push(n["aria-describedby"]),p.join(" ")||void 0});function h(p){const{value:y}=p.target;t.value=y}function f(p){i.value.focus(p)}function m(){i.value.select()}return(p,y)=>(o(),c("div",{class:U(["textarea",[p.$attrs.class,{"textarea--disabled":e.disabled,"textarea--legacy":X(Et)}]])},[r("div",Ru,[r("textarea",J({...p.$attrs,class:void 0},{id:e.id,ref:"input","aria-describedby":d.value,"aria-live":"polite",class:["textarea__input",[e.inputClass,{"textarea__input--label-outside":e.labelOutside,"textarea__input--legacy":X(Et),"textarea__input--success":e.success,"textarea__input--error":e.error}]],disabled:e.disabled,placeholder:l.value,style:{resize:e.resize},value:t.value,onInput:h}),null,16,Vu),e.labelOutside?k("",!0):(o(),c("label",{key:0,class:"textarea__label",for:e.id},u(e.label),9,Pu))]),e.helperText?(o(),c("p",{key:0,id:`${e.id}-helper-text`,class:U(["textarea__helper-text-message",{"textarea__helper-text-message--error":e.error,"textarea__helper-text-message--success":e.success}])},[e.success?(o(),I(Se,{key:0,class:"textarea__helper-text-message__icon",path:X(Qt),inline:""},null,8,["path"])):e.error?(o(),I(Se,{key:1,class:"textarea__helper-text-message__icon",path:X(Ya),inline:""},null,8,["path"])):k("",!0),z(" "+u(e.helperText),1)],10,Ou)):k("",!0)],2))}}),ns=te(qu,[["__scopeId","data-v-d327fb49"]]),Fu={class:"input-field__main-wrapper"},Hu=["id","aria-describedby","disabled","placeholder","type","value"],Uu=["for"],ju={class:"input-field__icon input-field__icon--leading"},Wu={key:2,class:"input-field__icon input-field__icon--trailing"},Gu=["id"],Zu=ge({inheritAttrs:!1,__name:"NcInputField",props:dt({class:{default:""},inputClass:{default:""},id:{default:()=>_t()},label:{default:void 0},labelOutside:{type:Boolean},type:{default:"text"},placeholder:{default:void 0},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{default:""},disabled:{type:Boolean},pill:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:dt(["trailingButtonClick"],["update:modelValue"]),setup(e,{expose:a,emit:t}){const s=pt(e,"modelValue"),n=e,i=t;a({focus:y,select:g});const l=di(),d=Ta("input"),h=Q(()=>n.showTrailingButton||n.success),f=Q(()=>{if(n.placeholder)return n.placeholder;if(n.label)return Et?n.label:""}),m=Q(()=>n.label||n.labelOutside),p=Q(()=>{const v=[];return n.helperText&&v.push(`${n.id}-helper-text`),l["aria-describedby"]&&v.push(String(l["aria-describedby"])),v.join(" ")||void 0});function y(v){d.value.focus(v)}function g(){d.value.select()}function x(v){const A=v.target;s.value=n.type==="number"&&typeof s.value=="number"?parseFloat(A.value):A.value}return(v,A)=>(o(),c("div",{class:U(["input-field",[{"input-field--disabled":e.disabled,"input-field--error":e.error,"input-field--label-outside":e.labelOutside||!m.value,"input-field--leading-icon":!!v.$slots.icon,"input-field--trailing-icon":h.value,"input-field--pill":e.pill,"input-field--success":e.success,"input-field--legacy":X(Et)},v.$props.class]])},[r("div",Fu,[r("input",J(v.$attrs,{id:e.id,ref:"input","aria-describedby":p.value,"aria-live":"polite",class:["input-field__input",e.inputClass],disabled:e.disabled,placeholder:f.value,type:e.type,value:s.value.toString(),onInput:x}),null,16,Hu),!e.labelOutside&&m.value?(o(),c("label",{key:0,class:"input-field__label",for:e.id},u(e.label),9,Uu)):k("",!0),xe(r("div",ju,[F(v.$slots,"icon",{},void 0,!0)],512),[[et,!!v.$slots.icon]]),e.showTrailingButton?(o(),I(me,{key:1,class:"input-field__trailing-button","aria-label":e.trailingButtonLabel,disabled:e.disabled,variant:"tertiary-no-background",onClick:A[0]||(A[0]=V=>i("trailingButtonClick",V))},{icon:C(()=>[F(v.$slots,"trailing-button-icon",{},void 0,!0)]),_:3},8,["aria-label","disabled"])):e.success||e.error?(o(),c("div",Wu,[e.success?(o(),I(Se,{key:0,path:X(Qt)},null,8,["path"])):(o(),I(Se,{key:1,path:X(Ya)},null,8,["path"]))])):k("",!0)]),e.helperText?(o(),c("p",{key:0,id:`${e.id}-helper-text`,class:"input-field__helper-text-message"},[e.success?(o(),I(Se,{key:0,class:"input-field__helper-text-message__icon",path:X(Qt),inline:""},null,8,["path"])):e.error?(o(),I(Se,{key:1,class:"input-field__helper-text-message__icon",path:X(Ya),inline:""},null,8,["path"])):k("",!0),z(" "+u(e.helperText),1)],8,Gu)):k("",!0)],2))}}),nn=te(Zu,[["__scopeId","data-v-8e16cbb5"]]);Ne(el,Nn);const Si=ge({__name:"NcTextField",props:dt({class:{},inputClass:{},id:{},label:{},labelOutside:{type:Boolean},type:{},placeholder:{},showTrailingButton:{type:Boolean},trailingButtonLabel:{default:void 0},success:{type:Boolean},error:{type:Boolean},helperText:{},disabled:{type:Boolean},pill:{type:Boolean},trailingButtonIcon:{default:"close"}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(e,{expose:a}){const t=pt(e,"modelValue"),s=e;a({focus:h,select:f});const n=Ta("inputField"),i={arrowEnd:Z("Save changes"),close:Z("Clear text"),undo:Z("Undo changes")},l=new Set(Object.keys(nn.props)),d=Q(()=>{const m=Object.fromEntries(Object.entries(s).filter(([p])=>l.has(p)));return m.trailingButtonLabel??=i[s.trailingButtonIcon],m});function h(m){n.value.focus(m)}function f(){n.value.select()}return(m,p)=>(o(),I(X(nn),J(d.value,{ref:"inputField",modelValue:t.value,"onUpdate:modelValue":p[0]||(p[0]=y=>t.value=y)}),tt({_:2},[m.$slots.icon?{name:"icon",fn:C(()=>[F(m.$slots,"icon")]),key:"0"}:void 0,e.type!=="search"?{name:"trailing-button-icon",fn:C(()=>[e.trailingButtonIcon==="arrowEnd"?(o(),I(X(Se),{key:0,directional:"",path:X(xn)},null,8,["path"])):(o(),I(X(Se),{key:1,path:e.trailingButtonIcon==="undo"?X(tl):X(al)},null,8,["path"]))]),key:"1"}:void 0]),1040,["modelValue"]))}}),Ku={name:"SendIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Yu=["aria-hidden","aria-label"],Xu=["fill","width","height"],Qu={d:"M2,21L23,12L2,3V10L17,12L2,14V21Z"},Ju={key:0};function ed(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon send-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Qu,[t.title?(o(),c("title",Ju,u(t.title),1)):k("",!0)])],8,Xu))],16,Yu)}const td=H(Ku,[["render",ed]]);function ad(){try{return Na("absence","session")}catch{return{uid:null}}}function id(){try{return Na("absence","leaveTypes")||[]}catch{return[]}}const q=kn({session:ad(),leaveTypes:id(),requests:[],balance:{balances:[]},loading:!1,selectedId:null,leaveType(e){return e==null?{label:E("absence","Absent"),color:"#888",icon:"•"}:this.leaveTypes.find(a=>a.id===e)||{label:E("absence","Unknown"),color:"#888",icon:"❔"}},isHrRecorded(e){const a=this.leaveType(e.typeId);return a&&a.employeeRequestable===!1},statusVisible(e){return!(this.isHrRecorded(e)&&e.status==="APPROVED")},get enabledLeaveTypes(){return this.leaveTypes.filter(e=>e.enabled)},get requestableLeaveTypes(){return this.leaveTypes.filter(e=>e.enabled&&e.employeeRequestable)},async refreshSession(){try{this.session=await le.getSession()}catch(e){console.error("Absence: failed to refresh session",e)}},async loadLeaveTypes(){this.leaveTypes=await le.listLeaveTypes(!1)},async loadRequests(e){this.loading=!0;try{this.requests=await le.listRequests(e)}catch{ke(E("absence","Could not load requests"))}finally{this.loading=!1}},async loadMyBalance(e){try{this.balance=await le.getMyBalance(e)}catch{ke(E("absence","Could not load your balance"))}},async createRequest(e){const a=await le.createRequest(e);return Lt(E("absence","On its way ✈️")),await this.refreshSession(),a},async updateRequest(e,a){const t=await le.updateRequest(e,a);return Lt(E("absence","Request updated")),t},async cancelRequest(e){const a=await le.cancelRequest(e);return Lt(E("absence","Request cancelled")),await this.refreshSession(),a},async approveRequest(e,a){const t=await le.approveRequest(e,a);return await this.refreshSession(),t},async rejectRequest(e,a){const t=await le.rejectRequest(e,a);return Lt(E("absence","Request declined")),await this.refreshSession(),t},select(e){this.selectedId=e}});function ti(e){switch(e){case"PENDING":return{label:E("absence","Pending"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"⏳"};case"ESCALATED":return{label:E("absence","With HR"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"⏫"};case"APPROVED":return{label:E("absence","Approved"),text:"var(--color-success-text)",tint:"var(--color-success)",icon:"✅"};case"REJECTED":return{label:E("absence","Declined"),text:"var(--color-error-text)",tint:"var(--color-error)",icon:"✋"};case"CANCELLED":return{label:E("absence","Cancelled"),text:"var(--color-text-maxcontrast)",tint:"var(--color-text-maxcontrast)",icon:"🚫"};case"WITHDRAWAL_PENDING":return{label:E("absence","Withdrawal pending"),text:"var(--color-warning-text)",tint:"var(--color-warning)",icon:"↩️"};default:return{label:e,text:"var(--color-main-text)",tint:"var(--color-text-maxcontrast)",icon:"•"}}}const nd={name:"RequestDialog",components:{NcModal:En,NcSelect:Ft,NcDateTimePickerNative:xi,NcTextArea:ns,NcTextField:Si,NcNoteCard:yi,NcButton:me,NcLoadingIcon:qt,Send:td},props:{request:{type:Object,default:null},hrMode:{type:Boolean,default:!1}},emits:["close","saved"],data(){return{selectedType:null,startIso:null,endIso:null,workingDays:"",workingDaysTouched:!1,holidayChecker:null,reason:"",submitting:!1,selectedEmployee:null,employeeOptions:[],employeeLoading:!1,selectedReplacement:null,replacementOptions:[],replacementLoading:!1,coverage:null,coverageSeq:0,coverageTimer:null}},computed:{isEdit(){return this.request!==null},dialogTitle(){return this.hrMode?E("absence","Record absence"):this.isEdit?E("absence","Edit request"):E("absence","Request time off")},submitLabel(){return this.isEdit?E("absence","Save changes"):this.hrMode?E("absence","Record"):E("absence","Submit request")},typeOptions(){return this.hrMode||this.isEdit&&q.session.isHr?q.enabledLeaveTypes:q.requestableLeaveTypes},typeColor(){return this.selectedType?this.selectedType.color:"var(--color-primary-element)"},requiresNote(){return this.selectedType?this.selectedType.requiresNote:!1},needsReplacement(){return this.selectedType?this.selectedType.requiresReplacement:!1},startDate:{get(){return this.startIso?new Date(this.startIso+"T00:00:00"):null},set(e){this.startIso=e?Ae(e):null,this.startIso&&this.endIso&&this.endIsoa.typeId===this.selectedType.id&&a.year===e&&a.entitlement!==null)||null},projectedAvailable(){return this.balanceRow?Math.round((this.balanceRow.available-this.workingDaysNum)*10)/10:null},wouldGoNegative(){return this.balanceRow&&this.selectedType&&this.selectedType.countsAgainstBalance&&this.projectedAvailable<0},availablePct(){return!this.balanceRow||!this.balanceRow.entitlement?0:Math.max(0,Math.min(100,this.projectedAvailable/this.balanceRow.entitlement*100))},coverageApplies(){return!this.hrMode&&this.subjectUid===q.session.uid},overlaps(){return this.coverage?this.coverage.events.filter(e=>e.employeeUid!==q.session.uid&&!(this.request&&e.requestId===this.request.id)):[]},overlapCount(){return this.overlapNames.length},overlapNames(){return[...new Set(this.overlaps.map(e=>e.displayName))]},overlapLabel(){const e=this.overlapNames;return e.length<=3?e.join(", "):E("absence","{names} and {count} more",{names:e.slice(0,3).join(", "),count:e.length-3})},coverageTight(){return!this.coverage||!this.coverage.threshold?!1:this.coverage.maxConcurrent+1>=this.coverage.threshold},canSubmit(){return!(!this.selectedType||!this.startIso||!this.endIso||this.workingDaysNum<=0||this.hrMode&&!this.selectedEmployee||this.needsReplacement&&!this.selectedReplacement||this.requiresNote&&this.reason.trim()==="")}},watch:{startIso(){this.recomputePrefill(),this.scheduleCoverage()},endIso(){this.recomputePrefill(),this.scheduleCoverage()}},beforeUnmount(){clearTimeout(this.coverageTimer)},async mounted(){await this.initFromProps(),!this.hrMode&&!q.balance.balances.length&&await q.loadMyBalance();try{this.holidayChecker=await sl(q.session.holidayCountry,q.session.holidayRegion),this.recomputePrefill()}catch{}},methods:{t:E,n:at,scheduleCoverage(){clearTimeout(this.coverageTimer),this.coverageTimer=setTimeout(()=>this.loadCoverage(),350)},async loadCoverage(){if(!this.coverageApplies||!this.startIso||!this.endIso||this.endIsoa.id===this.request.typeId)||e[0],this.startIso=this.request.startDate,this.endIso=this.request.endDate,this.workingDays=String(this.request.workingDays),this.reason=this.request.reason||"",this.request.replacementUid&&(this.selectedReplacement={uid:this.request.replacementUid,displayName:this.request.replacementName||this.request.replacementUid});else{this.selectedType=e[0]||null;const a=Ae(new Date);this.startIso=a,this.endIso=a,this.hrMode||(this.selectedReplacement=this.pastReplacements()[0]||null)}this.hrMode||(this.replacementOptions=this.pastReplacements(),this.selectedReplacement&&!this.replacementOptions.some(a=>a.uid===this.selectedReplacement.uid)&&(this.replacementOptions=[this.selectedReplacement,...this.replacementOptions]))},pastReplacements(){const e=new Set,a=[],t=q.requests.filter(s=>s.employeeUid===q.session.uid&&s.replacementUid).sort((s,n)=>n.id-s.id);for(const s of t)e.has(s.replacementUid)||(e.add(s.replacementUid),a.push({uid:s.replacementUid,displayName:s.replacementName||s.replacementUid}));return a},async onEmployeeSearch(e){if(!(!e||e.length<2)){this.employeeLoading=!0;try{this.employeeOptions=await le.searchUsers(e)}catch{this.employeeOptions=[]}finally{this.employeeLoading=!1}}},async onReplacementSearch(e){if(!(!e||e.length<2)){this.replacementLoading=!0;try{const a=await le.searchUsers(e);this.replacementOptions=a.filter(t=>t.uid!==this.subjectUid)}catch{this.replacementOptions=[]}finally{this.replacementLoading=!1}}},async submit(){if(!this.canSubmit)return;this.submitting=!0;const e={typeId:this.selectedType.id,startDate:this.startIso,endDate:this.endIso,workingDays:this.workingDaysNum,reason:this.reason};this.hrMode&&this.selectedEmployee&&(e.employeeUid=this.selectedEmployee.uid),this.needsReplacement&&this.selectedReplacement&&(e.replacementUid=this.selectedReplacement.uid);try{this.isEdit?await q.updateRequest(this.request.id,e):await q.createRequest(e),this.$emit("saved")}catch(a){ke(a.response?.data?.message||E("absence","Could not save the request"))}finally{this.submitting=!1}}}},sd={class:"dialog"},ld={class:"dialog__title"},od={key:1,class:"dialog__field"},rd={class:"dialog__label"},cd={class:"dialog__field"},ud={class:"dialog__label"},dd={class:"opt"},pd={class:"opt__icon"},hd={class:"opt"},md={class:"opt__icon"},fd={key:2,class:"dialog__field"},gd={class:"dialog__label"},yd={class:"dialog__hint"},bd={class:"dialog__row"},vd={class:"dialog__field"},_d={class:"dialog__label"},wd={class:"dialog__field"},kd={class:"dialog__label"},Cd={class:"dialog__field"},xd={class:"dialog__label"},Sd={class:"dialog__hint"},Ad=["href"],Ld={class:"preview__balance"},Nd={class:"preview__bar",role:"presentation"},Dd={class:"dialog__field"},Td={class:"dialog__label"},Ed={key:0,class:"dialog__req"},Id={key:1,class:"dialog__optional"},Bd={class:"dialog__actions"};function Md(e,a,t,s,n,i){const l=_("NcNoteCard"),d=_("NcSelect"),h=_("NcDateTimePickerNative"),f=_("NcTextField"),m=_("NcTextArea"),p=_("NcButton"),y=_("NcLoadingIcon"),g=_("Send"),x=_("NcModal");return o(),I(x,{name:i.dialogTitle,size:"normal",onClose:a[7]||(a[7]=v=>e.$emit("close"))},{default:C(()=>[r("div",sd,[r("h2",ld,u(i.dialogTitle),1),t.hrMode?(o(),I(l,{key:0,type:"info"},{default:C(()=>[z(u(i.t("absence","Record an absence on behalf of an employee (e.g. sick leave). It is booked directly, without an approval step.")),1)]),_:1})):k("",!0),t.hrMode?(o(),c("div",od,[r("label",rd,u(i.t("absence","Employee")),1),b(d,{modelValue:n.selectedEmployee,"onUpdate:modelValue":a[0]||(a[0]=v=>n.selectedEmployee=v),options:n.employeeOptions,loading:n.employeeLoading,userSelect:!0,label:"displayName",filterable:!1,placeholder:i.t("absence","Search for an employee…"),"aria-label-combobox":i.t("absence","Employee"),onSearch:i.onEmployeeSearch},null,8,["modelValue","options","loading","placeholder","aria-label-combobox","onSearch"])])):k("",!0),r("div",cd,[r("label",ud,u(i.t("absence","Leave type")),1),b(d,{modelValue:n.selectedType,"onUpdate:modelValue":a[1]||(a[1]=v=>n.selectedType=v),options:i.typeOptions,label:"label",clearable:!1,"aria-label-combobox":i.t("absence","Leave type")},{option:C(({icon:v,label:A})=>[r("span",dd,[r("span",pd,u(v),1),z(u(A),1)])]),"selected-option":C(({icon:v,label:A})=>[r("span",hd,[r("span",md,u(v),1),z(u(A),1)])]),_:1},8,["modelValue","options","aria-label-combobox"])]),i.needsReplacement?(o(),c("div",fd,[r("label",gd,[z(u(i.t("absence","Replacement")),1),a[8]||(a[8]=r("span",{class:"dialog__req"},"*",-1))]),b(d,{modelValue:n.selectedReplacement,"onUpdate:modelValue":a[2]||(a[2]=v=>n.selectedReplacement=v),options:n.replacementOptions,loading:n.replacementLoading,userSelect:!0,label:"displayName",filterable:!1,placeholder:i.t("absence","Who covers for you?"),"aria-label-combobox":i.t("absence","Replacement"),onSearch:i.onReplacementSearch},null,8,["modelValue","options","loading","placeholder","aria-label-combobox","onSearch"]),r("p",yd,u(i.t("absence","A colleague who covers your duties while you are away. They are notified once your leave is approved.")),1)])):k("",!0),r("div",bd,[r("div",vd,[r("label",_d,u(i.t("absence","From")),1),b(h,{modelValue:i.startDate,"onUpdate:modelValue":a[3]||(a[3]=v=>i.startDate=v),type:"date"},null,8,["modelValue"])]),r("div",wd,[r("label",kd,u(i.t("absence","To")),1),b(h,{modelValue:i.endDate,"onUpdate:modelValue":a[4]||(a[4]=v=>i.endDate=v),type:"date"},null,8,["modelValue"])])]),r("div",Cd,[r("label",xd,[z(u(i.t("absence","Working days")),1),a[9]||(a[9]=r("span",{class:"dialog__req"},"*",-1))]),b(f,{modelValue:n.workingDays,type:"number",min:"0",step:"0.5",label:i.t("absence","Working days"),labelVisible:!1,"onUpdate:modelValue":i.onWorkingDaysInput},null,8,["modelValue","label","onUpdate:modelValue"]),r("p",Sd,[i.prefillActive?(o(),c(j,{key:0},[z(u(i.t("absence","Prefilled from your"))+" ",1),r("a",{href:i.settingsUrl,target:"_blank",rel:"noreferrer noopener",class:"dialog__link"},u(i.t("absence","working days and public holidays")),9,Ad),z(" "+u(i.t("absence","— adjust it if needed. Your manager will verify it.")),1)],64)):(o(),c(j,{key:1},[z(u(i.t("absence","Number of working days this absence covers (excluding weekends and public holidays). Your manager will verify it.")),1)],64))])]),i.balanceRow&&!t.hrMode&&i.workingDaysNum>0?(o(),c("div",{key:3,class:"preview",style:ne({"--type-color":i.typeColor})},[r("div",Ld,[r("span",null,u(i.t("absence","Available")),1),r("strong",null,u(i.formatDays(i.balanceRow.available))+" → "+u(i.formatDays(i.projectedAvailable)),1),r("span",Nd,[r("span",{class:"preview__bar-fill",style:ne({width:i.availablePct+"%"})},null,4)])])],4)):k("",!0),i.wouldGoNegative?(o(),I(l,{key:4,type:"warning"},{default:C(()=>[z(u(i.t("absence","Heads up: this goes beyond your available balance. You can still submit — HR may approve it.")),1)]),_:1})):k("",!0),i.overlapCount?(o(),I(l,{key:5,type:i.coverageTight?"warning":"info"},{default:C(()=>[i.coverageTight?(o(),c(j,{key:0},[z(u(i.n("absence","Heads up: %n colleague is already off then ({names}), so approving this would leave the team thin. You can still submit.","Heads up: %n colleagues are already off then ({names}), so approving this would leave the team thin. You can still submit.",i.overlapCount,{names:i.overlapLabel})),1)],64)):(o(),c(j,{key:1},[z(u(i.n("absence","%n colleague is off then ({names}).","%n colleagues are off then ({names}).",i.overlapCount,{names:i.overlapLabel})),1)],64))]),_:1},8,["type"])):k("",!0),r("div",Dd,[r("label",Td,[z(u(i.t("absence","Reason"))+" ",1),i.requiresNote?(o(),c("span",Ed,"*")):(o(),c("span",Id,u(i.t("absence","(optional)")),1))]),b(m,{modelValue:n.reason,"onUpdate:modelValue":a[5]||(a[5]=v=>n.reason=v),placeholder:i.t("absence","Optional note for your manager"),resize:"vertical",rows:"2"},null,8,["modelValue","placeholder"])]),r("div",Bd,[b(p,{variant:"tertiary",onClick:a[6]||(a[6]=v=>e.$emit("close"))},{default:C(()=>[z(u(i.t("absence","Cancel")),1)]),_:1}),b(p,{variant:"primary",disabled:!i.canSubmit||n.submitting,onClick:i.submit},{icon:C(()=>[n.submitting?(o(),I(y,{key:0,size:20})):(o(),I(g,{key:1,size:20}))]),default:C(()=>[z(" "+u(i.submitLabel),1)]),_:1},8,["disabled","onClick"])])])]),_:1},8,["name"])}const $d=H(nd,[["render",Md],["__scopeId","data-v-0efca66b"]]),Pa=new WeakMap,ss={mounted(e,a){const t=!a.modifiers.bubble;let s;if(typeof a.value=="function")s=Pi(e,a.value,{capture:t});else{const[n,i]=a.value;s=Pi(e,n,Object.assign({capture:t},i))}Pa.set(e,s)},unmounted(e){const a=Pa.get(e);a&&typeof a=="function"?a():a?.stop(),Pa.delete(e)}},zd={mounted(e){e.focus()}},Rd="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Vd="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",ai="numeric",ii="ascii",ni="alpha",It="asciinumeric",Nt="alphanumeric",si="domain",ls="emoji",Pd="scheme",Od="slashscheme",Oa="whitespace";function qd(e,a){return e in a||(a[e]=[]),a[e]}function lt(e,a,t){a[ai]&&(a[It]=!0,a[Nt]=!0),a[ii]&&(a[It]=!0,a[ni]=!0),a[It]&&(a[Nt]=!0),a[ni]&&(a[Nt]=!0),a[Nt]&&(a[si]=!0),a[ls]&&(a[si]=!0);for(const s in a){const n=qd(s,t);n.indexOf(e)<0&&n.push(e)}}function Fd(e,a){const t={};for(const s in a)a[s].indexOf(e)>=0&&(t[s]=!0);return t}function Ce(e=null){this.j={},this.jr=[],this.jd=null,this.t=e}Ce.groups={},Ce.prototype={accepts(){return!!this.t},go(e){const a=this,t=a.j[e];if(t)return t;for(let s=0;se.ta(a,t,s,n),de=(e,a,t,s,n)=>e.tr(a,t,s,n),sn=(e,a,t,s,n)=>e.ts(a,t,s,n),M=(e,a,t,s,n)=>e.tt(a,t,s,n),We="WORD",li="UWORD",os="ASCIINUMERICAL",rs="ALPHANUMERICAL",Vt="LOCALHOST",oi="TLD",ri="UTLD",Xt="SCHEME",yt="SLASH_SCHEME",Ai="NUM",ci="WS",Li="NL",Bt="OPENBRACE",Mt="CLOSEBRACE",ta="OPENBRACKET",aa="CLOSEBRACKET",ia="OPENPAREN",na="CLOSEPAREN",sa="OPENANGLEBRACKET",la="CLOSEANGLEBRACKET",oa="FULLWIDTHLEFTPAREN",ra="FULLWIDTHRIGHTPAREN",ca="LEFTCORNERBRACKET",ua="RIGHTCORNERBRACKET",da="LEFTWHITECORNERBRACKET",pa="RIGHTWHITECORNERBRACKET",ha="FULLWIDTHLESSTHAN",ma="FULLWIDTHGREATERTHAN",fa="AMPERSAND",ga="APOSTROPHE",ya="ASTERISK",Je="AT",ba="BACKSLASH",va="BACKTICK",_a="CARET",ot="COLON",Ni="COMMA",wa="DOLLAR",Re="DOT",ka="EQUALS",Di="EXCLAMATION",Ee="HYPHEN",$t="PERCENT",Ca="PIPE",xa="PLUS",Sa="POUND",zt="QUERY",Ti="QUOTE",cs="FULLWIDTHMIDDLEDOT",Ei="SEMI",Ve="SLASH",Rt="TILDE",Aa="UNDERSCORE",us="EMOJI",La="SYM";var ds=Object.freeze({__proto__:null,ALPHANUMERICAL:rs,AMPERSAND:fa,APOSTROPHE:ga,ASCIINUMERICAL:os,ASTERISK:ya,AT:Je,BACKSLASH:ba,BACKTICK:va,CARET:_a,CLOSEANGLEBRACKET:la,CLOSEBRACE:Mt,CLOSEBRACKET:aa,CLOSEPAREN:na,COLON:ot,COMMA:Ni,DOLLAR:wa,DOT:Re,EMOJI:us,EQUALS:ka,EXCLAMATION:Di,FULLWIDTHGREATERTHAN:ma,FULLWIDTHLEFTPAREN:oa,FULLWIDTHLESSTHAN:ha,FULLWIDTHMIDDLEDOT:cs,FULLWIDTHRIGHTPAREN:ra,HYPHEN:Ee,LEFTCORNERBRACKET:ca,LEFTWHITECORNERBRACKET:da,LOCALHOST:Vt,NL:Li,NUM:Ai,OPENANGLEBRACKET:sa,OPENBRACE:Bt,OPENBRACKET:ta,OPENPAREN:ia,PERCENT:$t,PIPE:Ca,PLUS:xa,POUND:Sa,QUERY:zt,QUOTE:Ti,RIGHTCORNERBRACKET:ua,RIGHTWHITECORNERBRACKET:pa,SCHEME:Xt,SEMI:Ei,SLASH:Ve,SLASH_SCHEME:yt,SYM:La,TILDE:Rt,TLD:oi,UNDERSCORE:Aa,UTLD:ri,UWORD:li,WORD:We,WS:ci});const Ue=/[a-z]/,At=new RegExp("\\p{L}","u"),qa=new RegExp("\\p{Emoji}","u"),je=/\d/,Fa=/\s/,ln="\r",Ha=` +`,Hd="️",Ud="‍",Ua="";let jt=null,Wt=null;function jd(e=[]){const a={};Ce.groups=a;const t=new Ce;jt==null&&(jt=on(Rd)),Wt==null&&(Wt=on(Vd)),M(t,"'",ga),M(t,"{",Bt),M(t,"}",Mt),M(t,"[",ta),M(t,"]",aa),M(t,"(",ia),M(t,")",na),M(t,"<",sa),M(t,">",la),M(t,"(",oa),M(t,")",ra),M(t,"「",ca),M(t,"」",ua),M(t,"『",da),M(t,"』",pa),M(t,"<",ha),M(t,">",ma),M(t,"&",fa),M(t,"*",ya),M(t,"@",Je),M(t,"`",va),M(t,"^",_a),M(t,":",ot),M(t,",",Ni),M(t,"$",wa),M(t,".",Re),M(t,"=",ka),M(t,"!",Di),M(t,"-",Ee),M(t,"%",$t),M(t,"|",Ca),M(t,"+",xa),M(t,"#",Sa),M(t,"?",zt),M(t,'"',Ti),M(t,"/",Ve),M(t,";",Ei),M(t,"~",Rt),M(t,"_",Aa),M(t,"\\",ba),M(t,"・",cs);const s=de(t,je,Ai,{[ai]:!0});de(s,je,s);const n=de(s,Ue,os,{[It]:!0}),i=de(s,At,rs,{[Nt]:!0}),l=de(t,Ue,We,{[ii]:!0});de(l,je,n),de(l,Ue,l),de(n,je,n),de(n,Ue,n);const d=de(t,At,li,{[ni]:!0});de(d,Ue),de(d,je,i),de(d,At,d),de(i,je,i),de(i,Ue),de(i,At,i);const h=M(t,Ha,Li,{[Oa]:!0}),f=M(t,ln,ci,{[Oa]:!0}),m=de(t,Fa,ci,{[Oa]:!0});M(t,Ua,m),M(f,Ha,h),M(f,Ua,m),de(f,Fa,m),M(m,ln),M(m,Ha),de(m,Fa,m),M(m,Ua,m);const p=de(t,qa,us,{[ls]:!0});M(p,"#"),de(p,qa,p),M(p,Hd,p);const y=M(p,Ud);M(y,"#"),de(y,qa,p);const g=[[Ue,l],[je,n]],x=[[Ue,null],[At,d],[je,i]];for(let v=0;vv[0]>A[0]?1:-1);for(let v=0;v=0?V[si]=!0:Ue.test(A)?je.test(A)?V[It]=!0:V[ii]=!0:V[ai]=!0,sn(t,A,A,V)}return sn(t,"localhost",Vt,{ascii:!0}),t.jd=new Ce(La),{start:t,tokens:Object.assign({groups:a},ds)}}function ps(e,a){const t=Wd(a.replace(/[A-Z]/g,d=>d.toLowerCase())),s=t.length,n=[];let i=0,l=0;for(;l=0&&(p+=t[l].length,y++),f+=t[l].length,i+=t[l].length,l++;i-=p,l-=y,f-=p,n.push({t:m.t,v:a.slice(i-f,i),s:i-f,e:i})}return n}function Wd(e){const a=[],t=e.length;let s=0;for(;s56319||s+1===t||(i=e.charCodeAt(s+1))<56320||i>57343?e[s]:e.slice(s,s+2);a.push(l),s+=l.length}return a}function Xe(e,a,t,s,n){let i;const l=a.length;for(let d=0;d=0;)i++;if(i>0){a.push(t.join(""));for(let l=parseInt(e.substring(s,s+i),10);l>0;l--)t.pop();s+=i}else t.push(e[s]),s++}return a}const Pt={defaultProtocol:"http",events:null,format:rn,formatHref:rn,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Ii(e,a=null){let t=Object.assign({},Pt);e&&(t=Object.assign(t,e instanceof Ii?e.o:e));const s=t.ignoreTags,n=[];for(let i=0;it?s.substring(0,t)+"…":s},toFormattedHref(e){return e.get("formatHref",this.toHref(e.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(e=Pt.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(e),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(e){return{type:this.t,value:this.toFormattedString(e),isLink:this.isLink,href:this.toFormattedHref(e),start:this.startIndex(),end:this.endIndex()}},validate(e){return e.get("validate",this.toString(),this)},render(e){const a=this,t=this.toHref(e.get("defaultProtocol")),s=e.get("formatHref",t,this),n=e.get("tagName",t,a),i=this.toFormattedString(e),l={},d=e.get("className",t,a),h=e.get("target",t,a),f=e.get("rel",t,a),m=e.getObj("attributes",t,a),p=e.getObj("events",t,a);return l.href=s,d&&(l.class=d),h&&(l.target=h),f&&(l.rel=f),m&&Object.assign(l,m),{tagName:n,attributes:l,content:i,eventListeners:p}}};function $a(e,a){class t extends hs{constructor(n,i){super(n,i),this.t=e}}for(const s in a)t.prototype[s]=a[s];return t.t=e,t}const Gd=$a("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),cn=$a("text"),Zd=$a("nl"),Gt=$a("url",{isLink:!0,toHref(e=Pt.defaultProtocol){return this.hasProtocol()?this.v:`${e}://${this.v}`},hasProtocol(){const e=this.tk;return e.length>=2&&e[0].t!==Vt&&e[1].t===ot}}),Te=e=>new Ce(e);function Kd({groups:e}){const a=e.domain.concat([fa,ya,Je,ba,va,_a,wa,ka,Ee,Ai,$t,Ca,xa,Sa,Ve,La,Rt,Aa]),t=[ga,ot,Ni,Re,Di,$t,zt,Ti,Ei,sa,la,Bt,Mt,aa,ta,ia,na,oa,ra,ca,ua,da,pa,ha,ma],s=[fa,ga,ya,ba,va,_a,wa,ka,Ee,Bt,Mt,$t,Ca,xa,Sa,zt,Ve,La,Rt,Aa],n=Te(),i=M(n,Rt);ee(i,s,i),ee(i,e.domain,i);const l=Te(),d=Te(),h=Te();ee(n,e.domain,l),ee(n,e.scheme,d),ee(n,e.slashscheme,h),ee(l,s,i),ee(l,e.domain,l);const f=M(l,Je);M(i,Je,f),M(d,Je,f),M(h,Je,f);const m=M(i,Re);ee(m,s,i),ee(m,e.domain,i);const p=Te();ee(f,e.domain,p),ee(p,e.domain,p);const y=M(p,Re);ee(y,e.domain,p);const g=Te(Gd);ee(y,e.tld,g),ee(y,e.utld,g),M(f,Vt,g);const x=M(p,Ee);M(x,Ee,x),ee(x,e.domain,p),ee(g,e.domain,p),M(g,Re,y),M(g,Ee,x);const v=M(l,Ee),A=M(l,Re);M(v,Ee,v),ee(v,e.domain,l),ee(A,s,i),ee(A,e.domain,l);const V=Te(Gt);ee(A,e.tld,V),ee(A,e.utld,V),ee(V,e.domain,l),ee(V,s,i),M(V,Re,A),M(V,Ee,v),M(V,Je,f);const L=M(V,ot),R=Te(Gt);ee(L,e.numeric,R);const Y=Te(Gt),ae=Te();ee(Y,a,Y),ee(Y,t,ae),ee(ae,a,Y),ee(ae,t,ae),M(V,Ve,Y),M(R,Ve,Y);const re=M(d,ot),ce=M(h,ot),Be=M(ce,Ve),G=M(Be,Ve);ee(d,e.domain,l),M(d,Re,A),M(d,Ee,v),ee(h,e.domain,l),M(h,Re,A),M(h,Ee,v),ee(re,e.domain,Y),M(re,Ve,Y),M(re,zt,Y),ee(G,e.domain,Y),ee(G,a,Y),M(G,Ve,Y);const ze=[[Bt,Mt],[ta,aa],[ia,na],[sa,la],[oa,ra],[ca,ua],[da,pa],[ha,ma]];for(let qe=0;qe=0&&y++,n++,m++;if(y<0)n-=m,n0&&(i.push(ja(cn,a,l)),l=[]),n-=y,m-=y;const g=p.t,x=t.slice(n-m,n);i.push(ja(g,a,x))}}return l.length>0&&i.push(ja(cn,a,l)),i}function ja(e,a,t){const s=t[0].s,n=t[t.length-1].e,i=a.slice(s,n);return new e(i,t)}const fe={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Xd(){fe.scanner=jd(fe.customSchemes);for(let e=0;e +`):!n.isLink||!a.check(n)?s.push(In(n.toString())):s.push(a.render(n));return s.join("")}function Jd(e){return e.replace(/"/g,""")}function ep(e){const a=[];for(const t in e){const s=e[t]+"";a.push(`${t}="${Jd(s)}"`)}return a.join(" ")}function tp({tagName:e,attributes:a,content:t}){return`<${e} ${ep(a)}>${In(t)}`}const ap=function(e,{value:a}){a?.linkify===!0&&(e.innerHTML=Qd(a.text))},ip=["title"],np=ge({__name:"NcAppSidebarHeader",props:{name:{},title:{},linkify:{type:Boolean}},setup(e){const a=_e("NcAppSidebar:header:ref");return(t,s)=>xe((o(),c("h2",{ref_key:"headerRef",ref:a,tabindex:"-1",title:e.title},[z(u(e.name),1)],8,ip)),[[X(ap),{text:e.name,linkify:e.linkify}]])}}),sp=["aria-labelledby"],lp={key:0,class:"empty-content__icon","aria-hidden":"true"},op=["id"],rp={key:2,class:"empty-content__description"},cp={key:3,class:"empty-content__action"},up=ge({__name:"NcEmptyContent",props:{description:{default:""},name:{default:""}},setup(e){const a=_t();return(t,s)=>(o(),c("div",{"aria-labelledby":X(a),class:"empty-content",role:"note"},[t.$slots.icon?(o(),c("div",lp,[F(t.$slots,"icon",{},void 0,!0)])):k("",!0),e.name!==""||t.$slots.name?(o(),c("div",{key:1,id:X(a),class:"empty-content__name"},[F(t.$slots,"name",{},()=>[z(u(e.name),1)],!0)],8,op)):k("",!0),e.description!==""||t.$slots.description?(o(),c("p",rp,[F(t.$slots,"description",{},()=>[z(u(e.description),1)],!0)])):k("",!0),t.$slots.action?(o(),c("div",cp,[F(t.$slots,"action",{},void 0,!0)])):k("",!0)],8,sp))}}),Oe=te(up,[["__scopeId","data-v-8609a4c1"]]),dp={name:"DockRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},pp=["aria-hidden","aria-label"],hp=["fill","width","height"],mp={d:"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z"},fp={key:0};function gp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon dock-right-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",mp,[t.title?(o(),c("title",fp,u(t.title),1)):k("",!0)])],8,hp))],16,pp)}const yp=te(dp,[["render",gp]]),bp={name:"StarIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},vp=["aria-hidden","aria-label"],_p=["fill","width","height"],wp={d:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"},kp={key:0};function Cp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon star-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",wp,[t.title?(o(),c("title",kp,u(t.title),1)):k("",!0)])],8,_p))],16,vp)}const xp=te(bp,[["render",Cp]]),Sp={name:"StarOutlineIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},Ap=["aria-hidden","aria-label"],Lp=["fill","width","height"],Np={d:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z"},Dp={key:0};function Tp(e,a,t,s,n,i){return o(),c("span",J(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon star-outline-icon",role:"img",onClick:a[0]||(a[0]=l=>e.$emit("click",l))}),[(o(),c("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[r("path",Np,[t.title?(o(),c("title",Dp,u(t.title),1)):k("",!0)])],8,Lp))],16,Ap)}const Ep=te(Sp,[["render",Tp]]),Ip=["aria-selected","tabindex"],Bp=ge({__name:"NcAppSidebarTabsButton",props:dt({tab:{}},{selected:{type:Boolean,required:!0},selectedModifiers:{}}),emits:["update:selected"],setup(e){const a=pt(e,"selected");return(t,s)=>(o(),c("button",{class:U(["button-vue",[t.$style.sidebarTabsButton,{[t.$style.sidebarTabsButton_selected]:a.value,[t.$style.sidebarTabsButton_legacy]:X(it)}]]),role:"tab","aria-selected":a.value,tabindex:a.value?0:-1,onClick:s[0]||(s[0]=n=>a.value=!0)},[r("span",{class:U(t.$style.sidebarTabsButton__icon)},[b(ki,{vnodes:e.tab.renderIcon()},{default:C(()=>[r("span",{class:U([t.$style.sidebarTabsButton__legacyIcon,e.tab.icon])},null,2)]),_:1},8,["vnodes"])],2),r("span",{class:U(t.$style.sidebarTabsButton__name)},u(e.tab.name),3)],10,Ip))}}),Mp="_sidebarTabsButton_OCROY",$p="_sidebarTabsButton_legacy_e9-y9",zp="_sidebarTabsButton_selected_S48M1",Rp="_sidebarTabsButton__name_GZRY8",Vp="_sidebarTabsButton__icon_ZDmkU",Pp="_sidebarTabsButton__legacyIcon_y6cLW",Op={"material-design-icon":"_material-design-icon_v9SPG",sidebarTabsButton:Mp,sidebarTabsButton_legacy:$p,sidebarTabsButton_selected:zp,sidebarTabsButton__name:Rp,sidebarTabsButton__icon:Vp,sidebarTabsButton__legacyIcon:Pp},qp={$style:Op},Fp=te(Bp,[["__cssModules",qp]]),Hp={name:"NcAppSidebarTabs",components:{NcAppSidebarTabsButton:Fp},provide(){return{registerTab:this.registerTab,unregisterTab:this.unregisterTab,getActiveTab:()=>this.activeTab,isTablistShown:()=>this.hasMultipleTabs}},props:{active:{type:String,default:""},forceTabs:{type:Boolean,default:!1}},emits:["update:active"],data(e){return{tabs:[],activeTab:e.active,isLegacy34:it}},computed:{hasMultipleTabs(){return this.tabs.length>1},showForSingleTab(){return this.forceTabs&&this.tabs.length===1},currentTabIndex(){return this.tabs.findIndex(e=>e.id===this.activeTab)}},watch:{tabs(){this.active&&this.updateActive()},active(e){e!==this.activeTab&&this.updateActive()}},methods:{setActive(e){this.activeTab=e,this.$emit("update:active",this.activeTab)},focusPreviousTab(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab(){this.currentTabIndexe===this.active)?this.active:this.tabs[0]?.id??""},registerTab(e){this.tabs.push(e),this.tabs.sort((a,t)=>a.order===t.order?a.name.localeCompare(t.name,[Tn()]):a.order-t.order),this.updateActive()},unregisterTab(e){const a=this.tabs.findIndex(t=>t.id===e);a!==-1&&this.tabs.splice(a,1),this.activeTab===e&&this.updateActive()}}},Up={class:"app-sidebar-tabs"};function jp(e,a,t,s,n,i){const l=_("NcAppSidebarTabsButton");return o(),c("div",Up,[i.hasMultipleTabs||i.showForSingleTab?(o(),c("div",{key:0,role:"tablist",class:U(["app-sidebar-tabs__nav",{"app-sidebar-tabs__nav--legacy":n.isLegacy34}]),onKeydown:[a[0]||(a[0]=we(pe((...d)=>i.focusPreviousTab&&i.focusPreviousTab(...d),["exact","prevent","stop"]),["left"])),a[1]||(a[1]=we(pe((...d)=>i.focusNextTab&&i.focusNextTab(...d),["exact","prevent","stop"]),["right"])),a[2]||(a[2]=we(pe((...d)=>i.focusActiveTabContent&&i.focusActiveTabContent(...d),["exact","prevent","stop"]),["tab"])),a[3]||(a[3]=we(pe((...d)=>i.focusFirstTab&&i.focusFirstTab(...d),["exact","prevent","stop"]),["home"])),a[4]||(a[4]=we(pe((...d)=>i.focusLastTab&&i.focusLastTab(...d),["exact","prevent","stop"]),["end"])),a[5]||(a[5]=we(pe((...d)=>i.focusFirstTab&&i.focusFirstTab(...d),["exact","prevent","stop"]),["page-up"])),a[6]||(a[6]=we(pe((...d)=>i.focusLastTab&&i.focusLastTab(...d),["exact","prevent","stop"]),["page-down"]))]},[(o(!0),c(j,null,se(n.tabs,d=>(o(),I(l,{id:`tab-button-${d.id}`,key:d.id,class:"app-sidebar-tabs__tab","aria-controls":`tab-${d.id}`,selected:n.activeTab===d.id,tab:d,"onUpdate:selected":h=>i.setActive(d.id)},null,8,["id","aria-controls","selected","tab","onUpdate:selected"]))),128))],34)):k("",!0),r("div",{class:U(["app-sidebar-tabs__content",{"app-sidebar-tabs__content--multiple":i.hasMultipleTabs}])},[F(e.$slots,"default",{},void 0,!0)],2)])}const Wp=te(Hp,[["render",jp],["__scopeId","data-v-e74d1502"]]);Ne(ll);const Gp={name:"NcAppSidebar",components:{NcActions:ct,NcAppSidebarHeader:np,NcAppSidebarTabs:Wp,NcButton:me,NcLoadingIcon:qt,NcEmptyContent:Oe,IconArrowRight:Kn,IconClose:Ln,IconDockRight:yp,IconStar:xp,IconStarOutline:Ep},directives:{Focus:zd,ClickOutside:ss},inject:{ncContentSelector:{from:Zn,default:void 0}},props:{active:{type:String,default:""},name:{type:String,required:!0},nameEditable:{type:Boolean,default:!1},namePlaceholder:{type:String,default:""},subname:{type:String,default:""},subtitle:{type:String,default:""},background:{type:String,default:""},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTabs:{type:Boolean,default:!1},linkifyName:{type:Boolean,default:!1},title:{type:String,default:""},open:{type:Boolean,default:!0},toggleClasses:{type:[String,Array,Object],default:""},toggleAttrs:{type:Object,default:void 0},noToggle:{type:Boolean,default:!1}},emits:["close","closed","opened","update:active","update:name","update:nameEditable","update:open","update:starred","submitName","dismissEditing"],setup(){const e=Ie(null);return he("NcAppSidebar:header:ref",e),{uid:_t(),isMobile:cl(),headerRef:e}},data(){return{changeNameTranslated:Z("Change name"),closeTranslated:Z("Close sidebar"),favoriteTranslated:Z("Favorite"),isStarred:this.starred,focusTrap:null,elementToReturnFocus:null}},computed:{canStar(){return this.isStarred!==null},hasFigureClickListener(){return!!this.$attrs.onFigureClick}},watch:{starred(){this.isStarred=this.starred},isMobile(){this.toggleFocusTrap()},open(){this.checkToggleButtonContainerAvailability()}},created(){this.preserveElementToReturnFocus(),this.checkToggleButtonContainerAvailability()},beforeUnmount(){this.$emit("closed"),this.focusTrap?.deactivate()},methods:{isSlotPopulated:ol,t:Z,preserveElementToReturnFocus(){if(document.activeElement&&document.activeElement!==document.body&&(this.elementToReturnFocus=document.activeElement,this.elementToReturnFocus.getAttribute("role")==="menuitem")){const e=this.elementToReturnFocus.closest('[role="menu"]');if(e){const a=document.querySelector(`[aria-controls="${e.id}"]`);this.elementToReturnFocus=a}}},initFocusTrap(){this.focusTrap||(this.focusTrap=Sn([this.$refs.sidebar,document.querySelector("#header")],{allowOutsideClick:!0,fallbackFocus:this.$refs.closeButton.$el,trapStack:An(),escapeDeactivates:!1}))},toggleFocusTrap(){this.open&&this.isMobile?(this.initFocusTrap(),this.focusTrap.activate()):this.focusTrap?.deactivate()},onKeydownEsc(e){this.isMobile&&(e.stopPropagation(),this.closeSidebar())},onAfterEnter(e){this.elementToReturnFocus&&this.focus(),this.toggleFocusTrap(),this.$emit("opened",e)},onAfterLeave(e){this.$emit("closed",e),this.toggleFocusTrap(),this.elementToReturnFocus?.focus({focusVisible:!0}),this.elementToReturnFocus=null},closeSidebar(e){this.$emit("close",e),this.$emit("update:open",!1)},onFigureClick(e){this.$emit("figureClick",e)},toggleStarred(){this.isStarred=!this.isStarred,this.$emit("update:starred",this.isStarred)},async editName(){this.$emit("update:nameEditable",!0),this.nameEditable&&(await this.$nextTick(),this.$refs.nameInput.focus())},focus(){if(!this.open&&!this.noToggle){this.$refs.toggle.$el.focus();return}try{this.headerRef.focus()}catch{}},focusActiveTabContent(){this.preserveElementToReturnFocus(),this.$refs.tabs.focusActiveTabContent()},checkToggleButtonContainerAvailability(){this.open===!1&&!this.noToggle&&!this.ncContentSelector&&$e.warn("[NcAppSidebar] It looks like you want to use NcAppSidebar with the built-in toggle button. This feature is only available when NcAppSidebar is used in NcContent.")},onNameInput(e){this.$emit("update:name",e.target.value)},onSubmitName(e){this.$emit("update:nameEditable",!1),this.$emit("submitName",e)},onDismissEditing(){this.$emit("update:nameEditable",!1),this.$emit("dismissEditing")},onUpdateActive(e){this.$emit("update:active",e)}}},Zp=["aria-labelledby"],Kp={class:"app-sidebar-header__info"},Yp={key:0,class:"app-sidebar-header__tertiary-actions"},Xp={class:"app-sidebar-header__name-container"},Qp={class:"app-sidebar-header__mainname-container"},Jp=["placeholder","value"],eh=["title"],th={key:2,class:"app-sidebar-header__description"};function ah(e,a,t,s,n,i){const l=_("IconDockRight"),d=_("NcButton"),h=_("NcLoadingIcon"),f=_("IconStar"),m=_("IconStarOutline"),p=_("NcAppSidebarHeader"),y=_("IconArrowRight"),g=_("NcActions"),x=_("IconClose"),v=_("NcAppSidebarTabs"),A=_("NcEmptyContent"),V=Xa("focus"),L=Xa("click-outside");return o(),I(rl,{appear:"",name:"slide-right",onAfterEnter:i.onAfterEnter,onAfterLeave:i.onAfterLeave},{default:C(()=>[xe(r("aside",{id:"app-sidebar-vue",ref:"sidebar",class:"app-sidebar","aria-labelledby":`app-sidebar-vue-${s.uid}__header`,onKeydown:a[6]||(a[6]=we((...R)=>i.onKeydownEsc&&i.onKeydownEsc(...R),["esc"]))},[i.ncContentSelector&&!t.open&&!t.noToggle?(o(),I(Dn,{key:0,to:i.ncContentSelector},[b(d,J({ref:"toggle","aria-label":i.t("Open sidebar"),class:["app-sidebar__toggle",t.toggleClasses],variant:"tertiary"},t.toggleAttrs,{onClick:a[0]||(a[0]=R=>e.$emit("update:open",!0))}),{icon:C(()=>[F(e.$slots,"toggle-icon",{},()=>[b(l,{size:20})],!0)]),_:3},16,["aria-label","class"])],8,["to"])):k("",!0),r("header",{class:U(["app-sidebar-header",{"app-sidebar-header--with-figure":i.isSlotPopulated(e.$slots.header?.())||t.background,"app-sidebar-header--compact":t.compact}])},[t.empty?(o(),I(p,{key:1,class:"app-sidebar-header__mainname--hidden",name:t.name,tabindex:"-1"},null,8,["name"])):F(e.$slots,"info",{key:0},()=>[r("div",Kp,[i.isSlotPopulated(e.$slots.header?.())||t.background?(o(),c("div",{key:0,class:U(["app-sidebar-header__figure",{"app-sidebar-header__figure--with-action":i.hasFigureClickListener}]),style:ne({backgroundImage:`url(${t.background})`}),tabindex:"0",onClick:a[1]||(a[1]=(...R)=>i.onFigureClick&&i.onFigureClick(...R)),onKeydown:a[2]||(a[2]=we((...R)=>i.onFigureClick&&i.onFigureClick(...R),["enter"]))},[F(e.$slots,"header",{class:"app-sidebar-header__background"},void 0,!0)],38)):k("",!0),r("div",{class:U(["app-sidebar-header__desc",{"app-sidebar-header__desc--with-tertiary-action":i.canStar||i.isSlotPopulated(e.$slots["tertiary-actions"]?.()),"app-sidebar-header__desc--editable":t.nameEditable&&!t.subname,"app-sidebar-header__desc--with-subname--editable":t.nameEditable&&t.subname,"app-sidebar-header__desc--without-actions":!i.isSlotPopulated(e.$slots["secondary-actions"]?.())}])},[i.canStar||i.isSlotPopulated(e.$slots["tertiary-actions"]?.())?(o(),c("div",Yp,[F(e.$slots,"tertiary-actions",{},()=>[i.canStar?(o(),I(d,{key:0,"aria-label":n.favoriteTranslated,pressed:n.isStarred,class:"app-sidebar-header__star",variant:"secondary",onClick:pe(i.toggleStarred,["prevent"])},{icon:C(()=>[t.starLoading?(o(),I(h,{key:0})):n.isStarred?(o(),I(f,{key:1,size:20})):(o(),I(m,{key:2,size:20}))]),_:1},8,["aria-label","pressed","onClick"])):k("",!0)],!0)])):k("",!0),r("div",Xp,[r("div",Qp,[xe(b(p,{class:"app-sidebar-header__mainname",name:t.name,linkify:t.linkifyName,title:t.title,tabindex:t.nameEditable?0:-1,onClick:pe(i.editName,["self"])},null,8,["name","linkify","title","tabindex","onClick"]),[[et,!t.nameEditable]]),t.nameEditable?xe((o(),c("form",{key:0,class:"app-sidebar-header__mainname-form",onSubmit:a[5]||(a[5]=pe((...R)=>i.onSubmitName&&i.onSubmitName(...R),["prevent"]))},[xe(r("input",{ref:"nameInput",class:"app-sidebar-header__mainname-input",type:"text",placeholder:t.namePlaceholder,value:t.name,onKeydown:a[3]||(a[3]=we(pe((...R)=>i.onDismissEditing&&i.onDismissEditing(...R),["stop"]),["esc"])),onInput:a[4]||(a[4]=(...R)=>i.onNameInput&&i.onNameInput(...R))},null,40,Jp),[[V]]),b(d,{"aria-label":n.changeNameTranslated,type:"submit",variant:"tertiary-no-background"},{icon:C(()=>[b(y,{size:20})]),_:1},8,["aria-label"])],32)),[[L,()=>i.onSubmitName()]]):k("",!0),i.isSlotPopulated(e.$slots["secondary-actions"]?.())?(o(),I(g,{key:1,class:"app-sidebar-header__menu",forceMenu:t.forceMenu},{default:C(()=>[F(e.$slots,"secondary-actions",{},void 0,!0)]),_:3},8,["forceMenu"])):k("",!0)]),t.subname.trim()!==""||e.$slots.subname?(o(),c("p",{key:0,title:t.subtitle||void 0,class:"app-sidebar-header__subname"},[F(e.$slots,"subname",{},()=>[z(u(t.subname),1)],!0)],8,eh)):k("",!0)])],2)])],!0),b(d,{ref:"closeButton","aria-label":n.closeTranslated,title:n.closeTranslated,class:"app-sidebar__close",variant:"tertiary",onClick:pe(i.closeSidebar,["prevent"])},{icon:C(()=>[b(x,{size:20})]),_:1},8,["aria-label","title","onClick"]),i.isSlotPopulated(e.$slots.description?.())&&!t.empty?(o(),c("div",th,[F(e.$slots,"description",{},void 0,!0)])):k("",!0)],2),xe(b(v,{ref:"tabs",active:t.active,forceTabs:t.forceTabs,"onUpdate:active":i.onUpdateActive},{default:C(()=>[F(e.$slots,"default",{},void 0,!0)]),_:3},8,["active","forceTabs","onUpdate:active"]),[[et,!t.loading]]),t.loading?(o(),I(A,{key:1},{icon:C(()=>[b(h,{size:64})]),_:1})):k("",!0)],40,Zp),[[et,t.open]])]),_:3},8,["onAfterEnter","onAfterLeave"])}const ih=te(Gp,[["render",ah],["__scopeId","data-v-e8979b7f"]]),nh={name:"NcAppSidebarTab",inject:["registerTab","unregisterTab","getActiveTab","isTablistShown"],props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:""},order:{type:Number,default:0}},emits:["bottomReached","scroll"],expose:["id","name","icon","order","renderIcon"],computed:{isActive(){return this.getActiveTab()===this.id}},created(){this.registerTab(this)},beforeUnmount(){this.unregisterTab(this.id)},methods:{onScroll(e){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit("bottomReached",e),this.$emit("scroll",e)},renderIcon(){return this.$slots.icon?.()}}},sh=["id","aria-hidden","aria-label","aria-labelledby","role","tabindex"],lh={class:"hidden-visually"};function oh(e,a,t,s,n,i){return o(),c("section",{id:`tab-${t.id}`,"aria-hidden":!i.isActive,"aria-label":i.isTablistShown()?void 0:t.name,"aria-labelledby":i.isTablistShown()?`tab-button-${t.id}`:void 0,class:U(["app-sidebar__tab",{"app-sidebar__tab--active":i.isActive}]),role:i.isTablistShown()?"tabpanel":void 0,tabindex:i.isTablistShown()?0:-1,onScroll:a[0]||(a[0]=(...l)=>i.onScroll&&i.onScroll(...l))},[r("h3",lh,u(t.name),1),F(e.$slots,"default",{},void 0,!0)],42,sh)}const rh=te(nh,[["render",oh],["__scopeId","data-v-dba10798"]]);function ch(e,a){const t=(m,p)=>m.startsWith(p)?m.slice(p.length):m,s=(m,...p)=>p.reduce((y,g)=>t(y,g),m);if(!e)return null;const n=/^https?:\/\//.test(a),i=/^[a-z][a-z0-9+.-]*:.+/.test(a);if(!n&&i||n&&!a.startsWith(Oi())||!n&&!a.startsWith("/"))return null;const l=n?s(a,Oi(),"/index.php"):a,d=s(e.options.history.base,ul(),"/index.php"),h=s(l,d)||"/",f=e.resolve(h);return f.matched.length?f.fullPath:null}function uh(e){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(a=>a.enabled(e)):[]}const dh=new Int32Array(4);class be{static hashStr(a,t=!1){return this.onePassHasher.start().appendStr(a).end(t)}static hashAsciiStr(a,t=!1){return this.onePassHasher.start().appendAsciiStr(a).end(t)}static stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]);static buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);static hexChars="0123456789abcdef";static hexOut=[];static onePassHasher=new be;static _hex(a){const t=be.hexChars,s=be.hexOut;let n,i,l,d;for(d=0;d<4;d+=1)for(i=d*8,n=a[d],l=0;l<8;l+=2)s[i+1+l]=t.charAt(n&15),n>>>=4,s[i+0+l]=t.charAt(n&15),n>>>=4;return s.join("")}static _md5cycle(a,t){let s=a[0],n=a[1],i=a[2],l=a[3];s+=(n&i|~n&l)+t[0]-680876936|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[1]-389564586|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[2]+606105819|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[3]-1044525330|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[4]-176418897|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[5]+1200080426|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[6]-1473231341|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[7]-45705983|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[8]+1770035416|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[9]-1958414417|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[10]-42063|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[11]-1990404162|0,n=(n<<22|n>>>10)+i|0,s+=(n&i|~n&l)+t[12]+1804603682|0,s=(s<<7|s>>>25)+n|0,l+=(s&n|~s&i)+t[13]-40341101|0,l=(l<<12|l>>>20)+s|0,i+=(l&s|~l&n)+t[14]-1502002290|0,i=(i<<17|i>>>15)+l|0,n+=(i&l|~i&s)+t[15]+1236535329|0,n=(n<<22|n>>>10)+i|0,s+=(n&l|i&~l)+t[1]-165796510|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[6]-1069501632|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[11]+643717713|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[0]-373897302|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[5]-701558691|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[10]+38016083|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[15]-660478335|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[4]-405537848|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[9]+568446438|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[14]-1019803690|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[3]-187363961|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[8]+1163531501|0,n=(n<<20|n>>>12)+i|0,s+=(n&l|i&~l)+t[13]-1444681467|0,s=(s<<5|s>>>27)+n|0,l+=(s&i|n&~i)+t[2]-51403784|0,l=(l<<9|l>>>23)+s|0,i+=(l&n|s&~n)+t[7]+1735328473|0,i=(i<<14|i>>>18)+l|0,n+=(i&s|l&~s)+t[12]-1926607734|0,n=(n<<20|n>>>12)+i|0,s+=(n^i^l)+t[5]-378558|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[8]-2022574463|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[11]+1839030562|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[14]-35309556|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[1]-1530992060|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[4]+1272893353|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[7]-155497632|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[10]-1094730640|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[13]+681279174|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[0]-358537222|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[3]-722521979|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[6]+76029189|0,n=(n<<23|n>>>9)+i|0,s+=(n^i^l)+t[9]-640364487|0,s=(s<<4|s>>>28)+n|0,l+=(s^n^i)+t[12]-421815835|0,l=(l<<11|l>>>21)+s|0,i+=(l^s^n)+t[15]+530742520|0,i=(i<<16|i>>>16)+l|0,n+=(i^l^s)+t[2]-995338651|0,n=(n<<23|n>>>9)+i|0,s+=(i^(n|~l))+t[0]-198630844|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[7]+1126891415|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[14]-1416354905|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[5]-57434055|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[12]+1700485571|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[3]-1894986606|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[10]-1051523|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[1]-2054922799|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[8]+1873313359|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[15]-30611744|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[6]-1560198380|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[13]+1309151649|0,n=(n<<21|n>>>11)+i|0,s+=(i^(n|~l))+t[4]-145523070|0,s=(s<<6|s>>>26)+n|0,l+=(n^(s|~i))+t[11]-1120210379|0,l=(l<<10|l>>>22)+s|0,i+=(s^(l|~n))+t[2]+718787259|0,i=(i<<15|i>>>17)+l|0,n+=(l^(i|~s))+t[9]-343485551|0,n=(n<<21|n>>>11)+i|0,a[0]=s+a[0]|0,a[1]=n+a[1]|0,a[2]=i+a[2]|0,a[3]=l+a[3]|0}_dataLength=0;_bufferLength=0;_state=new Int32Array(4);_buffer=new ArrayBuffer(68);_buffer8;_buffer32;constructor(){this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}start(){return this._dataLength=0,this._bufferLength=0,this._state.set(be.stateIdentity),this}appendStr(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l;for(l=0;l>>6)+192,t[n++]=i&63|128;else if(i<55296||i>56319)t[n++]=(i>>>12)+224,t[n++]=i>>>6&63|128,t[n++]=i&63|128;else{if(i=(i-55296)*1024+(a.charCodeAt(++l)-56320)+65536,i>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");t[n++]=(i>>>18)+240,t[n++]=i>>>12&63|128,t[n++]=i>>>6&63|128,t[n++]=i&63|128}n>=64&&(this._dataLength+=64,be._md5cycle(this._state,s),n-=64,s[0]=s[16])}return this._bufferLength=n,this}appendAsciiStr(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l=0;for(;;){for(i=Math.min(a.length-l,64-n);i--;)t[n++]=a.charCodeAt(l++);if(n<64)break;this._dataLength+=64,be._md5cycle(this._state,s),n=0}return this._bufferLength=n,this}appendByteArray(a){const t=this._buffer8,s=this._buffer32;let n=this._bufferLength,i,l=0;for(;;){for(i=Math.min(a.length-l,64-n);i--;)t[n++]=a[l++];if(n<64)break;this._dataLength+=64,be._md5cycle(this._state,s),n=0}return this._bufferLength=n,this}getState(){const a=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[a[0],a[1],a[2],a[3]]}}setState(a){const t=a.buffer,s=a.state,n=this._state;let i;for(this._dataLength=a.length,this._bufferLength=a.buflen,n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=s[3],i=0;i>2)+1;this._dataLength+=t;const l=this._dataLength*8;if(s[t]=128,s[t+1]=s[t+2]=s[t+3]=0,n.set(be.buffer32Identity.subarray(i),i),t>55&&(be._md5cycle(this._state,n),n.set(be.buffer32Identity)),l<=4294967295)n[14]=l;else{const d=l.toString(16).match(/(.*?)(.{0,8})$/);if(d===null)return a?dh:"";const h=parseInt(d[2],16),f=parseInt(d[1],16)||0;n[14]=h,n[15]=f}return be._md5cycle(this._state,n),a?this._state:be._hex(this._state)}}if(be.hashStr("hello")!=="5d41402abc4b2a76b9719d911017c592")throw new Error("Md5 self test failed.");Ne(dl);class ve{constructor(a,t,s,n){this.r=a,this.g=t,this.b=s,this.name=n,this.r=Math.min(a,255),this.g=Math.min(t,255),this.b=Math.min(s,255),this.name=n}r;g;b;name;get color(){const a=t=>`00${t.toString(16)}`.slice(-2);return`#${a(this.r)}${a(this.g)}${a(this.b)}`}}function ph(e,a,t){return{r:(t.r-a.r)/e,g:(t.g-a.g)/e,b:(t.b-a.b)/e}}function Wa(e,a,t){const s=[];s.push(a);const n=ph(e,a,t);for(let i=1;i/g,d=/<\/?([^\s\/>]+)/;function h(x,v,A){x=x||"",v=v||[],A=A||"";let V=m(v,A);return p(x,V)}function f(x,v){x=x||[],v=v||"";let A=m(x,v);return function(V){return p(V||"",A)}}h.init_streaming_mode=f;function m(x,v){return x=y(x),{allowable_tags:x,tag_replacement:v,state:s,tag_buffer:"",depth:0,in_quote_char:""}}function p(x,v){if(typeof x!="string")throw new TypeError("'html' parameter must be a string");let A=v.allowable_tags,V=v.tag_replacement,L=v.state,R=v.tag_buffer,Y=v.depth,ae=v.in_quote_char,re="";for(let ce=0,Be=x.length;ce":if(ae)break;if(Y){Y--;break}ae="",L=s,R+=">",A.has(g(R))?re+=R:re+=V,R="";break;case'"':case"'":G===ae?ae="":ae=ae||G,R+=G;break;case"-":R===""?(R.slice(-2)=="--"&&(L=s),R=""):R+=G)}return v.state=L,v.tag_buffer=R,v.depth=Y,v.in_quote_char=ae,re}function y(x){let v=new Set;if(typeof x=="string"){let A;for(;A=l.exec(x);)v.add(A[1])}else!t.nonNative&&typeof x[t.iterator]=="function"?v=new Set(x):typeof x.forEach=="function"&&x.forEach(v.add,v);return v}function g(x){let v=d.exec(x);return v?v[1].toLowerCase():null}e.exports?e.exports=h:a.striptags=h})(fh)})(ui)),ui.exports}gh();function yh(e,a){const t=(a?.size||64)<=64?64:512,s=a?.isGuest?"/guest":"",n=a?.isDarkTheme??Ka(document.body)?"/dark":"";return bi(`/avatar${s}/{user}/{size}${n}?guestFallback=true`,{user:e,size:t})}const bh=`\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst navigationSvg = '\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${__props.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-d13dcb98\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-BYh5hWDN.mjs.map\n","import '../assets/NcCounterBubble-ZnteskDR.css';\nimport { defineComponent, computed, openBlock, createElementBlock, normalizeClass, toDisplayString } from \"vue\";\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"title\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcCounterBubble\",\n props: {\n count: {},\n active: { type: Boolean },\n type: { default: \"\" },\n raw: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const humanizedCount = computed(() => {\n if (props.raw) {\n return props.count.toString();\n }\n const formatter = new Intl.NumberFormat(getCanonicalLocale(), {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n return formatter.format(props.count);\n });\n const originalCountAsTitleIfNeeded = computed(() => {\n if (props.raw) {\n return;\n }\n const countAsString = props.count.toString();\n if (countAsString === humanizedCount.value) {\n return;\n }\n return countAsString;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"counter-bubble__counter\", {\n active: __props.active,\n \"counter-bubble__counter--highlighted\": __props.type === \"highlighted\",\n \"counter-bubble__counter--outlined\": __props.type === \"outlined\"\n }]),\n title: originalCountAsTitleIfNeeded.value\n }, toDisplayString(humanizedCount.value), 11, _hoisted_1);\n };\n }\n});\nconst NcCounterBubble = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-36ffc13f\"]]);\nexport {\n NcCounterBubble as N\n};\n//# sourceMappingURL=NcCounterBubble-CV0YMrXW.mjs.map\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INJECTION_KEY_THEME = /* @__PURE__ */ Symbol.for(\"nc:theme:enforced\");\nexport {\n INJECTION_KEY_THEME as I\n};\n//# sourceMappingURL=constants-wIEKSp2G.mjs.map\n","import { createSharedComposable, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { computed, toValue, ref, watch, readonly, inject } from \"vue\";\nimport { checkIfDarkTheme } from \"../../functions/isDarkTheme/index.mjs\";\nimport { I as INJECTION_KEY_THEME } from \"../../chunks/constants-wIEKSp2G.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction useIsDarkThemeElement(el) {\n const element = computed(() => toValue(el) ?? document.body);\n const isDarkTheme = ref(checkIfDarkTheme(element.value));\n const isDarkSystemTheme = usePreferredDark();\n function updateIsDarkTheme() {\n isDarkTheme.value = checkIfDarkTheme(element.value);\n }\n useMutationObserver(element, updateIsDarkTheme, { attributes: true });\n watch(element, updateIsDarkTheme);\n watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n return readonly(isDarkTheme);\n}\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nfunction useIsDarkTheme() {\n const isDarkTheme = useInternalIsDarkTheme();\n const enforcedTheme = inject(INJECTION_KEY_THEME, void 0);\n return computed(() => {\n if (enforcedTheme?.value) {\n return enforcedTheme.value === \"dark\";\n }\n return isDarkTheme.value;\n });\n}\nexport {\n useIsDarkTheme,\n useIsDarkThemeElement\n};\n//# sourceMappingURL=index.mjs.map\n","import '../assets/NcDateTimePickerNative-BP6eg8aU.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, mergeProps, mergeModels } from \"vue\";\nimport { r as register, x as t40, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t40);\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"id\", \"type\", \"value\", \"min\", \"max\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{ inheritAttrs: false },\n __name: \"NcDateTimePickerNative\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: void 0 },\n id: { default: () => createElementId() },\n inputClass: { default: \"\" },\n type: { default: \"date\" },\n label: { default: () => t(\"Please choose a date\") },\n min: { default: null },\n max: { default: null },\n hideLabel: { type: Boolean }\n }, {\n \"modelValue\": { default: null },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const formattedValue = computed(() => modelValue.value ? formatValue(modelValue.value) : \"\");\n const formattedMax = computed(() => props.max ? formatValue(props.max) : void 0);\n const formattedMin = computed(() => props.min ? formatValue(props.min) : void 0);\n function getReadableDate(value) {\n const yyyy = value.getFullYear().toString().padStart(4, \"0\");\n const MM = (value.getMonth() + 1).toString().padStart(2, \"0\");\n const dd = value.getDate().toString().padStart(2, \"0\");\n const hh = value.getHours().toString().padStart(2, \"0\");\n const mm = value.getMinutes().toString().padStart(2, \"0\");\n return { yyyy, MM, dd, hh, mm };\n }\n function formatValue(value) {\n const { yyyy, MM, dd, hh, mm } = getReadableDate(value);\n if (props.type === \"datetime-local\") {\n return `${yyyy}-${MM}-${dd}T${hh}:${mm}`;\n } else if (props.type === \"date\") {\n return `${yyyy}-${MM}-${dd}`;\n } else if (props.type === \"month\") {\n return `${yyyy}-${MM}`;\n } else if (props.type === \"time\") {\n return `${hh}:${mm}`;\n } else if (props.type === \"week\") {\n const startDate = new Date(Number.parseInt(yyyy), 0, 1);\n const daysSinceBeginningOfYear = Math.floor((value.getTime() - startDate.getTime()) / (24 * 60 * 60 * 1e3));\n const weekNumber = Math.ceil(daysSinceBeginningOfYear / 7);\n return `${yyyy}-W${weekNumber}`;\n }\n return \"\";\n }\n function onInput(event) {\n const input = event.target;\n if (!input || isNaN(input.valueAsNumber)) {\n modelValue.value = null;\n } else if (props.type === \"time\") {\n const time = input.value;\n const { yyyy, MM, dd } = getReadableDate(modelValue.value || /* @__PURE__ */ new Date());\n modelValue.value = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n } else if (props.type === \"month\") {\n const MM = (new Date(input.value).getMonth() + 1).toString().padStart(2, \"0\");\n const { yyyy, dd, hh, mm } = getReadableDate(modelValue.value || /* @__PURE__ */ new Date());\n modelValue.value = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n } else {\n const timezoneOffsetSeconds = new Date(input.valueAsNumber).getTimezoneOffset() * 1e3 * 60;\n const inputDateWithTimezone = input.valueAsNumber + timezoneOffsetSeconds;\n modelValue.value = new Date(inputDateWithTimezone);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"native-datetime-picker\", _ctx.$props.class])\n }, [\n createElementVNode(\"label\", {\n class: normalizeClass([\"native-datetime-picker__label\", { \"hidden-visually\": __props.hideLabel }]),\n for: __props.id\n }, toDisplayString(__props.label), 11, _hoisted_1),\n createElementVNode(\"input\", mergeProps({\n id: __props.id,\n class: [\"native-datetime-picker__input\", __props.inputClass],\n type: __props.type,\n value: formattedValue.value,\n min: formattedMin.value,\n max: formattedMax.value\n }, _ctx.$attrs, { onInput }), null, 16, _hoisted_2)\n ], 2);\n };\n }\n});\nconst NcDateTimePickerNative = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-b97e1f7a\"]]);\nexport {\n NcDateTimePickerNative as N\n};\n//# sourceMappingURL=NcDateTimePickerNative-B8CMOUnH.mjs.map\n","import '../assets/NcTextArea-BxGe3Lqn.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, createBlock, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"textarea__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{ inheritAttrs: false },\n __name: \"NcTextArea\",\n props: /* @__PURE__ */ mergeModels({\n disabled: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: void 0 },\n id: { default: () => createElementId() },\n inputClass: { default: \"\" },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n placeholder: { default: void 0 },\n resize: { default: \"both\" },\n success: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const textAreaElement = useTemplateRef(\"input\");\n const internalPlaceholder = computed(() => props.placeholder || (isLegacy ? props.label : void 0));\n watch(() => props.labelOutside, () => {\n if (!props.labelOutside && !props.label) {\n logger.warn(\"[NcTextArea] You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (typeof attrs[\"aria-describedby\"] === \"string\") {\n ariaDescribedby2.push(attrs[\"aria-describedby\"]);\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function handleInput(event) {\n const { value } = event.target;\n modelValue.value = value;\n }\n function focus(options) {\n textAreaElement.value.focus(options);\n }\n function select() {\n textAreaElement.value.select();\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"textarea\", [\n _ctx.$attrs.class,\n {\n \"textarea--disabled\": __props.disabled,\n \"textarea--legacy\": unref(isLegacy)\n }\n ]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"textarea\", mergeProps({ ..._ctx.$attrs, class: void 0 }, {\n id: __props.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"textarea__input\", [\n __props.inputClass,\n {\n \"textarea__input--label-outside\": __props.labelOutside,\n \"textarea__input--legacy\": unref(isLegacy),\n \"textarea__input--success\": __props.success,\n \"textarea__input--error\": __props.error\n }\n ]],\n disabled: __props.disabled,\n placeholder: internalPlaceholder.value,\n style: { resize: __props.resize },\n value: modelValue.value,\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !__props.labelOutside ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"textarea__label\",\n for: __props.id\n }, toDisplayString(__props.label), 9, _hoisted_3)) : createCommentVNode(\"\", true)\n ]),\n __props.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${__props.id}-helper-text`,\n class: normalizeClass([\"textarea__helper-text-message\", {\n \"textarea__helper-text-message--error\": __props.error,\n \"textarea__helper-text-message--success\": __props.success\n }])\n }, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"textarea__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : __props.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"textarea__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(__props.helperText), 1)\n ], 10, _hoisted_4)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcTextArea = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-d327fb49\"]]);\nexport {\n NcTextArea as N\n};\n//# sourceMappingURL=NcTextArea-Dxzj4zdb.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": __props.disabled,\n \"input-field--error\": __props.error,\n \"input-field--label-outside\": __props.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": __props.pill,\n \"input-field--success\": __props.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: __props.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", __props.inputClass],\n disabled: __props.disabled,\n placeholder: internalPlaceholder.value,\n type: __props.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !__props.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: __props.id\n }, toDisplayString(__props.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n __props.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": __props.trailingButtonLabel,\n disabled: __props.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : __props.success || __props.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n __props.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${__props.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : __props.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(__props.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-5Sg6EUP6.mjs.map\n","import { defineComponent, useModel, useTemplateRef, computed, openBlock, createBlock, unref, mergeProps, createSlots, withCtx, renderSlot, mergeModels } from \"vue\";\nimport { m as mdiArrowRight, a as mdiUndo, b as mdiClose } from \"./mdi-CpchYUUV.mjs\";\nimport { r as register, b as t51, c as t18, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { N as NcInputField } from \"./NcInputField-5Sg6EUP6.mjs\";\nregister(t18, t51);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTextField\",\n props: /* @__PURE__ */ mergeModels({\n class: {},\n inputClass: {},\n id: {},\n label: {},\n labelOutside: { type: Boolean },\n type: {},\n placeholder: {},\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: {},\n disabled: { type: Boolean },\n pill: { type: Boolean },\n trailingButtonIcon: { default: \"close\" }\n }, {\n \"modelValue\": { default: \"\" },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n __expose({\n focus,\n select\n });\n const inputFieldInstance = useTemplateRef(\"inputField\");\n const defaultTrailingButtonLabels = {\n arrowEnd: t(\"Save changes\"),\n close: t(\"Clear text\"),\n undo: t(\"Undo changes\")\n };\n const NcInputFieldPropNames = new Set(Object.keys(NcInputField.props));\n const propsToForward = computed(() => {\n const sharedProps = Object.fromEntries(Object.entries(props).filter(([key]) => NcInputFieldPropNames.has(key)));\n sharedProps.trailingButtonLabel ??= defaultTrailingButtonLabels[props.trailingButtonIcon];\n return sharedProps;\n });\n function focus(options) {\n inputFieldInstance.value.focus(options);\n }\n function select() {\n inputFieldInstance.value.select();\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcInputField), mergeProps(propsToForward.value, {\n ref: \"inputField\",\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)\n }), createSlots({ _: 2 }, [\n !!_ctx.$slots.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\")\n ]),\n key: \"0\"\n } : void 0,\n __props.type !== \"search\" ? {\n name: \"trailing-button-icon\",\n fn: withCtx(() => [\n __props.trailingButtonIcon === \"arrowEnd\" ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 1,\n path: __props.trailingButtonIcon === \"undo\" ? unref(mdiUndo) : unref(mdiClose)\n }, null, 8, [\"path\"]))\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"modelValue\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2.mjs.map\n","\n\n","import { showError, showSuccess } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\n/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n *\n * Lightweight reactive store shared across views (no Vuex/Pinia dependency).\n */\nimport { reactive } from 'vue'\nimport api from './api.js'\n\n/**\n *\n */\nfunction initialSession() {\n\ttry {\n\t\treturn loadState('absence', 'session')\n\t} catch {\n\t\treturn { uid: null }\n\t}\n}\n\n/**\n *\n */\nfunction initialLeaveTypes() {\n\ttry {\n\t\treturn loadState('absence', 'leaveTypes') || []\n\t} catch {\n\t\treturn []\n\t}\n}\n\nexport const store = reactive({\n\tsession: initialSession(),\n\tleaveTypes: initialLeaveTypes(),\n\trequests: [],\n\tbalance: { balances: [] },\n\tloading: false,\n\tselectedId: null,\n\n\t// ---- getters ----\n\tleaveType(id) {\n\t\t// A null/undefined id means the server withheld the leave type (neutral\n\t\t// shared-calendar visibility): show a generic \"Absent\" marker, not \"Unknown\".\n\t\t// The marker has to say nothing about *why* somebody is away. A palm tree here\n\t\t// was not neutral — it read as a holiday, so a colleague on sick leave was\n\t\t// shown sunbathing. Withholding the reason and then inventing a cheerful one\n\t\t// is worse than either revealing it or saying nothing.\n\t\tif (id === null || id === undefined) {\n\t\t\treturn { label: t('absence', 'Absent'), color: '#888', icon: '•' }\n\t\t}\n\t\treturn this.leaveTypes.find((t) => t.id === id) || { label: t('absence', 'Unknown'), color: '#888', icon: '❔' }\n\t},\n\t/**\n\t * True when the type is recorded by HR (e.g. sick leave), not self-requested.\n\t *\n\t * @param request\n\t */\n\tisHrRecorded(request) {\n\t\tconst type = this.leaveType(request.typeId)\n\t\treturn type && type.employeeRequestable === false\n\t},\n\t/**\n\t * Whether to show a status chip. HR-recorded leave (sick) that is approved has no\n\t * approval concept, so the \"Approved\" label is hidden as noise.\n\t *\n\t * @param request\n\t */\n\tstatusVisible(request) {\n\t\treturn !(this.isHrRecorded(request) && request.status === 'APPROVED')\n\t},\n\tget enabledLeaveTypes() {\n\t\treturn this.leaveTypes.filter((t) => t.enabled)\n\t},\n\t/** Types an employee may self-request (excludes HR-recorded types like sick leave). */\n\tget requestableLeaveTypes() {\n\t\treturn this.leaveTypes.filter((t) => t.enabled && t.employeeRequestable)\n\t},\n\n\t// ---- actions ----\n\tasync refreshSession() {\n\t\ttry {\n\t\t\tthis.session = await api.getSession()\n\t\t} catch (e) {\n\t\t\tconsole.error('Absence: failed to refresh session', e)\n\t\t}\n\t},\n\n\tasync loadLeaveTypes() {\n\t\tthis.leaveTypes = await api.listLeaveTypes(false)\n\t},\n\n\tasync loadRequests(params) {\n\t\tthis.loading = true\n\t\ttry {\n\t\t\tthis.requests = await api.listRequests(params)\n\t\t} catch {\n\t\t\tshowError(t('absence', 'Could not load requests'))\n\t\t} finally {\n\t\t\tthis.loading = false\n\t\t}\n\t},\n\n\tasync loadMyBalance(year) {\n\t\t// Mirrors loadRequests: callers run the two in a Promise.all, so an\n\t\t// unhandled rejection here took the request list down with it.\n\t\ttry {\n\t\t\tthis.balance = await api.getMyBalance(year)\n\t\t} catch {\n\t\t\tshowError(t('absence', 'Could not load your balance'))\n\t\t}\n\t},\n\n\tasync createRequest(data) {\n\t\tconst created = await api.createRequest(data)\n\t\tshowSuccess(t('absence', 'On its way ✈️'))\n\t\tawait this.refreshSession()\n\t\treturn created\n\t},\n\n\tasync updateRequest(id, data) {\n\t\tconst updated = await api.updateRequest(id, data)\n\t\tshowSuccess(t('absence', 'Request updated'))\n\t\treturn updated\n\t},\n\n\tasync cancelRequest(id) {\n\t\tconst res = await api.cancelRequest(id)\n\t\tshowSuccess(t('absence', 'Request cancelled'))\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tasync approveRequest(id, comment) {\n\t\tconst res = await api.approveRequest(id, comment)\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tasync rejectRequest(id, comment) {\n\t\tconst res = await api.rejectRequest(id, comment)\n\t\tshowSuccess(t('absence', 'Request declined'))\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tselect(id) {\n\t\tthis.selectedId = id\n\t},\n})\n\n/**\n * Visual metadata for a request status (spec §15.4).\n * `text` uses Nextcloud's contrast-optimised *-text variables so labels stay\n * readable; `tint` is the base semantic colour used for the chip background.\n *\n * @param status\n */\nexport function statusMeta(status) {\n\tswitch (status) {\n\t\tcase 'PENDING':\n\t\t\treturn { label: t('absence', 'Pending'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '⏳' }\n\t\tcase 'ESCALATED':\n\t\t\treturn { label: t('absence', 'With HR'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '⏫' }\n\t\tcase 'APPROVED':\n\t\t\treturn { label: t('absence', 'Approved'), text: 'var(--color-success-text)', tint: 'var(--color-success)', icon: '✅' }\n\t\tcase 'REJECTED':\n\t\t\treturn { label: t('absence', 'Declined'), text: 'var(--color-error-text)', tint: 'var(--color-error)', icon: '✋' }\n\t\tcase 'CANCELLED':\n\t\t\treturn { label: t('absence', 'Cancelled'), text: 'var(--color-text-maxcontrast)', tint: 'var(--color-text-maxcontrast)', icon: '🚫' }\n\t\tcase 'WITHDRAWAL_PENDING':\n\t\t\treturn { label: t('absence', 'Withdrawal pending'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '↩️' }\n\t\tdefault:\n\t\t\treturn { label: status, text: 'var(--color-main-text)', tint: 'var(--color-text-maxcontrast)', icon: '•' }\n\t}\n}\n","\n\n\n\n\n\n","import { defaultWindow, isClient, onClickOutside, onKeyStroke, onLongPress, useActiveElement, useBattery, useBrowserLocation, useClipboard, useColorMode, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useDraggable, useElementBounding, useElementHover, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePreferredReducedTransparency, useResizeObserver, useScreenSafeArea, useScroll, useScrollLock, useStorage, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from \"@vueuse/core\";\nimport { computed, defineComponent, h, reactive, shallowRef, toRefs, toValue, watch } from \"vue\";\nimport { createDisposableDirective, reactiveOmit, toRefs as toRefs$1, useToggle } from \"@vueuse/shared\";\n//#region ../core/onClickOutside/component.ts\nconst OnClickOutside = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst target = shallowRef();\n\tonClickOutside(target, (e) => {\n\t\temit(\"trigger\", e);\n\t}, props.options);\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default());\n\t};\n}, {\n\tname: \"OnClickOutside\",\n\tprops: [\"as\", \"options\"],\n\temits: [\"trigger\"]\n});\n//#endregion\n//#region ../core/onClickOutside/directive.ts\nconst stopClickOutsideMap = /* @__PURE__ */ new WeakMap();\nconst vOnClickOutside = {\n\tmounted(el, binding) {\n\t\tconst capture = !binding.modifiers.bubble;\n\t\tlet stop;\n\t\tif (typeof binding.value === \"function\") stop = onClickOutside(el, binding.value, { capture });\n\t\telse {\n\t\t\tconst [handler, options] = binding.value;\n\t\t\tstop = onClickOutside(el, handler, Object.assign({ capture }, options));\n\t\t}\n\t\tstopClickOutsideMap.set(el, stop);\n\t},\n\tunmounted(el) {\n\t\tconst stop = stopClickOutsideMap.get(el);\n\t\tif (stop && typeof stop === \"function\") stop();\n\t\telse stop === null || stop === void 0 || stop.stop();\n\t\tstopClickOutsideMap.delete(el);\n\t}\n};\n/** @deprecated use `vOnClickOutside` instead */\nconst VOnClickOutside = vOnClickOutside;\n//#endregion\n//#region ../core/onKeyStroke/directive.ts\nconst vOnKeyStroke = createDisposableDirective({ mounted(el, binding) {\n\tvar _binding$arg$split, _binding$arg;\n\tconst keys = (_binding$arg$split = (_binding$arg = binding.arg) === null || _binding$arg === void 0 ? void 0 : _binding$arg.split(\",\")) !== null && _binding$arg$split !== void 0 ? _binding$arg$split : true;\n\tif (typeof binding.value === \"function\") onKeyStroke(keys, binding.value, { target: el });\n\telse {\n\t\tconst [handler, options] = binding.value;\n\t\tonKeyStroke(keys, handler, {\n\t\t\ttarget: el,\n\t\t\t...options\n\t\t});\n\t}\n} });\n//#endregion\n//#region ../core/onLongPress/component.ts\nconst OnLongPress = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst target = shallowRef();\n\tconst data = onLongPress(target, (e) => {\n\t\temit(\"trigger\", e);\n\t}, props.options);\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"OnLongPress\",\n\tprops: [\"as\", \"options\"],\n\temits: [\"trigger\"]\n});\n//#endregion\n//#region ../core/onLongPress/directive.ts\nconst vOnLongPress = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") onLongPress(el, binding.value, { modifiers: binding.modifiers });\n\telse onLongPress(el, ...binding.value);\n} });\n/** @deprecated use `vOnLongPress` instead */\nconst VOnLongPress = vOnLongPress;\n//#endregion\n//#region ../core/useActiveElement/component.ts\nconst UseActiveElement = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ element: useActiveElement(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseActiveElement\",\n\tprops: [\n\t\t\"deep\",\n\t\t\"triggerOnRemoval\",\n\t\t\"window\",\n\t\t\"document\"\n\t]\n});\n//#endregion\n//#region ../core/useBattery/component.ts\nconst UseBattery = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useBattery(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseBattery\",\n\tprops: [\"navigator\"]\n});\n//#endregion\n//#region ../core/useBrowserLocation/component.ts\nconst UseBrowserLocation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useBrowserLocation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseBrowserLocation\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useClipboard/component.ts\nconst UseClipboard = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useClipboard(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseClipboard\",\n\tprops: [\n\t\t\"source\",\n\t\t\"read\",\n\t\t\"navigator\",\n\t\t\"copiedDuring\",\n\t\t\"legacy\"\n\t]\n});\n//#endregion\n//#region ../core/useColorMode/component.ts\nconst UseColorMode = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst mode = useColorMode(props);\n\tconst data = reactive({\n\t\tmode,\n\t\tsystem: mode.system,\n\t\tstore: mode.store\n\t});\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseColorMode\",\n\tprops: [\n\t\t\"attribute\",\n\t\t\"deep\",\n\t\t\"disableTransition\",\n\t\t\"emitAuto\",\n\t\t\"eventFilter\",\n\t\t\"flush\",\n\t\t\"initOnMounted\",\n\t\t\"initialValue\",\n\t\t\"listenToStorageChanges\",\n\t\t\"mergeDefaults\",\n\t\t\"modes\",\n\t\t\"onChanged\",\n\t\t\"onError\",\n\t\t\"selector\",\n\t\t\"serializer\",\n\t\t\"shallow\",\n\t\t\"storage\",\n\t\t\"storageKey\",\n\t\t\"storageRef\",\n\t\t\"window\",\n\t\t\"writeDefaults\"\n\t]\n});\n//#endregion\n//#region ../core/useDark/component.ts\nconst UseDark = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst isDark = useDark(props);\n\tconst data = reactive({\n\t\tisDark,\n\t\ttoggleDark: useToggle(isDark)\n\t});\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDark\",\n\tprops: [\n\t\t\"attribute\",\n\t\t\"deep\",\n\t\t\"disableTransition\",\n\t\t\"emitAuto\",\n\t\t\"eventFilter\",\n\t\t\"flush\",\n\t\t\"initOnMounted\",\n\t\t\"initialValue\",\n\t\t\"listenToStorageChanges\",\n\t\t\"mergeDefaults\",\n\t\t\"onChanged\",\n\t\t\"onError\",\n\t\t\"selector\",\n\t\t\"serializer\",\n\t\t\"shallow\",\n\t\t\"storage\",\n\t\t\"storageKey\",\n\t\t\"storageRef\",\n\t\t\"valueDark\",\n\t\t\"valueLight\",\n\t\t\"window\",\n\t\t\"writeDefaults\"\n\t]\n});\n//#endregion\n//#region ../core/useDeviceMotion/component.ts\nconst UseDeviceMotion = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = useDeviceMotion(props);\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDeviceMotion\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"requestPermissions\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useDeviceOrientation/component.ts\nconst UseDeviceOrientation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDeviceOrientation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDeviceOrientation\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useDevicePixelRatio/component.ts\nconst UseDevicePixelRatio = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDevicePixelRatio(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDevicePixelRatio\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useDevicesList/component.ts\nconst UseDevicesList = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDevicesList(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDevicesList\",\n\tprops: [\n\t\t\"constraints\",\n\t\t\"navigator\",\n\t\t\"onUpdated\",\n\t\t\"requestPermissions\"\n\t]\n});\n//#endregion\n//#region ../core/useDocumentVisibility/component.ts\nconst UseDocumentVisibility = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ visibility: useDocumentVisibility(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDocumentVisibility\",\n\tprops: [\"document\"]\n});\n//#endregion\n//#region ../core/useDraggable/component.ts\nconst UseDraggable = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst handle = computed(() => {\n\t\tvar _toValue;\n\t\treturn (_toValue = toValue(props.handle)) !== null && _toValue !== void 0 ? _toValue : target.value;\n\t});\n\tconst containerElement = computed(() => {\n\t\tvar _ref;\n\t\treturn (_ref = props.containerElement) !== null && _ref !== void 0 ? _ref : void 0;\n\t});\n\tconst disabled = computed(() => !!props.disabled);\n\tconst storageValue = props.storageKey && useStorage(props.storageKey, toValue(props.initialValue) || {\n\t\tx: 0,\n\t\ty: 0\n\t}, isClient ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0);\n\tconst initialValue = storageValue || props.initialValue || {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tconst onEnd = (position, event) => {\n\t\tvar _props$onEnd;\n\t\t(_props$onEnd = props.onEnd) === null || _props$onEnd === void 0 || _props$onEnd.call(props, position, event);\n\t\tif (!storageValue) return;\n\t\tstorageValue.value.x = position.x;\n\t\tstorageValue.value.y = position.y;\n\t};\n\tconst data = reactive(useDraggable(target, {\n\t\t...props,\n\t\thandle,\n\t\tinitialValue,\n\t\tonEnd,\n\t\tdisabled,\n\t\tcontainerElement\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", {\n\t\t\tref: target,\n\t\t\tstyle: `touch-action:none;${data.style}`\n\t\t}, slots.default(data));\n\t};\n}, {\n\tname: \"UseDraggable\",\n\tprops: [\n\t\t\"storageKey\",\n\t\t\"storageType\",\n\t\t\"initialValue\",\n\t\t\"exact\",\n\t\t\"preventDefault\",\n\t\t\"stopPropagation\",\n\t\t\"pointerTypes\",\n\t\t\"as\",\n\t\t\"handle\",\n\t\t\"axis\",\n\t\t\"onStart\",\n\t\t\"onMove\",\n\t\t\"onEnd\",\n\t\t\"disabled\",\n\t\t\"buttons\",\n\t\t\"containerElement\",\n\t\t\"capture\",\n\t\t\"draggingElement\"\n\t]\n});\n//#endregion\n//#region ../core/useElementBounding/component.ts\nconst UseElementBounding = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useElementBounding(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementBounding\",\n\tprops: [\n\t\t\"as\",\n\t\t\"immediate\",\n\t\t\"reset\",\n\t\t\"updateTiming\",\n\t\t\"windowResize\",\n\t\t\"windowScroll\"\n\t]\n});\n//#endregion\n//#region ../core/useElementBounding/directive.ts\nconst vElementBounding = createDisposableDirective({ mounted(el, binding) {\n\tconst [handler, options] = typeof binding.value === \"function\" ? [binding.value, {}] : binding.value;\n\tconst { height, bottom, left, right, top, width, x, y } = useElementBounding(el, options);\n\twatch([\n\t\theight,\n\t\tbottom,\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\twidth,\n\t\tx,\n\t\ty\n\t], () => handler({\n\t\theight,\n\t\tbottom,\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\twidth,\n\t\tx,\n\t\ty\n\t}));\n} });\n//#endregion\n//#region ../core/useElementHover/directive.ts\nconst vElementHover = createDisposableDirective({ mounted(el, binding) {\n\tconst value = binding.value;\n\tif (typeof value === \"function\") watch(useElementHover(el), (v) => value(v));\n\telse {\n\t\tconst [handler, options] = value;\n\t\twatch(useElementHover(el, options), (v) => handler(v));\n\t}\n} });\n//#endregion\n//#region ../core/useElementSize/component.ts\nconst UseElementSize = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tvar _toValue, _toValue2;\n\tconst target = shallowRef();\n\tconst { width, height } = toRefs(props);\n\tconst data = reactive(useElementSize(target, {\n\t\twidth: (_toValue = toValue(width)) !== null && _toValue !== void 0 ? _toValue : 0,\n\t\theight: (_toValue2 = toValue(height)) !== null && _toValue2 !== void 0 ? _toValue2 : 0\n\t}, {\n\t\tbox: props.box,\n\t\twindow: props.window\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementSize\",\n\tprops: [\n\t\t\"as\",\n\t\t\"box\",\n\t\t\"height\",\n\t\t\"width\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useElementSize/directive.ts\nconst vElementSize = createDisposableDirective({ mounted(el, binding) {\n\tvar _binding$value;\n\tconst handler = typeof binding.value === \"function\" ? binding.value : (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value[0];\n\tconst { width, height } = useElementSize(el, ...typeof binding.value === \"function\" ? [] : binding.value.slice(1));\n\twatch([width, height], ([width, height]) => handler({\n\t\twidth,\n\t\theight\n\t}));\n} });\n//#endregion\n//#region ../core/useElementVisibility/component.ts\nconst UseElementVisibility = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useElementVisibility(target, {\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementVisibility\",\n\tprops: [\n\t\t\"as\",\n\t\t\"once\",\n\t\t\"rootMargin\",\n\t\t\"scrollTarget\",\n\t\t\"threshold\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useElementVisibility/directive.ts\nconst vElementVisibility = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") {\n\t\tconst handler = binding.value;\n\t\twatch(useElementVisibility(el), (v) => handler(v), { immediate: true });\n\t} else {\n\t\tconst [handler, options] = binding.value;\n\t\tif (options === null || options === void 0 ? void 0 : options.controls) {\n\t\t\tconst state = useElementVisibility(el, options);\n\t\t\twatch(state.isVisible, () => handler(state), { immediate: true });\n\t\t} else watch(useElementVisibility(el, options), (v) => handler(v), { immediate: true });\n\t}\n} });\n//#endregion\n//#region ../core/useEyeDropper/component.ts\nconst UseEyeDropper = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useEyeDropper(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseEyeDropper\",\n\tprops: [\"initialValue\"]\n});\n//#endregion\n//#region ../core/useFullscreen/component.ts\nconst UseFullscreen = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useFullscreen(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseFullscreen\",\n\tprops: [\n\t\t\"as\",\n\t\t\"autoExit\",\n\t\t\"document\"\n\t]\n});\n//#endregion\n//#region ../core/useGeolocation/component.ts\nconst UseGeolocation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useGeolocation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseGeolocation\",\n\tprops: [\n\t\t\"enableHighAccuracy\",\n\t\t\"immediate\",\n\t\t\"maximumAge\",\n\t\t\"navigator\",\n\t\t\"timeout\"\n\t]\n});\n//#endregion\n//#region ../core/useIdle/component.ts\nconst UseIdle = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useIdle(props.timeout, props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseIdle\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"events\",\n\t\t\"initialState\",\n\t\t\"listenForVisibilityChange\",\n\t\t\"timeout\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useImage/component.ts\nconst UseImage = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useImage(props));\n\treturn () => {\n\t\tif (data.isLoading && slots.loading) return slots.loading(data);\n\t\telse if (data.error && slots.error) return slots.error(data.error);\n\t\tif (slots.default) return slots.default(data);\n\t\treturn h(props.as || \"img\", props);\n\t};\n}, {\n\tname: \"UseImage\",\n\tprops: [\n\t\t\"alt\",\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"crossorigin\",\n\t\t\"decoding\",\n\t\t\"fetchPriority\",\n\t\t\"height\",\n\t\t\"ismap\",\n\t\t\"loading\",\n\t\t\"referrerPolicy\",\n\t\t\"sizes\",\n\t\t\"src\",\n\t\t\"srcset\",\n\t\t\"usemap\",\n\t\t\"width\"\n\t]\n});\n//#endregion\n//#region ../core/useInfiniteScroll/directive.ts\nconst vInfiniteScroll = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useInfiniteScroll(el, binding.value);\n\telse useInfiniteScroll(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useIntersectionObserver/directive.ts\nconst vIntersectionObserver = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useIntersectionObserver(el, binding.value);\n\telse useIntersectionObserver(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useMouse/component.ts\nconst UseMouse = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useMouse(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseMouse\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"initialValue\",\n\t\t\"resetOnTouchEnds\",\n\t\t\"scroll\",\n\t\t\"target\",\n\t\t\"touch\",\n\t\t\"type\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useMouseInElement/component.ts\nconst UseMouseInElement = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useMouseInElement(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseMouseInElement\",\n\tprops: [\n\t\t\"as\",\n\t\t\"eventFilter\",\n\t\t\"handleOutside\",\n\t\t\"initialValue\",\n\t\t\"resetOnTouchEnds\",\n\t\t\"scroll\",\n\t\t\"target\",\n\t\t\"touch\",\n\t\t\"type\",\n\t\t\"window\",\n\t\t\"windowResize\",\n\t\t\"windowScroll\"\n\t]\n});\n//#endregion\n//#region ../core/useMouseInElement/directive.ts\nconst vMouseInElement = createDisposableDirective({ mounted(el, binding) {\n\tconst [handler, options] = typeof binding.value === \"function\" ? [binding.value, {}] : binding.value;\n\twatch(reactiveOmit(reactive(useMouseInElement(el, options)), \"stop\"), (val) => handler(val));\n} });\n//#endregion\n//#region ../core/useMousePressed/component.ts\nconst UseMousePressed = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useMousePressed({\n\t\t...props,\n\t\ttarget\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseMousePressed\",\n\tprops: [\n\t\t\"as\",\n\t\t\"capture\",\n\t\t\"drag\",\n\t\t\"initialValue\",\n\t\t\"onPressed\",\n\t\t\"onReleased\",\n\t\t\"touch\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useNetwork/component.ts\nconst UseNetwork = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useNetwork(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseNetwork\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useNow/component.ts\nconst UseNow = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useNow({\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseNow\",\n\tprops: [\n\t\t\"scheduler\",\n\t\t\"immediate\",\n\t\t\"interval\"\n\t]\n});\n//#endregion\n//#region ../core/useObjectUrl/component.ts\nconst UseObjectUrl = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst { object } = toRefs$1(props);\n\tconst url = useObjectUrl(object);\n\treturn () => {\n\t\tif (slots.default && url.value) return slots.default(url.value);\n\t};\n}, {\n\tname: \"UseObjectUrl\",\n\tprops: [\"object\"]\n});\n//#endregion\n//#region ../core/useOffsetPagination/component.ts\nconst UseOffsetPagination = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst data = reactive(useOffsetPagination({\n\t\t...props,\n\t\ttotal: toValue(props.total) || void 0,\n\t\tonPageChange(...args) {\n\t\t\tvar _props$onPageChange;\n\t\t\t(_props$onPageChange = props.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props, ...args);\n\t\t\temit(\"page-change\", ...args);\n\t\t},\n\t\tonPageSizeChange(...args) {\n\t\t\tvar _props$onPageSizeChan;\n\t\t\t(_props$onPageSizeChan = props.onPageSizeChange) === null || _props$onPageSizeChan === void 0 || _props$onPageSizeChan.call(props, ...args);\n\t\t\temit(\"page-size-change\", ...args);\n\t\t},\n\t\tonPageCountChange(...args) {\n\t\t\tvar _props$onPageCountCha;\n\t\t\t(_props$onPageCountCha = props.onPageCountChange) === null || _props$onPageCountCha === void 0 || _props$onPageCountCha.call(props, ...args);\n\t\t\temit(\"page-count-change\", ...args);\n\t\t}\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseOffsetPagination\",\n\tprops: [\n\t\t\"onPageChange\",\n\t\t\"onPageCountChange\",\n\t\t\"onPageSizeChange\",\n\t\t\"page\",\n\t\t\"pageSize\",\n\t\t\"total\"\n\t]\n});\n//#endregion\n//#region ../core/useOnline/component.ts\nconst UseOnline = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ isOnline: useOnline(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseOnline\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePageLeave/component.ts\nconst UsePageLeave = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ isLeft: usePageLeave(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePageLeave\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePointer/component.ts\nconst UsePointer = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst el = shallowRef(null);\n\tconst data = reactive(usePointer({\n\t\t...props,\n\t\ttarget: props.target === \"self\" ? el : defaultWindow\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePointer\",\n\tprops: [\n\t\t\"initialValue\",\n\t\t\"pointerTypes\",\n\t\t\"target\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/usePointerLock/component.ts\nconst UsePointerLock = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(usePointerLock(target));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UsePointerLock\",\n\tprops: [\"as\", \"document\"]\n});\n//#endregion\n//#region ../core/usePreferredColorScheme/component.ts\nconst UsePreferredColorScheme = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ colorScheme: usePreferredColorScheme(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredColorScheme\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredContrast/component.ts\nconst UsePreferredContrast = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ contrast: usePreferredContrast(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredContrast\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredDark/component.ts\nconst UsePreferredDark = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ prefersDark: usePreferredDark(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredDark\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredLanguages/component.ts\nconst UsePreferredLanguages = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ languages: usePreferredLanguages(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredLanguages\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredReducedMotion/component.ts\nconst UsePreferredReducedMotion = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ motion: usePreferredReducedMotion(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredReducedMotion\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredReducedTransparency/component.ts\nconst UsePreferredReducedTransparency = /* @__PURE__ */ defineComponent({\n\tname: \"UsePreferredReducedTransparency\",\n\tsetup(props, { slots }) {\n\t\tconst data = reactive({ transparency: usePreferredReducedTransparency() });\n\t\treturn () => {\n\t\t\tif (slots.default) return slots.default(data);\n\t\t};\n\t}\n});\n//#endregion\n//#region ../core/useResizeObserver/directive.ts\nconst vResizeObserver = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useResizeObserver(el, binding.value);\n\telse useResizeObserver(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useScreenSafeArea/component.ts\nconst UseScreenSafeArea = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useScreenSafeArea());\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { style: {\n\t\t\tpaddingTop: props.top ? data.top : \"\",\n\t\t\tpaddingRight: props.right ? data.right : \"\",\n\t\t\tpaddingBottom: props.bottom ? data.bottom : \"\",\n\t\t\tpaddingLeft: props.left ? data.left : \"\",\n\t\t\tboxSizing: \"border-box\",\n\t\t\tmaxHeight: \"100vh\",\n\t\t\tmaxWidth: \"100vw\",\n\t\t\toverflow: \"auto\"\n\t\t} }, slots.default(data));\n\t};\n}, {\n\tname: \"UseScreenSafeArea\",\n\tprops: [\n\t\t\"top\",\n\t\t\"right\",\n\t\t\"bottom\",\n\t\t\"left\"\n\t]\n});\n//#endregion\n//#region ../core/useScroll/directive.ts\nconst vScroll = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") {\n\t\tconst handler = binding.value;\n\t\tconst state = useScroll(el, {\n\t\t\tonScroll() {\n\t\t\t\thandler(state);\n\t\t\t},\n\t\t\tonStop() {\n\t\t\t\thandler(state);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconst [handler, options] = binding.value;\n\t\tconst state = useScroll(el, {\n\t\t\t...options,\n\t\t\tonScroll(e) {\n\t\t\t\tvar _options$onScroll;\n\t\t\t\t(_options$onScroll = options.onScroll) === null || _options$onScroll === void 0 || _options$onScroll.call(options, e);\n\t\t\t\thandler(state);\n\t\t\t},\n\t\t\tonStop(e) {\n\t\t\t\tvar _options$onStop;\n\t\t\t\t(_options$onStop = options.onStop) === null || _options$onStop === void 0 || _options$onStop.call(options, e);\n\t\t\t\thandler(state);\n\t\t\t}\n\t\t});\n\t}\n} });\n//#endregion\n//#region ../core/useScrollLock/directive.ts\nfunction onScrollLock() {\n\tlet isMounted = false;\n\tconst state = shallowRef(false);\n\treturn createDisposableDirective((el, binding) => {\n\t\tstate.value = binding.value;\n\t\tif (isMounted) return;\n\t\tisMounted = true;\n\t\tconst isLocked = useScrollLock(el, binding.value);\n\t\twatch(state, (v) => isLocked.value = v);\n\t});\n}\nconst vScrollLock = onScrollLock();\n//#endregion\n//#region ../core/useTimeAgo/component.ts\nconst UseTimeAgo = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useTimeAgo(() => props.time, {\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseTimeAgo\",\n\tprops: [\n\t\t\"fullDateFormatter\",\n\t\t\"max\",\n\t\t\"messages\",\n\t\t\"rounding\",\n\t\t\"showSecond\",\n\t\t\"time\",\n\t\t\"units\",\n\t\t\"updateInterval\"\n\t]\n});\n//#endregion\n//#region ../core/useTimestamp/component.ts\nconst UseTimestamp = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useTimestamp({\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseTimestamp\",\n\tprops: [\n\t\t\"scheduler\",\n\t\t\"callback\",\n\t\t\"immediate\",\n\t\t\"interval\",\n\t\t\"offset\"\n\t]\n});\n//#endregion\n//#region ../core/useVirtualList/component.ts\nconst UseVirtualList = /* @__PURE__ */ defineComponent((props, { slots, expose }) => {\n\tconst { list: listRef } = toRefs(props);\n\tconst { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n\texpose({ scrollTo });\n\tif (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style)) containerProps.style.height = props.height || \"300px\";\n\treturn () => h(\"div\", { ...containerProps }, [h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: {\n\t\toverflow: \"hidden\",\n\t\theight: item.height\n\t} }, slots.default ? slots.default(item) : \"Please set content!\")))]);\n}, {\n\tname: \"UseVirtualList\",\n\tprops: [\n\t\t\"height\",\n\t\t\"list\",\n\t\t\"options\"\n\t]\n});\n//#endregion\n//#region ../core/useWindowFocus/component.ts\nconst UseWindowFocus = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ focused: useWindowFocus(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseWindowFocus\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useWindowSize/component.ts\nconst UseWindowSize = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useWindowSize(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseWindowSize\",\n\tprops: [\n\t\t\"includeScrollbar\",\n\t\t\"initialHeight\",\n\t\t\"initialWidth\",\n\t\t\"listenOrientation\",\n\t\t\"type\",\n\t\t\"window\"\n\t]\n});\n//#endregion\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UsePreferredReducedTransparency, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress, vElementBounding, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vMouseInElement, vOnClickOutside, vOnKeyStroke, vOnLongPress, vResizeObserver, vScroll, vScrollLock };\n","const directive = {\n mounted(el) {\n el.focus();\n }\n};\nexport {\n directive as default\n};\n//# sourceMappingURL=index.mjs.map\n","// THIS FILE IS AUTOMATICALLY GENERATED DO NOT EDIT DIRECTLY\n// See update-tlds.js for encoding/decoding format\n// https://data.iana.org/TLD/tlds-alpha-by-domain.txt\nconst encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2';\n// Internationalized domain names containing non-ASCII\nconst encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2';\n\n/**\n * Finite State Machine generation utilities\n */\n\n/**\n * @template T\n * @typedef {{ [group: string]: T[] }} Collections\n */\n\n/**\n * @typedef {{ [group: string]: true }} Flags\n */\n\n// Keys in scanner Collections instances\nconst numeric = 'numeric';\nconst ascii = 'ascii';\nconst alpha = 'alpha';\nconst asciinumeric = 'asciinumeric';\nconst alphanumeric = 'alphanumeric';\nconst domain = 'domain';\nconst emoji = 'emoji';\nconst scheme = 'scheme';\nconst slashscheme = 'slashscheme';\nconst whitespace = 'whitespace';\n\n/**\n * @template T\n * @param {string} name\n * @param {Collections} groups to register in\n * @returns {T[]} Current list of tokens in the given collection\n */\nfunction registerGroup(name, groups) {\n if (!(name in groups)) {\n groups[name] = [];\n }\n return groups[name];\n}\n\n/**\n * @template T\n * @param {T} t token to add\n * @param {Collections} groups\n * @param {Flags} flags\n */\nfunction addToGroups(t, flags, groups) {\n if (flags[numeric]) {\n flags[asciinumeric] = true;\n flags[alphanumeric] = true;\n }\n if (flags[ascii]) {\n flags[asciinumeric] = true;\n flags[alpha] = true;\n }\n if (flags[asciinumeric]) {\n flags[alphanumeric] = true;\n }\n if (flags[alpha]) {\n flags[alphanumeric] = true;\n }\n if (flags[alphanumeric]) {\n flags[domain] = true;\n }\n if (flags[emoji]) {\n flags[domain] = true;\n }\n for (const k in flags) {\n const group = registerGroup(k, groups);\n if (group.indexOf(t) < 0) {\n group.push(t);\n }\n }\n}\n\n/**\n * @template T\n * @param {T} t token to check\n * @param {Collections} groups\n * @returns {Flags} group flags that contain this token\n */\nfunction flagsForToken(t, groups) {\n const result = {};\n for (const c in groups) {\n if (groups[c].indexOf(t) >= 0) {\n result[c] = true;\n }\n }\n return result;\n}\n\n/**\n * @template T\n * @typedef {null | T } Transition\n */\n\n/**\n * Define a basic state machine state. j is the list of character transitions,\n * jr is the list of regex-match transitions, jd is the default state to\n * transition to t is the accepting token type, if any. If this is the terminal\n * state, then it does not emit a token.\n *\n * The template type T represents the type of the token this state accepts. This\n * should be a string (such as of the token exports in `text.js`) or a\n * MultiToken subclass (from `multi.js`)\n *\n * @template T\n * @param {T} [token] Token that this state emits\n */\nfunction State(token = null) {\n // this.n = null; // DEBUG: State name\n /** @type {{ [input: string]: State }} j */\n this.j = {}; // IMPLEMENTATION 1\n // this.j = []; // IMPLEMENTATION 2\n /** @type {[RegExp, State][]} jr */\n this.jr = [];\n /** @type {?State} jd */\n this.jd = null;\n /** @type {?T} t */\n this.t = token;\n}\n\n/**\n * Scanner token groups\n * @type Collections\n */\nState.groups = {};\nState.prototype = {\n accepts() {\n return !!this.t;\n },\n /**\n * Follow an existing transition from the given input to the next state.\n * Does not mutate.\n * @param {string} input character or token type to transition on\n * @returns {?State} the next state, if any\n */\n go(input) {\n const state = this;\n const nextState = state.j[input];\n if (nextState) {\n return nextState;\n }\n for (let i = 0; i < state.jr.length; i++) {\n const regex = state.jr[i][0];\n const nextState = state.jr[i][1]; // note: might be empty to prevent default jump\n if (nextState && regex.test(input)) {\n return nextState;\n }\n }\n // Nowhere left to jump! Return default, if any\n return state.jd;\n },\n /**\n * Whether the state has a transition for the given input. Set the second\n * argument to true to only look for an exact match (and not a default or\n * regular-expression-based transition)\n * @param {string} input\n * @param {boolean} exactOnly\n */\n has(input, exactOnly = false) {\n return exactOnly ? input in this.j : !!this.go(input);\n },\n /**\n * Short for \"transition all\"; create a transition from the array of items\n * in the given list to the same final resulting state.\n * @param {string | string[]} inputs Group of inputs to transition on\n * @param {Transition | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n */\n ta(inputs, next, flags, groups) {\n for (let i = 0; i < inputs.length; i++) {\n this.tt(inputs[i], next, flags, groups);\n }\n },\n /**\n * Short for \"take regexp transition\"; defines a transition for this state\n * when it encounters a token which matches the given regular expression\n * @param {RegExp} regexp Regular expression transition (populate first)\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n tr(regexp, next, flags, groups) {\n groups = groups || State.groups;\n let nextState;\n if (next && next.j) {\n nextState = next;\n } else {\n // Token with maybe token groups\n nextState = new State(next);\n if (flags && groups) {\n addToGroups(next, flags, groups);\n }\n }\n this.jr.push([regexp, nextState]);\n return nextState;\n },\n /**\n * Short for \"take transitions\", will take as many sequential transitions as\n * the length of the given input and returns the\n * resulting final state.\n * @param {string | string[]} input\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n ts(input, next, flags, groups) {\n let state = this;\n const len = input.length;\n if (!len) {\n return state;\n }\n for (let i = 0; i < len - 1; i++) {\n state = state.tt(input[i]);\n }\n return state.tt(input[len - 1], next, flags, groups);\n },\n /**\n * Short for \"take transition\", this is a method for building/working with\n * state machines.\n *\n * If a state already exists for the given input, returns it.\n *\n * If a token is specified, that state will emit that token when reached by\n * the linkify engine.\n *\n * If no state exists, it will be initialized with some default transitions\n * that resemble existing default transitions.\n *\n * If a state is given for the second argument, that state will be\n * transitioned to on the given input regardless of what that input\n * previously did.\n *\n * Specify a token group flags to define groups that this token belongs to.\n * The token will be added to corresponding entires in the given groups\n * object.\n *\n * @param {string} input character, token type to transition on\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of groups\n * @returns {State} taken after the given input\n */\n tt(input, next, flags, groups) {\n groups = groups || State.groups;\n const state = this;\n\n // Check if existing state given, just a basic transition\n if (next && next.j) {\n state.j[input] = next;\n return next;\n }\n const t = next;\n\n // Take the transition with the usual default mechanisms and use that as\n // a template for creating the next state\n let nextState,\n templateState = state.go(input);\n if (templateState) {\n nextState = new State();\n Object.assign(nextState.j, templateState.j);\n nextState.jr.push.apply(nextState.jr, templateState.jr);\n nextState.jd = templateState.jd;\n nextState.t = templateState.t;\n } else {\n nextState = new State();\n }\n if (t) {\n // Ensure newly token is in the same groups as the old token\n if (groups) {\n if (nextState.t && typeof nextState.t === 'string') {\n const allFlags = Object.assign(flagsForToken(nextState.t, groups), flags);\n addToGroups(t, allFlags, groups);\n } else if (flags) {\n addToGroups(t, flags, groups);\n }\n }\n nextState.t = t; // overwrite anything that was previously there\n }\n state.j[input] = nextState;\n return nextState;\n }\n};\n\n// Helper functions to improve minification (not exported outside linkifyjs module)\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {RegExp} regexp\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string} input\n * @param {T | State} [next]\n * @param {Collections} [groups]\n * @param {Flags} [flags]\n */\nconst tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);\n\n/******************************************************************************\nText Tokens\nIdentifiers for token outputs from the regexp scanner\n******************************************************************************/\n\n// A valid web domain token\nconst WORD = 'WORD'; // only contains a-z\nconst UWORD = 'UWORD'; // contains letters other than a-z, used for IDN\nconst ASCIINUMERICAL = 'ASCIINUMERICAL'; // contains a-z, 0-9\nconst ALPHANUMERICAL = 'ALPHANUMERICAL'; // contains numbers and letters other than a-z, used for IDN\n\n// Special case of word\nconst LOCALHOST = 'LOCALHOST';\n\n// Valid top-level domain, special case of WORD (see tlds.js)\nconst TLD = 'TLD';\n\n// Valid IDN TLD, special case of UWORD (see tlds.js)\nconst UTLD = 'UTLD';\n\n// The scheme portion of a web URI protocol. Supported types include: `mailto`,\n// `file`, and user-defined custom protocols. Limited to schemes that contain\n// only letters\nconst SCHEME = 'SCHEME';\n\n// Similar to SCHEME, except makes distinction for schemes that must always be\n// followed by `://`, not just `:`. Supported types include `http`, `https`,\n// `ftp`, `ftps`\nconst SLASH_SCHEME = 'SLASH_SCHEME';\n\n// Any sequence of digits 0-9\nconst NUM = 'NUM';\n\n// Any number of consecutive whitespace characters that are not newline\nconst WS = 'WS';\n\n// New line (unix style)\nconst NL = 'NL'; // \\n\n\n// Opening/closing bracket classes\n// TODO: Rename OPEN -> LEFT and CLOSE -> RIGHT in v5 to fit with Unicode names\n// Also rename angle brackes to LESSTHAN and GREATER THAN\nconst OPENBRACE = 'OPENBRACE'; // {\nconst CLOSEBRACE = 'CLOSEBRACE'; // }\nconst OPENBRACKET = 'OPENBRACKET'; // [\nconst CLOSEBRACKET = 'CLOSEBRACKET'; // ]\nconst OPENPAREN = 'OPENPAREN'; // (\nconst CLOSEPAREN = 'CLOSEPAREN'; // )\nconst OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // <\nconst CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // >\nconst FULLWIDTHLEFTPAREN = 'FULLWIDTHLEFTPAREN'; // (\nconst FULLWIDTHRIGHTPAREN = 'FULLWIDTHRIGHTPAREN'; // )\nconst LEFTCORNERBRACKET = 'LEFTCORNERBRACKET'; // 「\nconst RIGHTCORNERBRACKET = 'RIGHTCORNERBRACKET'; // 」\nconst LEFTWHITECORNERBRACKET = 'LEFTWHITECORNERBRACKET'; // 『\nconst RIGHTWHITECORNERBRACKET = 'RIGHTWHITECORNERBRACKET'; // 』\nconst FULLWIDTHLESSTHAN = 'FULLWIDTHLESSTHAN'; // <\nconst FULLWIDTHGREATERTHAN = 'FULLWIDTHGREATERTHAN'; // >\n\n// Various symbols\nconst AMPERSAND = 'AMPERSAND'; // &\nconst APOSTROPHE = 'APOSTROPHE'; // '\nconst ASTERISK = 'ASTERISK'; // *\nconst AT = 'AT'; // @\nconst BACKSLASH = 'BACKSLASH'; // \\\nconst BACKTICK = 'BACKTICK'; // `\nconst CARET = 'CARET'; // ^\nconst COLON = 'COLON'; // :\nconst COMMA = 'COMMA'; // ,\nconst DOLLAR = 'DOLLAR'; // $\nconst DOT = 'DOT'; // .\nconst EQUALS = 'EQUALS'; // =\nconst EXCLAMATION = 'EXCLAMATION'; // !\nconst HYPHEN = 'HYPHEN'; // -\nconst PERCENT = 'PERCENT'; // %\nconst PIPE = 'PIPE'; // |\nconst PLUS = 'PLUS'; // +\nconst POUND = 'POUND'; // #\nconst QUERY = 'QUERY'; // ?\nconst QUOTE = 'QUOTE'; // \"\nconst FULLWIDTHMIDDLEDOT = 'FULLWIDTHMIDDLEDOT'; // ・\n\nconst SEMI = 'SEMI'; // ;\nconst SLASH = 'SLASH'; // /\nconst TILDE = 'TILDE'; // ~\nconst UNDERSCORE = 'UNDERSCORE'; // _\n\n// Emoji symbol\nconst EMOJI$1 = 'EMOJI';\n\n// Default token - anything that is not one of the above\nconst SYM = 'SYM';\n\nvar tk = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tALPHANUMERICAL: ALPHANUMERICAL,\n\tAMPERSAND: AMPERSAND,\n\tAPOSTROPHE: APOSTROPHE,\n\tASCIINUMERICAL: ASCIINUMERICAL,\n\tASTERISK: ASTERISK,\n\tAT: AT,\n\tBACKSLASH: BACKSLASH,\n\tBACKTICK: BACKTICK,\n\tCARET: CARET,\n\tCLOSEANGLEBRACKET: CLOSEANGLEBRACKET,\n\tCLOSEBRACE: CLOSEBRACE,\n\tCLOSEBRACKET: CLOSEBRACKET,\n\tCLOSEPAREN: CLOSEPAREN,\n\tCOLON: COLON,\n\tCOMMA: COMMA,\n\tDOLLAR: DOLLAR,\n\tDOT: DOT,\n\tEMOJI: EMOJI$1,\n\tEQUALS: EQUALS,\n\tEXCLAMATION: EXCLAMATION,\n\tFULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN,\n\tFULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN,\n\tFULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN,\n\tFULLWIDTHMIDDLEDOT: FULLWIDTHMIDDLEDOT,\n\tFULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN,\n\tHYPHEN: HYPHEN,\n\tLEFTCORNERBRACKET: LEFTCORNERBRACKET,\n\tLEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET,\n\tLOCALHOST: LOCALHOST,\n\tNL: NL,\n\tNUM: NUM,\n\tOPENANGLEBRACKET: OPENANGLEBRACKET,\n\tOPENBRACE: OPENBRACE,\n\tOPENBRACKET: OPENBRACKET,\n\tOPENPAREN: OPENPAREN,\n\tPERCENT: PERCENT,\n\tPIPE: PIPE,\n\tPLUS: PLUS,\n\tPOUND: POUND,\n\tQUERY: QUERY,\n\tQUOTE: QUOTE,\n\tRIGHTCORNERBRACKET: RIGHTCORNERBRACKET,\n\tRIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET,\n\tSCHEME: SCHEME,\n\tSEMI: SEMI,\n\tSLASH: SLASH,\n\tSLASH_SCHEME: SLASH_SCHEME,\n\tSYM: SYM,\n\tTILDE: TILDE,\n\tTLD: TLD,\n\tUNDERSCORE: UNDERSCORE,\n\tUTLD: UTLD,\n\tUWORD: UWORD,\n\tWORD: WORD,\n\tWS: WS\n});\n\n// Note that these two Unicode ones expand into a really big one with Babel\nconst ASCII_LETTER = /[a-z]/;\nconst LETTER = /\\p{L}/u; // Any Unicode character with letter data type\nconst EMOJI = /\\p{Emoji}/u; // Any Unicode emoji character\nconst EMOJI_VARIATION$1 = /\\ufe0f/;\nconst DIGIT = /\\d/;\nconst SPACE = /\\s/;\n\nvar regexp = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tASCII_LETTER: ASCII_LETTER,\n\tDIGIT: DIGIT,\n\tEMOJI: EMOJI,\n\tEMOJI_VARIATION: EMOJI_VARIATION$1,\n\tLETTER: LETTER,\n\tSPACE: SPACE\n});\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n*/\n\nconst CR = '\\r'; // carriage-return character\nconst LF = '\\n'; // line-feed character\nconst EMOJI_VARIATION = '\\ufe0f'; // Variation selector, follows heart and others\nconst EMOJI_JOINER = '\\u200d'; // zero-width joiner\nconst OBJECT_REPLACEMENT = '\\ufffc'; // whitespace placeholder that sometimes appears in rich text editors\n\nlet tlds = null,\n utlds = null; // don't change so only have to be computed once\n\n/**\n * Scanner output token:\n * - `t` is the token name (e.g., 'NUM', 'EMOJI', 'TLD')\n * - `v` is the value of the token (e.g., '123', '❤️', 'com')\n * - `s` is the start index of the token in the original string\n * - `e` is the end index of the token in the original string\n * @typedef {{t: string, v: string, s: number, e: number}} Token\n */\n\n/**\n * @template T\n * @typedef {{ [collection: string]: T[] }} Collections\n */\n\n/**\n * Initialize the scanner character-based state machine for the given start\n * state\n * @param {[string, boolean][]} customSchemes List of custom schemes, where each\n * item is a length-2 tuple with the first element set to the string scheme, and\n * the second element set to `true` if the `://` after the scheme is optional\n */\nfunction init$2(customSchemes = []) {\n // Frequently used states (name argument removed during minification)\n /** @type Collections */\n const groups = {}; // of tokens\n State.groups = groups;\n /** @type State */\n const Start = new State();\n if (tlds == null) {\n tlds = decodeTlds(encodedTlds);\n }\n if (utlds == null) {\n utlds = decodeTlds(encodedUtlds);\n }\n\n // States for special URL symbols that accept immediately after start\n tt(Start, \"'\", APOSTROPHE);\n tt(Start, '{', OPENBRACE);\n tt(Start, '}', CLOSEBRACE);\n tt(Start, '[', OPENBRACKET);\n tt(Start, ']', CLOSEBRACKET);\n tt(Start, '(', OPENPAREN);\n tt(Start, ')', CLOSEPAREN);\n tt(Start, '<', OPENANGLEBRACKET);\n tt(Start, '>', CLOSEANGLEBRACKET);\n tt(Start, '(', FULLWIDTHLEFTPAREN);\n tt(Start, ')', FULLWIDTHRIGHTPAREN);\n tt(Start, '「', LEFTCORNERBRACKET);\n tt(Start, '」', RIGHTCORNERBRACKET);\n tt(Start, '『', LEFTWHITECORNERBRACKET);\n tt(Start, '』', RIGHTWHITECORNERBRACKET);\n tt(Start, '<', FULLWIDTHLESSTHAN);\n tt(Start, '>', FULLWIDTHGREATERTHAN);\n tt(Start, '&', AMPERSAND);\n tt(Start, '*', ASTERISK);\n tt(Start, '@', AT);\n tt(Start, '`', BACKTICK);\n tt(Start, '^', CARET);\n tt(Start, ':', COLON);\n tt(Start, ',', COMMA);\n tt(Start, '$', DOLLAR);\n tt(Start, '.', DOT);\n tt(Start, '=', EQUALS);\n tt(Start, '!', EXCLAMATION);\n tt(Start, '-', HYPHEN);\n tt(Start, '%', PERCENT);\n tt(Start, '|', PIPE);\n tt(Start, '+', PLUS);\n tt(Start, '#', POUND);\n tt(Start, '?', QUERY);\n tt(Start, '\"', QUOTE);\n tt(Start, '/', SLASH);\n tt(Start, ';', SEMI);\n tt(Start, '~', TILDE);\n tt(Start, '_', UNDERSCORE);\n tt(Start, '\\\\', BACKSLASH);\n tt(Start, '・', FULLWIDTHMIDDLEDOT);\n const Num = tr(Start, DIGIT, NUM, {\n [numeric]: true\n });\n tr(Num, DIGIT, Num);\n const Asciinumeric = tr(Num, ASCII_LETTER, ASCIINUMERICAL, {\n [asciinumeric]: true\n });\n const Alphanumeric = tr(Num, LETTER, ALPHANUMERICAL, {\n [alphanumeric]: true\n });\n\n // State which emits a word token\n const Word = tr(Start, ASCII_LETTER, WORD, {\n [ascii]: true\n });\n tr(Word, DIGIT, Asciinumeric);\n tr(Word, ASCII_LETTER, Word);\n tr(Asciinumeric, DIGIT, Asciinumeric);\n tr(Asciinumeric, ASCII_LETTER, Asciinumeric);\n\n // Same as previous, but specific to non-fsm.ascii alphabet words\n const UWord = tr(Start, LETTER, UWORD, {\n [alpha]: true\n });\n tr(UWord, ASCII_LETTER); // Non-accepting\n tr(UWord, DIGIT, Alphanumeric);\n tr(UWord, LETTER, UWord);\n tr(Alphanumeric, DIGIT, Alphanumeric);\n tr(Alphanumeric, ASCII_LETTER); // Non-accepting\n tr(Alphanumeric, LETTER, Alphanumeric); // Non-accepting\n\n // Whitespace jumps\n // Tokens of only non-newline whitespace are arbitrarily long\n // If any whitespace except newline, more whitespace!\n const Nl = tt(Start, LF, NL, {\n [whitespace]: true\n });\n const Cr = tt(Start, CR, WS, {\n [whitespace]: true\n });\n const Ws = tr(Start, SPACE, WS, {\n [whitespace]: true\n });\n tt(Start, OBJECT_REPLACEMENT, Ws);\n tt(Cr, LF, Nl); // \\r\\n\n tt(Cr, OBJECT_REPLACEMENT, Ws);\n tr(Cr, SPACE, Ws);\n tt(Ws, CR); // non-accepting state to avoid mixing whitespaces\n tt(Ws, LF); // non-accepting state to avoid mixing whitespaces\n tr(Ws, SPACE, Ws);\n tt(Ws, OBJECT_REPLACEMENT, Ws);\n\n // Emoji tokens. They are not grouped by the scanner except in cases where a\n // zero-width joiner is present\n const Emoji = tr(Start, EMOJI, EMOJI$1, {\n [emoji]: true\n });\n tt(Emoji, '#'); // no transition, emoji regex seems to match #\n tr(Emoji, EMOJI, Emoji);\n tt(Emoji, EMOJI_VARIATION, Emoji);\n // tt(Start, EMOJI_VARIATION, Emoji); // This one is sketchy\n\n const EmojiJoiner = tt(Emoji, EMOJI_JOINER);\n tt(EmojiJoiner, '#');\n tr(EmojiJoiner, EMOJI, Emoji);\n // tt(EmojiJoiner, EMOJI_VARIATION, Emoji); // also sketchy\n\n // Generates states for top-level domains\n // Note that this is most accurate when tlds are in alphabetical order\n const wordjr = [[ASCII_LETTER, Word], [DIGIT, Asciinumeric]];\n const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord], [DIGIT, Alphanumeric]];\n for (let i = 0; i < tlds.length; i++) {\n fastts(Start, tlds[i], TLD, WORD, wordjr);\n }\n for (let i = 0; i < utlds.length; i++) {\n fastts(Start, utlds[i], UTLD, UWORD, uwordjr);\n }\n addToGroups(TLD, {\n tld: true,\n ascii: true\n }, groups);\n addToGroups(UTLD, {\n utld: true,\n alpha: true\n }, groups);\n\n // Collect the states generated by different protocols. NOTE: If any new TLDs\n // get added that are also protocols, set the token to be the same as the\n // protocol to ensure parsing works as expected.\n fastts(Start, 'file', SCHEME, WORD, wordjr);\n fastts(Start, 'mailto', SCHEME, WORD, wordjr);\n fastts(Start, 'http', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'https', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftp', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftps', SLASH_SCHEME, WORD, wordjr);\n addToGroups(SCHEME, {\n scheme: true,\n ascii: true\n }, groups);\n addToGroups(SLASH_SCHEME, {\n slashscheme: true,\n ascii: true\n }, groups);\n\n // Register custom schemes. Assumes each scheme is asciinumeric with hyphens\n customSchemes = customSchemes.sort((a, b) => a[0] > b[0] ? 1 : -1);\n for (let i = 0; i < customSchemes.length; i++) {\n const sch = customSchemes[i][0];\n const optionalSlashSlash = customSchemes[i][1];\n const flags = optionalSlashSlash ? {\n [scheme]: true\n } : {\n [slashscheme]: true\n };\n if (sch.indexOf('-') >= 0) {\n flags[domain] = true;\n } else if (!ASCII_LETTER.test(sch)) {\n flags[numeric] = true; // numbers only\n } else if (DIGIT.test(sch)) {\n flags[asciinumeric] = true;\n } else {\n flags[ascii] = true;\n }\n ts(Start, sch, sch, flags);\n }\n\n // Localhost token\n ts(Start, 'localhost', LOCALHOST, {\n ascii: true\n });\n\n // Set default transition for start state (some symbol)\n Start.jd = new State(SYM);\n return {\n start: Start,\n tokens: Object.assign({\n groups\n }, tk)\n };\n}\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {State} start scanner starting state\n\t@param {string} str input string to scan\n\t@return {Token[]} list of tokens, each with a type and value\n*/\nfunction run$1(start, str) {\n // State machine is not case sensitive, so input is tokenized in lowercased\n // form (still returns regular case). Uses selective `toLowerCase` because\n // lowercasing the entire string causes the length and character position to\n // vary in some non-English strings with V8-based runtimes.\n const iterable = stringToArray(str.replace(/[A-Z]/g, c => c.toLowerCase()));\n const charCount = iterable.length; // <= len if there are emojis, etc\n const tokens = []; // return value\n\n // cursor through the string itself, accounting for characters that have\n // width with length 2 such as emojis\n let cursor = 0;\n\n // Cursor through the array-representation of the string\n let charCursor = 0;\n\n // Tokenize the string\n while (charCursor < charCount) {\n let state = start;\n let nextState = null;\n let tokenLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n let charsSinceAccepts = -1;\n while (charCursor < charCount && (nextState = state.go(iterable[charCursor]))) {\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n charsSinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts += iterable[charCursor].length;\n charsSinceAccepts++;\n }\n tokenLength += iterable[charCursor].length;\n cursor += iterable[charCursor].length;\n charCursor++;\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n charCursor -= charsSinceAccepts;\n tokenLength -= sinceAccepts;\n\n // No more jumps, just make a new token from the last accepting one\n tokens.push({\n t: latestAccepting.t,\n // token type/name\n v: str.slice(cursor - tokenLength, cursor),\n // string value\n s: cursor - tokenLength,\n // start index\n e: cursor // end index (excluding)\n });\n }\n return tokens;\n}\n\n/**\n * Convert a String to an Array of characters, taking into account that some\n * characters like emojis take up two string indexes.\n *\n * Adapted from core-js (MIT license)\n * https://github.com/zloirock/core-js/blob/2d69cf5f99ab3ea3463c395df81e5a15b68f49d9/packages/core-js/internals/string-multibyte.js\n *\n * @function stringToArray\n * @param {string} str\n * @returns {string[]}\n */\nfunction stringToArray(str) {\n const result = [];\n const len = str.length;\n let index = 0;\n while (index < len) {\n let first = str.charCodeAt(index);\n let second;\n let char = first < 0xd800 || first > 0xdbff || index + 1 === len || (second = str.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? str[index] // single character\n : str.slice(index, index + 2); // two-index characters\n result.push(char);\n index += char.length;\n }\n return result;\n}\n\n/**\n * Fast version of ts function for when transition defaults are well known\n * @param {State} state\n * @param {string} input\n * @param {string} t\n * @param {string} defaultt\n * @param {[RegExp, State][]} jr\n * @returns {State}\n */\nfunction fastts(state, input, t, defaultt, jr) {\n let next;\n const len = input.length;\n for (let i = 0; i < len - 1; i++) {\n const char = input[i];\n if (state.j[char]) {\n next = state.j[char];\n } else {\n next = new State(defaultt);\n next.jr = jr.slice();\n state.j[char] = next;\n }\n state = next;\n }\n next = new State(t);\n next.jr = jr.slice();\n state.j[input[len - 1]] = next;\n return next;\n}\n\n/**\n * Converts a string of Top-Level Domain names encoded in update-tlds.js back\n * into a list of strings.\n * @param {str} encoded encoded TLDs string\n * @returns {str[]} original TLDs list\n */\nfunction decodeTlds(encoded) {\n const words = [];\n const stack = [];\n let i = 0;\n let digits = '0123456789';\n while (i < encoded.length) {\n let popDigitCount = 0;\n while (digits.indexOf(encoded[i + popDigitCount]) >= 0) {\n popDigitCount++; // encountered some digits, have to pop to go one level up trie\n }\n if (popDigitCount > 0) {\n words.push(stack.join('')); // whatever preceded the pop digits must be a word\n for (let popCount = parseInt(encoded.substring(i, i + popDigitCount), 10); popCount > 0; popCount--) {\n stack.pop();\n }\n i += popDigitCount;\n } else {\n stack.push(encoded[i]); // drop down a level into the trie\n i++;\n }\n }\n return words;\n}\n\n/**\n * An object where each key is a valid DOM Event Name such as `click` or `focus`\n * and each value is an event handler function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element#events\n * @typedef {?{ [event: string]: Function }} EventListeners\n */\n\n/**\n * All formatted properties required to render a link, including `tagName`,\n * `attributes`, `content` and `eventListeners`.\n * @typedef {{ tagName: any, attributes: {[attr: string]: any}, content: string,\n * eventListeners: EventListeners }} IntermediateRepresentation\n */\n\n/**\n * Specify either an object described by the template type `O` or a function.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `O`\n * @template O\n * @typedef {O | ((value: string, type: string, token: MultiToken) => O)} OptObj\n */\n\n/**\n * Specify either a function described by template type `F` or an object.\n *\n * Each key in the object should be a link type (`'url'`, `'hashtag`', etc.). Each\n * value should be a function with template type `F` that is called when the\n * corresponding link type is encountered.\n * @template F\n * @typedef {F | { [type: string]: F}} OptFn\n */\n\n/**\n * Specify either a value with template type `V`, a function that returns `V` or\n * an object where each value resolves to `V`.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `V`\n *\n * For the object, each key should be a link type (`'url'`, `'hashtag`', etc.).\n * Each value should either have type `V` or a function that returns V. This\n * function similarly takes a string value and a token.\n *\n * Example valid types for `Opt`:\n *\n * ```js\n * 'hello'\n * (value, type, token) => 'world'\n * { url: 'hello', email: (value, token) => 'world'}\n * ```\n * @template V\n * @typedef {V | ((value: string, type: string, token: MultiToken) => V) | { [type: string]: V | ((value: string, token: MultiToken) => V) }} Opt\n */\n\n/**\n * See available options: https://linkify.js.org/docs/options.html\n * @typedef {{\n * \tdefaultProtocol?: string,\n * events?: OptObj,\n * \tformat?: Opt,\n * \tformatHref?: Opt,\n * \tnl2br?: boolean,\n * \ttagName?: Opt,\n * \ttarget?: Opt,\n * \trel?: Opt,\n * \tvalidate?: Opt,\n * \ttruncate?: Opt,\n * \tclassName?: Opt,\n * \tattributes?: OptObj<({ [attr: string]: any })>,\n * ignoreTags?: string[],\n * \trender?: OptFn<((ir: IntermediateRepresentation) => any)>\n * }} Opts\n */\n\n/**\n * @type Required\n */\nconst defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: null,\n rel: null,\n validate: true,\n truncate: Infinity,\n className: null,\n attributes: null,\n ignoreTags: [],\n render: null\n};\n\n/**\n * Utility class for linkify interfaces to apply specified\n * {@link Opts formatting and rendering options}.\n *\n * @param {Opts | Options} [opts] Option value overrides.\n * @param {(ir: IntermediateRepresentation) => any} [defaultRender] (For\n * internal use) default render function that determines how to generate an\n * HTML element based on a link token's derived tagName, attributes and HTML.\n * Similar to render option\n */\nfunction Options(opts, defaultRender = null) {\n let o = Object.assign({}, defaults);\n if (opts) {\n o = Object.assign(o, opts instanceof Options ? opts.o : opts);\n }\n\n // Ensure all ignored tags are uppercase\n const ignoredTags = o.ignoreTags;\n const uppercaseIgnoredTags = [];\n for (let i = 0; i < ignoredTags.length; i++) {\n uppercaseIgnoredTags.push(ignoredTags[i].toUpperCase());\n }\n /** @protected */\n this.o = o;\n if (defaultRender) {\n this.defaultRender = defaultRender;\n }\n this.ignoreTags = uppercaseIgnoredTags;\n}\nOptions.prototype = {\n o: defaults,\n /**\n * @type string[]\n */\n ignoreTags: [],\n /**\n * @param {IntermediateRepresentation} ir\n * @returns {any}\n */\n defaultRender(ir) {\n return ir;\n },\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options.\n * @param {MultiToken} token\n * @returns {boolean}\n */\n check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params. If operator and token are specified and the target option is\n * callable, automatically calls the function with the given argument.\n * @template {keyof Opts} K\n * @param {K} key Name of option to use\n * @param {string} [operator] will be passed to the target option if it's a\n * function. If not specified, RAW function value gets returned\n * @param {MultiToken} [token] The token from linkify.tokenize\n * @returns {Opts[K] | any}\n */\n get(key, operator, token) {\n const isCallable = operator != null;\n let option = this.o[key];\n if (!option) {\n return option;\n }\n if (typeof option === 'object') {\n option = token.t in option ? option[token.t] : defaults[key];\n if (typeof option === 'function' && isCallable) {\n option = option(operator, token);\n }\n } else if (typeof option === 'function' && isCallable) {\n option = option(operator, token.t, token);\n }\n return option;\n },\n /**\n * @template {keyof Opts} L\n * @param {L} key Name of options object to use\n * @param {string} [operator]\n * @param {MultiToken} [token]\n * @returns {Opts[L] | any}\n */\n getObj(key, operator, token) {\n let obj = this.o[key];\n if (typeof obj === 'function' && operator != null) {\n obj = obj(operator, token.t, token);\n }\n return obj;\n },\n /**\n * Convert the given token to a rendered element that may be added to the\n * calling-interface's DOM\n * @param {MultiToken} token Token to render to an HTML element\n * @returns {any} Render result; e.g., HTML string, DOM element, React\n * Component, etc.\n */\n render(token) {\n const ir = token.render(this); // intermediate representation\n const renderFn = this.get('render', null, token) || this.defaultRender;\n return renderFn(ir, token.t, token);\n }\n};\nfunction noop(val) {\n return val;\n}\n\nvar options = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tOptions: Options,\n\tdefaults: defaults\n});\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n/**\n * @param {string} value\n * @param {Token[]} tokens\n */\nfunction MultiToken(value, tokens) {\n this.t = 'token';\n this.v = value;\n this.tk = tokens;\n}\n\n/**\n * Abstract class used for manufacturing tokens of text tokens. That is rather\n * than the value for a token being a small string of text, it's value an array\n * of text tokens.\n *\n * Used for grouping together URLs, emails, hashtags, and other potential\n * creations.\n * @class MultiToken\n * @property {string} t\n * @property {string} v\n * @property {Token[]} tk\n * @abstract\n */\nMultiToken.prototype = {\n isLink: false,\n /**\n * Return the string this token represents.\n * @return {string}\n */\n toString() {\n return this.v;\n },\n /**\n * What should the value for this token be in the `href` HTML attribute?\n * Returns the `.toString` value by default.\n * @param {string} [scheme]\n * @return {string}\n */\n toHref(scheme) {\n return this.toString();\n },\n /**\n * @param {Options} options Formatting options\n * @returns {string}\n */\n toFormattedString(options) {\n const val = this.toString();\n const truncate = options.get('truncate', val, this);\n const formatted = options.get('format', val, this);\n return truncate && formatted.length > truncate ? formatted.substring(0, truncate) + '…' : formatted;\n },\n /**\n *\n * @param {Options} options\n * @returns {string}\n */\n toFormattedHref(options) {\n return options.get('formatHref', this.toHref(options.get('defaultProtocol')), this);\n },\n /**\n * The start index of this token in the original input string\n * @returns {number}\n */\n startIndex() {\n return this.tk[0].s;\n },\n /**\n * The end index of this token in the original input string (up to this\n * index but not including it)\n * @returns {number}\n */\n endIndex() {\n return this.tk[this.tk.length - 1].e;\n },\n /**\n \tReturns an object of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {string} [protocol] `'http'` by default\n */\n toObject(protocol = defaults.defaultProtocol) {\n return {\n type: this.t,\n value: this.toString(),\n isLink: this.isLink,\n href: this.toHref(protocol),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n *\n * @param {Options} options Formatting option\n */\n toFormattedObject(options) {\n return {\n type: this.t,\n value: this.toFormattedString(options),\n isLink: this.isLink,\n href: this.toFormattedHref(options),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n * Whether this token should be rendered as a link according to the given options\n * @param {Options} options\n * @returns {boolean}\n */\n validate(options) {\n return options.get('validate', this.toString(), this);\n },\n /**\n * Return an object that represents how this link should be rendered.\n * @param {Options} options Formattinng options\n */\n render(options) {\n const token = this;\n const href = this.toHref(options.get('defaultProtocol'));\n const formattedHref = options.get('formatHref', href, this);\n const tagName = options.get('tagName', href, token);\n const content = this.toFormattedString(options);\n const attributes = {};\n const className = options.get('className', href, token);\n const target = options.get('target', href, token);\n const rel = options.get('rel', href, token);\n const attrs = options.getObj('attributes', href, token);\n const eventListeners = options.getObj('events', href, token);\n attributes.href = formattedHref;\n if (className) {\n attributes.class = className;\n }\n if (target) {\n attributes.target = target;\n }\n if (rel) {\n attributes.rel = rel;\n }\n if (attrs) {\n Object.assign(attributes, attrs);\n }\n return {\n tagName,\n attributes,\n content,\n eventListeners\n };\n }\n};\n\n/**\n * Create a new token that can be emitted by the parser state machine\n * @param {string} type readable type of the token\n * @param {object} props properties to assign or override, including isLink = true or false\n * @returns {new (value: string, tokens: Token[]) => MultiToken} new token class\n */\nfunction createTokenClass(type, props) {\n class Token extends MultiToken {\n constructor(value, tokens) {\n super(value, tokens);\n this.t = type;\n }\n }\n for (const p in props) {\n Token.prototype[p] = props[p];\n }\n Token.t = type;\n return Token;\n}\n\n/**\n\tRepresents a list of tokens making up a valid email address\n*/\nconst Email = createTokenClass('email', {\n isLink: true,\n toHref() {\n return 'mailto:' + this.toString();\n }\n});\n\n/**\n\tRepresents some plain text\n*/\nconst Text = createTokenClass('text');\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class Nl\n*/\nconst Nl = createTokenClass('nl');\n\n/**\n\tRepresents a list of text tokens making up a valid URL\n\t@class Url\n*/\nconst Url = createTokenClass('url', {\n isLink: true,\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@param {string} [scheme] default scheme (e.g., 'https')\n \t@return {string} the full href\n */\n toHref(scheme = defaults.defaultProtocol) {\n // Check if already has a prefix scheme\n return this.hasProtocol() ? this.v : `${scheme}://${this.v}`;\n },\n /**\n * Check whether this URL token has a protocol\n * @return {boolean}\n */\n hasProtocol() {\n const tokens = this.tk;\n return tokens.length >= 2 && tokens[0].t !== LOCALHOST && tokens[1].t === COLON;\n }\n});\n\nvar multi = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tBase: MultiToken,\n\tEmail: Email,\n\tMultiToken: MultiToken,\n\tNl: Nl,\n\tText: Text,\n\tUrl: Url,\n\tcreateTokenClass: createTokenClass\n});\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/EmailAddress (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main run\n*/\n\nconst makeState = arg => new State(arg);\n\n/**\n * Generate the parser multi token-based state machine\n * @param {{ groups: Collections }} tokens\n */\nfunction init$1({\n groups\n}) {\n // Types of characters the URL can definitely end in\n const qsAccepting = groups.domain.concat([AMPERSAND, ASTERISK, AT, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, NUM, PERCENT, PIPE, PLUS, POUND, SLASH, SYM, TILDE, UNDERSCORE]);\n\n // Types of tokens that can follow a URL and be part of the query string\n // but cannot be the very last characters\n // Characters that cannot appear in the URL at all should be excluded\n const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];\n\n // For addresses without the mailto prefix\n // Tokens allowed in the localpart of the email\n const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE];\n\n // The universal starting state.\n /**\n * @type State\n */\n const Start = makeState();\n const Localpart = tt(Start, TILDE); // Local part of the email address\n ta(Localpart, localpartAccepting, Localpart);\n ta(Localpart, groups.domain, Localpart);\n const Domain = makeState(),\n Scheme = makeState(),\n SlashScheme = makeState();\n ta(Start, groups.domain, Domain); // parsed string ends with a potential domain name (A)\n ta(Start, groups.scheme, Scheme); // e.g., 'mailto'\n ta(Start, groups.slashscheme, SlashScheme); // e.g., 'http'\n\n ta(Domain, localpartAccepting, Localpart);\n ta(Domain, groups.domain, Domain);\n const LocalpartAt = tt(Domain, AT); // Local part of the email address plus @\n\n tt(Localpart, AT, LocalpartAt); // close to an email address now\n\n // Local part of an email address can be e.g. 'http' or 'mailto'\n tt(Scheme, AT, LocalpartAt);\n tt(SlashScheme, AT, LocalpartAt);\n const LocalpartDot = tt(Localpart, DOT); // Local part of the email address plus '.' (localpart cannot end in .)\n ta(LocalpartDot, localpartAccepting, Localpart);\n ta(LocalpartDot, groups.domain, Localpart);\n const EmailDomain = makeState();\n ta(LocalpartAt, groups.domain, EmailDomain); // parsed string starts with local email info + @ with a potential domain name\n ta(EmailDomain, groups.domain, EmailDomain);\n const EmailDomainDot = tt(EmailDomain, DOT); // domain followed by DOT\n ta(EmailDomainDot, groups.domain, EmailDomain);\n const Email$1 = makeState(Email); // Possible email address (could have more tlds)\n ta(EmailDomainDot, groups.tld, Email$1);\n ta(EmailDomainDot, groups.utld, Email$1);\n tt(LocalpartAt, LOCALHOST, Email$1);\n\n // Hyphen can jump back to a domain name\n const EmailDomainHyphen = tt(EmailDomain, HYPHEN); // parsed string starts with local email info + @ with a potential domain name\n tt(EmailDomainHyphen, HYPHEN, EmailDomainHyphen);\n ta(EmailDomainHyphen, groups.domain, EmailDomain);\n ta(Email$1, groups.domain, EmailDomain);\n tt(Email$1, DOT, EmailDomainDot);\n tt(Email$1, HYPHEN, EmailDomainHyphen);\n\n // Account for dots and hyphens. Hyphens are usually parts of domain names\n // (but not TLDs)\n const DomainHyphen = tt(Domain, HYPHEN); // domain followed by hyphen\n const DomainDot = tt(Domain, DOT); // domain followed by DOT\n tt(DomainHyphen, HYPHEN, DomainHyphen);\n ta(DomainHyphen, groups.domain, Domain);\n ta(DomainDot, localpartAccepting, Localpart);\n ta(DomainDot, groups.domain, Domain);\n const DomainDotTld = makeState(Url); // Simplest possible URL with no query string\n ta(DomainDot, groups.tld, DomainDotTld);\n ta(DomainDot, groups.utld, DomainDotTld);\n ta(DomainDotTld, groups.domain, Domain);\n ta(DomainDotTld, localpartAccepting, Localpart);\n tt(DomainDotTld, DOT, DomainDot);\n tt(DomainDotTld, HYPHEN, DomainHyphen);\n tt(DomainDotTld, AT, LocalpartAt);\n const DomainDotTldColon = tt(DomainDotTld, COLON); // URL followed by colon (potential port number here)\n const DomainDotTldColonPort = makeState(Url); // TLD followed by a port number\n ta(DomainDotTldColon, groups.numeric, DomainDotTldColonPort);\n\n // Long URL with optional port and maybe query string\n const Url$1 = makeState(Url);\n\n // URL with extra symbols at the end, followed by an opening bracket\n const UrlNonaccept = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\n // Query strings\n ta(Url$1, qsAccepting, Url$1);\n ta(Url$1, qsNonAccepting, UrlNonaccept);\n ta(UrlNonaccept, qsAccepting, Url$1);\n ta(UrlNonaccept, qsNonAccepting, UrlNonaccept);\n\n // Become real URLs after `SLASH` or `COLON NUM SLASH`\n // Here works with or without scheme:// prefix\n tt(DomainDotTld, SLASH, Url$1);\n tt(DomainDotTldColonPort, SLASH, Url$1);\n\n // Note that domains that begin with schemes are treated slighly differently\n const SchemeColon = tt(Scheme, COLON); // e.g., 'mailto:'\n const SlashSchemeColon = tt(SlashScheme, COLON); // e.g., 'http:'\n const SlashSchemeColonSlash = tt(SlashSchemeColon, SLASH); // e.g., 'http:/'\n\n const UriPrefix = tt(SlashSchemeColonSlash, SLASH); // e.g., 'http://'\n\n // Scheme states can transition to domain states\n ta(Scheme, groups.domain, Domain);\n tt(Scheme, DOT, DomainDot);\n tt(Scheme, HYPHEN, DomainHyphen);\n ta(SlashScheme, groups.domain, Domain);\n tt(SlashScheme, DOT, DomainDot);\n tt(SlashScheme, HYPHEN, DomainHyphen);\n\n // Force URL with scheme prefix followed by anything sane\n ta(SchemeColon, groups.domain, Url$1);\n tt(SchemeColon, SLASH, Url$1);\n tt(SchemeColon, QUERY, Url$1);\n ta(UriPrefix, groups.domain, Url$1);\n ta(UriPrefix, qsAccepting, Url$1);\n tt(UriPrefix, SLASH, Url$1);\n const bracketPairs = [[OPENBRACE, CLOSEBRACE],\n // {}\n [OPENBRACKET, CLOSEBRACKET],\n // []\n [OPENPAREN, CLOSEPAREN],\n // ()\n [OPENANGLEBRACKET, CLOSEANGLEBRACKET],\n // <>\n [FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN],\n // ()\n [LEFTCORNERBRACKET, RIGHTCORNERBRACKET],\n // 「」\n [LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET],\n // 『』\n [FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN] // <>\n ];\n for (let i = 0; i < bracketPairs.length; i++) {\n const [OPEN, CLOSE] = bracketPairs[i];\n const UrlOpen = tt(Url$1, OPEN); // URL followed by open bracket\n\n // Continue not accepting for open brackets\n tt(UrlNonaccept, OPEN, UrlOpen);\n\n // URL that begins with an opening bracket, followed by a symbols.\n // Note that the final state can still be `UrlOpen` (if the URL has a\n // single opening bracket for some reason).\n const UrlOpenQ = makeState(Url);\n ta(UrlOpen, qsAccepting, UrlOpenQ);\n const UrlOpenSyms = makeState(); // UrlOpen followed by some symbols it cannot end it\n ta(UrlOpen, qsNonAccepting, UrlOpenSyms);\n\n // Closing bracket component. This character WILL be included in the URL.\n // Must come after qsNonAccepting (which includes all close-bracket tokens)\n // so that CLOSE -> Url wins over CLOSE -> UrlOpenSyms.\n tt(UrlOpen, CLOSE, Url$1);\n\n // URL that begins with an opening bracket, followed by some symbols\n ta(UrlOpenQ, qsAccepting, UrlOpenQ);\n ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);\n ta(UrlOpenSyms, qsAccepting, UrlOpenQ);\n ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms);\n\n // Close brace/bracket to become regular URL\n tt(UrlOpenQ, CLOSE, Url$1);\n tt(UrlOpenSyms, CLOSE, Url$1);\n }\n tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state\n tt(Start, NL, Nl); // single new line\n\n return {\n start: Start,\n tokens: tk\n };\n}\n\n/**\n * Run the parser state machine on a list of scanned string-based tokens to\n * create a list of multi tokens, each of which represents a URL, email address,\n * plain text, etc.\n *\n * @param {State} start parser start state\n * @param {string} input the original input used to generate the given tokens\n * @param {Token[]} tokens list of scanned tokens\n * @returns {MultiToken[]}\n */\nfunction run(start, input, tokens) {\n let len = tokens.length;\n let cursor = 0;\n let multis = [];\n let textTokens = [];\n while (cursor < len) {\n let state = start;\n let secondState = null;\n let nextState = null;\n let multiLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n while (cursor < len && !(secondState = state.go(tokens[cursor].t))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n while (cursor < len && (nextState = secondState || state.go(tokens[cursor].t))) {\n // Get the next state\n secondState = null;\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n cursor++;\n multiLength++;\n }\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token add\n // the first text token to the text tokens array and try again from\n // the next\n cursor -= multiLength;\n if (cursor < len) {\n textTokens.push(tokens[cursor]);\n cursor++;\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n textTokens = [];\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts;\n\n // Create a new multitoken\n const Multi = latestAccepting.t;\n const subtokens = tokens.slice(cursor - multiLength, cursor);\n multis.push(initMultiToken(Multi, input, subtokens));\n }\n }\n\n // Finally close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n }\n return multis;\n}\n\n/**\n * Utility function for instantiating a new multitoken with all the relevant\n * fields during parsing.\n * @param {new (value: string, tokens: Token[]) => MultiToken} Multi class to instantiate\n * @param {string} input original input string\n * @param {Token[]} tokens consecutive tokens scanned from input string\n * @returns {MultiToken}\n */\nfunction initMultiToken(Multi, input, tokens) {\n const startIdx = tokens[0].s;\n const endIdx = tokens[tokens.length - 1].e;\n const value = input.slice(startIdx, endIdx);\n return new Multi(value, tokens);\n}\n\nconst warn = typeof console !== 'undefined' && console && console.warn || (() => {});\nconst warnAdvice = 'until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.';\n\n// Side-effect initialization state\nconst INIT = {\n scanner: null,\n parser: null,\n tokenQueue: [],\n pluginQueue: [],\n customSchemes: [],\n initialized: false\n};\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: { groups: Collections } & typeof tk\n * }} ScannerInit\n */\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: typeof multi\n * }} ParserInit\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit }) => void} TokenPlugin\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit, parser: ParserInit }) => void} Plugin\n */\n\n/**\n * De-register all plugins and reset the internal state-machine. Used for\n * testing; not required in practice.\n * @private\n */\nfunction reset() {\n State.groups = {};\n INIT.scanner = null;\n INIT.parser = null;\n INIT.tokenQueue = [];\n INIT.pluginQueue = [];\n INIT.customSchemes = [];\n INIT.initialized = false;\n return INIT;\n}\n\n/**\n * Register a token plugin to allow the scanner to recognize additional token\n * types before the parser state machine is constructed from the results.\n * @param {string} name of plugin to register\n * @param {TokenPlugin} plugin function that accepts the scanner state machine\n * and available scanner tokens and collections and extends the state machine to\n * recognize additional tokens or groups.\n */\nfunction registerTokenPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid token plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n if (name === INIT.tokenQueue[i][0]) {\n warn(`linkifyjs: token plugin \"${name}\" already registered - will be overwritten`);\n INIT.tokenQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.tokenQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register token plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Register a linkify plugin\n * @param {string} name of plugin to register\n * @param {Plugin} plugin function that accepts the parser state machine and\n * extends the parser to recognize additional link types\n */\nfunction registerPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n if (name === INIT.pluginQueue[i][0]) {\n warn(`linkifyjs: plugin \"${name}\" already registered - will be overwritten`);\n INIT.pluginQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.pluginQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Detect URLs with the following additional protocol. Anything with format\n * \"protocol://...\" will be considered a link. If `optionalSlashSlash` is set to\n * `true`, anything with format \"protocol:...\" will be considered a link.\n * @param {string} scheme\n * @param {boolean} [optionalSlashSlash]\n */\nfunction registerCustomProtocol(scheme, optionalSlashSlash = false) {\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register custom scheme \"${scheme}\" ${warnAdvice}`);\n }\n if (!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(scheme)) {\n throw new Error(`linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or \"-\"\n2. Cannot start or end with \"-\"\n3. \"-\" cannot repeat`);\n }\n INIT.customSchemes.push([scheme, optionalSlashSlash]);\n}\n\n/**\n * Initialize the linkify state machine. Called automatically the first time\n * linkify is called on a string, but may be called manually as well.\n */\nfunction init() {\n // Initialize scanner state machine and plugins\n INIT.scanner = init$2(INIT.customSchemes);\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n INIT.tokenQueue[i][1]({\n scanner: INIT.scanner\n });\n }\n\n // Initialize parser state machine and plugins\n INIT.parser = init$1(INIT.scanner.tokens);\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n INIT.pluginQueue[i][1]({\n scanner: INIT.scanner,\n parser: INIT.parser\n });\n }\n INIT.initialized = true;\n return INIT;\n}\n\n/**\n * Parse a string into tokens that represent linkable and non-linkable sub-components\n * @param {string} str\n * @return {MultiToken[]} tokens\n */\nfunction tokenize(str) {\n if (!INIT.initialized) {\n init();\n }\n return run(INIT.parser.start, str, run$1(INIT.scanner.start, str));\n}\ntokenize.scan = run$1; // for testing\n\n/**\n * Find a list of linkable items in the given string.\n * @param {string} str string to find links in\n * @param {string | Opts} [type] either formatting options or specific type of\n * links to find, e.g., 'url' or 'email'\n * @param {Opts} [opts] formatting options for final output. Cannot be specified\n * if opts already provided in `type` argument\n */\nfunction find(str, type = null, opts = null) {\n if (type && typeof type === 'object') {\n if (opts) {\n throw Error(`linkifyjs: Invalid link type ${type}; must be a string`);\n }\n opts = type;\n type = null;\n }\n const options = new Options(opts);\n const tokens = tokenize(str);\n const filtered = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.isLink && (!type || token.t === type) && options.check(token)) {\n filtered.push(token.toFormattedObject(options));\n }\n }\n return filtered;\n}\n\n/**\n * Is the given string valid linkable text of some sort. Note that this does not\n * trim the text for you.\n *\n * Optionally pass in a second `type` param, which is the type of link to test\n * for.\n *\n * For example,\n *\n * linkify.test(str, 'email');\n *\n * Returns `true` if str is a valid email.\n * @param {string} str string to test for links\n * @param {string} [type] optional specific link type to look for\n * @returns boolean true/false\n */\nfunction test(str, type = null) {\n const tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].t === type);\n}\n\nexport { MultiToken, Options, State, createTokenClass, find, init, multi, options, regexp, registerCustomProtocol, registerPlugin, registerTokenPlugin, reset, stringToArray, test, multi as text, tokenize };\n","import escapeHTML from \"escape-html\";\nimport { Options, tokenize } from \"linkifyjs\";\nfunction linkifyString(str) {\n const options = new Options({\n defaultProtocol: \"https\",\n target: \"_blank\",\n className: \"external linkified\",\n attributes: {\n rel: \"nofollow noopener noreferrer\"\n }\n }, defaultRender);\n const tokens = tokenize(str);\n const result = [];\n for (const token of tokens) {\n if (token.t === \"nl\" && options.get(\"nl2br\")) {\n result.push(\"
\\n\");\n } else if (!token.isLink || !options.check(token)) {\n result.push(escapeHTML(token.toString()));\n } else {\n result.push(options.render(token));\n }\n }\n return result.join(\"\");\n}\nfunction escapeAttr(href) {\n return href.replace(/\"/g, \""\");\n}\nfunction attributesToString(attributes) {\n const result = [];\n for (const attr in attributes) {\n const val = attributes[attr] + \"\";\n result.push(`${attr}=\"${escapeAttr(val)}\"`);\n }\n return result.join(\" \");\n}\nfunction defaultRender({ tagName, attributes, content }) {\n return `<${tagName} ${attributesToString(attributes)}>${escapeHTML(content)}`;\n}\nconst directive = function(el, { value }) {\n if (value?.linkify === true) {\n el.innerHTML = linkifyString(value.text);\n }\n};\nexport {\n directive as default\n};\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, inject, withDirectives, openBlock, createElementBlock, createTextVNode, toDisplayString, unref } from \"vue\";\nimport directive from \"../directives/Linkify/index.mjs\";\nconst _hoisted_1 = [\"title\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSidebarHeader\",\n props: {\n name: {},\n title: {},\n linkify: { type: Boolean }\n },\n setup(__props) {\n const headerRef = inject(\"NcAppSidebar:header:ref\");\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"h2\", {\n ref_key: \"headerRef\",\n ref: headerRef,\n tabindex: \"-1\",\n title: __props.title\n }, [\n createTextVNode(toDisplayString(__props.name), 1)\n ], 8, _hoisted_1)), [\n [unref(directive), { text: __props.name, linkify: __props.linkify }]\n ]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-C-QhdyiN.mjs.map\n","import '../assets/NcEmptyContent-DJMDuGVz.css';\nimport { defineComponent, openBlock, createElementBlock, unref, renderSlot, createCommentVNode, createTextVNode, toDisplayString } from \"vue\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"aria-labelledby\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"empty-content__icon\",\n \"aria-hidden\": \"true\"\n};\nconst _hoisted_3 = [\"id\"];\nconst _hoisted_4 = {\n key: 2,\n class: \"empty-content__description\"\n};\nconst _hoisted_5 = {\n key: 3,\n class: \"empty-content__action\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcEmptyContent\",\n props: {\n description: { default: \"\" },\n name: { default: \"\" }\n },\n setup(__props) {\n const nameId = createElementId();\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n \"aria-labelledby\": unref(nameId),\n class: \"empty-content\",\n role: \"note\"\n }, [\n _ctx.$slots.icon ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n __props.name !== \"\" || _ctx.$slots.name ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n id: unref(nameId),\n class: \"empty-content__name\"\n }, [\n renderSlot(_ctx.$slots, \"name\", {}, () => [\n createTextVNode(toDisplayString(__props.name), 1)\n ], true)\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true),\n __props.description !== \"\" || _ctx.$slots.description ? (openBlock(), createElementBlock(\"p\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString(__props.description), 1)\n ], true)\n ])) : createCommentVNode(\"\", true),\n _ctx.$slots.action ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n renderSlot(_ctx.$slots, \"action\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 8, _hoisted_1);\n };\n }\n});\nconst NcEmptyContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8609a4c1\"]]);\nexport {\n NcEmptyContent as N\n};\n//# sourceMappingURL=NcEmptyContent-CGAPqk4S.mjs.map\n","import '../assets/NcAppSidebar-oJQ8kUb0.css';\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, useModel, normalizeClass, unref, createVNode, withCtx, mergeModels, resolveComponent, withKeys, withModifiers, Fragment, renderList, createBlock, renderSlot, resolveDirective, Transition, withDirectives, Teleport, normalizeStyle, vShow, createTextVNode, warn, ref, provide } from \"vue\";\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { _ as _sfc_main$6 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { useIsSmallMobile } from \"../composables/useIsMobile/index.mjs\";\nimport directive from \"../directives/Focus/index.mjs\";\nimport { r as register, V as t15, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isSlotPopulated, N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _sfc_main$7 } from \"./NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-C-QhdyiN.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { N as NcEmptyContent } from \"./NcEmptyContent-CGAPqk4S.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-BOVpFVQz.mjs\";\nconst _sfc_main$5 = {\n name: \"DockRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon dock-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$5);\n}\nconst IconDockRight = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$4 = {\n name: \"StarIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon star-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$4);\n}\nconst IconStar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$3 = {\n name: \"StarOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon star-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$3);\n}\nconst IconStarOutline = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$2]]);\nconst _hoisted_1$2 = [\"aria-selected\", \"tabindex\"];\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSidebarTabsButton\",\n props: /* @__PURE__ */ mergeModels({\n tab: {}\n }, {\n \"selected\": { type: Boolean, ...{ required: true } },\n \"selectedModifiers\": {}\n }),\n emits: [\"update:selected\"],\n setup(__props) {\n const selected = useModel(__props, \"selected\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"button-vue\", [_ctx.$style.sidebarTabsButton, {\n [_ctx.$style.sidebarTabsButton_selected]: selected.value,\n [_ctx.$style.sidebarTabsButton_legacy]: unref(isLegacy34)\n }]]),\n role: \"tab\",\n \"aria-selected\": selected.value,\n tabindex: selected.value ? 0 : -1,\n onClick: _cache[0] || (_cache[0] = ($event) => selected.value = true)\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.$style.sidebarTabsButton__icon)\n }, [\n createVNode(_sfc_main$6, {\n vnodes: __props.tab.renderIcon()\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", {\n class: normalizeClass([_ctx.$style.sidebarTabsButton__legacyIcon, __props.tab.icon])\n }, null, 2)\n ]),\n _: 1\n }, 8, [\"vnodes\"])\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.$style.sidebarTabsButton__name)\n }, toDisplayString(__props.tab.name), 3)\n ], 10, _hoisted_1$2);\n };\n }\n});\nconst sidebarTabsButton = \"_sidebarTabsButton_OCROY\";\nconst sidebarTabsButton_legacy = \"_sidebarTabsButton_legacy_e9-y9\";\nconst sidebarTabsButton_selected = \"_sidebarTabsButton_selected_S48M1\";\nconst sidebarTabsButton__name = \"_sidebarTabsButton__name_GZRY8\";\nconst sidebarTabsButton__icon = \"_sidebarTabsButton__icon_ZDmkU\";\nconst sidebarTabsButton__legacyIcon = \"_sidebarTabsButton__legacyIcon_y6cLW\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_v9SPG\",\n sidebarTabsButton,\n sidebarTabsButton_legacy,\n sidebarTabsButton_selected,\n sidebarTabsButton__name,\n sidebarTabsButton__icon,\n sidebarTabsButton__legacyIcon\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppSidebarTabsButton = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"__cssModules\", cssModules]]);\nconst _sfc_main$1 = {\n name: \"NcAppSidebarTabs\",\n components: {\n NcAppSidebarTabsButton\n },\n provide() {\n return {\n registerTab: this.registerTab,\n unregisterTab: this.unregisterTab,\n // Getter as an alternative to Vue 2.7 computed(() => this.activeTab)\n getActiveTab: () => this.activeTab,\n // Used to check whether the tab header is shown so the tabs can reference the tab header for `aria-labelledby` or not\n isTablistShown: () => this.hasMultipleTabs\n };\n },\n props: {\n /**\n * Id of the tab to activate\n */\n active: {\n type: String,\n default: \"\"\n },\n /**\n * Force the tab navigation to display even if there is only one tab\n */\n forceTabs: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"update:active\"],\n data(props) {\n return {\n /**\n * Tab descriptions from the passed NcSidebarTab components' props to build the tab navbar from.\n */\n tabs: [],\n /**\n * Local active (open) tab's ID. It allows to use component without v-model:active\n */\n activeTab: props.active,\n isLegacy34\n };\n },\n computed: {\n /**\n * Has multiple tabs. If only one tab - its content is shown without navigation\n *\n * @return {boolean}\n */\n hasMultipleTabs() {\n return this.tabs.length > 1;\n },\n showForSingleTab() {\n return this.forceTabs && this.tabs.length === 1;\n },\n currentTabIndex() {\n return this.tabs.findIndex((tab) => tab.id === this.activeTab);\n }\n },\n watch: {\n tabs() {\n if (this.active) {\n this.updateActive();\n }\n },\n active(active) {\n if (active !== this.activeTab) {\n this.updateActive();\n }\n }\n },\n methods: {\n /**\n * Set the current active tab\n *\n * @param {string} id the id of the tab\n */\n setActive(id) {\n this.activeTab = id;\n this.$emit(\"update:active\", this.activeTab);\n },\n /**\n * Focus the previous tab\n * and emit to the parent component\n */\n focusPreviousTab() {\n if (this.currentTabIndex > 0) {\n this.setActive(this.tabs[this.currentTabIndex - 1].id);\n }\n this.focusActiveTab();\n },\n /**\n * Focus the next tab\n * and emit to the parent component\n */\n focusNextTab() {\n if (this.currentTabIndex < this.tabs.length - 1) {\n this.setActive(this.tabs[this.currentTabIndex + 1].id);\n }\n this.focusActiveTab();\n },\n /**\n * Focus the first tab\n * and emit to the parent component\n */\n focusFirstTab() {\n this.setActive(this.tabs[0].id);\n this.focusActiveTab();\n },\n /**\n * Focus the last tab\n * and emit to the parent component\n */\n focusLastTab() {\n this.setActive(this.tabs[this.tabs.length - 1].id);\n this.focusActiveTab();\n },\n /**\n * Focus the current active tab\n */\n focusActiveTab() {\n this.$el.querySelector(`#tab-button-${this.activeTab}`).focus();\n },\n /**\n * Focus the content on tab\n * see aria accessibility guidelines\n */\n focusActiveTabContent() {\n this.$el.querySelector(\"#tab-\" + this.activeTab).focus();\n },\n /**\n * Update the current active tab\n */\n updateActive() {\n this.activeTab = this.active && this.tabs.some(({ id }) => id === this.active) ? this.active : this.tabs[0]?.id ?? \"\";\n },\n /**\n * Register child tab in the tabs\n *\n * @param {object} tab child tab passed to slot\n */\n registerTab(tab) {\n this.tabs.push(tab);\n this.tabs.sort((a, b) => {\n if (a.order === b.order) {\n return a.name.localeCompare(b.name, [getCanonicalLocale()]);\n }\n return a.order - b.order;\n });\n this.updateActive();\n },\n /**\n * Unregister child tab from the tabs\n *\n * @param {string} id tab's id\n */\n unregisterTab(id) {\n const tabIndex = this.tabs.findIndex((tab) => tab.id === id);\n if (tabIndex !== -1) {\n this.tabs.splice(tabIndex, 1);\n }\n if (this.activeTab === id) {\n this.updateActive();\n }\n }\n }\n};\nconst _hoisted_1$1 = { class: \"app-sidebar-tabs\" };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppSidebarTabsButton = resolveComponent(\"NcAppSidebarTabsButton\");\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n $options.hasMultipleTabs || $options.showForSingleTab ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n role: \"tablist\",\n class: normalizeClass([\"app-sidebar-tabs__nav\", { \"app-sidebar-tabs__nav--legacy\": $data.isLegacy34 }]),\n onKeydown: [\n _cache[0] || (_cache[0] = withKeys(withModifiers((...args) => $options.focusPreviousTab && $options.focusPreviousTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"left\"])),\n _cache[1] || (_cache[1] = withKeys(withModifiers((...args) => $options.focusNextTab && $options.focusNextTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"right\"])),\n _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.focusActiveTabContent && $options.focusActiveTabContent(...args), [\"exact\", \"prevent\", \"stop\"]), [\"tab\"])),\n _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.focusFirstTab && $options.focusFirstTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"home\"])),\n _cache[4] || (_cache[4] = withKeys(withModifiers((...args) => $options.focusLastTab && $options.focusLastTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"end\"])),\n _cache[5] || (_cache[5] = withKeys(withModifiers((...args) => $options.focusFirstTab && $options.focusFirstTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"page-up\"])),\n _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => $options.focusLastTab && $options.focusLastTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"page-down\"]))\n ]\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($data.tabs, (tab) => {\n return openBlock(), createBlock(_component_NcAppSidebarTabsButton, {\n id: `tab-button-${tab.id}`,\n key: tab.id,\n class: \"app-sidebar-tabs__tab\",\n \"aria-controls\": `tab-${tab.id}`,\n selected: $data.activeTab === tab.id,\n tab,\n \"onUpdate:selected\": ($event) => $options.setActive(tab.id)\n }, null, 8, [\"id\", \"aria-controls\", \"selected\", \"tab\", \"onUpdate:selected\"]);\n }), 128))\n ], 34)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-sidebar-tabs__content\", { \"app-sidebar-tabs__content--multiple\": $options.hasMultipleTabs }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2)\n ]);\n}\nconst NcAppSidebarTabs = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-e74d1502\"]]);\nregister(t15);\nconst _sfc_main = {\n name: \"NcAppSidebar\",\n components: {\n NcActions,\n NcAppSidebarHeader: _sfc_main$7,\n NcAppSidebarTabs,\n NcButton,\n NcLoadingIcon,\n NcEmptyContent,\n IconArrowRight,\n IconClose,\n IconDockRight,\n IconStar,\n IconStarOutline\n },\n directives: {\n Focus: directive,\n /** @type {import('vue').ObjectDirective} */\n ClickOutside: vOnClickOutside\n },\n inject: {\n ncContentSelector: {\n from: CONTENT_SELECTOR_KEY,\n default: void 0\n }\n },\n props: {\n /**\n * The active tab\n */\n active: {\n type: String,\n default: \"\"\n },\n /**\n * Main text of the sidebar\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Allow to edit the sidebar name.\n */\n nameEditable: {\n type: Boolean,\n default: false\n },\n /**\n * Placeholder in the edit field if the name is editable.\n */\n namePlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Secondary name of the sidebar (subline)\n */\n subname: {\n type: String,\n default: \"\"\n },\n /**\n * Title to display for the subname.\n */\n subtitle: {\n type: String,\n default: \"\"\n },\n /**\n * Url to the top header background image\n * Applied with css\n */\n background: {\n type: String,\n default: \"\"\n },\n /**\n * Enable the favourite icon if not null\n * See fired events\n */\n starred: {\n type: Boolean,\n default: null\n },\n /**\n * Show loading spinner instead of the star icon\n */\n starLoading: {\n type: Boolean,\n default: false\n },\n /**\n * Show loading spinner instead of tabs\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Display the sidebar in compact mode\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Only display close button and default slot content.\n * Don't display other header content and primary and secondary actions.\n * Useful when showing the EmptyContent component as content.\n */\n empty: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Force the tab navigation to display even if there is only one tab\n */\n forceTabs: {\n type: Boolean,\n default: false\n },\n /**\n * Linkify the name\n */\n linkifyName: {\n type: Boolean,\n default: false\n },\n /**\n * Title to display for the name.\n * Can be set to the same text in case it's too long.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Allow to conditionally show the sidebar\n * You can also use `v-if` on the sidebar, but using the open prop allow to keep\n * the sidebar inside the DOM for performance if it is opened and closed multiple times.\n *\n * When using the `open` property to close the sidebar a built-in toggle button will be shown to reopen it,\n * similar to the app navigation. You can remove this button with the `no-toggle` prop.\n */\n open: {\n type: Boolean,\n default: true\n },\n /**\n * Custom classes to assign to the sidebar toggle button.\n * If needed this can be used to assign styles to the button using `:deep()` selector.\n */\n toggleClasses: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * Custom attrs to assign to the sidebar toggle button.\n */\n toggleAttrs: {\n type: Object,\n default: void 0\n },\n /**\n * Do not add the built-in toggle button with `open` prop.\n */\n noToggle: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"close\",\n \"closed\",\n \"opened\",\n // 'figureClick', not emitted on purpose to make \"hasFigureClickListener\" work\n \"update:active\",\n \"update:name\",\n \"update:nameEditable\",\n \"update:open\",\n \"update:starred\",\n \"submitName\",\n \"dismissEditing\"\n ],\n setup() {\n const headerRef = ref(null);\n provide(\"NcAppSidebar:header:ref\", headerRef);\n return {\n uid: createElementId(),\n isMobile: useIsSmallMobile(),\n headerRef\n };\n },\n data() {\n return {\n changeNameTranslated: t(\"Change name\"),\n closeTranslated: t(\"Close sidebar\"),\n favoriteTranslated: t(\"Favorite\"),\n isStarred: this.starred,\n focusTrap: null,\n elementToReturnFocus: null\n };\n },\n computed: {\n canStar() {\n return this.isStarred !== null;\n },\n hasFigureClickListener() {\n return !!this.$attrs.onFigureClick;\n }\n },\n watch: {\n starred() {\n this.isStarred = this.starred;\n },\n isMobile() {\n this.toggleFocusTrap();\n },\n open() {\n this.checkToggleButtonContainerAvailability();\n }\n },\n created() {\n this.preserveElementToReturnFocus();\n this.checkToggleButtonContainerAvailability();\n },\n beforeUnmount() {\n this.$emit(\"closed\");\n this.focusTrap?.deactivate();\n },\n methods: {\n isSlotPopulated,\n t,\n preserveElementToReturnFocus() {\n if (document.activeElement && document.activeElement !== document.body) {\n this.elementToReturnFocus = document.activeElement;\n if (this.elementToReturnFocus.getAttribute(\"role\") === \"menuitem\") {\n const menu = this.elementToReturnFocus.closest('[role=\"menu\"]');\n if (menu) {\n const menuTrigger = document.querySelector(`[aria-controls=\"${menu.id}\"]`);\n this.elementToReturnFocus = menuTrigger;\n }\n }\n }\n },\n initFocusTrap() {\n if (this.focusTrap) {\n return;\n }\n this.focusTrap = createFocusTrap([\n // The sidebar itself\n this.$refs.sidebar,\n // Nextcloud Server header navigation\n document.querySelector(\"#header\")\n ], {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.closeButton.$el,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.open && this.isMobile) {\n this.initFocusTrap();\n this.focusTrap.activate();\n } else {\n this.focusTrap?.deactivate();\n }\n },\n /**\n * Close the sidebar on pressing the escape key on mobile\n *\n * @param {KeyboardEvent} event key down event\n */\n onKeydownEsc(event) {\n if (this.isMobile) {\n event.stopPropagation();\n this.closeSidebar();\n }\n },\n onAfterEnter(element) {\n if (this.elementToReturnFocus) {\n this.focus();\n }\n this.toggleFocusTrap();\n this.$emit(\"opened\", element);\n },\n onAfterLeave(element) {\n this.$emit(\"closed\", element);\n this.toggleFocusTrap();\n this.elementToReturnFocus?.focus({ focusVisible: true });\n this.elementToReturnFocus = null;\n },\n /**\n * Used to tell parent component the user asked to close the sidebar\n *\n * @param {Event} e close icon click event\n */\n closeSidebar(e) {\n this.$emit(\"close\", e);\n this.$emit(\"update:open\", false);\n },\n /**\n * Emit figure click event to parent component\n *\n * @param {Event} e click event\n */\n onFigureClick(e) {\n this.$emit(\"figureClick\", e);\n },\n /**\n * Toggle the favourite state\n * and emit to the parent component\n */\n toggleStarred() {\n this.isStarred = !this.isStarred;\n this.$emit(\"update:starred\", this.isStarred);\n },\n async editName() {\n this.$emit(\"update:nameEditable\", true);\n if (this.nameEditable) {\n await this.$nextTick();\n this.$refs.nameInput.focus();\n }\n },\n /**\n * Focus the sidebar\n *\n * @public\n */\n focus() {\n if (!this.open && !this.noToggle) {\n this.$refs.toggle.$el.focus();\n return;\n }\n try {\n this.headerRef.focus();\n } catch {\n warn(\"NcAppSidebar should have focusable header for accessibility reasons. Use NcAppSidebarHeader component.\");\n }\n },\n /**\n * Focus the active tab\n *\n * @public\n */\n focusActiveTabContent() {\n this.preserveElementToReturnFocus();\n this.$refs.tabs.focusActiveTabContent();\n },\n /**\n * Check if the toggle button container is available\n */\n checkToggleButtonContainerAvailability() {\n if (this.open === false && !this.noToggle && !this.ncContentSelector) {\n logger.warn(\"[NcAppSidebar] It looks like you want to use NcAppSidebar with the built-in toggle button. This feature is only available when NcAppSidebar is used in NcContent.\");\n }\n },\n /**\n * Emit name change event to parent component\n *\n * @param {Event} event input event\n */\n onNameInput(event) {\n this.$emit(\"update:name\", event.target.value);\n },\n /**\n * Emit when the name form edit confirm button is pressed in order\n * to change the name.\n *\n * @param {Event} event submit event\n */\n onSubmitName(event) {\n this.$emit(\"update:nameEditable\", false);\n this.$emit(\"submitName\", event);\n },\n onDismissEditing() {\n this.$emit(\"update:nameEditable\", false);\n this.$emit(\"dismissEditing\");\n },\n onUpdateActive(activeTab) {\n this.$emit(\"update:active\", activeTab);\n }\n }\n};\nconst _hoisted_1 = [\"aria-labelledby\"];\nconst _hoisted_2 = { class: \"app-sidebar-header__info\" };\nconst _hoisted_3 = {\n key: 0,\n class: \"app-sidebar-header__tertiary-actions\"\n};\nconst _hoisted_4 = { class: \"app-sidebar-header__name-container\" };\nconst _hoisted_5 = { class: \"app-sidebar-header__mainname-container\" };\nconst _hoisted_6 = [\"placeholder\", \"value\"];\nconst _hoisted_7 = [\"title\"];\nconst _hoisted_8 = {\n key: 2,\n class: \"app-sidebar-header__description\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconDockRight = resolveComponent(\"IconDockRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_IconStar = resolveComponent(\"IconStar\");\n const _component_IconStarOutline = resolveComponent(\"IconStarOutline\");\n const _component_NcAppSidebarHeader = resolveComponent(\"NcAppSidebarHeader\");\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n const _component_NcAppSidebarTabs = resolveComponent(\"NcAppSidebarTabs\");\n const _component_NcEmptyContent = resolveComponent(\"NcEmptyContent\");\n const _directive_focus = resolveDirective(\"focus\");\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return openBlock(), createBlock(Transition, {\n appear: \"\",\n name: \"slide-right\",\n onAfterEnter: $options.onAfterEnter,\n onAfterLeave: $options.onAfterLeave\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"aside\", {\n id: \"app-sidebar-vue\",\n ref: \"sidebar\",\n class: \"app-sidebar\",\n \"aria-labelledby\": `app-sidebar-vue-${$setup.uid}__header`,\n onKeydown: _cache[6] || (_cache[6] = withKeys((...args) => $options.onKeydownEsc && $options.onKeydownEsc(...args), [\"esc\"]))\n }, [\n $options.ncContentSelector && !$props.open && !$props.noToggle ? (openBlock(), createBlock(Teleport, {\n key: 0,\n to: $options.ncContentSelector\n }, [\n createVNode(_component_NcButton, mergeProps({\n ref: \"toggle\",\n \"aria-label\": $options.t(\"Open sidebar\"),\n class: [\"app-sidebar__toggle\", $props.toggleClasses],\n variant: \"tertiary\"\n }, $props.toggleAttrs, {\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"update:open\", true))\n }), {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"toggle-icon\", {}, () => [\n createVNode(_component_IconDockRight, { size: 20 })\n ], true)\n ]),\n _: 3\n }, 16, [\"aria-label\", \"class\"])\n ], 8, [\"to\"])) : createCommentVNode(\"\", true),\n createElementVNode(\"header\", {\n class: normalizeClass([\"app-sidebar-header\", {\n \"app-sidebar-header--with-figure\": $options.isSlotPopulated(_ctx.$slots.header?.()) || $props.background,\n \"app-sidebar-header--compact\": $props.compact\n }])\n }, [\n !$props.empty ? renderSlot(_ctx.$slots, \"info\", { key: 0 }, () => [\n createElementVNode(\"div\", _hoisted_2, [\n $options.isSlotPopulated(_ctx.$slots.header?.()) || $props.background ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-sidebar-header__figure\", {\n \"app-sidebar-header__figure--with-action\": $options.hasFigureClickListener\n }]),\n style: normalizeStyle({\n backgroundImage: `url(${$props.background})`\n }),\n tabindex: \"0\",\n onClick: _cache[1] || (_cache[1] = (...args) => $options.onFigureClick && $options.onFigureClick(...args)),\n onKeydown: _cache[2] || (_cache[2] = withKeys((...args) => $options.onFigureClick && $options.onFigureClick(...args), [\"enter\"]))\n }, [\n renderSlot(_ctx.$slots, \"header\", { class: \"app-sidebar-header__background\" }, void 0, true)\n ], 38)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-sidebar-header__desc\", {\n \"app-sidebar-header__desc--with-tertiary-action\": $options.canStar || $options.isSlotPopulated(_ctx.$slots[\"tertiary-actions\"]?.()),\n \"app-sidebar-header__desc--editable\": $props.nameEditable && !$props.subname,\n \"app-sidebar-header__desc--with-subname--editable\": $props.nameEditable && $props.subname,\n \"app-sidebar-header__desc--without-actions\": !$options.isSlotPopulated(_ctx.$slots[\"secondary-actions\"]?.())\n }])\n }, [\n $options.canStar || $options.isSlotPopulated(_ctx.$slots[\"tertiary-actions\"]?.()) ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"tertiary-actions\", {}, () => [\n $options.canStar ? (openBlock(), createBlock(_component_NcButton, {\n key: 0,\n \"aria-label\": $data.favoriteTranslated,\n pressed: $data.isStarred,\n class: \"app-sidebar-header__star\",\n variant: \"secondary\",\n onClick: withModifiers($options.toggleStarred, [\"prevent\"])\n }, {\n icon: withCtx(() => [\n $props.starLoading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : $data.isStarred ? (openBlock(), createBlock(_component_IconStar, {\n key: 1,\n size: 20\n })) : (openBlock(), createBlock(_component_IconStarOutline, {\n key: 2,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"pressed\", \"onClick\"])) : createCommentVNode(\"\", true)\n ], true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, [\n withDirectives(createVNode(_component_NcAppSidebarHeader, {\n class: \"app-sidebar-header__mainname\",\n name: $props.name,\n linkify: $props.linkifyName,\n title: $props.title,\n tabindex: $props.nameEditable ? 0 : -1,\n onClick: withModifiers($options.editName, [\"self\"])\n }, null, 8, [\"name\", \"linkify\", \"title\", \"tabindex\", \"onClick\"]), [\n [vShow, !$props.nameEditable]\n ]),\n $props.nameEditable ? withDirectives((openBlock(), createElementBlock(\"form\", {\n key: 0,\n class: \"app-sidebar-header__mainname-form\",\n onSubmit: _cache[5] || (_cache[5] = withModifiers((...args) => $options.onSubmitName && $options.onSubmitName(...args), [\"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"nameInput\",\n class: \"app-sidebar-header__mainname-input\",\n type: \"text\",\n placeholder: $props.namePlaceholder,\n value: $props.name,\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.onDismissEditing && $options.onDismissEditing(...args), [\"stop\"]), [\"esc\"])),\n onInput: _cache[4] || (_cache[4] = (...args) => $options.onNameInput && $options.onNameInput(...args))\n }, null, 40, _hoisted_6), [\n [_directive_focus]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.changeNameTranslated,\n type: \"submit\",\n variant: \"tertiary-no-background\"\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\"])\n ], 32)), [\n [_directive_click_outside, () => $options.onSubmitName()]\n ]) : createCommentVNode(\"\", true),\n $options.isSlotPopulated(_ctx.$slots[\"secondary-actions\"]?.()) ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n class: \"app-sidebar-header__menu\",\n forceMenu: $props.forceMenu\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"secondary-actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"forceMenu\"])) : createCommentVNode(\"\", true)\n ]),\n $props.subname.trim() !== \"\" || _ctx.$slots[\"subname\"] ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n title: $props.subtitle || void 0,\n class: \"app-sidebar-header__subname\"\n }, [\n renderSlot(_ctx.$slots, \"subname\", {}, () => [\n createTextVNode(toDisplayString($props.subname), 1)\n ], true)\n ], 8, _hoisted_7)) : createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ], true) : (openBlock(), createBlock(_component_NcAppSidebarHeader, {\n key: 1,\n class: \"app-sidebar-header__mainname--hidden\",\n name: $props.name,\n tabindex: \"-1\"\n }, null, 8, [\"name\"])),\n createVNode(_component_NcButton, {\n ref: \"closeButton\",\n \"aria-label\": $data.closeTranslated,\n title: $data.closeTranslated,\n class: \"app-sidebar__close\",\n variant: \"tertiary\",\n onClick: withModifiers($options.closeSidebar, [\"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"onClick\"]),\n $options.isSlotPopulated(_ctx.$slots.description?.()) && !$props.empty ? (openBlock(), createElementBlock(\"div\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"description\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 2),\n withDirectives(createVNode(_component_NcAppSidebarTabs, {\n ref: \"tabs\",\n active: $props.active,\n forceTabs: $props.forceTabs,\n \"onUpdate:active\": $options.onUpdateActive\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"active\", \"forceTabs\", \"onUpdate:active\"]), [\n [vShow, !$props.loading]\n ]),\n $props.loading ? (openBlock(), createBlock(_component_NcEmptyContent, { key: 1 }, {\n icon: withCtx(() => [\n createVNode(_component_NcLoadingIcon, { size: 64 })\n ]),\n _: 1\n })) : createCommentVNode(\"\", true)\n ], 40, _hoisted_1), [\n [vShow, $props.open]\n ])\n ]),\n _: 3\n }, 8, [\"onAfterEnter\", \"onAfterLeave\"]);\n}\nconst NcAppSidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e8979b7f\"]]);\nexport {\n NcAppSidebar as N\n};\n//# sourceMappingURL=NcAppSidebar-C8YzAzrZ.mjs.map\n","import '../assets/NcAppSidebarTab-Xd3HTDbw.css';\nimport { openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppSidebarTab\",\n inject: [\"registerTab\", \"unregisterTab\", \"getActiveTab\", \"isTablistShown\"],\n props: {\n /**\n * Unique id of the sidebar tab\n */\n id: {\n type: String,\n required: true\n },\n /**\n * Tab name in navigation\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Tab icon's html class in navigation. Used if #icon slot is not provided\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Tab order in navigation. If not provided, name is used.\n */\n order: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"bottomReached\",\n \"scroll\"\n ],\n expose: [\"id\", \"name\", \"icon\", \"order\", \"renderIcon\"],\n computed: {\n /**\n * Is the current tab an active tab, that should be shown?\n *\n * @return {boolean}\n */\n isActive() {\n return this.getActiveTab() === this.id;\n }\n },\n created() {\n this.registerTab(this);\n },\n beforeUnmount() {\n this.unregisterTab(this.id);\n },\n methods: {\n onScroll(event) {\n if (this.$el.scrollHeight - this.$el.scrollTop === this.$el.clientHeight) {\n this.$emit(\"bottomReached\", event);\n }\n this.$emit(\"scroll\", event);\n },\n /**\n * Render tab's icon slot if any\n *\n * @return {import('vue').VNode[]}\n */\n renderIcon() {\n return this.$slots.icon?.();\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"role\", \"tabindex\"];\nconst _hoisted_2 = { class: \"hidden-visually\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"section\", {\n id: `tab-${$props.id}`,\n \"aria-hidden\": !$options.isActive,\n \"aria-label\": $options.isTablistShown() ? void 0 : $props.name,\n \"aria-labelledby\": $options.isTablistShown() ? `tab-button-${$props.id}` : void 0,\n class: normalizeClass([\"app-sidebar__tab\", { \"app-sidebar__tab--active\": $options.isActive }]),\n role: $options.isTablistShown() ? \"tabpanel\" : void 0,\n tabindex: $options.isTablistShown() ? 0 : -1,\n onScroll: _cache[0] || (_cache[0] = (...args) => $options.onScroll && $options.onScroll(...args))\n }, [\n createElementVNode(\"h3\", _hoisted_2, toDisplayString($props.name), 1),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 42, _hoisted_1);\n}\nconst NcAppSidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-dba10798\"]]);\nexport {\n NcAppSidebarTab as N\n};\n//# sourceMappingURL=NcAppSidebarTab-DOSDDbGA.mjs.map\n","import '../assets/autolink-XS-VDSVB.css';\nimport { getBaseUrl, getRootUrl } from \"@nextcloud/router\";\nimport { u } from \"unist-builder\";\nimport { visitParents, SKIP } from \"unist-util-visit-parents\";\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _hoisted_1 = [\"href\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextExternalLink\",\n props: {\n href: {},\n decorateExternal: { type: Boolean, default: false }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"a\", {\n href: __props.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: normalizeClass([_ctx.$style.externalLink, {\n [_ctx.$style.externalLink_decorated]: __props.decorateExternal\n }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(__props.href), 1)\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nconst externalLink = \"_externalLink_d-mCx\";\nconst externalLink_decorated = \"_externalLink_decorated_W3wuz\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_ZJnaR\",\n externalLink,\n externalLink_decorated\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcRichTextExternalLink = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\nconst URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig;\nfunction remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n return function(tree) {\n if (useExtendedMarkdown || !useMarkdown || !autolink) {\n return;\n }\n visitParents(tree, (node) => node.type === \"text\", (node, ancestors) => {\n if (ancestors.some((ancestor) => ancestor.type === \"link\" || ancestor.type === \"linkReference\")) {\n return;\n }\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node) ?? 0;\n const parsed = parseUrl(node.value);\n const parsedNodes = typeof parsed === \"string\" ? [u(\"text\", parsed)] : parsed.map((n) => {\n if (typeof n === \"string\") {\n return u(\"text\", n);\n }\n return u(\"link\", {\n url: n.props.href\n }, [u(\"text\", n.props.href)]);\n }).filter((x) => x).flat();\n parent.children.splice(index, 1, ...parsedNodes);\n return [SKIP, index + parsedNodes.length];\n });\n };\n}\nfunction parseUrl(text) {\n let match = URL_PATTERN_AUTOLINK.exec(text);\n const list = [];\n let start = 0;\n while (match !== null) {\n let href = match[2];\n let textAfter;\n let textBefore = text.substring(start, match.index + match[1].length);\n if (href[0] === \" \") {\n textBefore += href[0];\n href = href.substring(1).trim();\n }\n const lastChar = href[href.length - 1];\n if (lastChar === \".\" || lastChar === \",\" || lastChar === \";\" || match[0][0] === \"(\" && lastChar === \")\") {\n href = href.substring(0, href.length - 1);\n textAfter = lastChar;\n }\n list.push(textBefore);\n list.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });\n if (textAfter) {\n list.push(textAfter);\n }\n start = match.index + match[0].length;\n match = URL_PATTERN_AUTOLINK.exec(text);\n }\n list.push(text.substring(start));\n const joinedText = list.map((item) => typeof item === \"string\" ? item : item.props.href).join(\"\");\n if (text === joinedText) {\n return list;\n }\n logger.error(\"[NcRichText] Failed to reassemble the chunked text: \" + text);\n return text;\n}\nfunction getRoute(router, url) {\n const removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str;\n const removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str);\n if (!router) {\n return null;\n }\n const isAbsoluteURL = /^https?:\\/\\//.test(url);\n const isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url);\n if (!isAbsoluteURL && isNonHttpLink) {\n return null;\n }\n if (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n return null;\n }\n if (!isAbsoluteURL && !url.startsWith(\"/\")) {\n return null;\n }\n const relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), \"/index.php\") : url;\n const relativeRouterBase = removePrefixes(router.options.history.base, getRootUrl(), \"/index.php\");\n const potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || \"/\";\n const route = router.resolve(potentialRouterPath);\n if (!route.matched.length) {\n return null;\n }\n return route.fullPath;\n}\nexport {\n NcRichTextExternalLink as N,\n URL_PATTERN as U,\n getRoute as g,\n parseUrl as p,\n remarkAutolink as r\n};\n//# sourceMappingURL=autolink-DrIurosL.mjs.map\n","import { l as logger } from \"../../chunks/logger-D3RVzcfQ.mjs\";\nfunction registerContactsMenuAction(action) {\n window._nc_contacts_menu_hooks ??= {};\n if (window._nc_contacts_menu_hooks[action.id]) {\n logger.error(`ContactsMenu action for id ${action.id} has already been registered`, {\n action\n });\n return;\n }\n window._nc_contacts_menu_hooks[action.id] = action;\n}\nfunction getEnabledContactsMenuActions(entry) {\n if (!window._nc_contacts_menu_hooks) {\n return [];\n }\n return Object.values(window._nc_contacts_menu_hooks).filter((action) => action.enabled(entry));\n}\nexport {\n getEnabledContactsMenuActions,\n registerContactsMenuAction\n};\n//# sourceMappingURL=index.mjs.map\n","const c = new Int32Array(4);\nclass h {\n static hashStr(i, a = !1) {\n return this.onePassHasher.start().appendStr(i).end(a);\n }\n static hashAsciiStr(i, a = !1) {\n return this.onePassHasher.start().appendAsciiStr(i).end(a);\n }\n // Private Static Variables\n static stateIdentity = new Int32Array([\n 1732584193,\n -271733879,\n -1732584194,\n 271733878\n ]);\n static buffer32Identity = new Int32Array([\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n static hexChars = \"0123456789abcdef\";\n static hexOut = [];\n // Permanent instance is to use for one-call hashing\n static onePassHasher = new h();\n static _hex(i) {\n const a = h.hexChars, t = h.hexOut;\n let e, s, r, n;\n for (n = 0; n < 4; n += 1)\n for (s = n * 8, e = i[n], r = 0; r < 8; r += 2)\n t[s + 1 + r] = a.charAt(e & 15), e >>>= 4, t[s + 0 + r] = a.charAt(e & 15), e >>>= 4;\n return t.join(\"\");\n }\n static _md5cycle(i, a) {\n let t = i[0], e = i[1], s = i[2], r = i[3];\n t += (e & s | ~e & r) + a[0] - 680876936 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[1] - 389564586 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[2] + 606105819 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[3] - 1044525330 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[4] - 176418897 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[5] + 1200080426 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[6] - 1473231341 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[7] - 45705983 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[8] + 1770035416 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[9] - 1958414417 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[10] - 42063 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[11] - 1990404162 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[12] + 1804603682 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[13] - 40341101 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[14] - 1502002290 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[15] + 1236535329 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & r | s & ~r) + a[1] - 165796510 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[6] - 1069501632 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[11] + 643717713 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[0] - 373897302 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[5] - 701558691 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[10] + 38016083 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[15] - 660478335 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[4] - 405537848 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[9] + 568446438 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[14] - 1019803690 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[3] - 187363961 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[8] + 1163531501 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[13] - 1444681467 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[2] - 51403784 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[7] + 1735328473 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[12] - 1926607734 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e ^ s ^ r) + a[5] - 378558 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[8] - 2022574463 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[11] + 1839030562 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[14] - 35309556 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[1] - 1530992060 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[4] + 1272893353 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[7] - 155497632 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[10] - 1094730640 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[13] + 681279174 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[0] - 358537222 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[3] - 722521979 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[6] + 76029189 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[9] - 640364487 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[12] - 421815835 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[15] + 530742520 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[2] - 995338651 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (s ^ (e | ~r)) + a[0] - 198630844 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[7] + 1126891415 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[14] - 1416354905 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[5] - 57434055 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[12] + 1700485571 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[3] - 1894986606 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[10] - 1051523 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[1] - 2054922799 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[8] + 1873313359 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[15] - 30611744 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[6] - 1560198380 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[13] + 1309151649 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[4] - 145523070 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[11] - 1120210379 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[2] + 718787259 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[9] - 343485551 | 0, e = (e << 21 | e >>> 11) + s | 0, i[0] = t + i[0] | 0, i[1] = e + i[1] | 0, i[2] = s + i[2] | 0, i[3] = r + i[3] | 0;\n }\n _dataLength = 0;\n _bufferLength = 0;\n _state = new Int32Array(4);\n _buffer = new ArrayBuffer(68);\n _buffer8;\n _buffer32;\n constructor() {\n this._buffer8 = new Uint8Array(this._buffer, 0, 68), this._buffer32 = new Uint32Array(this._buffer, 0, 17), this.start();\n }\n /**\n * Initialise buffer to be hashed\n */\n start() {\n return this._dataLength = 0, this._bufferLength = 0, this._state.set(h.stateIdentity), this;\n }\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n /**\n * Append a UTF-8 string to the hash buffer\n * @param str String to append\n */\n appendStr(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r;\n for (r = 0; r < i.length; r += 1) {\n if (s = i.charCodeAt(r), s < 128)\n a[e++] = s;\n else if (s < 2048)\n a[e++] = (s >>> 6) + 192, a[e++] = s & 63 | 128;\n else if (s < 55296 || s > 56319)\n a[e++] = (s >>> 12) + 224, a[e++] = s >>> 6 & 63 | 128, a[e++] = s & 63 | 128;\n else {\n if (s = (s - 55296) * 1024 + (i.charCodeAt(++r) - 56320) + 65536, s > 1114111)\n throw new Error(\n \"Unicode standard supports code points up to U+10FFFF\"\n );\n a[e++] = (s >>> 18) + 240, a[e++] = s >>> 12 & 63 | 128, a[e++] = s >>> 6 & 63 | 128, a[e++] = s & 63 | 128;\n }\n e >= 64 && (this._dataLength += 64, h._md5cycle(this._state, t), e -= 64, t[0] = t[16]);\n }\n return this._bufferLength = e, this;\n }\n /**\n * Append an ASCII string to the hash buffer\n * @param str String to append\n */\n appendAsciiStr(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r = 0;\n for (; ; ) {\n for (s = Math.min(i.length - r, 64 - e); s--; )\n a[e++] = i.charCodeAt(r++);\n if (e < 64)\n break;\n this._dataLength += 64, h._md5cycle(this._state, t), e = 0;\n }\n return this._bufferLength = e, this;\n }\n /**\n * Append a byte array to the hash buffer\n * @param input array to append\n */\n appendByteArray(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r = 0;\n for (; ; ) {\n for (s = Math.min(i.length - r, 64 - e); s--; )\n a[e++] = i[r++];\n if (e < 64)\n break;\n this._dataLength += 64, h._md5cycle(this._state, t), e = 0;\n }\n return this._bufferLength = e, this;\n }\n /**\n * Get the state of the hash buffer\n */\n getState() {\n const i = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [i[0], i[1], i[2], i[3]]\n };\n }\n /**\n * Override the current state of the hash buffer\n * @param state New hash buffer state\n */\n setState(i) {\n const a = i.buffer, t = i.state, e = this._state;\n let s;\n for (this._dataLength = i.length, this._bufferLength = i.buflen, e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], s = 0; s < a.length; s += 1)\n this._buffer8[s] = a.charCodeAt(s);\n }\n /**\n * Hash the current state of the hash buffer and return the result\n * @param raw Whether to return the value as an `Int32Array`\n */\n end(i = !1) {\n const a = this._bufferLength, t = this._buffer8, e = this._buffer32, s = (a >> 2) + 1;\n this._dataLength += a;\n const r = this._dataLength * 8;\n if (t[a] = 128, t[a + 1] = t[a + 2] = t[a + 3] = 0, e.set(h.buffer32Identity.subarray(s), s), a > 55 && (h._md5cycle(this._state, e), e.set(h.buffer32Identity)), r <= 4294967295)\n e[14] = r;\n else {\n const n = r.toString(16).match(/(.*?)(.{0,8})$/);\n if (n === null) return i ? c : \"\";\n const o = parseInt(n[2], 16), _ = parseInt(n[1], 16) || 0;\n e[14] = o, e[15] = _;\n }\n return h._md5cycle(this._state, e), i ? this._state : h._hex(this._state);\n }\n}\nif (h.hashStr(\"hello\") !== \"5d41402abc4b2a76b9719d911017c592\")\n throw new Error(\"Md5 self test failed.\");\nclass l {\n constructor(i, a = !0, t = 1048576) {\n this._callback = i, this._async = a, this._partSize = t, this._configureReader();\n }\n _reader;\n _md5;\n _part;\n // private _length!: number;\n _blob;\n /**\n * Hash a blob of data in the worker\n * @param blob Data to hash\n */\n hash(i) {\n const a = this;\n a._blob = i, a._part = 0, a._md5 = new h(), a._processPart();\n }\n _fail() {\n this._callback({\n success: !1,\n result: \"data read failed\"\n });\n }\n _hashData(i) {\n let a = this;\n a._md5.appendByteArray(new Uint8Array(i.target.result)), a._part * a._partSize >= a._blob.size ? a._callback({\n success: !0,\n result: a._md5.end()\n }) : a._processPart();\n }\n _processPart() {\n const i = this;\n let a = 0, t;\n i._part += 1, i._blob.size > i._partSize ? (a = i._part * i._partSize, a > i._blob.size && (a = i._blob.size), t = i._blob.slice(\n (i._part - 1) * i._partSize,\n a\n )) : t = i._blob, i._async ? i._reader.readAsArrayBuffer(t) : setTimeout(() => {\n try {\n i._hashData({\n target: {\n result: i._reader.readAsArrayBuffer(\n t\n )\n }\n });\n } catch {\n i._fail();\n }\n }, 0);\n }\n _configureReader() {\n const i = this;\n i._async ? (i._reader = new FileReader(), i._reader.onload = i._hashData.bind(i), i._reader.onerror = i._fail.bind(i), i._reader.onabort = i._fail.bind(i)) : i._reader = new FileReaderSync();\n }\n}\nclass u {\n _queue = [];\n _hashWorker;\n _processing;\n _ready = !0;\n constructor(i, a) {\n const t = this;\n Worker ? (t._hashWorker = new Worker(i, a), t._hashWorker.onmessage = t._recievedMessage.bind(t), t._hashWorker.onerror = (e) => {\n t._ready = !1, console.error(\"Hash worker failure\", e);\n }) : (t._ready = !1, console.error(\"Web Workers are not supported in this browser\"));\n }\n /**\n * Hash a blob of data in the worker\n * @param blob Data to hash\n * @returns Promise of the Hashed result\n */\n hash(i) {\n const a = this;\n let t;\n return t = new Promise((e, s) => {\n a._queue.push({\n blob: i,\n resolve: e,\n reject: s\n }), a._processNext();\n }), t;\n }\n /** Terminate any existing hash requests */\n terminate() {\n this._ready = !1, this._hashWorker.terminate();\n }\n // Processes the next item in the queue\n _processNext() {\n this._ready && !this._processing && this._queue.length > 0 && (this._processing = this._queue.pop(), this._hashWorker.postMessage(this._processing.blob));\n }\n // Hash result is returned from the worker\n _recievedMessage(i) {\n const a = i.data;\n a.success ? this._processing?.resolve(a.result) : this._processing?.reject(a.result), this._processing = void 0, this._processNext();\n }\n}\nexport {\n h as Md5,\n l as Md5FileHasher,\n u as ParallelHasher\n};\n//# sourceMappingURL=index.es.js.map\n","import { r as register, t as t3, a as t } from \"./_l10n-wdIzZwir.mjs\";\nregister(t3);\nclass Color {\n /**\n * @param r - The red value\n * @param g - The green value\n * @param b - The blue value\n * @param name - The name of the color\n */\n constructor(r, g, b, name) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.name = name;\n this.r = Math.min(r, 255);\n this.g = Math.min(g, 255);\n this.b = Math.min(b, 255);\n this.name = name;\n }\n r;\n g;\n b;\n name;\n /**\n * The hexadecimal color string.\n */\n get color() {\n const toHex = (int) => `00${int.toString(16)}`.slice(-2);\n return `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`;\n }\n}\nfunction calculateStepIncrement(steps, color1, color2) {\n return {\n r: (color2.r - color1.r) / steps,\n g: (color2.g - color1.g) / steps,\n b: (color2.b - color1.b) / steps\n };\n}\nfunction mixPalette(steps, color1, color2) {\n const palette = [];\n palette.push(color1);\n const increment = calculateStepIncrement(steps, color1, color2);\n for (let i = 1; i < steps; i++) {\n const r = Math.floor(color1.r + increment.r * i);\n const g = Math.floor(color1.g + increment.g * i);\n const b = Math.floor(color1.b + increment.b * i);\n palette.push(new Color(r, g, b));\n }\n return palette;\n}\nconst COLOR_RED = new Color(182, 70, 157, t(\"Purple\"));\nconst COLOR_YELLOW = new Color(221, 203, 85, t(\"Gold\"));\nconst COLOR_BLUE = new Color(0, 130, 201, t(\"Nextcloud blue\"));\nconst COLOR_BLACK = new Color(0, 0, 0, t(\"Black\"));\nconst COLOR_WHITE = new Color(255, 255, 255, t(\"White\"));\nconst defaultPalette = [\n COLOR_RED,\n new Color(\n ...[191, 103, 139],\n t(\"Rosy brown\")\n // TRANSLATORS: A color name for RGB(191, 103, 139)\n ),\n new Color(\n ...[201, 136, 121],\n t(\"Feldspar\")\n // TRANSLATORS: A color name for RGB(201, 136, 121)\n ),\n new Color(\n ...[211, 169, 103],\n t(\"Whiskey\")\n // TRANSLATORS: A color name for RGB(211, 169, 103)\n ),\n COLOR_YELLOW,\n new Color(\n ...[165, 184, 114],\n t(\"Olivine\")\n // TRANSLATORS: A color name for RGB(165, 184, 114)\n ),\n new Color(\n ...[110, 166, 143],\n t(\"Acapulco\")\n // TRANSLATORS: A color name for RGB(110, 166, 143)\n ),\n new Color(\n ...[55, 148, 172],\n t(\"Boston Blue\")\n // TRANSLATORS: A color name for RGB(55, 148, 172)\n ),\n COLOR_BLUE,\n new Color(\n ...[45, 115, 190],\n t(\"Mariner\")\n // TRANSLATORS: A color name for RGB(45, 115, 190)\n ),\n new Color(\n ...[91, 100, 179],\n t(\"Blue Violet\")\n // TRANSLATORS: A color name for RGB(91, 100, 179)\n ),\n new Color(\n ...[136, 85, 168],\n t(\"Deluge\")\n // TRANSLATORS: A color name for RGB(136, 85, 168)\n )\n];\nfunction generatePalette(steps) {\n const palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW);\n const palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE);\n const palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED);\n return palette1.concat(palette2).concat(palette3);\n}\nexport {\n Color as C,\n COLOR_BLACK as a,\n COLOR_WHITE as b,\n defaultPalette as d,\n generatePalette as g\n};\n//# sourceMappingURL=colors-Cv9F-jWS.mjs.map\n","import { Md5 } from \"ts-md5\";\nimport { g as generatePalette } from \"../../chunks/colors-Cv9F-jWS.mjs\";\nfunction hashCode(str) {\n let hash = str;\n if (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n hash = Md5.hashStr(str);\n }\n hash = hash.replace(/[^0-9a-f]/g, \"\");\n let finalInt = 0;\n for (let i = 0; i < hash.length; i++) {\n finalInt += parseInt(hash.charAt(i), 16);\n }\n return finalInt;\n}\nfunction usernameToColor(username) {\n const steps = 6;\n const finalPalette = generatePalette(steps);\n const hash = hashCode(username.toLocaleLowerCase());\n return finalPalette[hash % finalPalette.length];\n}\nexport {\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","import '../assets/NcMentionBubble-BeGb2xGc.css';\nimport { generateUrl } from \"@nextcloud/router\";\nimport { checkIfDarkTheme } from \"../functions/isDarkTheme/index.mjs\";\nfunction getAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuest ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body) ? \"/dark\" : \"\";\n return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}?guestFallback=true`, {\n user,\n size\n });\n}\nexport {\n getAvatarUrl as g\n};\n//# sourceMappingURL=NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs.map\n","import '../assets/NcUserStatusIcon-B3aHoBAd.css';\nimport { defineComponent, useModel, computed, watch, openBlock, createElementBlock, normalizeClass, createCommentVNode, mergeModels } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { r as register, Q as t52, R as t11, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst awaySvg = '\\n\\n\t\\n\\n';\nconst busySvg = '\\n\\n\t\\n\\n';\nconst dndSvg = '\\n\\n\t\\n\\n';\nconst invisibleSvg = '\\n\\n\t\\n\\n';\nconst onlineSvg = '\\n\\n\t\\n\\n';\nregister(t52);\nregister(t11);\nfunction getUserStatusText(status) {\n switch (status) {\n case \"away\":\n return t(\"away\");\n // TRANSLATORS: User status if the user is currently away from keyboard\n case \"busy\":\n return t(\"busy\");\n case \"dnd\":\n return t(\"do not disturb\");\n case \"online\":\n return t(\"online\");\n case \"invisible\":\n return t(\"invisible\");\n case \"offline\":\n return t(\"offline\");\n default:\n return status;\n }\n}\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"innerHTML\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcUserStatusIcon\",\n props: /* @__PURE__ */ mergeModels({\n user: { default: void 0 },\n ariaHidden: { type: [Boolean, String], default: false }\n }, {\n \"status\": {},\n \"statusModifiers\": {}\n }),\n emits: [\"update:status\"],\n setup(__props) {\n const status = useModel(__props, \"status\");\n const props = __props;\n const isInvisible = computed(() => status.value && [\"invisible\", \"offline\"].includes(status.value));\n const ariaLabel = computed(() => status.value && (!props.ariaHidden || props.ariaHidden === \"false\") ? t(\"User status: {status}\", { status: getUserStatusText(status.value) }) : void 0);\n watch(() => props.user, async (user) => {\n if (!status.value && user && getCapabilities()?.user_status?.enabled) {\n try {\n const { data } = await axios.get(generateOcsUrl(\"/apps/user_status/api/v1/statuses/{user}\", { user }));\n status.value = data.ocs?.data?.status;\n } catch (error) {\n logger.debug(\"Error while fetching user status\", { error });\n }\n }\n }, { immediate: true });\n const matchSvg = {\n online: onlineSvg,\n away: awaySvg,\n busy: busySvg,\n dnd: dndSvg,\n invisible: invisibleSvg,\n offline: invisibleSvg\n };\n const activeSvg = computed(() => status.value && matchSvg[status.value]);\n return (_ctx, _cache) => {\n return status.value ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"user-status-icon\", {\n \"user-status-icon--invisible\": isInvisible.value\n }]),\n \"aria-hidden\": !ariaLabel.value || void 0,\n \"aria-label\": ariaLabel.value,\n role: \"img\",\n innerHTML: activeSvg.value\n }, null, 10, _hoisted_1)) : createCommentVNode(\"\", true);\n };\n }\n});\nconst NcUserStatusIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-881a79fb\"]]);\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-BF5OEQFU.mjs.map\n","import '../assets/NcActionLink-b4Ph5q10.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { openBlock, createElementBlock, createElementVNode, renderSlot, normalizeStyle, normalizeClass, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionLink\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * destionation to link to\n */\n href: {\n type: String,\n required: true,\n validator: (value) => {\n try {\n return new URL(value);\n } catch {\n return value.startsWith(\"#\") || value.startsWith(\"/\");\n }\n }\n },\n /**\n * download the link instead of opening\n */\n download: {\n type: String,\n default: null\n },\n /**\n * target to open the link\n */\n target: {\n type: String,\n default: \"_self\",\n validator: (value) => {\n return value && (!value.startsWith(\"_\") || [\"_blank\", \"_self\", \"_parent\", \"_top\"].indexOf(value) > -1);\n }\n },\n /**\n * Declares a native tooltip when not null\n */\n title: {\n type: String,\n default: null\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = [\"download\", \"href\", \"aria-label\", \"target\", \"title\", \"role\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"action-link__longtext-wrapper\"\n};\nconst _hoisted_4 = { class: \"action-link__name\" };\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = [\"textContent\"];\nconst _hoisted_7 = {\n key: 2,\n class: \"action-link__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createElementVNode(\"a\", {\n download: $props.download,\n href: $props.href,\n \"aria-label\": _ctx.ariaLabel,\n target: $props.target,\n title: $props.title,\n class: \"action-link focusable\",\n rel: \"nofollow noreferrer noopener\",\n role: $options.isInSemanticMenu && \"menuitem\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-link__icon\", [_ctx.isIconUrl ? \"action-link__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_3, [\n createElementVNode(\"strong\", _hoisted_4, toDisplayString(_ctx.name), 1),\n _cache[1] || (_cache[1] = createElementVNode(\"br\", null, null, -1)),\n createElementVNode(\"span\", {\n class: \"action-link__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-link__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_6)) : (openBlock(), createElementBlock(\"span\", _hoisted_7, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ], 8, _hoisted_2)\n ], 8, _hoisted_1);\n}\nconst NcActionLink = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-32f01b7a\"]]);\nexport {\n NcActionLink as N\n};\n//# sourceMappingURL=NcActionLink-BFiaYt9A.mjs.map\n","import '../assets/NcActionRouter-BWXfCfxM.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, renderSlot, createElementVNode, normalizeStyle, normalizeClass, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionRouter\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * router-link to prop [https://router.vuejs.org/api/#to](https://router.vuejs.org/api/#to)\n */\n to: {\n type: [String, Object],\n required: true\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"action-router__longtext-wrapper\"\n};\nconst _hoisted_3 = { class: \"action-router__name\" };\nconst _hoisted_4 = [\"textContent\"];\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = {\n key: 2,\n class: \"action-router__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_RouterLink = resolveComponent(\"RouterLink\");\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createVNode(_component_RouterLink, {\n \"aria-label\": _ctx.ariaLabel,\n class: \"action-router focusable\",\n rel: \"nofollow noreferrer noopener\",\n role: $options.isInSemanticMenu && \"menuitem\",\n title: _ctx.title,\n to: $props.to,\n onClick: _ctx.onClick\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-router__icon\", [_ctx.isIconUrl ? \"action-router__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"strong\", _hoisted_3, toDisplayString(_ctx.name), 1),\n _cache[0] || (_cache[0] = createElementVNode(\"br\", null, null, -1)),\n createElementVNode(\"span\", {\n class: \"action-router__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_4)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-router__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)) : (openBlock(), createElementBlock(\"span\", _hoisted_6, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"role\", \"title\", \"to\", \"onClick\"])\n ], 8, _hoisted_1);\n}\nconst NcActionRouter = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-87267750\"]]);\nexport {\n NcActionRouter as N\n};\n//# sourceMappingURL=NcActionRouter-vYFtIOzD.mjs.map\n","import '../assets/NcActionText-Dzegj6AY.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { openBlock, createElementBlock, createElementVNode, renderSlot, normalizeStyle, normalizeClass, createCommentVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionText\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"action-text__longtext-wrapper\"\n};\nconst _hoisted_3 = { class: \"action-text__name\" };\nconst _hoisted_4 = [\"textContent\"];\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = {\n key: 2,\n class: \"action-text__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createElementVNode(\"span\", {\n class: \"action-text\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n _ctx.icon !== \"\" ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-text__icon\", [_ctx.isIconUrl ? \"action-text__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)) : createCommentVNode(\"\", true)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"strong\", _hoisted_3, toDisplayString(_ctx.name), 1),\n createElementVNode(\"span\", {\n class: \"action-text__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_4)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-text__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)) : (openBlock(), createElementBlock(\"span\", _hoisted_6, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_1);\n}\nconst NcActionText = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-fa684b48\"]]);\nexport {\n NcActionText as N\n};\n//# sourceMappingURL=NcActionText-CQ9qwJ0p.mjs.map\n","import '../assets/NcAvatar-Bs7qEhkA.css';\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { generateOcsUrl, generateUrl } from \"@nextcloud/router\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { N as NcActions, I as IconDotsHorizontal } from \"./NcActions-C-wDqSrv.mjs\";\nimport { g as getRoute } from \"./autolink-DrIurosL.mjs\";\nimport \"../composables/useFormatDateTime/index.mjs\";\nimport \"../composables/useHotKey/index.mjs\";\nimport { useIsDarkTheme } from \"../composables/useIsDarkTheme/index.mjs\";\nimport \"../composables/useIsFullscreen/index.mjs\";\nimport \"../composables/useIsMobile/index.mjs\";\nimport { getEnabledContactsMenuActions } from \"../functions/contactsMenu/index.mjs\";\nimport { usernameToColor } from \"../functions/usernameToColor/index.mjs\";\nimport { r as register, m as t10, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport { resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeStyle, normalizeClass, renderSlot, createCommentVNode, createBlock, withCtx, createSlots, Fragment, renderList, resolveDynamicComponent, mergeProps, createTextVNode, toDisplayString, createVNode, createElementVNode } from \"vue\";\nimport { g as getAvatarUrl } from \"./NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-BF5OEQFU.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BO5T5ePT.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink-BFiaYt9A.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter-vYFtIOzD.mjs\";\nimport { N as NcActionText } from \"./NcActionText-CQ9qwJ0p.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-BOVpFVQz.mjs\";\nregister(t10);\nconst userStatus = {\n data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n *\n * @param {string} userId UserId of the user to fetch the status for\n *\n * @return {Promise}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.hasOwn(capabilities, \"user_status\") || !capabilities.user_status.enabled) {\n return;\n }\n if (!getCurrentUser()) {\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"apps/user_status/api/v1/statuses/{userId}\", { userId }));\n this.setUserStatus(data.ocs.data);\n } catch (e) {\n if (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n return;\n }\n logger.error(\"Failed to fetch user status\", { error: e });\n }\n },\n /**\n * Sets the user status\n *\n * @param {Record} options - Options for setting the user status\n * @param {string} options.status user's status\n * @param {string} options.message user's message\n * @param {string} options.icon user's icon\n */\n setUserStatus({ status, message, icon }) {\n this.userStatus.status = status || \"\";\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = !!status;\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nfunction getUserHasAvatar(userId) {\n const flag = browserStorage.getItem(\"user-has-avatar.\" + userId);\n if (typeof flag === \"string\") {\n return Boolean(flag);\n }\n return null;\n}\nfunction setUserHasAvatar(userId, flag) {\n if (userId) {\n browserStorage.setItem(\"user-has-avatar.\" + userId, flag);\n }\n}\nconst _sfc_main = {\n name: \"NcAvatar\",\n directives: {\n /** @type {import('vue').ObjectDirective} */\n ClickOutside: vOnClickOutside\n },\n components: {\n IconDotsHorizontal,\n NcActions,\n NcButton,\n NcIconSvgWrapper,\n NcLoadingIcon,\n NcUserStatusIcon\n },\n mixins: [userStatus],\n props: {\n /**\n * Set a custom url to the avatar image\n * either the url, user or displayName property must be defined\n */\n url: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class for an icon to be used instead of the avatar.\n */\n iconClass: {\n type: String,\n default: void 0\n },\n /**\n * Set the user id to fetch the avatar\n * either the url, user or displayName property must be defined\n */\n user: {\n type: String,\n default: void 0\n },\n /**\n * Do not show the user status on the avatar.\n */\n hideStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n */\n verboseStatus: {\n type: Boolean,\n default: false\n },\n /**\n * When the user status was preloaded via another source it can be handed in with this property to save the request.\n * If this property is not set the status will be fetched automatically.\n * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n */\n preloadedUserStatus: {\n type: Object,\n default: void 0\n },\n /**\n * Is the user a guest user (then we have to user a different endpoint)\n */\n isGuest: {\n type: Boolean,\n default: false\n },\n /**\n * Set a display name that will be rendered as a tooltip\n * either the url, user or displayName property must be defined\n * specify just the displayname to generate a placeholder avatar without\n * trying to fetch the avatar based on the user id\n */\n displayName: {\n type: String,\n default: void 0\n },\n /**\n * Set a size in px for the rendered avatar\n */\n size: {\n type: Number,\n default: 32\n },\n /**\n * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n */\n noPlaceholder: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the tooltip\n */\n disableTooltip: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the menu\n */\n disableMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Declares a custom tooltip when not null\n * Fallback will be the displayName\n *\n * requires disableTooltip not to be set to true\n */\n tooltipMessage: {\n type: String,\n default: null\n },\n /**\n * Declares username is not a user's name, when true.\n * Prevents loading user's avatar from server and forces generating colored initials,\n * i.e. if the user is a group\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the popover menu container\n */\n menuContainer: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n }\n },\n setup() {\n const isDarkTheme = useIsDarkTheme();\n return {\n isDarkTheme\n };\n },\n data() {\n return {\n avatarUrlLoaded: null,\n avatarSrcSetLoaded: null,\n userDoesNotExist: false,\n isAvatarLoaded: false,\n isMenuLoaded: false,\n contactsMenuLoading: false,\n contactsMenuData: {},\n contactsMenuActions: [],\n contactsMenuOpenState: false\n };\n },\n computed: {\n avatarAriaLabel() {\n if (!this.hasMenu) {\n return;\n }\n if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n return t(\"Avatar of {displayName}, {status}\", { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) });\n }\n return t(\"Avatar of {displayName}\", { displayName: this.displayName ?? this.user });\n },\n canDisplayUserStatus() {\n return !this.hideStatus && this.hasStatus && [\"online\", \"away\", \"busy\", \"dnd\"].includes(this.userStatus.status);\n },\n showUserStatusIconOnAvatar() {\n return !this.hideStatus && !this.verboseStatus && this.hasStatus && this.userStatus.status !== \"dnd\" && this.userStatus.icon;\n },\n /**\n * The user identifier, either the display name if set or the user property\n * If both properties are not set an empty string is returned\n */\n userIdentifier() {\n if (this.isDisplayNameDefined) {\n return this.displayName;\n }\n if (this.isUserDefined) {\n return this.user;\n }\n return \"\";\n },\n isUserDefined() {\n return typeof this.user !== \"undefined\";\n },\n isDisplayNameDefined() {\n return typeof this.displayName !== \"undefined\";\n },\n isUrlDefined() {\n return typeof this.url !== \"undefined\";\n },\n hasMenu() {\n if (this.disableMenu) {\n return false;\n }\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n },\n /**\n * True if initials should be shown as the user icon fallback\n */\n showInitials() {\n return !this.noPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);\n },\n avatarStyle() {\n return {\n \"--avatar-size\": this.size + \"px\",\n lineHeight: this.showInitials ? this.size + \"px\" : 0,\n fontSize: Math.round(this.size * 0.45) + \"px\"\n };\n },\n initialsWrapperStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`\n };\n },\n initialsStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n color: `rgb(${r}, ${g}, ${b})`\n };\n },\n tooltip() {\n if (this.disableTooltip) {\n return null;\n }\n if (this.tooltipMessage) {\n return this.tooltipMessage;\n }\n return this.displayName;\n },\n /**\n * Get the (max. two) initials of the user as uppcase string\n */\n initials() {\n let initials = \"?\";\n if (this.showInitials) {\n const user = this.userIdentifier.trim();\n if (user === \"\") {\n return initials;\n }\n const filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu);\n if (!filteredChars) {\n return initials;\n }\n const filtered = filteredChars.join(\"\");\n const idx = filtered.lastIndexOf(\" \");\n initials = String.fromCodePoint(filtered.codePointAt(0));\n if (idx !== -1) {\n initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));\n }\n }\n return initials.toLocaleUpperCase();\n },\n menu() {\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n ncActionComponent: route ? NcActionRouter : NcActionLink,\n ncActionComponentProps: route ? {\n to: route,\n icon: item.icon\n } : {\n href: item.hyperlink,\n icon: item.icon\n },\n text: item.title\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n ncActionComponent: NcActionButton,\n ncActionComponentProps: {\n onClick: () => action.callback(this.contactsMenuData)\n },\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n function escape(html) {\n const text = document.createTextNode(html);\n const p = document.createElement(\"p\");\n p.appendChild(text);\n return p.innerHTML;\n }\n if (!this.hideStatus && (this.userStatus.icon || this.userStatus.message)) {\n const emojiIcon = `\n\t\t\t\t\t${escape(this.userStatus.icon)}\n\t\t\t\t`;\n return [{\n ncActionComponent: NcActionText,\n ncActionComponentProps: {},\n iconSvg: this.userStatus.icon ? emojiIcon : void 0,\n text: `${this.userStatus.message}`\n }].concat(actions);\n }\n return actions;\n }\n },\n watch: {\n url() {\n this.userDoesNotExist = false;\n this.loadAvatarUrl();\n },\n user() {\n this.userDoesNotExist = false;\n this.isMenuLoaded = false;\n this.loadAvatarUrl();\n }\n },\n mounted() {\n this.loadAvatarUrl();\n subscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n subscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n if (!this.hideStatus && this.user && !this.isNoUser) {\n if (!this.preloadedUserStatus) {\n this.fetchUserStatus(this.user);\n } else {\n this.setUserStatus(this.preloadedUserStatus);\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n } else if (!this.hideStatus && this.preloadedUserStatus) {\n this.setUserStatus(this.preloadedUserStatus);\n }\n },\n beforeUnmount() {\n unsubscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n unsubscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n unsubscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n },\n methods: {\n t,\n handleUserStatusUpdated(state) {\n if (this.user === state.userId) {\n this.userStatus = {\n status: state.status,\n icon: state.icon,\n message: state.message\n };\n this.hasStatus = state.status !== null;\n }\n },\n /**\n * Toggle the popover menu on click or enter\n *\n * @param {KeyboardEvent|MouseEvent} event the UI event\n */\n async toggleMenu(event) {\n if (event.type === \"keydown\" && event.key !== \"Enter\") {\n return;\n }\n if (!this.contactsMenuOpenState) {\n await this.fetchContactsMenu();\n }\n this.contactsMenuOpenState = !this.contactsMenuOpenState;\n },\n closeMenu() {\n this.contactsMenuOpenState = false;\n },\n async fetchContactsMenu() {\n this.contactsMenuLoading = true;\n try {\n const user = encodeURIComponent(this.user);\n const { data } = await axios.post(generateUrl(\"contactsmenu/findOne\"), `shareType=0&shareWith=${user}`);\n this.contactsMenuData = data;\n this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n } catch {\n this.contactsMenuOpenState = false;\n }\n this.contactsMenuLoading = false;\n this.isMenuLoaded = true;\n },\n /**\n * Handle avatar loading if user or url defined\n */\n loadAvatarUrl() {\n this.isAvatarLoaded = false;\n if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass || this.$slots.icon)) {\n this.isAvatarLoaded = true;\n this.userDoesNotExist = true;\n return;\n }\n if (this.isUrlDefined) {\n this.updateImageIfValid(this.url);\n return;\n }\n if (this.size <= 64) {\n const avatarUrl = this.avatarUrlGenerator(this.user, 64);\n const srcset = [\n avatarUrl + \" 1x\",\n this.avatarUrlGenerator(this.user, 512) + \" 8x\"\n ].join(\", \");\n this.updateImageIfValid(avatarUrl, srcset);\n } else {\n const avatarUrl = this.avatarUrlGenerator(this.user, 512);\n this.updateImageIfValid(avatarUrl);\n }\n },\n /**\n * Generate an avatar url from the server's avatar endpoint\n *\n * @param {string} user the user id\n * @param {number} size the desired size\n * @return {string}\n */\n avatarUrlGenerator(user, size) {\n let avatarUrl = getAvatarUrl(user, {\n size,\n isDarkTheme: this.isDarkTheme,\n isGuest: this.isGuest\n });\n if (user === getCurrentUser()?.uid && typeof oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + window.oc_userconfig.avatar.version;\n }\n return avatarUrl;\n },\n /**\n * Check if the provided url is valid and update Avatar if so\n *\n * @param {string} url the avatar url\n * @param {Array} srcset the avatar srcset\n */\n updateImageIfValid(url, srcset = null) {\n const userHasAvatar = getUserHasAvatar(this.user);\n if (this.isUserDefined && typeof userHasAvatar === \"boolean\") {\n this.isAvatarLoaded = true;\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n if (userHasAvatar === false) {\n this.userDoesNotExist = true;\n }\n return;\n }\n const img = new Image();\n img.onload = () => {\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n this.isAvatarLoaded = true;\n setUserHasAvatar(this.user, true);\n };\n img.onerror = (error) => {\n logger.debug(\"[NcAvatar] Invalid avatar url\", { error, url });\n this.avatarUrlLoaded = null;\n this.avatarSrcSetLoaded = null;\n this.userDoesNotExist = true;\n this.isAvatarLoaded = false;\n setUserHasAvatar(this.user, false);\n };\n if (srcset) {\n img.srcset = srcset;\n }\n img.src = url;\n }\n }\n};\nconst _hoisted_1 = [\"title\"];\nconst _hoisted_2 = [\"src\", \"srcset\"];\nconst _hoisted_3 = {\n key: 2,\n class: \"avatardiv__user-status avatardiv__user-status--icon\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_IconDotsHorizontal = resolveComponent(\"IconDotsHorizontal\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcUserStatusIcon = resolveComponent(\"NcUserStatusIcon\");\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return withDirectives((openBlock(), createElementBlock(\"span\", {\n class: normalizeClass([\"avatardiv popovermenu-wrapper\", {\n \"avatardiv--unknown\": $data.userDoesNotExist,\n \"avatardiv--with-menu\": $options.hasMenu,\n \"avatardiv--with-menu-loading\": $data.contactsMenuLoading\n }]),\n style: normalizeStyle($options.avatarStyle),\n title: $options.tooltip\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n $props.iconClass ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([$props.iconClass, \"avatar-class-icon\"])\n }, null, 2)) : $data.isAvatarLoaded && !$data.userDoesNotExist ? (openBlock(), createElementBlock(\"img\", {\n key: 1,\n src: $data.avatarUrlLoaded,\n srcset: $data.avatarSrcSetLoaded,\n alt: \"\"\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true)\n ], true),\n $options.hasMenu && $options.menu.length === 0 ? (openBlock(), createBlock(_component_NcButton, {\n key: 0,\n \"aria-label\": $options.avatarAriaLabel,\n class: \"action-item action-item__menutoggle\",\n variant: \"tertiary-no-background\",\n onClick: $options.toggleMenu\n }, {\n icon: withCtx(() => [\n $data.contactsMenuLoading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : (openBlock(), createBlock(_component_IconDotsHorizontal, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : $options.hasMenu ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n open: $data.contactsMenuOpenState,\n \"onUpdate:open\": _cache[0] || (_cache[0] = ($event) => $data.contactsMenuOpenState = $event),\n \"aria-label\": $options.avatarAriaLabel,\n container: $props.menuContainer,\n forceMenu: \"\",\n manualOpen: \"\",\n variant: \"tertiary-no-background\",\n onClick: $options.toggleMenu\n }, createSlots({\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.menu, (item, key) => {\n return openBlock(), createBlock(resolveDynamicComponent(item.ncActionComponent), mergeProps({ key }, { ref_for: true }, item.ncActionComponentProps), createSlots({\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(item.text), 1)\n ]),\n _: 2\n }, [\n item.iconSvg ? {\n name: \"icon\",\n fn: withCtx(() => [\n createVNode(_component_NcIconSvgWrapper, {\n svg: item.iconSvg\n }, null, 8, [\"svg\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1040);\n }), 128))\n ]),\n _: 2\n }, [\n $data.contactsMenuLoading ? {\n name: \"icon\",\n fn: withCtx(() => [\n createVNode(_component_NcLoadingIcon)\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"open\", \"aria-label\", \"container\", \"onClick\"])) : createCommentVNode(\"\", true),\n $options.showUserStatusIconOnAvatar ? (openBlock(), createElementBlock(\"span\", _hoisted_3, toDisplayString(_ctx.userStatus.icon), 1)) : $options.canDisplayUserStatus ? (openBlock(), createBlock(_component_NcUserStatusIcon, {\n key: 3,\n class: \"avatardiv__user-status\",\n status: _ctx.userStatus.status,\n \"aria-hidden\": String($options.hasMenu)\n }, null, 8, [\"status\", \"aria-hidden\"])) : createCommentVNode(\"\", true),\n $options.showInitials ? (openBlock(), createElementBlock(\"span\", {\n key: 4,\n style: normalizeStyle($options.initialsWrapperStyle),\n class: \"avatardiv__initials-wrapper\"\n }, [\n createElementVNode(\"span\", {\n style: normalizeStyle($options.initialsStyle),\n class: \"avatardiv__initials\"\n }, toDisplayString($options.initials), 5)\n ], 4)) : createCommentVNode(\"\", true)\n ], 14, _hoisted_1)), [\n [_directive_click_outside, $options.closeMenu]\n ]);\n}\nconst NcAvatar = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e0ae1174\"]]);\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-1KxMUN7V.mjs.map\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n\n\n","\n\n","import '../assets/NcListItem-BjeejGlB.css';\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { N as NcCounterBubble } from \"./NcCounterBubble-CV0YMrXW.mjs\";\nimport { _ as _sfc_main$1 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nimport { resolveComponent, openBlock, createBlock, resolveDynamicComponent, normalizeProps, guardReactiveProps, withCtx, createElementVNode, mergeProps, normalizeClass, withKeys, renderSlot, createTextVNode, toDisplayString, createElementBlock, createCommentVNode, withDirectives, vShow, createVNode, createSlots } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcListItem\",\n components: {\n NcActions,\n NcCounterBubble,\n NcVNodes: _sfc_main$1\n },\n inheritAttrs: false,\n props: {\n /**\n * The details text displayed in the upper right part of the component\n */\n details: {\n type: String,\n default: \"\"\n },\n /**\n * Name (first line of text)\n */\n name: {\n type: String,\n default: void 0\n },\n /**\n * The route for the router link.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * The value for the external link\n */\n href: {\n type: String,\n default: \"#\"\n },\n /**\n * The HTML target attribute used for the link\n */\n target: {\n type: String,\n default: \"\"\n },\n /**\n * Id for the `` element\n */\n anchorId: {\n type: String,\n default: \"\"\n },\n /**\n * Make subname bold\n */\n bold: {\n type: Boolean,\n default: false\n },\n /**\n * Show the NcListItem in compact design\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Toggle the active state of the component\n */\n active: {\n type: Boolean,\n default: void 0\n },\n /**\n * Aria label for the wrapper element\n */\n linkAriaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions toggle\n */\n actionsAriaLabel: {\n type: String,\n default: void 0\n },\n /**\n * If different from 0 this component will display the\n * NcCounterBubble component\n */\n counterNumber: {\n type: [Number, String],\n default: 0\n },\n /**\n * Outlined or highlighted state of the counter\n */\n counterType: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].indexOf(value) !== -1;\n }\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Show the list component layout\n */\n oneLine: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"click\",\n \"dragstart\",\n \"update:menuOpen\"\n ],\n setup() {\n return { isLegacy34 };\n },\n data() {\n return {\n hovered: false,\n hasActions: false,\n hasSubname: false,\n displayActionsOnHoverFocus: false,\n menuOpen: false,\n hasIndicator: false,\n hasDetails: false\n };\n },\n computed: {\n showAdditionalElements() {\n return !this.displayActionsOnHoverFocus || this.forceDisplayActions;\n },\n showDetails() {\n return (this.details !== \"\" || this.hasDetails) && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);\n }\n },\n watch: {\n menuOpen(newValue) {\n if (!newValue && !this.hovered) {\n this.displayActionsOnHoverFocus = false;\n }\n }\n },\n mounted() {\n this.checkSlots();\n },\n updated() {\n this.checkSlots();\n },\n methods: {\n /**\n * Handle link click\n *\n * @param {MouseEvent|KeyboardEvent} event - Native click or keydown event\n * @param {(event: Event) => void} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n showActions() {\n if (this.hasActions) {\n this.displayActionsOnHoverFocus = true;\n }\n this.hovered = false;\n },\n hideActions() {\n this.displayActionsOnHoverFocus = false;\n },\n /**\n * @param {FocusEvent} event UI event\n */\n handleBlur(event) {\n if (this.menuOpen) {\n return;\n }\n if (this.$refs[\"list-item\"]?.contains(event.relatedTarget)) {\n return;\n }\n this.hideActions();\n },\n /**\n * Hide the actions on mouseleave unless the menu is open\n */\n handleMouseleave() {\n if (!this.menuOpen) {\n this.displayActionsOnHoverFocus = false;\n }\n this.hovered = false;\n },\n handleMouseover() {\n this.showActions();\n this.hovered = true;\n },\n handleActionsUpdateOpen(e) {\n this.menuOpen = e;\n this.$emit(\"update:menuOpen\", e);\n },\n // Check if subname and actions slots are populated\n checkSlots() {\n if (this.hasActions !== !!this.$slots.actions) {\n this.hasActions = !!this.$slots.actions;\n }\n if (this.hasSubname !== !!this.$slots.subname) {\n this.hasSubname = !!this.$slots.subname;\n }\n if (this.hasIndicator !== !!this.$slots.indicator) {\n this.hasIndicator = !!this.$slots.indicator;\n }\n if (this.hasDetails !== !!this.$slots.details) {\n this.hasDetails = !!this.$slots.details;\n }\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-label\", \"href\", \"target\", \"rel\", \"onClick\"];\nconst _hoisted_2 = { class: \"list-item-content\" };\nconst _hoisted_3 = { class: \"list-item-content__main\" };\nconst _hoisted_4 = { class: \"list-item-content__name\" };\nconst _hoisted_5 = { class: \"list-item-content__details\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"list-item-details__details\"\n};\nconst _hoisted_7 = {\n key: 1,\n class: \"list-item-details__extra\"\n};\nconst _hoisted_8 = {\n key: 1,\n class: \"list-item-details__indicator\"\n};\nconst _hoisted_9 = {\n key: 0,\n class: \"list-item-content__extra-actions\"\n};\nconst _hoisted_10 = {\n key: 2,\n class: \"list-item__extra\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCounterBubble = resolveComponent(\"NcCounterBubble\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n return openBlock(), createBlock(resolveDynamicComponent($props.to ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$props.to && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"li\", mergeProps({\n class: [\"list-item__wrapper\", {\n \"list-item__wrapper--active\": $props.active ?? isActive,\n \"list-item__wrapper--legacy\": $setup.isLegacy34\n }]\n }, _ctx.$attrs), [\n createElementVNode(\"div\", {\n ref: \"list-item\",\n class: normalizeClass([\"list-item\", {\n \"list-item--compact\": $props.compact,\n \"list-item--one-line\": $props.oneLine\n }]),\n onMouseover: _cache[5] || (_cache[5] = (...args) => $options.handleMouseover && $options.handleMouseover(...args)),\n onMouseleave: _cache[6] || (_cache[6] = (...args) => $options.handleMouseleave && $options.handleMouseleave(...args))\n }, [\n createElementVNode(\"a\", {\n id: $props.anchorId || void 0,\n \"aria-label\": $props.linkAriaLabel,\n class: \"list-item__anchor\",\n href: routerLinkHref || $props.href,\n target: $props.target || ($props.href === \"#\" ? void 0 : \"_blank\"),\n rel: $props.href === \"#\" ? void 0 : \"noopener noreferrer\",\n onFocus: _cache[0] || (_cache[0] = (...args) => $options.showActions && $options.showActions(...args)),\n onFocusout: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onDragstart: _cache[2] || (_cache[2] = ($event) => _ctx.$emit(\"dragstart\", $event)),\n onKeydown: _cache[3] || (_cache[3] = withKeys((...args) => $options.hideActions && $options.hideActions(...args), [\"esc\"]))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"name\", {}, () => [\n createTextVNode(toDisplayString($props.name), 1)\n ], true)\n ]),\n $data.hasSubname ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"list-item-content__subname\", { \"list-item-content__subname--bold\": $props.bold }])\n }, [\n renderSlot(_ctx.$slots, \"subname\", {}, void 0, true)\n ], 2)) : createCommentVNode(\"\", true)\n ]),\n createElementVNode(\"div\", _hoisted_5, [\n $options.showDetails ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"details\", {}, () => [\n createTextVNode(toDisplayString($props.details), 1)\n ], true)\n ])) : createCommentVNode(\"\", true),\n $props.counterNumber !== 0 || $data.hasIndicator ? withDirectives((openBlock(), createElementBlock(\"div\", _hoisted_7, [\n $props.counterNumber !== 0 ? (openBlock(), createBlock(_component_NcCounterBubble, {\n key: 0,\n count: $props.counterNumber,\n active: $setup.isLegacy34 ? $props.active ?? isActive : false,\n class: \"list-item-details__counter\",\n type: $props.counterType\n }, null, 8, [\"count\", \"active\", \"type\"])) : createCommentVNode(\"\", true),\n $data.hasIndicator ? (openBlock(), createElementBlock(\"span\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"indicator\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 512)), [\n [vShow, $options.showAdditionalElements]\n ]) : createCommentVNode(\"\", true)\n ])\n ])\n ], 40, _hoisted_1),\n _ctx.$slots[\"extra-actions\"] ? (openBlock(), createElementBlock(\"div\", _hoisted_9, [\n renderSlot(_ctx.$slots, \"extra-actions\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n $props.forceDisplayActions || $data.displayActionsOnHoverFocus ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: \"list-item-content__actions\",\n onFocusout: _cache[4] || (_cache[4] = (...args) => $options.handleBlur && $options.handleBlur(...args))\n }, [\n createVNode(_component_NcActions, {\n ref: \"actions\",\n primary: $setup.isLegacy34 ? $props.active ?? isActive : false,\n forceMenu: $props.forceMenu,\n \"aria-label\": $props.actionsAriaLabel,\n \"onUpdate:open\": $options.handleActionsUpdateOpen\n }, createSlots({\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots[\"actions-icon\"] ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions-icon\", {}, void 0, true)\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"primary\", \"forceMenu\", \"aria-label\", \"onUpdate:open\"])\n ], 32)) : createCommentVNode(\"\", true),\n _ctx.$slots.extra ? (openBlock(), createElementBlock(\"div\", _hoisted_10, [\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 34)\n ], 16)\n ]),\n _: 3\n }, 16);\n}\nconst NcListItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-0e705f5a\"]]);\nexport {\n NcListItem as N\n};\n//# sourceMappingURL=NcListItem-BliLJpvU.mjs.map\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { createRouter, createWebHashHistory } from 'vue-router'\nimport Approvals from './views/Approvals.vue'\nimport HrAbsences from './views/hr/HrAbsences.vue'\nimport HrBalances from './views/hr/HrBalances.vue'\nimport HrExports from './views/hr/HrExports.vue'\nimport HrSickLeave from './views/hr/HrSickLeave.vue'\nimport HrStatistics from './views/hr/HrStatistics.vue'\nimport HrWhosOff from './views/hr/HrWhosOff.vue'\nimport MyLeave from './views/MyLeave.vue'\nimport Team from './views/Team.vue'\n\nconst routes = [\n\t{ path: '/', redirect: '/my' },\n\t{ path: '/my', name: 'my', component: MyLeave },\n\t{ path: '/approvals', name: 'approvals', component: Approvals },\n\t{ path: '/team', name: 'team', component: Team },\n\t{ path: '/hr/absences', name: 'hr-absences', component: HrAbsences },\n\t{ path: '/hr/balances', name: 'hr-balances', component: HrBalances },\n\t{ path: '/hr/statistics', name: 'hr-statistics', component: HrStatistics },\n\t{ path: '/hr/sick-leave', name: 'hr-sick-leave', component: HrSickLeave },\n\t{ path: '/hr/whos-off', name: 'hr-whos-off', component: HrWhosOff },\n\t{ path: '/hr/exports', name: 'hr-exports', component: HrExports },\n\t// Deep link from notifications/activity: open My leave with the request selected.\n\t{ path: '/requests/:id', name: 'request', component: MyLeave, props: true },\n]\n\nexport default createRouter({\n\thistory: createWebHashHistory(),\n\troutes,\n})\n","import { translatePlural as n, translate as t } from '@nextcloud/l10n'\n/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router.js'\n\nconst app = createApp(App)\napp.config.globalProperties.t = t\napp.config.globalProperties.n = n\napp.use(router)\napp.mount('#absence-app')\n"],"names":["getCapabilities","loadState","y","n","r","a","s","p","g","h","_","f","b","e","t","x","S","C","w","T","E","ee","k","A","D","O","i","L","F","$","j","M","N","z","R","P","I","B","o","c","l","u","te","V","H","U","W","G","K","q","J","Y","Z","X","re","ie","ne","Q","v","ae","d","m","isBrowser","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","text","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","TRAILING_SLASH_RE","removeTrailingSlash","path","parseURL","parseQuery","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","base","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","key","isSameRouteLocationParamsValue","isArray","isEquivalentArray","value","to","from","fromSegments","toSegments","lastToSegment","position","toPosition","segment","START_LOCATION_NORMALIZED","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","el","offset","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","isRouteLocation","route","isRouteName","name","search","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","useCallbacks","handlers","add","handler","reset","guardToPromiseFn","guard","record","runWithContext","fn","enterCallbackArray","resolve","reject","next","valid","createRouterError","guardReturn","guardCall","err","extractComponentsGuards","matched","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolved","resolvedComponent","isESModule","extractChangingRecords","leavingRecords","updatingRecords","enteringRecords","len","recordFrom","recordTo","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","replace","listeners","teardowns","pauseState","popStateHandler","state","fromState","listener","pauseListeners","listen","callback","teardown","index","beforeUnloadListener","history","assign","destroy","buildState","back","current","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","url","data","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","message","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","options","score","pattern","keys","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","subPattern","parse","match","params","stringify","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","last","PATH_PARSER_OPTIONS_DEFAULTS","createRouteRecordMatcher","parent","parser","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","mergeOptions","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","children","noop","matcherRef","getRoutes","findInsertionIndex","pickParams","parentMatcher","mergeMetaFields","clearRoutes","newParams","normalized","normalizeRecordProps","propsObject","props","meta","lower","upper","mid","insertionAncestor","getInsertionAncestor","ancestor","useLink","router","inject","routerKey","currentRoute","routeLocationKey","computed","unref","activeRecordIndex","length","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","preferSingleVNode","vnodes","RouterLink","defineComponent","slots","link","reactive","elClass","getLinkClass","target","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","attrs","injectedRoute","routerViewLocationKey","routeToDisplay","injectedDepth","viewDepthKey","depth","initialDepth","matchedRoute","matchedRouteRef","provide","matchedRouteKey","viewRef","ref","watch","instance","oldInstance","_oldName","currentName","ViewComponent","normalizeSlot","routePropsOption","routeProps","component","vnode","slot","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","shallowRef","pendingLocation","normalizeParams","applyToParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","error","isNavigationFailure","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","app","installedApps","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","list","isReady","scrollBehavior","nextTick","started","reactiveRoute","shallowReactive","unmountApp","promise","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","useLocalizedAppName","apps","realAppName2","id","register","t27","_sfc_main$1","__props","isMobile","useIsMobile","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","emit","_ctx","_cache","openBlock","createBlock","NcButton","normalizeClass","withCtx","createVNode","NcIconSvgWrapper","mdiArrowRight","NcAppContentDetailsToggle","_export_sfc","browserStorage","getBuilder","instanceName","_sfc_main","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createElementBlock","toDisplayString","createCommentVNode","Fragment","withModifiers","withDirectives","createElementVNode","renderSlot","vShow","NcAppContent","NcAppNavigationList","HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","t20","_hoisted_1$1","open","useModel","title","$event","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","useTemplateRef","shouldActivateFocusTrap","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","onUnmounted","unsubscribe","bodyStyles","animationLength","open2","handleEsc","isLegacy34","withKeys","NcAppNavigation","NcActions","actionProps","_value","headingLevel","_component_NcActions","resolveDynamicComponent","createTextVNode","normalizeProps","guardReactiveProps","NcAppNavigationCaption","_hoisted_4","mergeProps","ChevronUp","IconArrowRight","t14","IconClose","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","ActionGlobalMixin","ActionTextMixin","NC_ACTIONS_CLOSE_MENU","NC_ACTIONS_IS_SEMANTIC_MENU","behavior","mdiCheck","mdiChevronRight","attributes","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_component_NcIconSvgWrapper","normalizeStyle","NcActionButton","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","ChevronDown","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcLoadingIcon","_sfc_main$4","createElementId","newVal","routerLinkHref","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcAppNavigationIconCollapsible","NcAppNavigationItem","NcAppNavigationNew","t30","contentSvg","navigationSvg","setAppNavigation","hasAppNavigation","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","Teleport","NcContent","humanizedCount","getCanonicalLocale","originalCountAsTitleIfNeeded","countAsString","NcCounterBubble","_createElementBlock","_mergeProps","_createElementVNode","_openBlock","INJECTION_KEY_THEME","useIsDarkThemeElement","element","toValue","isDarkTheme","checkIfDarkTheme","isDarkSystemTheme","usePreferredDark","updateIsDarkTheme","useMutationObserver","readonly","useInternalIsDarkTheme","createSharedComposable","useIsDarkTheme","enforcedTheme","t40","mergeModels","modelValue","formattedValue","formatValue","formattedMax","formattedMin","getReadableDate","yyyy","MM","dd","hh","mm","startDate","daysSinceBeginningOfYear","weekNumber","onInput","input","time","timezoneOffsetSeconds","inputDateWithTimezone","NcDateTimePickerNative","__expose","focus","select","useAttrs","textAreaElement","internalPlaceholder","isLegacy","ariaDescribedby","ariaDescribedby2","handleInput","mdiAlertCircleOutline","NcTextArea","__emit","inputElement","hasTrailingIcon","isValidLabel","NcInputField","t18","inputFieldInstance","defaultTrailingButtonLabels","NcInputFieldPropNames","propsToForward","sharedProps","createSlots","mdiUndo","mdiClose","initialSession","initialLeaveTypes","store","request","type","api","showError","year","created","showSuccess","updated","res","comment","statusMeta","status","NcModal","NcSelect","NcTextField","NcNoteCard","Send","toIso","generateUrl","ev","names","makeHolidayChecker","seq","weekdays","parseWeekdays","countWorkingDays","types","today","seen","own","users","payload","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_25","_hoisted_26","_hoisted_29","_createBlock","_component_NcModal","_toDisplayString","_component_NcNoteCard","_createVNode","_component_NcSelect","_withCtx","icon","label","_hoisted_11","_component_NcDateTimePickerNative","_component_NcTextField","_Fragment","_createTextVNode","_hoisted_22","_hoisted_24","_hoisted_27","_hoisted_28","_component_NcTextArea","_component_Send","stopClickOutsideMap","vOnClickOutside","binding","capture","stop","onClickOutside","directive","encodedTlds","encodedUtlds","numeric","ascii","alpha","asciinumeric","alphanumeric","domain","emoji","scheme","slashscheme","whitespace","registerGroup","groups","addToGroups","flags","group","flagsForToken","State","nextState","regex","exactOnly","inputs","templateState","allFlags","ta","tr","ts","tt","WORD","UWORD","ASCIINUMERICAL","ALPHANUMERICAL","LOCALHOST","TLD","UTLD","SCHEME","SLASH_SCHEME","NUM","WS","NL","OPENBRACE","CLOSEBRACE","OPENBRACKET","CLOSEBRACKET","OPENPAREN","CLOSEPAREN","OPENANGLEBRACKET","CLOSEANGLEBRACKET","FULLWIDTHLEFTPAREN","FULLWIDTHRIGHTPAREN","LEFTCORNERBRACKET","RIGHTCORNERBRACKET","LEFTWHITECORNERBRACKET","RIGHTWHITECORNERBRACKET","FULLWIDTHLESSTHAN","FULLWIDTHGREATERTHAN","AMPERSAND","APOSTROPHE","ASTERISK","AT","BACKSLASH","BACKTICK","CARET","COLON","COMMA","DOLLAR","DOT","EQUALS","EXCLAMATION","HYPHEN","PERCENT","PIPE","PLUS","POUND","QUERY","QUOTE","FULLWIDTHMIDDLEDOT","SEMI","SLASH","TILDE","UNDERSCORE","EMOJI$1","SYM","tk","ASCII_LETTER","LETTER","EMOJI","DIGIT","SPACE","CR","LF","EMOJI_VARIATION","EMOJI_JOINER","OBJECT_REPLACEMENT","tlds","utlds","init$2","customSchemes","Start","decodeTlds","Num","Asciinumeric","Alphanumeric","Word","UWord","Nl","Cr","Ws","Emoji","EmojiJoiner","wordjr","uwordjr","fastts","sch","run$1","start","str","iterable","stringToArray","charCount","cursor","charCursor","tokenLength","latestAccepting","sinceAccepts","charsSinceAccepts","first","second","defaultt","jr","encoded","words","stack","digits","popDigitCount","popCount","defaults","Options","opts","defaultRender","ignoredTags","uppercaseIgnoredTags","ir","operator","isCallable","option","obj","val","MultiToken","truncate","formatted","protocol","formattedHref","tagName","content","className","rel","eventListeners","createTokenClass","Token","Email","Text","Url","makeState","arg","init$1","qsAccepting","qsNonAccepting","localpartAccepting","Localpart","Domain","Scheme","SlashScheme","LocalpartAt","LocalpartDot","EmailDomain","EmailDomainDot","Email$1","EmailDomainHyphen","DomainHyphen","DomainDot","DomainDotTld","DomainDotTldColon","DomainDotTldColonPort","Url$1","UrlNonaccept","SchemeColon","SlashSchemeColon","SlashSchemeColonSlash","UriPrefix","bracketPairs","OPEN","CLOSE","UrlOpen","UrlOpenQ","UrlOpenSyms","run","multis","textTokens","secondState","multiLength","initMultiToken","Multi","subtokens","startIdx","endIdx","INIT","init","tokenize","linkifyString","escapeHTML","escapeAttr","attributesToString","attr","headerRef","nameId","NcEmptyContent","_sfc_main$5","_hoisted_1$5","_hoisted_2$3","_hoisted_3$3","_hoisted_4$3","_sfc_render$4","IconDockRight","_hoisted_1$4","IconStar","_hoisted_1$3","IconStarOutline","selected","_sfc_main$6","sidebarTabsButton","sidebarTabsButton_legacy","sidebarTabsButton_selected","sidebarTabsButton__name","sidebarTabsButton__icon","sidebarTabsButton__legacyIcon","style0","cssModules","NcAppSidebarTabsButton","tab","active","tabIndex","_component_NcAppSidebarTabsButton","renderList","NcAppSidebarTabs","t15","_sfc_main$7","useIsSmallMobile","isSlotPopulated","menu","menuTrigger","activeTab","_component_IconDockRight","_component_IconStar","_component_IconStarOutline","_component_NcAppSidebarHeader","_component_NcAppSidebarTabs","_component_NcEmptyContent","_directive_focus","resolveDirective","_directive_click_outside","Transition","NcAppSidebar","NcAppSidebarTab","getRoute","removePrefix","prefix","removePrefixes","prefixes","acc","isAbsoluteURL","isNonHttpLink","getBaseUrl","relativeUrl","relativeRouterBase","getRootUrl","potentialRouterPath","getEnabledContactsMenuActions","entry","action","t3","Color","toHex","int","calculateStepIncrement","steps","color1","color2","mixPalette","palette","increment","COLOR_RED","COLOR_YELLOW","COLOR_BLUE","generatePalette","palette1","palette2","palette3","hashCode","Md5","finalInt","usernameToColor","username","finalPalette","global","Symbol","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","html","allowable_tags","tag_replacement","context","init_context","striptags_internal","init_striptags_stream","parse_allowable_tags","tag_buffer","in_quote_char","output","idx","normalize_tag","tag_set","module","this","getAvatarUrl","user","size","guestUrl","themeUrl","awaySvg","busySvg","dndSvg","invisibleSvg","onlineSvg","t52","t11","getUserStatusText","isInvisible","ariaLabel","axios","generateOcsUrl","matchSvg","activeSvg","NcUserStatusIcon","NcActionLink","_component_RouterLink","NcActionRouter","NcActionText","t10","userStatus","userId","capabilities","getCurrentUser","getUserHasAvatar","flag","setUserHasAvatar","IconDotsHorizontal","initials","filteredChars","filtered","actions","item","escape","emojiIcon","avatarUrl","srcset","userHasAvatar","img","_component_IconDotsHorizontal","_component_NcUserStatusIcon","NcAvatar","AccountGroup","StatusChip","_renderList","_component_NcAvatar","_component_StatusChip","_component_AccountGroup","_normalizeStyle","requested","review","outcome","step","_normalizeClass","LeaveTypeChip","CoveragePanel","RequestStepper","InformationOutline","CommentOutline","History","Check","Close","CancelIcon","formatRange","notice","iso","_component_NcAppSidebar","_component_NcAppSidebarTab","_component_InformationOutline","_component_RequestStepper","_component_LeaveTypeChip","_component_Check","_component_Close","_component_CancelIcon","_component_CoveragePanel","_component_CommentOutline","_component_History","RequestDialog","RequestSidebar","Plus","CalendarAccountOutline","CalendarSearch","ClipboardCheck","ScaleBalance","ChartBar","CalendarMonth","Download","ClipboardPlusOutline","Thermometer","_component_NcContent","_component_NcAppNavigation","_component_NcAppNavigationNew","_component_Plus","_component_NcAppNavigationItem","_component_CalendarAccountOutline","_component_ClipboardCheck","_component_NcCounterBubble","_component_NcAppNavigationCaption","_component_ClipboardPlusOutline","_component_CalendarSearch","_component_ScaleBalance","_component_ChartBar","_component_Thermometer","_component_CalendarMonth","_component_Download","_component_NcAppContent","_component_router_view","_component_RequestSidebar","_component_RequestDialog","NcListItem","range","days","_component_NcListItem","ACTIONABLE","CheckAll","RequestListItem","SkeletonList","reports","_component_SkeletonList","_TransitionGroup","_component_RequestListItem","_component_CheckAll","PAGE_SIZE","STATUSES","thisYear","employee","lt","years","LOW_BALANCE_RATIO","Magnify","StatTile","MeterBar","counting","sum","total","lowOrOverdrawn","row","available","ent","events","field","_hoisted_30","_hoisted_32","_component_Magnify","tile","_component_StatTile","_component_MeterBar","_hoisted_31","_hoisted_33","now","NcCheckboxRadioSwitch","max","report","_component_NcCheckboxRadioSwitch","_withModifiers","pct","seg","usableW","usableH","MAX_MONTHS","ChartLine","LineChart","DonutChart","months","month","peak","best","formatDate","_component_ChartLine","_component_LineChart","_component_DonutChart","DAY_MS","ChevronLeft","ChevronRight","CalendarBlank","arr","dt","dow","byUid","monthStart","lastIndex","ids","_component_ChevronLeft","_component_ChevronRight","_resolveDynamicComponent","_component_CalendarBlank","TeamTimeline","_component_TeamTimeline","duration","eased","BalanceRing","_component_BalanceRing","bar","seasonOf","LIVE_COUNTDOWN_MS","BalanceCard","BarChart","PalmIllustration","sickType","approved","headline","remaining","formatCountdown","typeMatches","color","buckets","addWorkingDaysByMonth","_component_BalanceCard","_component_BarChart","_component_PalmIllustration","MyLeave","Approvals","Team","HrAbsences","HrBalances","HrStatistics","HrSickLeave","HrWhosOff","HrExports","createApp","App"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,74,75,80,86,90,91,92]} \ No newline at end of file +{"version":3,"file":"absence-main.mjs","sources":["../node_modules/@nextcloud/capabilities/dist/index.mjs","../node_modules/splitpanes/dist/splitpanes.esm.js","../node_modules/vue-router/dist/devtools-Bpr7ZAVB.js","../node_modules/vue-router/dist/vue-router.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-DavgjaFX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationList-CGSWabRB.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-Ciwvl5xb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-g57j16pB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-VjSWJ8R4.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronUp-ChH8oB7p.mjs","../node_modules/@nextcloud/vue/dist/chunks/ArrowRight-B1ncAhus.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-CGTllrXj.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionGlobal-BZFdtdJL.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText-BXR0sWNu.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton-BO5T5ePT.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-CDeYtA3E.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationNew-CBNppM7Q.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-BYh5hWDN.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCounterBubble-CV0YMrXW.mjs","../node_modules/vue-material-design-icons/AccountGroup.vue","../node_modules/vue-material-design-icons/CalendarAccountOutline.vue","../node_modules/vue-material-design-icons/CalendarMonth.vue","../node_modules/vue-material-design-icons/CalendarSearch.vue","../node_modules/vue-material-design-icons/ChartBar.vue","../node_modules/vue-material-design-icons/ClipboardCheck.vue","../node_modules/vue-material-design-icons/ClipboardPlusOutline.vue","../node_modules/vue-material-design-icons/Download.vue","../node_modules/vue-material-design-icons/Plus.vue","../node_modules/vue-material-design-icons/ScaleBalance.vue","../node_modules/vue-material-design-icons/Thermometer.vue","../node_modules/@nextcloud/vue/dist/chunks/constants-wIEKSp2G.mjs","../node_modules/@nextcloud/vue/dist/composables/useIsDarkTheme/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDateTimePickerNative-B8CMOUnH.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextArea-Dxzj4zdb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-5Sg6EUP6.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2.mjs","../node_modules/vue-material-design-icons/Send.vue","../src/store.js","../src/components/RequestDialog.vue","../node_modules/@vueuse/components/dist/index.js","../node_modules/@nextcloud/vue/dist/directives/Focus/index.mjs","../node_modules/linkifyjs/dist/linkify.mjs","../node_modules/@nextcloud/vue/dist/directives/Linkify/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-C-QhdyiN.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcEmptyContent-CGAPqk4S.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebar-C8YzAzrZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebarTab-DOSDDbGA.mjs","../node_modules/@nextcloud/vue/dist/chunks/autolink-DrIurosL.mjs","../node_modules/@nextcloud/vue/dist/functions/contactsMenu/index.mjs","../node_modules/ts-md5/dist/index.es.js","../node_modules/@nextcloud/vue/dist/chunks/colors-Cv9F-jWS.mjs","../node_modules/@nextcloud/vue/dist/functions/usernameToColor/index.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-BF5OEQFU.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionLink-BFiaYt9A.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionRouter-vYFtIOzD.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionText-CQ9qwJ0p.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-1KxMUN7V.mjs","../node_modules/vue-material-design-icons/Cancel.vue","../node_modules/vue-material-design-icons/Check.vue","../node_modules/vue-material-design-icons/Close.vue","../node_modules/vue-material-design-icons/CommentOutline.vue","../node_modules/vue-material-design-icons/History.vue","../node_modules/vue-material-design-icons/InformationOutline.vue","../node_modules/vue-material-design-icons/Pencil.vue","../src/components/StatusChip.vue","../src/components/CoveragePanel.vue","../src/components/LeaveTypeChip.vue","../src/components/RequestStepper.vue","../src/components/RequestSidebar.vue","../src/App.vue","../node_modules/vue-material-design-icons/CheckAll.vue","../node_modules/@nextcloud/vue/dist/chunks/NcListItem-BliLJpvU.mjs","../src/components/RequestListItem.vue","../src/components/SkeletonList.vue","../src/views/Approvals.vue","../src/views/hr/HrAbsences.vue","../node_modules/vue-material-design-icons/Magnify.vue","../src/components/MeterBar.vue","../src/components/StatTile.vue","../src/views/hr/HrBalances.vue","../src/views/hr/HrExports.vue","../src/views/hr/HrSickLeave.vue","../node_modules/vue-material-design-icons/ChartLine.vue","../src/components/DonutChart.vue","../src/components/LineChart.vue","../src/views/hr/HrStatistics.vue","../node_modules/vue-material-design-icons/CalendarBlank.vue","../node_modules/vue-material-design-icons/ChevronLeft.vue","../node_modules/vue-material-design-icons/ChevronRight.vue","../src/components/TeamTimeline.vue","../src/views/hr/HrWhosOff.vue","../src/components/BalanceRing.vue","../src/components/BalanceCard.vue","../src/components/BarChart.vue","../src/components/PalmIllustration.vue","../src/views/MyLeave.vue","../src/views/Team.vue","../src/router.js","../src/main.js"],"sourcesContent":["import { loadState } from \"@nextcloud/initial-state\";\nfunction getCapabilities() {\n try {\n return loadState(\"core\", \"capabilities\");\n } catch (error) {\n console.debug(\"Could not find capabilities initial state fall back to _oc_capabilities\");\n if (!(\"_oc_capabilities\" in window)) {\n return {};\n }\n return window[\"_oc_capabilities\"];\n }\n}\nexport {\n getCapabilities\n};\n//# sourceMappingURL=index.mjs.map\n","import { computed as e, createBlock as t, createElementBlock as n, getCurrentInstance as r, h as i, inject as a, nextTick as o, normalizeStyle as s, onBeforeUnmount as c, onMounted as l, openBlock as u, provide as d, ref as f, renderSlot as p, resolveDynamicComponent as m, unref as h, useAttrs as g, useSlots as _, watch as v } from \"vue\";\n//#region src/components/splitpanes/splitpanes.vue\nvar y = /* @__PURE__ */ Object.assign({ inheritAttrs: !1 }, {\n\t__name: \"splitpanes\",\n\tprops: {\n\t\thorizontal: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: !1\n\t\t},\n\t\tpushOtherPanes: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: !0\n\t\t},\n\t\tmaximizePanes: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: !0\n\t\t},\n\t\trtl: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: !1\n\t\t},\n\t\tfirstSplitter: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: !1\n\t\t},\n\t\tkeyboardStep: {\n\t\t\ttype: Number,\n\t\t\tdefault: 5\n\t\t}\n\t},\n\temits: [\n\t\t\"ready\",\n\t\t\"resize\",\n\t\t\"resized\",\n\t\t\"pane-click\",\n\t\t\"pane-maximize\",\n\t\t\"pane-add\",\n\t\t\"pane-remove\",\n\t\t\"splitter-click\",\n\t\t\"splitter-dblclick\",\n\t\t\"direction-changed\"\n\t],\n\tsetup(n, { emit: r }) {\n\t\tlet a = r, s = n, p = g(), h = _(), y = f([]), b = e(() => y.value.reduce((e, t) => (e[~~t.id] = t) && e, {})), x = e(() => y.value.length), S = f(null), C = f(!1), w = f({\n\t\t\tmouseDown: !1,\n\t\t\tdragging: !1,\n\t\t\tactiveSplitter: null,\n\t\t\tcursorOffset: 0\n\t\t}), T = f({\n\t\t\tsplitter: null,\n\t\t\ttimeoutId: null\n\t\t}), E = e(() => ({\n\t\t\t[`splitpanes splitpanes--${s.horizontal ? \"horizontal\" : \"vertical\"}`]: !0,\n\t\t\t\"splitpanes--dragging\": w.value.dragging,\n\t\t\t\"splitpanes--ready\": C.value\n\t\t})), ee = () => {\n\t\t\tdocument.addEventListener(\"mousemove\", k, { passive: !1 }), document.addEventListener(\"mouseup\", A), \"ontouchstart\" in window && (document.addEventListener(\"touchmove\", k, { passive: !1 }), document.addEventListener(\"touchend\", A));\n\t\t}, D = () => {\n\t\t\tdocument.removeEventListener(\"mousemove\", k, { passive: !1 }), document.removeEventListener(\"mouseup\", A), \"ontouchstart\" in window && (document.removeEventListener(\"touchmove\", k, { passive: !1 }), document.removeEventListener(\"touchend\", A));\n\t\t}, O = (e, t) => {\n\t\t\tlet n = e.target.closest(\".splitpanes__splitter\");\n\t\t\tif (n) {\n\t\t\t\tlet { left: t, top: r } = n.getBoundingClientRect(), { clientX: i, clientY: a } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n\t\t\t\tw.value.cursorOffset = s.horizontal ? a - r : i - t;\n\t\t\t}\n\t\t\tee(), w.value.mouseDown = !0, w.value.activeSplitter = t, document.documentElement.style.cursor = s.horizontal ? \"row-resize\" : \"col-resize\";\n\t\t}, k = (e) => {\n\t\t\tw.value.mouseDown && (e.preventDefault(), w.value.dragging || (window.getSelection()?.removeAllRanges(), w.value.dragging = !0), requestAnimationFrame(() => {\n\t\t\t\tL(F(e)), $(\"resize\", { event: e }, !0);\n\t\t\t}));\n\t\t}, A = (e) => {\n\t\t\tw.value.dragging && (window.getSelection()?.removeAllRanges(), $(\"resized\", { event: e }, !0)), w.value.mouseDown = !1, w.value.activeSplitter = null, setTimeout(() => {\n\t\t\t\tw.value.dragging = !1, D(), document.documentElement.style.cursor = \"\";\n\t\t\t}, 100);\n\t\t}, j = (e, t) => {\n\t\t\t\"ontouchstart\" in window && (e.preventDefault(), T.value.splitter === t ? (clearTimeout(T.value.timeoutId), T.value.timeoutId = null, M(e, t), T.value.splitter = null) : (T.value.splitter = t, T.value.timeoutId = setTimeout(() => T.value.splitter = null, 500))), w.value.dragging || $(\"splitter-click\", {\n\t\t\t\tevent: e,\n\t\t\t\tindex: t\n\t\t\t}, !0);\n\t\t}, M = (e, t) => {\n\t\t\tif ($(\"splitter-dblclick\", {\n\t\t\t\tevent: e,\n\t\t\t\tindex: t\n\t\t\t}, !0), s.maximizePanes) {\n\t\t\t\tlet n = 0;\n\t\t\t\ty.value = y.value.map((e, r) => (e.size = r === t ? e.max : e.min, r !== t && (n += e.min), e)), y.value[t].size -= n, $(\"pane-maximize\", {\n\t\t\t\t\tevent: e,\n\t\t\t\t\tindex: t,\n\t\t\t\t\tpane: y.value[t]\n\t\t\t\t}), $(\"resized\", {\n\t\t\t\t\tevent: e,\n\t\t\t\t\tindex: t\n\t\t\t\t}, !0);\n\t\t\t}\n\t\t}, N = (e, t) => {\n\t\t\tif (!s.keyboardStep) return;\n\t\t\tlet n = s.horizontal ? e.key === \"ArrowDown\" : e.key === \"ArrowRight\", r = s.horizontal ? e.key === \"ArrowUp\" : e.key === \"ArrowLeft\";\n\t\t\tif (!n && !r) return;\n\t\t\te.preventDefault(), w.value.activeSplitter = t;\n\t\t\tlet i = (n ? 1 : -1) * (s.rtl && !s.horizontal ? -1 : 1), a = z(t) + y.value[t].size;\n\t\t\tR(Math.min(Math.max(a + i * s.keyboardStep, 0), 100)), $(\"resize\", { event: e }, !0), $(\"resized\", { event: e }, !0), w.value.activeSplitter = null;\n\t\t}, P = (e, t) => {\n\t\t\tlet n = b.value[t];\n\t\t\tn && $(\"pane-click\", {\n\t\t\t\tevent: e,\n\t\t\t\tindex: n.index,\n\t\t\t\tpane: n\n\t\t\t});\n\t\t}, F = (e) => {\n\t\t\tlet t = S.value.getBoundingClientRect(), { clientX: n, clientY: r } = \"ontouchstart\" in window && e.touches ? e.touches[0] : e;\n\t\t\treturn {\n\t\t\t\tx: n - (s.horizontal ? 0 : w.value.cursorOffset) - t.left,\n\t\t\t\ty: r - (s.horizontal ? w.value.cursorOffset : 0) - t.top\n\t\t\t};\n\t\t}, I = (e) => {\n\t\t\te = e[s.horizontal ? \"y\" : \"x\"];\n\t\t\tlet t = S.value[s.horizontal ? \"clientHeight\" : \"clientWidth\"];\n\t\t\treturn s.rtl && !s.horizontal && (e = t - e), e * 100 / t;\n\t\t}, L = (e) => {\n\t\t\tR(I(e));\n\t\t}, R = (e) => {\n\t\t\tlet t = w.value.activeSplitter;\n\t\t\tif (t === null || t >= y.value.length - 1) return;\n\t\t\tlet n = {\n\t\t\t\tprevPanesSize: z(t),\n\t\t\t\tnextPanesSize: B(t),\n\t\t\t\tprevReachedMinPanes: 0,\n\t\t\t\tnextReachedMinPanes: 0\n\t\t\t}, r = 0 + (s.pushOtherPanes ? 0 : n.prevPanesSize), i = 100 - (s.pushOtherPanes ? 0 : n.nextPanesSize);\n\t\t\te = Math.max(Math.min(e, i), r);\n\t\t\tlet a = [t, t + 1], o = y.value[a[0]] || null, c = y.value[a[1]] || null, l = o !== null && o.max < 100 && e >= o.max + n.prevPanesSize, u = c !== null && c.max < 100 && e <= 100 - (c.max + B(t + 1));\n\t\t\tif (l || u) {\n\t\t\t\tl ? (o.size = o.max, c.size = Math.min(Math.max(100 - o.max - n.prevPanesSize - n.nextPanesSize, c.min), c.max)) : (o.size = Math.min(Math.max(100 - c.max - n.prevPanesSize - B(t + 1), o.min), o.max), c.size = c.max);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (s.pushOtherPanes) {\n\t\t\t\tlet t = te(n, e);\n\t\t\t\tif (!t) return;\n\t\t\t\t({sums: n, panesToResize: a} = t), o = y.value[a[0]] || null, c = y.value[a[1]] || null;\n\t\t\t}\n\t\t\to !== null && (o.size = Math.min(Math.max(e - n.prevPanesSize - n.prevReachedMinPanes, o.min), o.max)), c !== null && (c.size = Math.min(Math.max(100 - e - n.nextPanesSize - n.nextReachedMinPanes, c.min), c.max));\n\t\t}, te = (e, t) => {\n\t\t\tlet n = w.value.activeSplitter, r = [n, n + 1];\n\t\t\tif (t < e.prevPanesSize + y.value[r[0]].min) {\n\t\t\t\tif (r[0] = V(n).index, e.prevReachedMinPanes = 0, r[0] < n && y.value.forEach((t, i) => {\n\t\t\t\t\ti > r[0] && i <= n && (t.size = t.min, e.prevReachedMinPanes += t.min);\n\t\t\t\t}), r[0] === void 0) return e.prevReachedMinPanes = 0, y.value[0].size = y.value[0].min, y.value.forEach((t, r) => {\n\t\t\t\t\tr > 0 && r <= n && (t.size = t.min, e.prevReachedMinPanes += t.min);\n\t\t\t\t}), y.value[r[1]].size = 100 - e.prevReachedMinPanes - y.value[0].min - e.prevPanesSize - e.nextPanesSize, null;\n\t\t\t\te.prevPanesSize = z(r[0]);\n\t\t\t}\n\t\t\treturn t > 100 - e.nextPanesSize - y.value[r[1]].min && (r[1] = H(n).index, e.nextReachedMinPanes = 0, r[1] > n + 1 && y.value.forEach((t, i) => {\n\t\t\t\ti > n && i < r[1] && (t.size = t.min, e.nextReachedMinPanes += t.min);\n\t\t\t}), e.nextPanesSize = r[1] === void 0 ? 0 : B(r[1] - 1), r[1] === void 0) ? (e.nextReachedMinPanes = 0, y.value.forEach((t, r) => {\n\t\t\t\tr >= n + 1 && (t.size = t.min, e.nextReachedMinPanes += t.min);\n\t\t\t}), r[0] !== void 0 && (y.value[r[0]].size = 100 - e.prevPanesSize - B(r[0] - 1)), null) : {\n\t\t\t\tsums: e,\n\t\t\t\tpanesToResize: r\n\t\t\t};\n\t\t}, z = (e) => y.value.reduce((t, n, r) => t + (r < e ? n.size : 0), 0), B = (e) => y.value.reduce((t, n, r) => t + (r > e + 1 ? n.size : 0), 0), V = (e) => [...y.value].reverse().find((t) => t.index < e && t.size > t.min) || {}, H = (e) => y.value.find((t) => t.index > e + 1 && t.size > t.min) || {}, U = () => {\n\t\t\tlet e = Array.from(S.value?.children || []);\n\t\t\tfor (let t of e) {\n\t\t\t\tlet e = t.classList.contains(\"splitpanes__pane\"), n = t.classList.contains(\"splitpanes__splitter\");\n\t\t\t\t!e && !n && (t.remove(), console.warn(\"Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed.\"));\n\t\t\t}\n\t\t}, W = (e, t, n = !1) => {\n\t\t\tlet r = e - 1, i = document.createElement(\"div\");\n\t\t\ti.classList.add(\"splitpanes__splitter\"), n || (i.onmousedown = (e) => O(e, r), typeof window < \"u\" && \"ontouchstart\" in window && (i.ontouchstart = (e) => O(e, r)), i.onclick = (e) => j(e, r + 1), s.keyboardStep && (i.setAttribute(\"tabindex\", \"0\"), i.setAttribute(\"role\", \"separator\"), i.setAttribute(\"aria-orientation\", s.horizontal ? \"horizontal\" : \"vertical\"), i.onkeydown = (e) => N(e, r))), i.ondblclick = (e) => M(e, r + 1), t.parentNode.insertBefore(i, t);\n\t\t}, G = (e) => {\n\t\t\te.onmousedown = null, e.onclick = null, e.ondblclick = null, e.onkeydown = null, e.remove();\n\t\t}, K = () => {\n\t\t\tlet e = Array.from(S.value?.children || []);\n\t\t\tfor (let t of e) t.className.includes(\"splitpanes__splitter\") && G(t);\n\t\t\tlet t = 0;\n\t\t\tfor (let n of e) n.className.includes(\"splitpanes__pane\") && (!t && s.firstSplitter ? W(t, n, !0) : t && W(t, n), t++);\n\t\t}, q = ({ uid: e, ...t }) => {\n\t\t\tlet n = b.value[e];\n\t\t\tfor (let [e, r] of Object.entries(t)) n[e] = r;\n\t\t}, J = !1, Y = (e) => {\n\t\t\tlet t = -1;\n\t\t\tArray.from(S.value?.children || []).some((n) => (n.className.includes(\"splitpanes__pane\") && t++, n.isSameNode(e.el))), y.value.splice(t, 0, {\n\t\t\t\t...e,\n\t\t\t\tindex: t\n\t\t\t}), y.value.forEach((e, t) => e.index = t), C.value && !J && (J = !0, o(() => {\n\t\t\t\tK(), Z({ addedPane: y.value[t] }), $(\"pane-add\", { pane: y.value[t] }), J = !1;\n\t\t\t}));\n\t\t}, X = (e) => {\n\t\t\tlet t = y.value.findIndex((t) => t.id === e);\n\t\t\ty.value[t].el = null;\n\t\t\tlet n = y.value.splice(t, 1)[0];\n\t\t\ty.value.forEach((e, t) => e.index = t), o(() => {\n\t\t\t\tK(), $(\"pane-remove\", { pane: n }), Z({ removedPane: {\n\t\t\t\t\t...n,\n\t\t\t\t\tindex: t\n\t\t\t\t} });\n\t\t\t});\n\t\t}, Z = (e = {}) => {\n\t\t\t!e.addedPane && !e.removedPane ? re() : y.value.some((e) => e.givenSize !== null || e.min || e.max < 100) ? ie(e) : ne(), C.value && $(\"resized\");\n\t\t}, ne = () => {\n\t\t\tlet e = 100 / x.value, t = 100, n = [], r = [];\n\t\t\tfor (let i of y.value) i.size = Math.max(Math.min(e, i.max), i.min), t -= i.size, i.size >= i.max && n.push(i.id), i.size <= i.min && r.push(i.id);\n\t\t\tMath.abs(t) > .1 && Q(t, n, r);\n\t\t}, re = () => {\n\t\t\tlet e = 100, t = [], n = [], r = 0;\n\t\t\tfor (let i of y.value) e -= i.size, i.givenSize !== null && r++, i.size >= i.max && t.push(i.id), i.size <= i.min && n.push(i.id);\n\t\t\tlet i = 100;\n\t\t\tif (e > .1) {\n\t\t\t\tfor (let t of y.value) t.givenSize === null && (t.size = Math.max(Math.min(e / (x.value - r), t.max), t.min)), i -= t.size;\n\t\t\t\ti > .1 && Q(i, t, n);\n\t\t\t}\n\t\t}, ie = ({ addedPane: e, removedPane: t } = {}) => {\n\t\t\tlet n = y.value.reduce((e, t) => e + (t.givenSize === null ? 0 : t.givenSize), 0), r = y.value.filter((e) => e.givenSize === null).length, i = r > 0 ? (100 - n) / r : 0, a = 0, o = [], s = [];\n\t\t\tfor (let e of y.value) a -= e.size, e.size >= e.max && o.push(e.id), e.size <= e.min && s.push(e.id);\n\t\t\tif (!(Math.abs(a) < .1)) {\n\t\t\t\ta = 100;\n\t\t\t\tfor (let e of y.value) e.givenSize === null && (e.size = Math.max(Math.min(i, e.max), e.min)), a -= e.size, e.size >= e.max && o.push(e.id), e.size <= e.min && s.push(e.id);\n\t\t\t\tMath.abs(a) > .1 && Q(a, o, s);\n\t\t\t}\n\t\t}, Q = (e, t, n) => {\n\t\t\tlet r;\n\t\t\tr = e > 0 ? e / (x.value - t.length) : e / (x.value - n.length), y.value.forEach((i, a) => {\n\t\t\t\tif (e > 0 && !t.includes(i.id)) {\n\t\t\t\t\tlet t = Math.max(Math.min(i.size + r, i.max), i.min), n = t - i.size;\n\t\t\t\t\te -= n, i.size = t;\n\t\t\t\t} else if (!n.includes(i.id)) {\n\t\t\t\t\tlet t = Math.max(Math.min(i.size + r, i.max), i.min), n = t - i.size;\n\t\t\t\t\te -= n, i.size = t;\n\t\t\t\t}\n\t\t\t}), Math.abs(e) > .1 && C.value && console.warn(\"Splitpanes: Could not resize panes correctly due to their constraints.\");\n\t\t}, $ = (e, t = void 0, n = !1) => {\n\t\t\tlet r = t?.index ?? w.value.activeSplitter ?? null;\n\t\t\ta(e, {\n\t\t\t\t...t,\n\t\t\t\t...r !== null && { index: r },\n\t\t\t\t...n && r !== null && {\n\t\t\t\t\tprevPane: y.value[r - +!!s.firstSplitter],\n\t\t\t\t\tnextPane: y.value[r + +!s.firstSplitter]\n\t\t\t\t},\n\t\t\t\tpanes: y.value.map((e) => ({\n\t\t\t\t\tmin: e.min,\n\t\t\t\t\tmax: e.max,\n\t\t\t\t\tsize: e.size\n\t\t\t\t}))\n\t\t\t});\n\t\t};\n\t\tv(() => s.firstSplitter, () => K()), v(() => s.horizontal, (e) => o(() => {\n\t\t\ta(\"direction-changed\", {\n\t\t\t\thorizontal: e,\n\t\t\t\tpanes: y.value.map((e) => ({\n\t\t\t\t\tmin: e.min,\n\t\t\t\t\tmax: e.max,\n\t\t\t\t\tsize: e.size\n\t\t\t\t}))\n\t\t\t});\n\t\t})), l(() => {\n\t\t\tU(), K(), Z(), $(\"ready\"), C.value = !0;\n\t\t}), c(() => C.value = !1);\n\t\tlet ae = () => {\n\t\t\tlet { class: e, ...t } = p;\n\t\t\treturn i(\"div\", {\n\t\t\t\tref: S,\n\t\t\t\tclass: [E.value, e],\n\t\t\t\t...t\n\t\t\t}, h.default?.());\n\t\t};\n\t\treturn d(\"panes\", y), d(\"indexedPanes\", b), d(\"horizontal\", e(() => s.horizontal)), d(\"requestUpdate\", q), d(\"onPaneAdd\", Y), d(\"onPaneRemove\", X), d(\"onPaneClick\", P), (e, n) => (u(), t(m(ae)));\n\t}\n}), b = {\n\t__name: \"pane\",\n\tprops: {\n\t\tsize: { type: [Number, String] },\n\t\tminSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 0\n\t\t},\n\t\tmaxSize: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: 100\n\t\t}\n\t},\n\tsetup(t) {\n\t\tlet i = t, o = a(\"requestUpdate\"), d = a(\"onPaneAdd\"), m = a(\"horizontal\"), g = a(\"onPaneRemove\"), _ = a(\"onPaneClick\"), y = r()?.uid, b = a(\"indexedPanes\"), x = e(() => b.value[y]), S = f(null), C = e(() => {\n\t\t\tlet e = isNaN(i.size) || i.size === void 0 ? 0 : parseFloat(i.size);\n\t\t\treturn Math.max(Math.min(e, T.value), w.value);\n\t\t}), w = e(() => {\n\t\t\tlet e = parseFloat(i.minSize);\n\t\t\treturn isNaN(e) ? 0 : e;\n\t\t}), T = e(() => {\n\t\t\tlet e = parseFloat(i.maxSize);\n\t\t\treturn isNaN(e) ? 100 : e;\n\t\t}), E = e(() => {\n\t\t\tlet e = x.value?.size ?? (i.size === void 0 ? void 0 : C.value);\n\t\t\treturn e === void 0 ? \"\" : `${m.value ? \"height\" : \"width\"}: ${e}%`;\n\t\t});\n\t\treturn v(() => C.value, (e) => o({\n\t\t\tuid: y,\n\t\t\tsize: e\n\t\t})), v(() => w.value, (e) => o({\n\t\t\tuid: y,\n\t\t\tmin: e\n\t\t})), v(() => T.value, (e) => o({\n\t\t\tuid: y,\n\t\t\tmax: e\n\t\t})), l(() => {\n\t\t\td({\n\t\t\t\tid: y,\n\t\t\t\tel: S.value,\n\t\t\t\tmin: w.value,\n\t\t\t\tmax: T.value,\n\t\t\t\tgivenSize: i.size === void 0 ? null : C.value,\n\t\t\t\tsize: C.value\n\t\t\t});\n\t\t}), c(() => g(y)), (e, t) => (u(), n(\"div\", {\n\t\t\tref_key: \"paneEl\",\n\t\t\tref: S,\n\t\t\tclass: \"splitpanes__pane\",\n\t\t\tonClick: t[0] ||= (t) => h(_)(t, e._.uid),\n\t\t\tstyle: s(E.value)\n\t\t}, [p(e.$slots, \"default\")], 4));\n\t}\n};\n//#endregion\nexport { b as Pane, y as Splitpanes };\n","/*!\n* vue-router v5.2.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { _ as isRouteComponent, c as diagnostics, g as isESModule, h as isArray, p as assign, r as matchedRouteKey, u as createRouterError } from \"./useApi-CROJJdhE.js\";\nimport { getCurrentInstance, inject, onActivated, onDeactivated, onUnmounted, watch } from \"vue\";\nimport { setupDevtoolsPlugin } from \"@vue/devtools-api\";\n//#region src/utils/env.ts\nconst isBrowser = typeof document !== \"undefined\";\n//#endregion\n//#region src/encoding.ts\n/**\n* Encoding Rules (␣ = Space)\n* - Path: ␣ \" < > # ? { }\n* - Query: ␣ \" < > # & =\n* - Hash: ␣ \" < > `\n*\n* On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n* defines some extra characters to be encoded. Most browsers do not encode them\n* in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n* also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n* plus `-._~`. This extra safety should be applied to query by patching the\n* string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n* should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n* into a `/` if directly typed in. The _backtick_ (`````) should also be\n* encoded everywhere because some browsers like FF encode it when directly\n* written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n*/\nconst HASH_RE = /#/g;\nconst AMPERSAND_RE = /&/g;\nconst SLASH_RE = /\\//g;\nconst EQUAL_RE = /=/g;\nconst IM_RE = /\\?/g;\nconst PLUS_RE = /\\+/g;\n/**\n* NOTE: It's not clear to me if we should encode the + symbol in queries, it\n* seems to be less flexible than not doing so and I can't find out the legacy\n* systems requiring this for regular requests like text/html. In the standard,\n* the encoding of the plus character is only mentioned for\n* application/x-www-form-urlencoded\n* (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n* leave the plus character as is in queries. To be more flexible, we allow the\n* plus character on the query, but it can also be manually encoded by the user.\n*\n* Resources:\n* - https://url.spec.whatwg.org/#urlencoded-parsing\n* - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n*/\nconst ENC_BRACKET_OPEN_RE = /%5B/g;\nconst ENC_BRACKET_CLOSE_RE = /%5D/g;\nconst ENC_CARET_RE = /%5E/g;\nconst ENC_BACKTICK_RE = /%60/g;\nconst ENC_CURLY_OPEN_RE = /%7B/g;\nconst ENC_PIPE_RE = /%7C/g;\nconst ENC_CURLY_CLOSE_RE = /%7D/g;\nconst ENC_SPACE_RE = /%20/g;\n/**\n* Encode characters that need to be encoded on the path, search and hash\n* sections of the URL.\n*\n* @internal\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction commonEncode(text) {\n\treturn text == null ? \"\" : encodeURI(\"\" + text).replace(ENC_PIPE_RE, \"|\").replace(ENC_BRACKET_OPEN_RE, \"[\").replace(ENC_BRACKET_CLOSE_RE, \"]\");\n}\n/**\n* Encode characters that need to be encoded on the hash section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeHash(text) {\n\treturn commonEncode(text).replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Encode characters that need to be encoded query values on the query\n* section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeQueryValue(text) {\n\treturn commonEncode(text).replace(PLUS_RE, \"%2B\").replace(ENC_SPACE_RE, \"+\").replace(HASH_RE, \"%23\").replace(AMPERSAND_RE, \"%26\").replace(ENC_BACKTICK_RE, \"`\").replace(ENC_CURLY_OPEN_RE, \"{\").replace(ENC_CURLY_CLOSE_RE, \"}\").replace(ENC_CARET_RE, \"^\");\n}\n/**\n* Like `encodeQueryValue` but also encodes the `=` character.\n*\n* @param text - string to encode\n*/\nfunction encodeQueryKey(text) {\n\treturn encodeQueryValue(text).replace(EQUAL_RE, \"%3D\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodePath(text) {\n\treturn commonEncode(text).replace(HASH_RE, \"%23\").replace(IM_RE, \"%3F\");\n}\n/**\n* Encode characters that need to be encoded on the path section of the URL as a\n* param. This function encodes everything {@link encodePath} does plus the\n* slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n* string instead.\n*\n* @param text - string to encode\n* @returns encoded string\n*/\nfunction encodeParam(text) {\n\treturn encodePath(text).replace(SLASH_RE, \"%2F\");\n}\nfunction decode(text) {\n\tif (text == null) return null;\n\ttry {\n\t\treturn decodeURIComponent(\"\" + text);\n\t} catch {\n\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0080({ text: \"\" + text });\n\t}\n\treturn \"\" + text;\n}\n//#endregion\n//#region src/location.ts\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, \"\");\n/**\n* Transforms a URI into a normalized history location\n*\n* @param parseQuery\n* @param location - URI to normalize\n* @param currentLocation - current absolute location. Allows resolving relative\n* paths. Must start with `/`. Defaults to `/`\n* @returns a normalized history location\n*/\nfunction parseURL(parseQuery, location, currentLocation = \"/\") {\n\tlet path, query = {}, searchString = \"\", hash = \"\";\n\tconst hashPos = location.indexOf(\"#\");\n\tlet searchPos = location.indexOf(\"?\");\n\tsearchPos = hashPos >= 0 && searchPos > hashPos ? -1 : searchPos;\n\tif (searchPos >= 0) {\n\t\tpath = location.slice(0, searchPos);\n\t\tsearchString = location.slice(searchPos, hashPos > 0 ? hashPos : location.length);\n\t\tquery = parseQuery(searchString.slice(1));\n\t}\n\tif (hashPos >= 0) {\n\t\tpath = path || location.slice(0, hashPos);\n\t\thash = location.slice(hashPos, location.length);\n\t}\n\tpath = resolveRelativePath(path != null ? path : location, currentLocation);\n\treturn {\n\t\tfullPath: path + searchString + hash,\n\t\tpath,\n\t\tquery,\n\t\thash: decode(hash)\n\t};\n}\nfunction NEW_stringifyURL(stringifyQuery, path, query, hash = \"\") {\n\tconst searchText = stringifyQuery(query);\n\treturn path + (searchText && \"?\") + searchText + encodeHash(hash);\n}\n/**\n* Stringifies a URL object\n*\n* @param stringifyQuery\n* @param location\n*/\nfunction stringifyURL(stringifyQuery, location) {\n\tconst query = location.query ? stringifyQuery(location.query) : \"\";\n\treturn location.path + (query && \"?\") + query + (location.hash || \"\");\n}\n/**\n* Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n*\n* @param pathname - location.pathname\n* @param base - base to strip off\n*/\nfunction stripBase(pathname, base) {\n\tif (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;\n\treturn pathname.slice(base.length) || \"/\";\n}\n/**\n* Checks if two RouteLocation are equal. This means that both locations are\n* pointing towards the same {@link RouteRecord} and that all `params`, `query`\n* parameters and `hash` are the same\n*\n* @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n* @param a - first {@link RouteLocation}\n* @param b - second {@link RouteLocation}\n*/\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n\tconst aLastIndex = a.matched.length - 1;\n\tconst bLastIndex = b.matched.length - 1;\n\treturn aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery(a.query) === stringifyQuery(b.query) && a.hash === b.hash;\n}\n/**\n* Check if two `RouteRecords` are equal. Takes into account aliases: they are\n* considered equal to the `RouteRecord` they are aliasing.\n*\n* @param a - first {@link RouteRecord}\n* @param b - second {@link RouteRecord}\n*/\nfunction isSameRouteRecord(a, b) {\n\treturn (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n\tif (Object.keys(a).length !== Object.keys(b).length) return false;\n\tfor (var key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;\n\treturn true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n\treturn isArray(a) ? isEquivalentArray(a, b) : isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());\n}\n/**\n* Check if two arrays are the same or if an array with one single entry is the\n* same as another primitive value. Used to check query and parameters\n*\n* @param a - array of values\n* @param b - array of values or a single value\n*/\nfunction isEquivalentArray(a, b) {\n\treturn isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;\n}\n/**\n* Resolves a relative path that starts with `.`.\n*\n* @param to - path location we are resolving\n* @param from - currentLocation.path, should start with `/`\n*/\nfunction resolveRelativePath(to, from) {\n\tif (to.startsWith(\"/\")) return to;\n\tif (process.env.NODE_ENV !== \"production\" && !from.startsWith(\"/\")) {\n\t\tdiagnostics.VUE_ROUTER_R0070({\n\t\t\tto,\n\t\t\tfrom\n\t\t});\n\t\treturn to;\n\t}\n\tif (!to) return from;\n\tconst fromSegments = from.split(\"/\");\n\tconst toSegments = to.split(\"/\");\n\tconst lastToSegment = toSegments[toSegments.length - 1];\n\tif (lastToSegment === \"..\" || lastToSegment === \".\") toSegments.push(\"\");\n\tlet position = fromSegments.length - 1;\n\tlet toPosition;\n\tlet segment;\n\tfor (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n\t\tsegment = toSegments[toPosition];\n\t\tif (segment === \".\") continue;\n\t\tif (segment === \"..\") {\n\t\t\tif (position > 1) position--;\n\t\t} else break;\n\t}\n\treturn fromSegments.slice(0, position).join(\"/\") + \"/\" + toSegments.slice(toPosition).join(\"/\");\n}\n/**\n* Initial route location where the router is. Can be used in navigation guards\n* to differentiate the initial navigation.\n*\n* @example\n* ```js\n* import { START_LOCATION } from 'vue-router'\n*\n* router.beforeEach((to, from) => {\n* if (from === START_LOCATION) {\n* // initial navigation\n* }\n* })\n* ```\n*/\nconst START_LOCATION_NORMALIZED = {\n\tpath: \"/\",\n\tname: void 0,\n\tparams: {},\n\tquery: {},\n\thash: \"\",\n\tfullPath: \"/\",\n\tmatched: [],\n\tmeta: {},\n\tredirectedFrom: void 0\n};\n//#endregion\n//#region src/history/common.ts\n/**\n* Normalizes a base by removing any trailing slash and reading the base tag if\n* present.\n*\n* @param base - base to normalize\n*/\nfunction normalizeBase(base) {\n\tif (!base) if (isBrowser) {\n\t\tconst baseEl = document.querySelector(\"base\");\n\t\tbase = baseEl && baseEl.getAttribute(\"href\") || \"/\";\n\t\tbase = base.replace(/^\\w+:\\/\\/[^/]+/, \"\");\n\t} else base = \"/\";\n\tif (base[0] !== \"/\" && base[0] !== \"#\") base = \"/\" + base;\n\treturn removeTrailingSlash(base);\n}\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n\treturn base.replace(BEFORE_HASH_RE, \"#\") + location;\n}\n//#endregion\n//#region src/scrollBehavior.ts\nfunction getElementPosition(el, offset) {\n\tconst docRect = document.documentElement.getBoundingClientRect();\n\tconst elRect = el.getBoundingClientRect();\n\treturn {\n\t\tbehavior: offset.behavior,\n\t\tleft: elRect.left - docRect.left - (offset.left || 0),\n\t\ttop: elRect.top - docRect.top - (offset.top || 0)\n\t};\n}\nconst computeScrollPosition = () => ({\n\tleft: window.scrollX,\n\ttop: window.scrollY\n});\nfunction scrollToPosition(position) {\n\tlet scrollToOptions;\n\tif (\"el\" in position) {\n\t\tconst positionEl = position.el;\n\t\tconst isIdSelector = typeof positionEl === \"string\" && positionEl.startsWith(\"#\");\n\t\t/**\n\t\t* `id`s can accept pretty much any characters, including CSS combinators\n\t\t* like `>` or `~`. It's still possible to retrieve elements using\n\t\t* `document.getElementById('~')` but it needs to be escaped when using\n\t\t* `document.querySelector('#\\\\~')` for it to be valid. The only\n\t\t* requirements for `id`s are them to be unique on the page and to not be\n\t\t* empty (`id=\"\"`). Because of that, when passing an id selector, it should\n\t\t* be properly escaped for it to work with `querySelector`. We could check\n\t\t* for the id selector to be simple (no CSS combinators `+ >~`) but that\n\t\t* would make things inconsistent since they are valid characters for an\n\t\t* `id` but would need to be escaped when using `querySelector`, breaking\n\t\t* their usage and ending up in no selector returned. Selectors need to be\n\t\t* escaped:\n\t\t*\n\t\t* - `#1-thing` becomes `#\\31 -thing`\n\t\t* - `#with~symbols` becomes `#with\\\\~symbols`\n\t\t*\n\t\t* - More information about the topic can be found at\n\t\t* https://mathiasbynens.be/notes/html5-id-class.\n\t\t* - Practical example: https://mathiasbynens.be/demo/html5-id\n\t\t*/\n\t\tif (process.env.NODE_ENV !== \"production\" && typeof position.el === \"string\") {\n\t\t\tif (!isIdSelector || !document.getElementById(position.el.slice(1))) try {\n\t\t\t\tconst foundEl = document.querySelector(position.el);\n\t\t\t\tif (isIdSelector && foundEl) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0040({ el: position.el });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0041({ el: position.el });\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tconst el = typeof positionEl === \"string\" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;\n\t\tif (!el) {\n\t\t\tprocess.env.NODE_ENV !== \"production\" && diagnostics.VUE_ROUTER_R0042({ el: position.el });\n\t\t\treturn;\n\t\t}\n\t\tscrollToOptions = getElementPosition(el, position);\n\t} else scrollToOptions = position;\n\tif (\"scrollBehavior\" in document.documentElement.style) window.scrollTo(scrollToOptions);\n\telse window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n}\nfunction getScrollKey(path, delta) {\n\treturn (history.state ? history.state.position - delta : -1) + path;\n}\nconst scrollPositions = /* @__PURE__ */ new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n\tscrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n\tconst scroll = scrollPositions.get(key);\n\tscrollPositions.delete(key);\n\treturn scroll;\n}\n/**\n* ScrollBehavior instance used by the router to compute and restore the scroll\n* position when navigating.\n*/\n//#endregion\n//#region src/types/typeGuards.ts\nfunction isRouteLocation(route) {\n\treturn typeof route === \"string\" || route && typeof route === \"object\";\n}\nfunction isRouteName(name) {\n\treturn typeof name === \"string\" || typeof name === \"symbol\";\n}\n//#endregion\n//#region src/query.ts\n/**\n* Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n* version with the leading `?` and without Should work as URLSearchParams\n\n* @internal\n*\n* @param search - search string to parse\n* @returns a query object\n*/\nfunction parseQuery(search) {\n\tconst query = {};\n\tif (search === \"\" || search === \"?\") return query;\n\tconst searchParams = (search[0] === \"?\" ? search.slice(1) : search).split(\"&\");\n\tfor (let i = 0; i < searchParams.length; ++i) {\n\t\tconst searchParam = searchParams[i].replace(PLUS_RE, \" \");\n\t\tconst eqPos = searchParam.indexOf(\"=\");\n\t\tconst key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n\t\tconst value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n\t\tif (key in query) {\n\t\t\tlet currentValue = query[key];\n\t\t\tif (!isArray(currentValue)) currentValue = query[key] = [currentValue];\n\t\t\tcurrentValue.push(value);\n\t\t} else query[key] = value;\n\t}\n\treturn query;\n}\n/**\n* Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n* doesn't prepend a `?`\n*\n* @internal\n*\n* @param query - query object to stringify\n* @returns string version of the query without the leading `?`\n*/\nfunction stringifyQuery(query) {\n\tlet search = \"\";\n\tfor (let key in query) {\n\t\tconst value = query[key];\n\t\tkey = encodeQueryKey(key);\n\t\tif (value == null) {\n\t\t\tif (value !== void 0) search += (search.length ? \"&\" : \"\") + key;\n\t\t\tcontinue;\n\t\t}\n\t\t(isArray(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value) => {\n\t\t\tif (value !== void 0) {\n\t\t\t\tsearch += (search.length ? \"&\" : \"\") + key;\n\t\t\t\tif (value != null) search += \"=\" + value;\n\t\t\t}\n\t\t});\n\t}\n\treturn search;\n}\n/**\n* Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n* numbers into strings, removing keys with an undefined value and replacing\n* undefined with null in arrays\n*\n* @param query - query object to normalize\n* @returns a normalized query object\n*/\nfunction normalizeQuery(query) {\n\tconst normalizedQuery = {};\n\tfor (const key in query) {\n\t\tconst value = query[key];\n\t\tif (value !== void 0) normalizedQuery[key] = isArray(value) ? value.map((v) => v == null ? null : \"\" + v) : value == null ? value : \"\" + value;\n\t}\n\treturn normalizedQuery;\n}\n//#endregion\n//#region src/utils/callbacks.ts\n/**\n* Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n*/\nfunction useCallbacks() {\n\tlet handlers = [];\n\tfunction add(handler) {\n\t\thandlers.push(handler);\n\t\treturn () => {\n\t\t\tconst i = handlers.indexOf(handler);\n\t\t\tif (i > -1) handlers.splice(i, 1);\n\t\t};\n\t}\n\tfunction reset() {\n\t\thandlers = [];\n\t}\n\treturn {\n\t\tadd,\n\t\tlist: () => handlers.slice(),\n\t\treset\n\t};\n}\n//#endregion\n//#region src/navigationGuards.ts\nfunction registerGuard(activeRecordRef, name, guard) {\n\tconst record = activeRecordRef.value;\n\tif (!record) {\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tconst fnName = name === \"updateGuards\" ? \"onBeforeRouteUpdate\" : \"onBeforeRouteLeave\";\n\t\t\tdiagnostics.VUE_ROUTER_R0020({ fn: fnName });\n\t\t}\n\t\treturn;\n\t}\n\tlet currentRecord = record;\n\tconst removeFromList = () => {\n\t\tcurrentRecord[name].delete(guard);\n\t};\n\tonUnmounted(removeFromList);\n\tonDeactivated(removeFromList);\n\tonActivated(() => {\n\t\tconst newRecord = activeRecordRef.value;\n\t\tif (process.env.NODE_ENV !== \"production\" && !newRecord) diagnostics.VUE_ROUTER_R0021();\n\t\tif (newRecord) currentRecord = newRecord;\n\t\tcurrentRecord[name].add(guard);\n\t});\n\tcurrentRecord[name].add(guard);\n}\n/**\n* Add a navigation guard that triggers whenever the component for the current\n* location is about to be left. Similar to {@link beforeRouteLeave} but can be\n* used in any component. The guard is removed when the component is unmounted.\n*\n* @param leaveGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteLeave(leaveGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteLeave\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"leaveGuards\", leaveGuard);\n}\n/**\n* Add a navigation guard that triggers whenever the current location is about\n* to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n* component. The guard is removed when the component is unmounted.\n*\n* @param updateGuard - {@link NavigationGuard}\n*/\nfunction onBeforeRouteUpdate(updateGuard) {\n\tif (process.env.NODE_ENV !== \"production\" && !getCurrentInstance()) {\n\t\tdiagnostics.VUE_ROUTER_R0022({ fn: \"onBeforeRouteUpdate\" });\n\t\treturn;\n\t}\n\tregisterGuard(inject(matchedRouteKey, {}), \"updateGuards\", updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {\n\tconst enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n\treturn () => new Promise((resolve, reject) => {\n\t\tconst next = (valid) => {\n\t\t\tif (valid === false) reject(createRouterError(4, {\n\t\t\t\tfrom,\n\t\t\t\tto\n\t\t\t}));\n\t\t\telse if (valid instanceof Error) reject(valid);\n\t\t\telse if (isRouteLocation(valid)) reject(createRouterError(2, {\n\t\t\t\tfrom: to,\n\t\t\t\tto: valid\n\t\t\t}));\n\t\t\telse {\n\t\t\t\tif (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === \"function\") enterCallbackArray.push(valid);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\tconst guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, process.env.NODE_ENV !== \"production\" ? withDeprecationWarning(canOnlyBeCalledOnce(next, to, from)) : next));\n\t\tlet guardCall = Promise.resolve(guardReturn);\n\t\tif (guard.length < 3) guardCall = guardCall.then(next);\n\t\tif (process.env.NODE_ENV !== \"production\" && guard.length > 2) {\n\t\t\tconst guardInfo = {\n\t\t\t\tname: guard.name,\n\t\t\t\tguard: guard.toString()\n\t\t\t};\n\t\t\tif (typeof guardReturn === \"object\" && \"then\" in guardReturn) guardCall = guardCall.then((resolvedValue) => {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t}\n\t\t\t\treturn resolvedValue;\n\t\t\t});\n\t\t\telse if (guardReturn !== void 0) {\n\t\t\t\tif (!next._called) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0023(guardInfo);\n\t\t\t\t\treject(/* @__PURE__ */ new Error(\"Invalid navigation guard\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tguardCall.catch((err) => reject(err));\n\t});\n}\n/**\n* Wraps the next callback to warn when it is used. Dev-only: when __DEV__ is\n* false (production builds), this branch is dead code and is stripped from the\n* bundle.\n*\n* @internal\n*/\nfunction withDeprecationWarning(next) {\n\tlet warned = false;\n\treturn function() {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tdiagnostics.VUE_ROUTER_R0025();\n\t\t}\n\t\treturn next.apply(this, arguments);\n\t};\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n\tlet called = 0;\n\treturn function() {\n\t\tif (called++ === 1) diagnostics.VUE_ROUTER_R0024({\n\t\t\tfrom: from.fullPath,\n\t\t\tto: to.fullPath\n\t\t});\n\t\tnext._called = true;\n\t\tif (called === 1) next.apply(null, arguments);\n\t};\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {\n\tconst guards = [];\n\tfor (const record of matched) {\n\t\tif (process.env.NODE_ENV !== \"production\" && !record.components && record.children && !record.children.length) diagnostics.VUE_ROUTER_R0026({ path: record.path });\n\t\tfor (const name in record.components) {\n\t\t\tlet rawComponent = record.components[name];\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (!rawComponent || typeof rawComponent !== \"object\" && typeof rawComponent !== \"function\") {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0027({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path,\n\t\t\t\t\t\treceived: String(rawComponent)\n\t\t\t\t\t});\n\t\t\t\t\tthrow new Error(\"Invalid route component\");\n\t\t\t\t} else if (\"then\" in rawComponent) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0028({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tconst promise = rawComponent;\n\t\t\t\t\trawComponent = () => promise;\n\t\t\t\t} else if (rawComponent.__asyncLoader && !rawComponent.__warnedDefineAsync) {\n\t\t\t\t\trawComponent.__warnedDefineAsync = true;\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0029({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (guardType !== \"beforeRouteEnter\" && !record.instances[name]) continue;\n\t\t\tif (isRouteComponent(rawComponent)) {\n\t\t\t\tconst guard = (rawComponent.__vccOpts || rawComponent)[guardType];\n\t\t\t\tguard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n\t\t\t} else {\n\t\t\t\tlet componentPromise = rawComponent();\n\t\t\t\tif (process.env.NODE_ENV !== \"production\" && !(\"catch\" in componentPromise)) {\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0030({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tpath: record.path\n\t\t\t\t\t});\n\t\t\t\t\tcomponentPromise = Promise.resolve(componentPromise);\n\t\t\t\t}\n\t\t\t\tguards.push(() => componentPromise.then((resolved) => {\n\t\t\t\t\tif (!resolved) throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n\t\t\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\t\t\trecord.mods[name] = resolved;\n\t\t\t\t\trecord.components[name] = resolvedComponent;\n\t\t\t\t\tconst guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];\n\t\t\t\t\treturn guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n\treturn guards;\n}\n/**\n* Ensures a route is loaded, so it can be passed as o prop to ``.\n*\n* @param route - resolved route to load\n*/\nfunction loadRouteLocation(route) {\n\treturn route.matched.every((record) => record.redirect) ? Promise.reject(/* @__PURE__ */ new Error(\"Cannot load a route that redirects.\")) : Promise.all(route.matched.map((record) => record.components && Promise.all(Object.keys(record.components).reduce((promises, name) => {\n\t\tconst rawComponent = record.components[name];\n\t\tif (typeof rawComponent === \"function\" && !(\"displayName\" in rawComponent)) promises.push(rawComponent().then((resolved) => {\n\t\t\tif (!resolved) return Promise.reject(/* @__PURE__ */ new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n\t\t\tconst resolvedComponent = isESModule(resolved) ? resolved.default : resolved;\n\t\t\trecord.mods[name] = resolved;\n\t\t\trecord.components[name] = resolvedComponent;\n\t\t}));\n\t\treturn promises;\n\t}, [])))).then(() => route);\n}\n/**\n* Split the leaving, updating, and entering records.\n* @internal\n*\n* @param to - Location we are navigating to\n* @param from - Location we are navigating from\n*/\nfunction extractChangingRecords(to, from) {\n\tconst leavingRecords = [];\n\tconst updatingRecords = [];\n\tconst enteringRecords = [];\n\tconst len = Math.max(from.matched.length, to.matched.length);\n\tfor (let i = 0; i < len; i++) {\n\t\tconst recordFrom = from.matched[i];\n\t\tif (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);\n\t\telse leavingRecords.push(recordFrom);\n\t\tconst recordTo = to.matched[i];\n\t\tif (recordTo) {\n\t\t\tif (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);\n\t\t}\n\t}\n\treturn [\n\t\tleavingRecords,\n\t\tupdatingRecords,\n\t\tenteringRecords\n\t];\n}\n//#endregion\n//#region src/devtools.ts\n/**\n* Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n*\n* @param routeLocation - routeLocation to format\n* @param tooltip - optional tooltip\n* @returns a copy of the routeLocation\n*/\nfunction formatRouteLocation(routeLocation, tooltip) {\n\tconst copy = assign({}, routeLocation, { matched: routeLocation.matched.map((matched) => omit(matched, [\n\t\t\"instances\",\n\t\t\"children\",\n\t\t\"aliasOf\"\n\t])) });\n\treturn { _custom: {\n\t\ttype: null,\n\t\treadOnly: true,\n\t\tdisplay: routeLocation.fullPath,\n\t\ttooltip,\n\t\tvalue: copy\n\t} };\n}\nfunction formatDisplay(display) {\n\treturn { _custom: { display } };\n}\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n\tif (router.__hasDevtools) return;\n\trouter.__hasDevtools = true;\n\tconst id = routerId++;\n\tsetupDevtoolsPlugin({\n\t\tid: \"org.vuejs.router\" + (id ? \".\" + id : \"\"),\n\t\tlabel: \"Vue Router\",\n\t\tpackageName: \"vue-router\",\n\t\thomepage: \"https://router.vuejs.org\",\n\t\tlogo: \"https://router.vuejs.org/logo.png\",\n\t\tcomponentStateTypes: [\"Routing\"],\n\t\tapp\n\t}, (api) => {\n\t\tapi.on.inspectComponent((payload) => {\n\t\t\tif (payload.instanceData) payload.instanceData.state.push({\n\t\t\t\ttype: \"Routing\",\n\t\t\t\tkey: \"$route\",\n\t\t\t\teditable: false,\n\t\t\t\tvalue: formatRouteLocation(router.currentRoute.value, \"Current Route\")\n\t\t\t});\n\t\t});\n\t\tapi.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n\t\t\tif (componentInstance.__vrv_devtools) {\n\t\t\t\tconst info = componentInstance.__vrv_devtools;\n\t\t\t\tnode.tags.push({\n\t\t\t\t\tlabel: (info.name ? `${info.name.toString()}: ` : \"\") + info.path,\n\t\t\t\t\ttextColor: 0,\n\t\t\t\t\ttooltip: \"This component is rendered by <router-view>\",\n\t\t\t\t\tbackgroundColor: PINK_500\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (isArray(componentInstance.__vrl_devtools)) {\n\t\t\t\tcomponentInstance.__devtoolsApi = api;\n\t\t\t\tcomponentInstance.__vrl_devtools.forEach((devtoolsData) => {\n\t\t\t\t\tlet label = devtoolsData.route.path;\n\t\t\t\t\tlet backgroundColor = ORANGE_400;\n\t\t\t\t\tlet tooltip = \"\";\n\t\t\t\t\tlet textColor = 0;\n\t\t\t\t\tif (devtoolsData.error) {\n\t\t\t\t\t\tlabel = devtoolsData.error;\n\t\t\t\t\t\tbackgroundColor = RED_100;\n\t\t\t\t\t\ttextColor = RED_700;\n\t\t\t\t\t} else if (devtoolsData.isExactActive) {\n\t\t\t\t\t\tbackgroundColor = LIME_500;\n\t\t\t\t\t\ttooltip = \"This is exactly active\";\n\t\t\t\t\t} else if (devtoolsData.isActive) {\n\t\t\t\t\t\tbackgroundColor = BLUE_600;\n\t\t\t\t\t\ttooltip = \"This link is active\";\n\t\t\t\t\t}\n\t\t\t\t\tnode.tags.push({\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\ttooltip,\n\t\t\t\t\t\tbackgroundColor\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\twatch(router.currentRoute, () => {\n\t\t\trefreshRoutesView();\n\t\t\tapi.notifyComponentUpdate();\n\t\t\tapi.sendInspectorTree(routerInspectorId);\n\t\t\tapi.sendInspectorState(routerInspectorId);\n\t\t});\n\t\tconst navigationsLayerId = \"router:navigations:\" + id;\n\t\tapi.addTimelineLayer({\n\t\t\tid: navigationsLayerId,\n\t\t\tlabel: `Router${id ? \" \" + id : \"\"} Navigations`,\n\t\t\tcolor: 4237508\n\t\t});\n\t\trouter.onError((error, to) => {\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"Error during Navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tlogType: \"error\",\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata: { error },\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tlet navigationId = 0;\n\t\trouter.beforeEach((to, from) => {\n\t\t\tconst data = {\n\t\t\t\tguard: formatDisplay(\"beforeEach\"),\n\t\t\t\tfrom: formatRouteLocation(from, \"Current Location during this navigation\"),\n\t\t\t\tto: formatRouteLocation(to, \"Target location\")\n\t\t\t};\n\t\t\tObject.defineProperty(to.meta, \"__navigationId\", { value: navigationId++ });\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\ttitle: \"Start of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\tdata,\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\trouter.afterEach((to, from, failure) => {\n\t\t\tconst data = { guard: formatDisplay(\"afterEach\") };\n\t\t\tif (failure) {\n\t\t\t\tdata.failure = { _custom: {\n\t\t\t\t\ttype: Error,\n\t\t\t\t\treadOnly: true,\n\t\t\t\t\tdisplay: failure ? failure.message : \"\",\n\t\t\t\t\ttooltip: \"Navigation Failure\",\n\t\t\t\t\tvalue: failure\n\t\t\t\t} };\n\t\t\t\tdata.status = formatDisplay(\"❌\");\n\t\t\t} else data.status = formatDisplay(\"✅\");\n\t\t\tdata.from = formatRouteLocation(from, \"Current Location during this navigation\");\n\t\t\tdata.to = formatRouteLocation(to, \"Target location\");\n\t\t\tapi.addTimelineEvent({\n\t\t\t\tlayerId: navigationsLayerId,\n\t\t\t\tevent: {\n\t\t\t\t\ttitle: \"End of navigation\",\n\t\t\t\t\tsubtitle: to.fullPath,\n\t\t\t\t\ttime: api.now(),\n\t\t\t\t\tdata,\n\t\t\t\t\tlogType: failure ? \"warning\" : \"default\",\n\t\t\t\t\tgroupId: to.meta.__navigationId\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t/**\n\t\t* Inspector of Existing routes\n\t\t*/\n\t\tconst routerInspectorId = \"router-inspector:\" + id;\n\t\tapi.addInspector({\n\t\t\tid: routerInspectorId,\n\t\t\tlabel: \"Routes\" + (id ? \" \" + id : \"\"),\n\t\t\ticon: \"book\",\n\t\t\ttreeFilterPlaceholder: \"Search routes\"\n\t\t});\n\t\tfunction refreshRoutesView() {\n\t\t\tif (!activeRoutesPayload) return;\n\t\t\tconst payload = activeRoutesPayload;\n\t\t\tlet routes = matcher.getRoutes().filter((route) => !route.parent || !route.parent.record.components);\n\t\t\troutes.forEach(resetMatchStateOnRouteRecord);\n\t\t\tif (payload.filter) routes = routes.filter((route) => isRouteMatching(route, payload.filter.toLowerCase()));\n\t\t\troutes.forEach((route) => markRouteRecordActive(route, router.currentRoute.value));\n\t\t\tpayload.rootNodes = routes.map(formatRouteRecordForInspector);\n\t\t}\n\t\tlet activeRoutesPayload;\n\t\tapi.on.getInspectorTree((payload) => {\n\t\t\tactiveRoutesPayload = payload;\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) refreshRoutesView();\n\t\t});\n\t\t/**\n\t\t* Display information about the currently selected route record\n\t\t*/\n\t\tapi.on.getInspectorState((payload) => {\n\t\t\tif (payload.app === app && payload.inspectorId === routerInspectorId) {\n\t\t\t\tconst route = matcher.getRoutes().find((route) => route.record.__vd_id === payload.nodeId);\n\t\t\t\tif (route) payload.state = { options: formatRouteRecordMatcherForStateInspector(route) };\n\t\t\t}\n\t\t});\n\t\tapi.sendInspectorTree(routerInspectorId);\n\t\tapi.sendInspectorState(routerInspectorId);\n\t});\n}\nfunction modifierForKey(key) {\n\tif (key.optional) return key.repeatable ? \"*\" : \"?\";\n\telse return key.repeatable ? \"+\" : \"\";\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n\tconst { record } = route;\n\tconst fields = [{\n\t\teditable: false,\n\t\tkey: \"path\",\n\t\tvalue: record.path\n\t}];\n\tif (record.name != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"name\",\n\t\tvalue: record.name\n\t});\n\tfields.push({\n\t\teditable: false,\n\t\tkey: \"regexp\",\n\t\tvalue: route.re\n\t});\n\tif (route.keys.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"keys\",\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.keys.map((key) => `${key.name}${modifierForKey(key)}`).join(\" \"),\n\t\t\ttooltip: \"Param keys\",\n\t\t\tvalue: route.keys\n\t\t} }\n\t});\n\tif (record.redirect != null) fields.push({\n\t\teditable: false,\n\t\tkey: \"redirect\",\n\t\tvalue: record.redirect\n\t});\n\tif (route.alias.length) fields.push({\n\t\teditable: false,\n\t\tkey: \"aliases\",\n\t\tvalue: route.alias.map((alias) => alias.record.path)\n\t});\n\tif (Object.keys(route.record.meta).length) fields.push({\n\t\teditable: false,\n\t\tkey: \"meta\",\n\t\tvalue: route.record.meta\n\t});\n\tfields.push({\n\t\tkey: \"score\",\n\t\teditable: false,\n\t\tvalue: { _custom: {\n\t\t\ttype: null,\n\t\t\treadOnly: true,\n\t\t\tdisplay: route.score.map((score) => score.join(\", \")).join(\" | \"),\n\t\t\ttooltip: \"Score used to sort routes\",\n\t\t\tvalue: route.score\n\t\t} }\n\t});\n\treturn fields;\n}\n/**\n* Extracted from tailwind palette\n*/\nconst PINK_500 = 15485081;\nconst BLUE_600 = 2450411;\nconst LIME_500 = 8702998;\nconst CYAN_400 = 2282478;\nconst ORANGE_400 = 16486972;\nconst DARK = 6710886;\nconst RED_100 = 16704226;\nconst RED_700 = 12131356;\nfunction formatRouteRecordForInspector(route) {\n\tconst tags = [];\n\tconst { record } = route;\n\tif (record.name != null) tags.push({\n\t\tlabel: String(record.name),\n\t\ttextColor: 0,\n\t\tbackgroundColor: CYAN_400\n\t});\n\tif (record.aliasOf) tags.push({\n\t\tlabel: \"alias\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: ORANGE_400\n\t});\n\tif (route.__vd_match) tags.push({\n\t\tlabel: \"matches\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: PINK_500\n\t});\n\tif (route.__vd_exactActive) tags.push({\n\t\tlabel: \"exact\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: LIME_500\n\t});\n\tif (route.__vd_active) tags.push({\n\t\tlabel: \"active\",\n\t\ttextColor: 0,\n\t\tbackgroundColor: BLUE_600\n\t});\n\tif (record.redirect) tags.push({\n\t\tlabel: typeof record.redirect === \"string\" ? `redirect: ${record.redirect}` : \"redirects\",\n\t\ttextColor: 16777215,\n\t\tbackgroundColor: DARK\n\t});\n\tlet id = record.__vd_id;\n\tif (id == null) {\n\t\tid = String(routeRecordId++);\n\t\trecord.__vd_id = id;\n\t}\n\treturn {\n\t\tid,\n\t\tlabel: record.path,\n\t\ttags,\n\t\tchildren: route.children.map(formatRouteRecordForInspector)\n\t};\n}\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n\tconst isExactActive = currentRoute.matched.length && isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n\troute.__vd_exactActive = route.__vd_active = isExactActive;\n\tif (!isExactActive) route.__vd_active = currentRoute.matched.some((match) => isSameRouteRecord(match, route.record));\n\troute.children.forEach((childRoute) => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n\troute.__vd_match = false;\n\troute.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n\tconst found = String(route.re).match(EXTRACT_REGEXP_RE);\n\troute.__vd_match = false;\n\tif (!found || found.length < 3) return false;\n\tif (new RegExp(found[1].replace(/\\$$/, \"\"), found[2]).test(filter)) {\n\t\troute.children.forEach((child) => isRouteMatching(child, filter));\n\t\tif (route.record.path !== \"/\" || filter === \"/\") {\n\t\t\troute.__vd_match = route.re.test(filter);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tconst path = route.record.path.toLowerCase();\n\tconst decodedPath = decode(path);\n\tif (!filter.startsWith(\"/\") && (decodedPath.includes(filter) || path.includes(filter))) return true;\n\tif (decodedPath.startsWith(filter) || path.startsWith(filter)) return true;\n\tif (route.record.name && String(route.record.name).includes(filter)) return true;\n\treturn route.children.some((child) => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n\tconst ret = {};\n\tfor (const key in obj) if (!keys.includes(key)) ret[key] = obj[key];\n\treturn ret;\n}\n//#endregion\nexport { PLUS_RE as A, isSameRouteLocation as C, resolveRelativePath as D, parseURL as E, isBrowser as F, encodeHash as M, encodeParam as N, stringifyURL as O, encodePath as P, START_LOCATION_NORMALIZED as S, isSameRouteRecord as T, saveScrollPosition as _, loadRouteLocation as a, normalizeBase as b, useCallbacks as c, stringifyQuery as d, isRouteLocation as f, getScrollKey as g, getSavedScrollPosition as h, guardToPromiseFn as i, decode as j, stripBase as k, normalizeQuery as l, computeScrollPosition as m, extractChangingRecords as n, onBeforeRouteLeave as o, isRouteName as p, extractComponentsGuards as r, onBeforeRouteUpdate as s, addDevtools as t, parseQuery as u, scrollToPosition as v, isSameRouteLocationParams as w, NEW_stringifyURL as x, createHref as y };\n","/*!\n* vue-router v5.2.0\n* (c) 2026 Eduardo San Martin Morote\n* @license MIT\n*/\nimport { C as isSameRouteLocation, E as parseURL, F as isBrowser, M as encodeHash, N as encodeParam, O as stringifyURL, S as START_LOCATION_NORMALIZED, T as isSameRouteRecord, _ as saveScrollPosition, a as loadRouteLocation, b as normalizeBase, c as useCallbacks, d as stringifyQuery, f as isRouteLocation, g as getScrollKey, h as getSavedScrollPosition, i as guardToPromiseFn, j as decode, k as stripBase, l as normalizeQuery, m as computeScrollPosition, n as extractChangingRecords, o as onBeforeRouteLeave, p as isRouteName, r as extractComponentsGuards, s as onBeforeRouteUpdate, t as addDevtools, u as parseQuery, v as scrollToPosition, w as isSameRouteLocationParams, y as createHref } from \"./devtools-Bpr7ZAVB.js\";\nimport { a as routerKey, c as diagnostics, d as isNavigationFailure, f as applyToParams, h as isArray, i as routeLocationKey, l as NavigationFailureType, n as useRouter, o as routerViewLocationKey, p as assign, r as matchedRouteKey, s as viewDepthKey, t as useRoute, u as createRouterError, v as mergeOptions, y as noop } from \"./useApi-CROJJdhE.js\";\nimport { computed, defineComponent, getCurrentInstance, h, inject, nextTick, provide, reactive, ref, shallowReactive, shallowRef, unref, watch, watchEffect } from \"vue\";\n//#region src/history/html5.ts\nlet createBaseLocation = () => location.protocol + \"//\" + location.host;\n/**\n* Creates a normalized history location from a window.location object\n* @param base - The base path\n* @param location - The window.location object\n*/\nfunction createCurrentLocation(base, location) {\n\tconst { pathname, search, hash } = location;\n\tconst hashPos = base.indexOf(\"#\");\n\tif (hashPos > -1) {\n\t\tlet slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n\t\tlet pathFromHash = hash.slice(slicePos);\n\t\tif (pathFromHash[0] !== \"/\") pathFromHash = \"/\" + pathFromHash;\n\t\treturn stripBase(pathFromHash, \"\");\n\t}\n\treturn stripBase(pathname, base) + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n\tlet listeners = [];\n\tlet teardowns = [];\n\tlet pauseState = null;\n\tconst popStateHandler = ({ state }) => {\n\t\tconst to = createCurrentLocation(base, location);\n\t\tconst from = currentLocation.value;\n\t\tconst fromState = historyState.value;\n\t\tlet delta = 0;\n\t\tif (state) {\n\t\t\tcurrentLocation.value = to;\n\t\t\thistoryState.value = state;\n\t\t\tif (pauseState && pauseState === from) {\n\t\t\t\tpauseState = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdelta = fromState ? state.position - fromState.position : 0;\n\t\t} else replace(to);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener(currentLocation.value, from, {\n\t\t\t\tdelta,\n\t\t\t\ttype: \"pop\",\n\t\t\t\tdirection: delta ? delta > 0 ? \"forward\" : \"back\" : \"\"\n\t\t\t});\n\t\t});\n\t};\n\tfunction pauseListeners() {\n\t\tpauseState = currentLocation.value;\n\t}\n\tfunction listen(callback) {\n\t\tlisteners.push(callback);\n\t\tconst teardown = () => {\n\t\t\tconst index = listeners.indexOf(callback);\n\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t};\n\t\tteardowns.push(teardown);\n\t\treturn teardown;\n\t}\n\tfunction beforeUnloadListener() {\n\t\tif (document.visibilityState === \"hidden\") {\n\t\t\tconst { history } = window;\n\t\t\tif (!history.state) return;\n\t\t\thistory.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), \"\");\n\t\t}\n\t}\n\tfunction destroy() {\n\t\tfor (const teardown of teardowns) teardown();\n\t\tteardowns = [];\n\t\twindow.removeEventListener(\"popstate\", popStateHandler);\n\t\twindow.removeEventListener(\"pagehide\", beforeUnloadListener);\n\t\tdocument.removeEventListener(\"visibilitychange\", beforeUnloadListener);\n\t}\n\twindow.addEventListener(\"popstate\", popStateHandler);\n\twindow.addEventListener(\"pagehide\", beforeUnloadListener);\n\tdocument.addEventListener(\"visibilitychange\", beforeUnloadListener);\n\treturn {\n\t\tpauseListeners,\n\t\tlisten,\n\t\tdestroy\n\t};\n}\n/**\n* Creates a state object\n*/\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n\treturn {\n\t\tback,\n\t\tcurrent,\n\t\tforward,\n\t\treplaced,\n\t\tposition: window.history.length,\n\t\tscroll: computeScroll ? computeScrollPosition() : null\n\t};\n}\nfunction useHistoryStateNavigation(base) {\n\tconst { history, location } = window;\n\tconst currentLocation = { value: createCurrentLocation(base, location) };\n\tconst historyState = { value: history.state };\n\tif (!historyState.value) changeLocation(currentLocation.value, {\n\t\tback: null,\n\t\tcurrent: currentLocation.value,\n\t\tforward: null,\n\t\tposition: history.length - 1,\n\t\treplaced: true,\n\t\tscroll: null\n\t}, true);\n\tfunction changeLocation(to, state, replace) {\n\t\t/**\n\t\t* if a base tag is provided, and we are on a normal domain, we have to\n\t\t* respect the provided `base` attribute because pushState() will use it and\n\t\t* potentially erase anything before the `#` like at\n\t\t* https://github.com/vuejs/router/issues/685 where a base of\n\t\t* `/folder/#` but a base of `/` would erase the `/folder/` section. If\n\t\t* there is no host, the `` tag makes no sense and if there isn't a\n\t\t* base tag we can just use everything after the `#`.\n\t\t*/\n\t\tconst hashIndex = base.indexOf(\"#\");\n\t\tconst url = hashIndex > -1 ? (location.host && document.querySelector(\"base\") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;\n\t\ttry {\n\t\t\thistory[replace ? \"replaceState\" : \"pushState\"](state, \"\", url);\n\t\t\thistoryState.value = state;\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0120({ cause: err });\n\t\t\telse console.error(err);\n\t\t\tlocation[replace ? \"replace\" : \"assign\"](url);\n\t\t}\n\t}\n\tfunction replace(to, data) {\n\t\tchangeLocation(to, assign({}, history.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true);\n\t\tcurrentLocation.value = to;\n\t}\n\tfunction push(to, data) {\n\t\tconst currentState = assign({}, historyState.value, history.state, {\n\t\t\tforward: to,\n\t\t\tscroll: computeScrollPosition()\n\t\t});\n\t\tif (process.env.NODE_ENV !== \"production\" && !history.state) diagnostics.VUE_ROUTER_R0121();\n\t\tchangeLocation(currentState.current, currentState, true);\n\t\tchangeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);\n\t\tcurrentLocation.value = to;\n\t}\n\treturn {\n\t\tlocation: currentLocation,\n\t\tstate: historyState,\n\t\tpush,\n\t\treplace\n\t};\n}\n/**\n* Creates an HTML5 history. Most common history for single page applications.\n*\n* @param base -\n*/\nfunction createWebHistory(base) {\n\tbase = normalizeBase(base);\n\tconst historyNavigation = useHistoryStateNavigation(base);\n\tconst historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n\tfunction go(delta, triggerListeners = true) {\n\t\tif (!triggerListeners) historyListeners.pauseListeners();\n\t\thistory.go(delta);\n\t}\n\tconst routerHistory = assign({\n\t\tlocation: \"\",\n\t\tbase,\n\t\tgo,\n\t\tcreateHref: createHref.bind(null, base)\n\t}, historyNavigation, historyListeners);\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.location.value\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => historyNavigation.state.value\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/history/hash.ts\n/**\n* Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n* handle any URL is not possible.\n*\n* @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n* in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n* calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n* after the `#`).\n*\n* @example\n* ```js\n* // at https://example.com/folder\n* createWebHashHistory() // gives a url of `https://example.com/folder#`\n* createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n* // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n* createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n* // you should avoid doing this because it changes the original url and breaks copying urls\n* createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n*\n* // at file:///usr/etc/folder/index.html\n* // for locations with no `host`, the base is ignored\n* createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n* ```\n*/\nfunction createWebHashHistory(base) {\n\tbase = location.host ? base || location.pathname + location.search : \"\";\n\tif (!base.includes(\"#\")) base += \"#\";\n\tif (process.env.NODE_ENV !== \"production\" && !base.endsWith(\"#/\") && !base.endsWith(\"#\")) diagnostics.VUE_ROUTER_R0110({\n\t\tbase,\n\t\tsuggestion: base.replace(/#.*$/, \"#\")\n\t});\n\treturn createWebHistory(base);\n}\n//#endregion\n//#region src/history/memory.ts\n/**\n* Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n* It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n*\n* @param base - Base applied to all urls, defaults to '/'\n* @returns a history object that can be passed to the router constructor\n*/\nfunction createMemoryHistory(base = \"\") {\n\tlet listeners = [];\n\tlet queue = [[\"\", {}]];\n\tlet position = 0;\n\tbase = normalizeBase(base);\n\tfunction setLocation(location, state = {}) {\n\t\tposition++;\n\t\tif (position !== queue.length) queue.splice(position);\n\t\tqueue.push([location, state]);\n\t}\n\tfunction triggerListeners(to, from, { direction, delta }) {\n\t\tconst info = {\n\t\t\tdirection,\n\t\t\tdelta,\n\t\t\ttype: \"pop\"\n\t\t};\n\t\tfor (const callback of listeners) callback(to, from, info);\n\t}\n\tconst routerHistory = {\n\t\tlocation: \"\",\n\t\tstate: {},\n\t\tbase,\n\t\tcreateHref: createHref.bind(null, base),\n\t\treplace(to, state) {\n\t\t\tqueue.splice(position--, 1);\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tpush(to, state) {\n\t\t\tsetLocation(to, state);\n\t\t},\n\t\tlisten(callback) {\n\t\t\tlisteners.push(callback);\n\t\t\treturn () => {\n\t\t\t\tconst index = listeners.indexOf(callback);\n\t\t\t\tif (index > -1) listeners.splice(index, 1);\n\t\t\t};\n\t\t},\n\t\tdestroy() {\n\t\t\tlisteners = [];\n\t\t\tqueue = [[\"\", {}]];\n\t\t\tposition = 0;\n\t\t},\n\t\tgo(delta, shouldTrigger = true) {\n\t\t\tconst from = this.location;\n\t\t\tconst direction = delta < 0 ? \"back\" : \"forward\";\n\t\t\tposition = Math.max(0, Math.min(position + delta, queue.length - 1));\n\t\t\tif (shouldTrigger) triggerListeners(this.location, from, {\n\t\t\t\tdirection,\n\t\t\t\tdelta\n\t\t\t});\n\t\t}\n\t};\n\tObject.defineProperty(routerHistory, \"location\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][0]\n\t});\n\tObject.defineProperty(routerHistory, \"state\", {\n\t\tenumerable: true,\n\t\tget: () => queue[position][1]\n\t});\n\treturn routerHistory;\n}\n//#endregion\n//#region src/matcher/pathTokenizer.ts\nconst ROOT_TOKEN = {\n\ttype: 0,\n\tvalue: \"\"\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\nfunction tokenizePath(path) {\n\tif (!path) return [[]];\n\tif (path === \"/\") return [[ROOT_TOKEN]];\n\tif (!path.startsWith(\"/\")) throw new Error(process.env.NODE_ENV !== \"production\" ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".` : `Invalid path \"${path}\"`);\n\tfunction crash(message) {\n\t\tthrow new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n\t}\n\tlet state = 0;\n\tlet previousState = state;\n\tconst tokens = [];\n\tlet segment;\n\tfunction finalizeSegment() {\n\t\tif (segment) tokens.push(segment);\n\t\tsegment = [];\n\t}\n\tlet i = 0;\n\tlet char;\n\tlet buffer = \"\";\n\tlet customRe = \"\";\n\tfunction consumeBuffer() {\n\t\tif (!buffer) return;\n\t\tif (state === 0) segment.push({\n\t\t\ttype: 0,\n\t\t\tvalue: buffer\n\t\t});\n\t\telse if (state === 1 || state === 2 || state === 3) {\n\t\t\tif (segment.length > 1 && (char === \"*\" || char === \"+\")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n\t\t\tsegment.push({\n\t\t\t\ttype: 1,\n\t\t\t\tvalue: buffer,\n\t\t\t\tregexp: customRe,\n\t\t\t\trepeatable: char === \"*\" || char === \"+\",\n\t\t\t\toptional: char === \"*\" || char === \"?\"\n\t\t\t});\n\t\t} else crash(\"Invalid state to consume buffer\");\n\t\tbuffer = \"\";\n\t}\n\tfunction addCharToBuffer() {\n\t\tbuffer += char;\n\t}\n\twhile (i < path.length) {\n\t\tchar = path[i++];\n\t\tswitch (state) {\n\t\t\tcase 0:\n\t\t\t\tif (char === \"\\\\\") {\n\t\t\t\t\tpreviousState = state;\n\t\t\t\t\tstate = 4;\n\t\t\t\t} else if (char === \"/\") {\n\t\t\t\t\tif (buffer) consumeBuffer();\n\t\t\t\t\tfinalizeSegment();\n\t\t\t\t} else if (char === \":\") {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 1;\n\t\t\t\t} else addCharToBuffer();\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\taddCharToBuffer();\n\t\t\t\tstate = previousState;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (char === \"(\") state = 2;\n\t\t\t\telse if (VALID_PARAM_RE.test(char)) addCharToBuffer();\n\t\t\t\telse {\n\t\t\t\t\tconsumeBuffer();\n\t\t\t\t\tstate = 0;\n\t\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tif (char === \")\") if (customRe[customRe.length - 1] == \"\\\\\") customRe = customRe.slice(0, -1) + char;\n\t\t\t\telse state = 3;\n\t\t\t\telse customRe += char;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tconsumeBuffer();\n\t\t\t\tstate = 0;\n\t\t\t\tif (char !== \"*\" && char !== \"?\" && char !== \"+\") i--;\n\t\t\t\tcustomRe = \"\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcrash(\"Unknown state\");\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif (state === 2) crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n\tconsumeBuffer();\n\tfinalizeSegment();\n\treturn tokens;\n}\n//#endregion\n//#region src/matcher/pathParserRanker.ts\nconst BASE_PARAM_PATTERN = \"[^/]+?\";\nconst BASE_PATH_PARSER_OPTIONS = {\n\tsensitive: false,\n\tstrict: false,\n\tstart: true,\n\tend: true\n};\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n* Creates a path parser from an array of Segments (a segment is an array of Tokens)\n*\n* @param segments - array of segments returned by tokenizePath\n* @param extraOptions - optional options for the regexp\n* @returns a PathParser\n*/\nfunction tokensToParser(segments, extraOptions) {\n\tconst options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n\tconst score = [];\n\tlet pattern = options.start ? \"^\" : \"\";\n\tconst keys = [];\n\tfor (const segment of segments) {\n\t\tconst segmentScores = segment.length ? [] : [90];\n\t\tif (options.strict && !segment.length) pattern += \"/\";\n\t\tfor (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n\t\t\tconst token = segment[tokenIndex];\n\t\t\tlet subSegmentScore = 40 + (options.sensitive ? .25 : 0);\n\t\t\tif (token.type === 0) {\n\t\t\t\tif (!tokenIndex) pattern += \"/\";\n\t\t\t\tpattern += token.value.replace(REGEX_CHARS_RE, \"\\\\$&\");\n\t\t\t\tsubSegmentScore += 40;\n\t\t\t} else if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional, regexp } = token;\n\t\t\t\tkeys.push({\n\t\t\t\t\tname: value,\n\t\t\t\t\trepeatable,\n\t\t\t\t\toptional\n\t\t\t\t});\n\t\t\t\tconst re = regexp ? regexp : BASE_PARAM_PATTERN;\n\t\t\t\tif (re !== BASE_PARAM_PATTERN) {\n\t\t\t\t\tsubSegmentScore += 10;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tnew RegExp(`(${re})`);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tthrow new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` + err.message);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n\t\t\t\tif (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : \"/\" + subPattern;\n\t\t\t\tif (optional) subPattern += \"?\";\n\t\t\t\tpattern += subPattern;\n\t\t\t\tsubSegmentScore += 20;\n\t\t\t\tif (optional) subSegmentScore += -8;\n\t\t\t\tif (repeatable) subSegmentScore += -20;\n\t\t\t\tif (re === \".*\") subSegmentScore += -50;\n\t\t\t}\n\t\t\tsegmentScores.push(subSegmentScore);\n\t\t}\n\t\tscore.push(segmentScores);\n\t}\n\tif (options.strict && options.end) {\n\t\tconst i = score.length - 1;\n\t\tscore[i][score[i].length - 1] += .7000000000000001;\n\t}\n\tif (!options.strict) pattern += \"/?\";\n\tif (options.end) pattern += \"$\";\n\telse if (options.strict && !pattern.endsWith(\"/\")) pattern += \"(?:/|$)\";\n\tconst re = new RegExp(pattern, options.sensitive ? \"\" : \"i\");\n\tfunction parse(path) {\n\t\tconst match = path.match(re);\n\t\tconst params = {};\n\t\tif (!match) return null;\n\t\tfor (let i = 1; i < match.length; i++) {\n\t\t\tconst value = match[i] || \"\";\n\t\t\tconst key = keys[i - 1];\n\t\t\tparams[key.name] = value && key.repeatable ? value.split(\"/\") : value;\n\t\t}\n\t\treturn params;\n\t}\n\tfunction stringify(params) {\n\t\tlet path = \"\";\n\t\tlet avoidDuplicatedSlash = false;\n\t\tfor (const segment of segments) {\n\t\t\tif (!avoidDuplicatedSlash || !path.endsWith(\"/\")) path += \"/\";\n\t\t\tavoidDuplicatedSlash = false;\n\t\t\tfor (const token of segment) if (token.type === 0) path += token.value;\n\t\t\telse if (token.type === 1) {\n\t\t\t\tconst { value, repeatable, optional } = token;\n\t\t\t\tconst param = value in params ? params[value] : \"\";\n\t\t\t\tif (isArray(param) && !repeatable) throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n\t\t\t\tconst text = isArray(param) ? param.join(\"/\") : param;\n\t\t\t\tif (!text) if (optional) {\n\t\t\t\t\tif (segment.length < 2) if (path.endsWith(\"/\")) path = path.slice(0, -1);\n\t\t\t\t\telse avoidDuplicatedSlash = true;\n\t\t\t\t} else throw new Error(`Missing required param \"${value}\"`);\n\t\t\t\tpath += text;\n\t\t\t}\n\t\t}\n\t\treturn path || \"/\";\n\t}\n\treturn {\n\t\tre,\n\t\tscore,\n\t\tkeys,\n\t\tparse,\n\t\tstringify\n\t};\n}\n/**\n* Compares an array of numbers as used in PathParser.score and returns a\n* number. This function can be used to `sort` an array\n*\n* @param a - first array of numbers\n* @param b - second array of numbers\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n* should be sorted first\n*/\nfunction compareScoreArray(a, b) {\n\tlet i = 0;\n\twhile (i < a.length && i < b.length) {\n\t\tconst diff = b[i] - a[i];\n\t\tif (diff) return diff;\n\t\ti++;\n\t}\n\tif (a.length < b.length) return a.length === 1 && a[0] === 80 ? -1 : 1;\n\telse if (a.length > b.length) return b.length === 1 && b[0] === 80 ? 1 : -1;\n\treturn 0;\n}\n/**\n* Compare function that can be used with `sort` to sort an array of PathParser\n*\n* @param a - first PathParser\n* @param b - second PathParser\n* @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n*/\nfunction comparePathParserScore(a, b) {\n\tlet i = 0;\n\tconst aScore = a.score;\n\tconst bScore = b.score;\n\twhile (i < aScore.length && i < bScore.length) {\n\t\tconst comp = compareScoreArray(aScore[i], bScore[i]);\n\t\tif (comp) return comp;\n\t\ti++;\n\t}\n\tif (Math.abs(bScore.length - aScore.length) === 1) {\n\t\tif (isLastScoreNegative(aScore)) return 1;\n\t\tif (isLastScoreNegative(bScore)) return -1;\n\t}\n\treturn bScore.length - aScore.length;\n}\n/**\n* This allows detecting splats at the end of a path: /home/:id(.*)*\n*\n* @param score - score to check\n* @returns true if the last entry is negative\n*/\nfunction isLastScoreNegative(score) {\n\tconst last = score[score.length - 1];\n\treturn score.length > 0 && last[last.length - 1] < 0;\n}\nconst PATH_PARSER_OPTIONS_DEFAULTS = {\n\tstrict: false,\n\tend: true,\n\tsensitive: false\n};\n//#endregion\n//#region src/matcher/pathMatcher.ts\nfunction createRouteRecordMatcher(record, parent, options) {\n\tconst parser = tokensToParser(tokenizePath(record.path), options);\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst existingKeys = /* @__PURE__ */ new Set();\n\t\tfor (const key of parser.keys) {\n\t\t\tif (existingKeys.has(key.name)) diagnostics.VUE_ROUTER_R0090({\n\t\t\t\tname: key.name,\n\t\t\t\tpath: record.path\n\t\t\t});\n\t\t\texistingKeys.add(key.name);\n\t\t}\n\t}\n\tconst matcher = assign(parser, {\n\t\trecord,\n\t\tparent,\n\t\tchildren: [],\n\t\talias: []\n\t});\n\tif (parent) {\n\t\tif (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);\n\t}\n\treturn matcher;\n}\n//#endregion\n//#region src/matcher/index.ts\n/**\n* Creates a Router Matcher.\n*\n* @internal\n* @param routes - array of initial routes\n* @param globalOptions - global route options\n*/\nfunction createRouterMatcher(routes, globalOptions) {\n\tconst matchers = [];\n\tconst matcherMap = /* @__PURE__ */ new Map();\n\tglobalOptions = mergeOptions(PATH_PARSER_OPTIONS_DEFAULTS, globalOptions);\n\tfunction getRecordMatcher(name) {\n\t\treturn matcherMap.get(name);\n\t}\n\tfunction addRoute(record, parent, originalRecord) {\n\t\tconst isRootAdd = !originalRecord;\n\t\tconst mainNormalizedRecord = normalizeRouteRecord(record);\n\t\tif (process.env.NODE_ENV !== \"production\") checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n\t\tmainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n\t\tconst options = mergeOptions(globalOptions, record);\n\t\tconst normalizedRecords = [mainNormalizedRecord];\n\t\tif (\"alias\" in record) {\n\t\t\tconst aliases = typeof record.alias === \"string\" ? [record.alias] : record.alias;\n\t\t\tfor (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n\t\t\t\tcomponents: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,\n\t\t\t\tpath: alias,\n\t\t\t\taliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord\n\t\t\t})));\n\t\t}\n\t\tlet matcher;\n\t\tlet originalMatcher;\n\t\tfor (const normalizedRecord of normalizedRecords) {\n\t\t\tconst { path } = normalizedRecord;\n\t\t\tif (parent && path[0] !== \"/\") {\n\t\t\t\tconst parentPath = parent.record.path;\n\t\t\t\tconst connectingSlash = parentPath[parentPath.length - 1] === \"/\" ? \"\" : \"/\";\n\t\t\t\tnormalizedRecord.path = parent.record.path + (path && connectingSlash + path);\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && normalizedRecord.path === \"*\") throw new Error(\"Catch all routes (\\\"*\\\") must now be defined using a param with a custom regexp.\\nSee more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.\");\n\t\t\tmatcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && parent && path[0] === \"/\") checkMissingParamsInAbsolutePath(matcher, parent);\n\t\t\tif (originalRecord) {\n\t\t\t\toriginalRecord.alias.push(matcher);\n\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameParams(originalRecord, matcher);\n\t\t\t} else {\n\t\t\t\toriginalMatcher = originalMatcher || matcher;\n\t\t\t\tif (originalMatcher !== matcher) originalMatcher.alias.push(matcher);\n\t\t\t\tif (isRootAdd && record.name && !isAliasRecord(matcher)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") checkSameNameAsAncestor(record, parent);\n\t\t\t\t\tremoveRoute(record.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isMatchable(matcher)) insertMatcher(matcher);\n\t\t\tif (mainNormalizedRecord.children) {\n\t\t\t\tconst children = mainNormalizedRecord.children;\n\t\t\t\tfor (let i = 0; i < children.length; i++) addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n\t\t\t}\n\t\t\toriginalRecord = originalRecord || matcher;\n\t\t}\n\t\treturn originalMatcher ? () => {\n\t\t\tremoveRoute(originalMatcher);\n\t\t} : noop;\n\t}\n\tfunction removeRoute(matcherRef) {\n\t\tif (isRouteName(matcherRef)) {\n\t\t\tconst matcher = matcherMap.get(matcherRef);\n\t\t\tif (matcher) {\n\t\t\t\tmatcherMap.delete(matcherRef);\n\t\t\t\tmatchers.splice(matchers.indexOf(matcher), 1);\n\t\t\t\tmatcher.children.forEach(removeRoute);\n\t\t\t\tmatcher.alias.forEach(removeRoute);\n\t\t\t}\n\t\t} else {\n\t\t\tconst index = matchers.indexOf(matcherRef);\n\t\t\tif (index > -1) {\n\t\t\t\tmatchers.splice(index, 1);\n\t\t\t\tif (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);\n\t\t\t\tmatcherRef.children.forEach(removeRoute);\n\t\t\t\tmatcherRef.alias.forEach(removeRoute);\n\t\t\t}\n\t\t}\n\t}\n\tfunction getRoutes() {\n\t\treturn matchers;\n\t}\n\tfunction insertMatcher(matcher) {\n\t\tconst index = findInsertionIndex(matcher, matchers);\n\t\tmatchers.splice(index, 0, matcher);\n\t\tif (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);\n\t}\n\tfunction resolve(location, currentLocation) {\n\t\tlet matcher;\n\t\tlet params = {};\n\t\tlet path;\n\t\tlet name;\n\t\tif (\"name\" in location && location.name) {\n\t\t\tmatcher = matcherMap.get(location.name);\n\t\t\tif (!matcher) throw createRouterError(1, { location });\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconst invalidParams = Object.keys(location.params || {}).filter((paramName) => !matcher.keys.find((k) => k.name === paramName));\n\t\t\t\tif (invalidParams.length) {\n\t\t\t\t\tconst isInherited = !matcher.keys.length && invalidParams.some((name) => name in currentLocation.params);\n\t\t\t\t\tdiagnostics.VUE_ROUTER_R0100({\n\t\t\t\t\t\tparams: invalidParams.join(\"\\\", \\\"\"),\n\t\t\t\t\t\tinherited: isInherited ? ` If you are using a catch-all route with a named redirect, pass an empty \\`params\\` object: \\`redirect: { name: '...', params: {} }\\`.` : \"\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign(pickParams(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location.params && pickParams(location.params, matcher.keys.map((k) => k.name)));\n\t\t\tpath = matcher.stringify(params);\n\t\t} else if (location.path != null) {\n\t\t\tpath = location.path;\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !path.startsWith(\"/\")) diagnostics.VUE_ROUTER_R0101({ path });\n\t\t\tmatcher = matchers.find((m) => m.re.test(path));\n\t\t\tif (matcher) {\n\t\t\t\tparams = matcher.parse(path);\n\t\t\t\tname = matcher.record.name;\n\t\t\t\tmatcher.keys.forEach((key) => {\n\t\t\t\t\tif (key.optional && !params[key.name]) delete params[key.name];\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tmatcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers.find((m) => m.re.test(currentLocation.path));\n\t\t\tif (!matcher) throw createRouterError(1, {\n\t\t\t\tlocation,\n\t\t\t\tcurrentLocation\n\t\t\t});\n\t\t\tname = matcher.record.name;\n\t\t\tparams = assign({}, currentLocation.params, location.params);\n\t\t\tpath = matcher.stringify(params);\n\t\t}\n\t\tconst matched = [];\n\t\tlet parentMatcher = matcher;\n\t\twhile (parentMatcher) {\n\t\t\tmatched.unshift(parentMatcher.record);\n\t\t\tparentMatcher = parentMatcher.parent;\n\t\t}\n\t\treturn {\n\t\t\tname,\n\t\t\tpath,\n\t\t\tparams,\n\t\t\tmatched,\n\t\t\tmeta: mergeMetaFields(matched)\n\t\t};\n\t}\n\troutes.forEach((route) => addRoute(route));\n\tfunction clearRoutes() {\n\t\tmatchers.length = 0;\n\t\tmatcherMap.clear();\n\t}\n\treturn {\n\t\taddRoute,\n\t\tresolve,\n\t\tremoveRoute,\n\t\tclearRoutes,\n\t\tgetRoutes,\n\t\tgetRecordMatcher\n\t};\n}\n/**\n* Picks an object param to contain only specified keys.\n*\n* @param params - params object to pick from\n* @param keys - keys to pick\n*/\nfunction pickParams(params, keys) {\n\tconst newParams = {};\n\tfor (const key of keys) if (key in params) newParams[key] = params[key];\n\treturn newParams;\n}\n/**\n* Normalizes a RouteRecordRaw. Creates a copy\n*\n* @param record\n* @returns the normalized version\n*/\nfunction normalizeRouteRecord(record) {\n\tconst normalized = {\n\t\tpath: record.path,\n\t\tredirect: record.redirect,\n\t\tname: record.name,\n\t\tmeta: record.meta || {},\n\t\taliasOf: record.aliasOf,\n\t\tbeforeEnter: record.beforeEnter,\n\t\tprops: normalizeRecordProps(record),\n\t\tchildren: record.children || [],\n\t\tinstances: {},\n\t\tleaveGuards: /* @__PURE__ */ new Set(),\n\t\tupdateGuards: /* @__PURE__ */ new Set(),\n\t\tenterCallbacks: {},\n\t\tcomponents: \"components\" in record ? record.components || null : record.component && { default: record.component }\n\t};\n\tObject.defineProperty(normalized, \"mods\", { value: {} });\n\treturn normalized;\n}\n/**\n* Normalize the optional `props` in a record to always be an object similar to\n* components. Also accept a boolean for components.\n* @param record\n*/\nfunction normalizeRecordProps(record) {\n\tconst propsObject = {};\n\tconst props = record.props || false;\n\tif (\"component\" in record) propsObject.default = props;\n\telse for (const name in record.components) propsObject[name] = typeof props === \"object\" ? props[name] : props;\n\treturn propsObject;\n}\n/**\n* Checks if a record or any of its parent is an alias\n* @param record\n*/\nfunction isAliasRecord(record) {\n\twhile (record) {\n\t\tif (record.record.aliasOf) return true;\n\t\trecord = record.parent;\n\t}\n\treturn false;\n}\n/**\n* Merge meta fields of an array of records\n*\n* @param matched - array of matched records\n*/\nfunction mergeMetaFields(matched) {\n\treturn matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction isSameParam(a, b) {\n\treturn a.name === b.name && a.optional === b.optional && a.repeatable === b.repeatable;\n}\n/**\n* Check if a path and its alias have the same required params\n*\n* @param a - original record\n* @param b - alias record\n*/\nfunction checkSameParams(a, b) {\n\tfor (const key of a.keys) if (!key.optional && !b.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n\tfor (const key of b.keys) if (!key.optional && !a.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0102({\n\t\t\talias: b.record.path,\n\t\t\toriginal: a.record.path,\n\t\t\tname: key.name\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* A route with a name and a child with an empty path without a name should warn when adding the route\n*\n* @param mainNormalizedRecord - RouteRecordNormalized\n* @param parent - RouteRecordMatcher\n*/\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n\tif (parent && parent.record.name && !mainNormalizedRecord.name && !mainNormalizedRecord.path && mainNormalizedRecord.children.length === 0) diagnostics.VUE_ROUTER_R0103({ name: String(parent.record.name) });\n}\nfunction checkSameNameAsAncestor(record, parent) {\n\tfor (let ancestor = parent; ancestor; ancestor = ancestor.parent) if (ancestor.record.name === record.name) throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? \"child\" : \"descendant\"} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n\tfor (const key of parent.keys) if (!record.keys.find(isSameParam.bind(null, key))) {\n\t\tdiagnostics.VUE_ROUTER_R0104({\n\t\t\tpath: record.record.path,\n\t\t\tname: key.name,\n\t\t\tparent: parent.record.path\n\t\t});\n\t\treturn;\n\t}\n}\n/**\n* Performs a binary search to find the correct insertion index for a new matcher.\n*\n* Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n* with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n*\n* @param matcher - new matcher to be inserted\n* @param matchers - existing matchers\n*/\nfunction findInsertionIndex(matcher, matchers) {\n\tlet lower = 0;\n\tlet upper = matchers.length;\n\twhile (lower !== upper) {\n\t\tconst mid = lower + upper >> 1;\n\t\tif (comparePathParserScore(matcher, matchers[mid]) < 0) upper = mid;\n\t\telse lower = mid + 1;\n\t}\n\tconst insertionAncestor = getInsertionAncestor(matcher);\n\tif (insertionAncestor) {\n\t\tupper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n\t\tif (process.env.NODE_ENV !== \"production\" && upper < 0) diagnostics.VUE_ROUTER_R0105({\n\t\t\tancestor: insertionAncestor.record.path,\n\t\t\trecord: matcher.record.path\n\t\t});\n\t}\n\treturn upper;\n}\nfunction getInsertionAncestor(matcher) {\n\tlet ancestor = matcher;\n\twhile (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;\n}\n/**\n* Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n* a component, or name, or redirect, are just used to group other routes.\n* @param matcher\n* @param matcher.record record of the matcher\n* @returns\n*/\nfunction isMatchable({ record }) {\n\treturn !!(record.name || record.components && Object.keys(record.components).length || record.redirect);\n}\n//#endregion\n//#region src/RouterLink.ts\n/**\n* Returns the internal behavior of a {@link RouterLink} without the rendering part.\n*\n* @param props - a `to` location and an optional `replace` flag\n*/\nfunction useLink(props) {\n\tconst router = inject(routerKey);\n\tconst currentRoute = inject(routeLocationKey);\n\tlet hasPrevious = false;\n\tlet previousTo = null;\n\tconst route = computed(() => {\n\t\tconst to = unref(props.to);\n\t\tif (process.env.NODE_ENV !== \"production\" && (!hasPrevious || to !== previousTo)) {\n\t\t\tif (!isRouteLocation(to)) diagnostics.VUE_ROUTER_R0050({ to });\n\t\t\tpreviousTo = to;\n\t\t\thasPrevious = true;\n\t\t}\n\t\treturn router.resolve(to);\n\t});\n\tconst activeRecordIndex = computed(() => {\n\t\tconst { matched } = route.value;\n\t\tconst { length } = matched;\n\t\tconst routeMatched = matched[length - 1];\n\t\tconst currentMatched = currentRoute.matched;\n\t\tif (!routeMatched || !currentMatched.length) return -1;\n\t\tconst index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n\t\tif (index > -1) return index;\n\t\tconst parentRecordPath = getOriginalPath(matched[length - 2]);\n\t\treturn length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;\n\t});\n\tconst isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));\n\tconst isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));\n\tfunction navigate(e = {}) {\n\t\tif (guardEvent(e)) {\n\t\t\tconst p = router[unref(props.replace) ? \"replace\" : \"push\"](unref(props.to)).catch(noop);\n\t\t\tif (props.viewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document) document.startViewTransition(() => p);\n\t\t\treturn p;\n\t\t}\n\t\treturn Promise.resolve();\n\t}\n\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n\t\tconst instance = getCurrentInstance();\n\t\tif (instance) {\n\t\t\tconst linkContextDevtools = {\n\t\t\t\troute: route.value,\n\t\t\t\tisActive: isActive.value,\n\t\t\t\tisExactActive: isExactActive.value,\n\t\t\t\terror: null\n\t\t\t};\n\t\t\tinstance.__vrl_devtools = instance.__vrl_devtools || [];\n\t\t\tinstance.__vrl_devtools.push(linkContextDevtools);\n\t\t\twatchEffect(() => {\n\t\t\t\tlinkContextDevtools.route = route.value;\n\t\t\t\tlinkContextDevtools.isActive = isActive.value;\n\t\t\t\tlinkContextDevtools.isExactActive = isExactActive.value;\n\t\t\t\tlinkContextDevtools.error = isRouteLocation(unref(props.to)) ? null : \"Invalid \\\"to\\\" value\";\n\t\t\t}, { flush: \"post\" });\n\t\t}\n\t}\n\t/**\n\t* NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n\t*/\n\treturn {\n\t\troute,\n\t\thref: computed(() => route.value.href),\n\t\tisActive,\n\t\tisExactActive,\n\t\tnavigate\n\t};\n}\nfunction preferSingleVNode(vnodes) {\n\treturn vnodes.length === 1 ? vnodes[0] : vnodes;\n}\n/**\n* Component to render a link that triggers a navigation on click.\n*/\nconst RouterLink = /* @__PURE__ */ defineComponent({\n\tname: \"RouterLink\",\n\tcompatConfig: { MODE: 3 },\n\tprops: {\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\trequired: true\n\t\t},\n\t\treplace: Boolean,\n\t\tactiveClass: String,\n\t\texactActiveClass: String,\n\t\tcustom: Boolean,\n\t\tariaCurrentValue: {\n\t\t\ttype: String,\n\t\t\tdefault: \"page\"\n\t\t},\n\t\tviewTransition: Boolean\n\t},\n\tuseLink,\n\tsetup(props, { slots }) {\n\t\tconst link = reactive(useLink(props));\n\t\tconst { options } = inject(routerKey);\n\t\tconst elClass = computed(() => ({\n\t\t\t[getLinkClass(props.activeClass, options.linkActiveClass, \"router-link-active\")]: link.isActive,\n\t\t\t[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, \"router-link-exact-active\")]: link.isExactActive\n\t\t}));\n\t\treturn () => {\n\t\t\tconst children = slots.default && preferSingleVNode(slots.default(link));\n\t\t\treturn props.custom ? children : h(\"a\", {\n\t\t\t\t\"aria-current\": link.isExactActive ? props.ariaCurrentValue : null,\n\t\t\t\thref: link.href,\n\t\t\t\tonClick: link.navigate,\n\t\t\t\tclass: elClass.value\n\t\t\t}, children);\n\t\t};\n\t}\n});\nfunction guardEvent(e) {\n\tif (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\n\tif (e.defaultPrevented) return;\n\tif (e.button !== void 0 && e.button !== 0) return;\n\tif (e.currentTarget && e.currentTarget.getAttribute) {\n\t\tconst target = e.currentTarget.getAttribute(\"target\");\n\t\tif (/\\b_blank\\b/i.test(target)) return;\n\t}\n\tif (e.preventDefault) e.preventDefault();\n\treturn true;\n}\nfunction includesParams(outer, inner) {\n\tfor (const key in inner) {\n\t\tconst innerValue = inner[key];\n\t\tconst outerValue = outer[key];\n\t\tif (typeof innerValue === \"string\") {\n\t\t\tif (innerValue !== outerValue) return false;\n\t\t} else if (!isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;\n\t}\n\treturn true;\n}\n/**\n* Get the original path value of a record by following its aliasOf\n* @param record\n*/\nfunction getOriginalPath(record) {\n\treturn record ? record.aliasOf ? record.aliasOf.path : record.path : \"\";\n}\n/**\n* Utility class to get the active class based on defaults.\n* @param propClass\n* @param globalClass\n* @param defaultClass\n*/\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;\n//#endregion\n//#region src/RouterView.ts\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n\tname: \"RouterView\",\n\tinheritAttrs: false,\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: \"default\"\n\t\t},\n\t\troute: Object\n\t},\n\tcompatConfig: { MODE: 3 },\n\tsetup(props, { attrs, slots }) {\n\t\tprocess.env.NODE_ENV !== \"production\" && warnDeprecatedUsage();\n\t\tconst injectedRoute = inject(routerViewLocationKey);\n\t\tconst routeToDisplay = computed(() => props.route || injectedRoute.value);\n\t\tconst injectedDepth = inject(viewDepthKey, 0);\n\t\tconst depth = computed(() => {\n\t\t\tlet initialDepth = unref(injectedDepth);\n\t\t\tconst { matched } = routeToDisplay.value;\n\t\t\tlet matchedRoute;\n\t\t\twhile ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;\n\t\t\treturn initialDepth;\n\t\t});\n\t\tconst matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n\t\tprovide(viewDepthKey, computed(() => depth.value + 1));\n\t\tprovide(matchedRouteKey, matchedRouteRef);\n\t\tprovide(routerViewLocationKey, routeToDisplay);\n\t\tconst viewRef = ref();\n\t\twatch(() => [\n\t\t\tviewRef.value,\n\t\t\tmatchedRouteRef.value,\n\t\t\tprops.name\n\t\t], ([instance, to, name], [oldInstance, from, _oldName]) => {\n\t\t\tif (to) {\n\t\t\t\tto.instances[name] = instance;\n\t\t\t\tif (from && from !== to && instance && instance === oldInstance) {\n\t\t\t\t\tif (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;\n\t\t\t\t\tif (!to.updateGuards.size) to.updateGuards = from.updateGuards;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));\n\t\t}, { flush: \"post\" });\n\t\treturn () => {\n\t\t\tconst route = routeToDisplay.value;\n\t\t\tconst currentName = props.name;\n\t\t\tconst matchedRoute = matchedRouteRef.value;\n\t\t\tconst ViewComponent = matchedRoute && matchedRoute.components[currentName];\n\t\t\tif (!ViewComponent) return normalizeSlot(slots.default, {\n\t\t\t\tComponent: ViewComponent,\n\t\t\t\troute\n\t\t\t});\n\t\t\tconst routePropsOption = matchedRoute.props[currentName];\n\t\t\tconst routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === \"function\" ? routePropsOption(route) : routePropsOption : null;\n\t\t\tconst onVnodeUnmounted = (vnode) => {\n\t\t\t\tif (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;\n\t\t\t};\n\t\t\tconst component = h(ViewComponent, assign({}, routeProps, attrs, {\n\t\t\t\tonVnodeUnmounted,\n\t\t\t\tref: viewRef\n\t\t\t}));\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && component.ref) {\n\t\t\t\tconst info = {\n\t\t\t\t\tdepth: depth.value,\n\t\t\t\t\tname: matchedRoute.name,\n\t\t\t\t\tpath: matchedRoute.path,\n\t\t\t\t\tmeta: matchedRoute.meta\n\t\t\t\t};\n\t\t\t\t(isArray(component.ref) ? component.ref.map((r) => r.i) : [component.ref.i]).forEach((instance) => {\n\t\t\t\t\tinstance.__vrv_devtools = info;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn normalizeSlot(slots.default, {\n\t\t\t\tComponent: component,\n\t\t\t\troute\n\t\t\t}) || component;\n\t\t};\n\t}\n});\nfunction normalizeSlot(slot, data) {\n\tif (!slot) return null;\n\tconst slotContent = slot(data);\n\treturn slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n/**\n* Component to display the current route the user is at.\n*/\nconst RouterView = RouterViewImpl;\nfunction warnDeprecatedUsage() {\n\tconst instance = getCurrentInstance();\n\tconst parentName = instance.parent && instance.parent.type.name;\n\tconst parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n\tif (parentName && (parentName === \"KeepAlive\" || parentName.includes(\"Transition\")) && typeof parentSubTreeType === \"object\" && parentSubTreeType.name === \"RouterView\") {\n\t\tconst comp = parentName === \"KeepAlive\" ? \"keep-alive\" : \"transition\";\n\t\tdiagnostics.VUE_ROUTER_R0060({ comp });\n\t}\n}\n//#endregion\n//#region src/router.ts\n/**\n* Creates a Router instance that can be used by a Vue app.\n*\n* @param options - {@link RouterOptions}\n*/\nfunction createRouter(options) {\n\tconst matcher = createRouterMatcher(options.routes, options);\n\tconst parseQuery$1 = options.parseQuery || parseQuery;\n\tconst stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n\tconst routerHistory = options.history;\n\tif (process.env.NODE_ENV !== \"production\" && !routerHistory) throw new Error(\"Provide the \\\"history\\\" option when calling \\\"createRouter()\\\": https://router.vuejs.org/api/interfaces/RouterOptions.html#history\");\n\tconst beforeGuards = useCallbacks();\n\tconst beforeResolveGuards = useCallbacks();\n\tconst afterGuards = useCallbacks();\n\tconst currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n\tlet pendingLocation = START_LOCATION_NORMALIZED;\n\tif (isBrowser && options.scrollBehavior && \"scrollRestoration\" in history) history.scrollRestoration = \"manual\";\n\tconst normalizeParams = applyToParams.bind(null, (paramValue) => \"\" + paramValue);\n\tconst encodeParams = applyToParams.bind(null, encodeParam);\n\tconst decodeParams = applyToParams.bind(null, decode);\n\tfunction addRoute(parentOrRoute, route) {\n\t\tlet parent;\n\t\tlet record;\n\t\tif (isRouteName(parentOrRoute)) {\n\t\t\tparent = matcher.getRecordMatcher(parentOrRoute);\n\t\t\tif (process.env.NODE_ENV !== \"production\" && !parent) diagnostics.VUE_ROUTER_R0001({ name: String(parentOrRoute) });\n\t\t\trecord = route;\n\t\t} else record = parentOrRoute;\n\t\treturn matcher.addRoute(record, parent);\n\t}\n\tfunction removeRoute(name) {\n\t\tconst recordMatcher = matcher.getRecordMatcher(name);\n\t\tif (recordMatcher) matcher.removeRoute(recordMatcher);\n\t\telse if (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0002({ name: String(name) });\n\t}\n\tfunction getRoutes() {\n\t\treturn matcher.getRoutes().map((routeMatcher) => routeMatcher.record);\n\t}\n\tfunction hasRoute(name) {\n\t\treturn !!matcher.getRecordMatcher(name);\n\t}\n\tfunction resolve(rawLocation, currentLocation) {\n\t\tcurrentLocation = assign({}, currentLocation || currentRoute.value);\n\t\tif (typeof rawLocation === \"string\") {\n\t\t\tconst locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n\t\t\tconst matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n\t\t\tconst href = routerHistory.createHref(locationNormalized.fullPath);\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\t\tlocation: rawLocation,\n\t\t\t\t\thref\n\t\t\t\t});\n\t\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation });\n\t\t\t}\n\t\t\treturn assign(locationNormalized, matchedRoute, {\n\t\t\t\tparams: decodeParams(matchedRoute.params),\n\t\t\t\tredirectedFrom: void 0,\n\t\t\t\thref\n\t\t\t});\n\t\t}\n\t\tif (process.env.NODE_ENV !== \"production\" && !isRouteLocation(rawLocation)) {\n\t\t\tdiagnostics.VUE_ROUTER_R0005({ rawLocation });\n\t\t\treturn resolve({});\n\t\t}\n\t\tlet matcherLocation;\n\t\tif (rawLocation.path != null) {\n\t\t\tif (process.env.NODE_ENV !== \"production\" && \"params\" in rawLocation && !(\"name\" in rawLocation) && Object.keys(rawLocation.params).length) diagnostics.VUE_ROUTER_R0006({ path: rawLocation.path });\n\t\t\tmatcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });\n\t\t} else {\n\t\t\tconst targetParams = assign({}, rawLocation.params);\n\t\t\tfor (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];\n\t\t\tmatcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });\n\t\t\tcurrentLocation.params = encodeParams(currentLocation.params);\n\t\t}\n\t\tconst matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n\t\tconst hash = rawLocation.hash || \"\";\n\t\tif (process.env.NODE_ENV !== \"production\" && hash && !hash.startsWith(\"#\")) diagnostics.VUE_ROUTER_R0007({ hash });\n\t\tmatchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n\t\tconst fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n\t\t\thash: encodeHash(hash),\n\t\t\tpath: matchedRoute.path\n\t\t}));\n\t\tconst href = routerHistory.createHref(fullPath);\n\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\tif (href.startsWith(\"//\")) diagnostics.VUE_ROUTER_R0003({\n\t\t\t\tlocation: rawLocation,\n\t\t\t\thref\n\t\t\t});\n\t\t\telse if (!matchedRoute.matched.length) diagnostics.VUE_ROUTER_R0004({ path: rawLocation.path != null ? rawLocation.path : rawLocation });\n\t\t}\n\t\treturn assign({\n\t\t\tfullPath,\n\t\t\thash,\n\t\t\tquery: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}\n\t\t}, matchedRoute, {\n\t\t\tredirectedFrom: void 0,\n\t\t\thref\n\t\t});\n\t}\n\tfunction locationAsObject(to) {\n\t\treturn typeof to === \"string\" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);\n\t}\n\tfunction checkCanceledNavigation(to, from) {\n\t\tif (pendingLocation !== to) return createRouterError(8, {\n\t\t\tfrom,\n\t\t\tto\n\t\t});\n\t}\n\tfunction push(to) {\n\t\treturn pushWithRedirect(to);\n\t}\n\tfunction replace(to) {\n\t\treturn push(assign(locationAsObject(to), { replace: true }));\n\t}\n\tfunction handleRedirectRecord(to, from) {\n\t\tconst lastMatched = to.matched[to.matched.length - 1];\n\t\tif (lastMatched && lastMatched.redirect) {\n\t\t\tconst { redirect } = lastMatched;\n\t\t\tlet newTargetLocation = typeof redirect === \"function\" ? redirect(to, from) : redirect;\n\t\t\tif (typeof newTargetLocation === \"string\") {\n\t\t\t\tnewTargetLocation = newTargetLocation.includes(\"?\") || newTargetLocation.includes(\"#\") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };\n\t\t\t\tnewTargetLocation.params = {};\n\t\t\t}\n\t\t\tif (process.env.NODE_ENV !== \"production\" && newTargetLocation.path == null && !(\"name\" in newTargetLocation)) {\n\t\t\t\tdiagnostics.VUE_ROUTER_R0008({\n\t\t\t\t\ttarget: JSON.stringify(newTargetLocation, null, 2),\n\t\t\t\t\tto: to.fullPath\n\t\t\t\t});\n\t\t\t\tthrow new Error(\"Invalid redirect\");\n\t\t\t}\n\t\t\treturn assign({\n\t\t\t\tquery: to.query,\n\t\t\t\thash: to.hash,\n\t\t\t\tparams: newTargetLocation.path != null ? {} : to.params\n\t\t\t}, newTargetLocation);\n\t\t}\n\t}\n\tfunction pushWithRedirect(to, redirectedFrom) {\n\t\tconst targetLocation = pendingLocation = resolve(to);\n\t\tconst from = currentRoute.value;\n\t\tconst data = to.state;\n\t\tconst force = to.force;\n\t\tconst replace = to.replace === true;\n\t\tconst shouldRedirect = handleRedirectRecord(targetLocation, from);\n\t\tif (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n\t\t\tstate: typeof shouldRedirect === \"object\" ? assign({}, data, shouldRedirect.state) : data,\n\t\t\tforce,\n\t\t\treplace\n\t\t}), redirectedFrom || targetLocation);\n\t\tconst toLocation = targetLocation;\n\t\ttoLocation.redirectedFrom = redirectedFrom;\n\t\tlet failure;\n\t\tif (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n\t\t\tfailure = createRouterError(16, {\n\t\t\t\tto: toLocation,\n\t\t\t\tfrom\n\t\t\t});\n\t\t\thandleScroll(from, from, true, false);\n\t\t}\n\t\treturn (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, 2) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure) => {\n\t\t\tif (failure) {\n\t\t\t\tif (isNavigationFailure(failure, 2)) {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\" && isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) && redirectedFrom && (redirectedFrom._count = redirectedFrom._count ? redirectedFrom._count + 1 : 1) > 30) {\n\t\t\t\t\t\tdiagnostics.VUE_ROUTER_R0009({\n\t\t\t\t\t\t\tfrom: from.fullPath,\n\t\t\t\t\t\t\tto: toLocation.fullPath\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Infinite redirect in navigation guard\"));\n\t\t\t\t\t}\n\t\t\t\t\treturn pushWithRedirect(assign({ replace }, locationAsObject(failure.to), {\n\t\t\t\t\t\tstate: typeof failure.to === \"object\" ? assign({}, data, failure.to.state) : data,\n\t\t\t\t\t\tforce\n\t\t\t\t\t}), redirectedFrom || toLocation);\n\t\t\t\t}\n\t\t\t} else failure = finalizeNavigation(toLocation, from, true, replace, data);\n\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\treturn failure;\n\t\t});\n\t}\n\t/**\n\t* Helper to reject and skip all navigation guards if a new navigation happened\n\t* @param to\n\t* @param from\n\t*/\n\tfunction checkCanceledNavigationAndReject(to, from) {\n\t\tconst error = checkCanceledNavigation(to, from);\n\t\treturn error ? Promise.reject(error) : Promise.resolve();\n\t}\n\tfunction runWithContext(fn) {\n\t\tconst app = installedApps.values().next().value;\n\t\treturn app && typeof app.runWithContext === \"function\" ? app.runWithContext(fn) : fn();\n\t}\n\tfunction navigate(to, from) {\n\t\tlet guards;\n\t\tconst [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n\t\tguards = extractComponentsGuards(leavingRecords.reverse(), \"beforeRouteLeave\", to, from);\n\t\tfor (const record of leavingRecords) record.leaveGuards.forEach((guard) => {\n\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t});\n\t\tconst canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n\t\tguards.push(canceledNavigationCheck);\n\t\treturn runGuardQueue(guards).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = extractComponentsGuards(updatingRecords, \"beforeRouteUpdate\", to, from);\n\t\t\tfor (const record of updatingRecords) record.updateGuards.forEach((guard) => {\n\t\t\t\tguards.push(guardToPromiseFn(guard, to, from));\n\t\t\t});\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const record of enteringRecords) if (record.beforeEnter) if (isArray(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));\n\t\t\telse guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tto.matched.forEach((record) => record.enterCallbacks = {});\n\t\t\tguards = extractComponentsGuards(enteringRecords, \"beforeRouteEnter\", to, from, runWithContext);\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).then(() => {\n\t\t\tguards = [];\n\t\t\tfor (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));\n\t\t\tguards.push(canceledNavigationCheck);\n\t\t\treturn runGuardQueue(guards);\n\t\t}).catch((err) => isNavigationFailure(err, 8) ? err : Promise.reject(err));\n\t}\n\tfunction triggerAfterEach(to, from, failure) {\n\t\tafterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));\n\t}\n\t/**\n\t* - Cleans up any navigation guards\n\t* - Changes the url if necessary\n\t* - Calls the scrollBehavior\n\t*/\n\tfunction finalizeNavigation(toLocation, from, isPush, replace, data) {\n\t\tconst error = checkCanceledNavigation(toLocation, from);\n\t\tif (error) return error;\n\t\tconst isFirstNavigation = from === START_LOCATION_NORMALIZED;\n\t\tconst state = !isBrowser ? {} : history.state;\n\t\tif (isPush) if (replace || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));\n\t\telse routerHistory.push(toLocation.fullPath, data);\n\t\tcurrentRoute.value = toLocation;\n\t\thandleScroll(toLocation, from, isPush, isFirstNavigation);\n\t\tmarkAsReady();\n\t}\n\tlet removeHistoryListener;\n\tfunction setupListeners() {\n\t\tif (removeHistoryListener) return;\n\t\tremoveHistoryListener = routerHistory.listen((to, _from, info) => {\n\t\t\tif (!router.listening) return;\n\t\t\tconst toLocation = resolve(to);\n\t\t\tconst shouldRedirect = handleRedirectRecord(toLocation, router.currentRoute.value);\n\t\t\tif (shouldRedirect) {\n\t\t\t\tpushWithRedirect(assign(shouldRedirect, {\n\t\t\t\t\treplace: true,\n\t\t\t\t\tforce: true\n\t\t\t\t}), toLocation).catch(noop);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpendingLocation = toLocation;\n\t\t\tconst from = currentRoute.value;\n\t\t\tif (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n\t\t\tnavigate(toLocation, from).catch((error) => {\n\t\t\t\tif (isNavigationFailure(error, 12)) return error;\n\t\t\t\tif (isNavigationFailure(error, 2)) {\n\t\t\t\t\tpushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {\n\t\t\t\t\t\tif (isNavigationFailure(failure, 20) && !info.delta && info.type === \"pop\") routerHistory.go(-1, false);\n\t\t\t\t\t}).catch(noop);\n\t\t\t\t\treturn Promise.reject();\n\t\t\t\t}\n\t\t\t\tif (info.delta) routerHistory.go(-info.delta, false);\n\t\t\t\treturn triggerError(error, toLocation, from);\n\t\t\t}).then((failure) => {\n\t\t\t\tfailure = failure || finalizeNavigation(toLocation, from, false);\n\t\t\t\tif (failure) {\n\t\t\t\t\tif (info.delta && !isNavigationFailure(failure, 8)) routerHistory.go(-info.delta, false);\n\t\t\t\t\telse if (info.type === \"pop\" && isNavigationFailure(failure, 20)) routerHistory.go(-1, false);\n\t\t\t\t}\n\t\t\t\ttriggerAfterEach(toLocation, from, failure);\n\t\t\t}).catch(noop);\n\t\t});\n\t}\n\tlet readyHandlers = useCallbacks();\n\tlet errorListeners = useCallbacks();\n\tlet ready;\n\t/**\n\t* Trigger errorListeners added via onError and throws the error as well\n\t*\n\t* @param error - error to throw\n\t* @param to - location we were navigating to when the error happened\n\t* @param from - location we were navigating from when the error happened\n\t* @returns the error as a rejected promise\n\t*/\n\tfunction triggerError(error, to, from) {\n\t\tmarkAsReady(error);\n\t\tconst list = errorListeners.list();\n\t\tif (list.length) list.forEach((handler) => handler(error, to, from));\n\t\telse {\n\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0010();\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn Promise.reject(error);\n\t}\n\tfunction isReady() {\n\t\tif (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\treadyHandlers.add([resolve, reject]);\n\t\t});\n\t}\n\tfunction markAsReady(err) {\n\t\tif (!ready) {\n\t\t\tready = !err;\n\t\t\tsetupListeners();\n\t\t\treadyHandlers.list().forEach(([resolve, reject]) => err ? reject(err) : resolve());\n\t\t\treadyHandlers.reset();\n\t\t}\n\t\treturn err;\n\t}\n\tfunction handleScroll(to, from, isPush, isFirstNavigation) {\n\t\tconst { scrollBehavior } = options;\n\t\tif (!isBrowser || !scrollBehavior) return Promise.resolve();\n\t\tconst scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;\n\t\treturn nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => to === currentRoute.value && position && scrollToPosition(position)).catch((err) => to === currentRoute.value && triggerError(err, to, from));\n\t}\n\tconst go = (delta) => routerHistory.go(delta);\n\tlet started;\n\tconst installedApps = /* @__PURE__ */ new Set();\n\tconst router = {\n\t\tcurrentRoute,\n\t\tlistening: true,\n\t\taddRoute,\n\t\tremoveRoute,\n\t\tclearRoutes: matcher.clearRoutes,\n\t\thasRoute,\n\t\tgetRoutes,\n\t\tresolve,\n\t\toptions,\n\t\tpush,\n\t\treplace,\n\t\tgo,\n\t\tback: () => go(-1),\n\t\tforward: () => go(1),\n\t\tbeforeEach: beforeGuards.add,\n\t\tbeforeResolve: beforeResolveGuards.add,\n\t\tafterEach: afterGuards.add,\n\t\tonError: errorListeners.add,\n\t\tisReady,\n\t\tinstall(app) {\n\t\t\tapp.component(\"RouterLink\", RouterLink);\n\t\t\tapp.component(\"RouterView\", RouterView);\n\t\t\tapp.config.globalProperties.$router = router;\n\t\t\tObject.defineProperty(app.config.globalProperties, \"$route\", {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => unref(currentRoute)\n\t\t\t});\n\t\t\tif (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {\n\t\t\t\tstarted = true;\n\t\t\t\tpush(routerHistory.location).catch((err) => {\n\t\t\t\t\tif (process.env.NODE_ENV !== \"production\") diagnostics.VUE_ROUTER_R0011({ cause: err });\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst reactiveRoute = {};\n\t\t\tfor (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {\n\t\t\t\tget: () => currentRoute.value[key],\n\t\t\t\tenumerable: true\n\t\t\t});\n\t\t\tapp.provide(routerKey, router);\n\t\t\tapp.provide(routeLocationKey, shallowReactive(reactiveRoute));\n\t\t\tapp.provide(routerViewLocationKey, currentRoute);\n\t\t\tconst unmountApp = app.unmount;\n\t\t\tinstalledApps.add(app);\n\t\t\tapp.unmount = function() {\n\t\t\t\tinstalledApps.delete(app);\n\t\t\t\tif (installedApps.size < 1) {\n\t\t\t\t\tpendingLocation = START_LOCATION_NORMALIZED;\n\t\t\t\t\tremoveHistoryListener && removeHistoryListener();\n\t\t\t\t\tremoveHistoryListener = null;\n\t\t\t\t\tcurrentRoute.value = START_LOCATION_NORMALIZED;\n\t\t\t\t\tstarted = false;\n\t\t\t\t\tready = false;\n\t\t\t\t}\n\t\t\t\tunmountApp();\n\t\t\t};\n\t\t\tif ((process.env.NODE_ENV !== \"production\" || __VUE_PROD_DEVTOOLS__) && isBrowser && true) addDevtools(app, router, matcher);\n\t\t}\n\t};\n\tfunction runGuardQueue(guards) {\n\t\treturn guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n\t}\n\treturn router;\n}\n//#endregion\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","import { loadState } from \"@nextcloud/initial-state\";\nimport { inject } from \"vue\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction once(func) {\n let wasCalled = false;\n let result;\n return (...args) => {\n if (!wasCalled) {\n wasCalled = true;\n result = func(...args);\n }\n return result;\n };\n}\nlet realAppName = \"missing-app-name\";\ntry {\n realAppName = appName;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appName`.\");\n}\nconst APP_NAME = realAppName;\nlet realAppVersion = \"\";\ntry {\n realAppVersion = appVersion;\n} catch {\n logger.error(\"The `@nextcloud/vue` library was used without setting / replacing the `appVersion`.\");\n}\nconst APP_VERSION = realAppVersion;\nfunction useAppName() {\n return inject(\"appName\", APP_NAME);\n}\nconst useLocalizedAppName = once(() => {\n const apps = loadState(\"core\", \"apps\", []);\n const realAppName2 = useAppName();\n return apps.find(({ id }) => id === realAppName2)?.name ?? realAppName2;\n});\nexport {\n APP_VERSION as A,\n useAppName as a,\n useLocalizedAppName as u\n};\n//# sourceMappingURL=appName-DyNMVZpX.mjs.map\n","import '../assets/NcAppContent-TgcZd4AI.css';\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { useSwipe } from \"@vueuse/core\";\nimport { Splitpanes, Pane } from \"splitpanes\";\nimport { defineComponent, watch, onMounted, onBeforeUnmount, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, resolveComponent, createElementBlock, toDisplayString, createCommentVNode, Fragment, withModifiers, withDirectives, createElementVNode, renderSlot, vShow } from \"vue\";\nimport { m as mdiArrowRight } from \"./mdi-CpchYUUV.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, G as t27, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { u as useLocalizedAppName, a as useAppName } from \"./appName-DyNMVZpX.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { i as isRtl } from \"./rtl-v0UOPAM7.mjs\";\nimport \"splitpanes/dist/splitpanes.css\";\nregister(t27);\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppContentDetailsToggle\",\n setup(__props) {\n const isMobile = useIsMobile();\n watch(isMobile, toggleAppNavigationButton);\n onMounted(() => {\n toggleAppNavigationButton(isMobile.value);\n });\n onBeforeUnmount(() => {\n if (isMobile.value) {\n toggleAppNavigationButton(false);\n }\n });\n function toggleAppNavigationButton(hide = true) {\n const appNavigationToggle = document.querySelector(\".app-navigation .app-navigation-toggle\");\n if (appNavigationToggle) {\n appNavigationToggle.style.display = hide ? \"none\" : \"\";\n if (hide === true) {\n emit(\"toggle-navigation\", { open: false });\n }\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcButton), {\n \"aria-label\": unref(t)(\"Go back to the list\"),\n class: normalizeClass([\"app-details-toggle\", { \"app-details-toggle--mobile\": unref(isMobile) }]),\n title: unref(t)(\"Go back to the list\"),\n variant: \"tertiary\"\n }, {\n icon: withCtx(() => [\n createVNode(unref(NcIconSvgWrapper), {\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-label\", \"class\", \"title\"]);\n };\n }\n});\nconst NcAppContentDetailsToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-a28923a1\"]]);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nconst instanceName = getCapabilities().theming?.name ?? \"Nextcloud\";\nconst _sfc_main = {\n name: \"NcAppContent\",\n components: {\n NcAppContentDetailsToggle,\n Pane,\n Splitpanes\n },\n props: {\n /**\n * Allows to disable the control by swipe of the app navigation open state.\n */\n disableSwipe: {\n type: Boolean,\n default: false\n },\n /**\n * Allows you to set the default width of the resizable list in % on vertical-split\n * or respectively the default height on horizontal-split.\n *\n * Must be between `listMinWidth` and `listMaxWidth`.\n */\n listSize: {\n type: Number,\n default: 20\n },\n /**\n * Allows you to set the minimum width of the list column in % on vertical-split\n * or respectively the minimum height on horizontal-split.\n */\n listMinWidth: {\n type: Number,\n default: 15\n },\n /**\n * Allows you to set the maximum width of the list column in % on vertical-split\n * or respectively the maximum height on horizontal-split.\n */\n listMaxWidth: {\n type: Number,\n default: 40\n },\n /**\n * Specify the config key for the pane config sizes\n * Default is the global var appName if you use the webpack-vue-config\n */\n paneConfigKey: {\n type: String,\n default: \"\"\n },\n /**\n * When in mobile view, only the list or the details are shown.\n *\n * If you provide a list, you need to provide a variable\n * that will be set to true by the user when an element of\n * the list gets selected. The details will then show a back\n * arrow to return to the list that will update this prop to false.\n */\n showDetails: {\n type: Boolean,\n default: true\n },\n /**\n * Content layout used when there is a list together with content:\n * - `vertical-split` - a 2-column layout with list and default content separated vertically\n * - `no-split` - a single column layout; List is shown when `showDetails` is `false`, otherwise the default slot content is shown with a back button to return to the list.\n * - 'horizontal-split' - a 2-column layout with list and default content separated horizontally\n * On mobile screen `no-split` layout is forced.\n */\n layout: {\n type: String,\n default: \"vertical-split\",\n validator(value) {\n return [\"no-split\", \"vertical-split\", \"horizontal-split\"].includes(value);\n }\n },\n /**\n * Specify the `

` page heading\n */\n pageHeading: {\n type: String,\n default: null\n },\n /**\n * Allow setting the page's ``\n *\n * If a page heading is set it defaults to `{pageHeading} - {appName} - {instanceName}` e.g. `Favorites - Files - MyPersonalCloud`.\n * When the page heading and the app name is the same only one is used, e.g. `Files - Files - MyPersonalCloud` is shown as `Files - MyPersonalCloud`.\n * When setting the prop then the following format will be used: `{pageTitle} - {instanceName}`\n */\n pageTitle: {\n type: String,\n default: null\n }\n },\n emits: [\n \"update:showDetails\",\n \"resizeList\"\n ],\n setup() {\n return {\n appName: useAppName(),\n localizedAppName: useLocalizedAppName(),\n isMobile: useIsMobile(),\n isRtl\n };\n },\n data() {\n return {\n contentHeight: 0,\n swiping: {},\n listPaneSize: this.restorePaneConfig()\n };\n },\n computed: {\n paneConfigID() {\n if (this.paneConfigKey !== \"\") {\n return `pane-list-size-${this.paneConfigKey}`;\n }\n try {\n return `pane-list-size-${this.appName}`;\n } catch {\n logger.info(\"[NcAppContent]: falling back to global nextcloud pane config\");\n return \"pane-list-size-nextcloud\";\n }\n },\n detailsPaneSize() {\n if (this.listPaneSize) {\n return 100 - this.listPaneSize;\n }\n return this.paneDefaults.details.size;\n },\n paneDefaults() {\n return {\n list: {\n size: this.listSize,\n min: this.listMinWidth,\n max: this.listMaxWidth\n },\n // set the inverse values of the details column\n // based on the provided (or default) values of the list column\n details: {\n size: 100 - this.listSize,\n min: 100 - this.listMaxWidth,\n max: 100 - this.listMinWidth\n }\n };\n },\n realPageTitle() {\n const entries = /* @__PURE__ */ new Set();\n if (this.pageTitle) {\n for (const part of this.pageTitle.split(\" - \")) {\n entries.add(part);\n }\n } else if (this.pageHeading) {\n for (const part of this.pageHeading.split(\" - \")) {\n entries.add(part);\n }\n if (entries.size > 0) {\n entries.add(this.localizedAppName);\n }\n } else {\n return null;\n }\n entries.add(instanceName);\n return [...entries.values()].join(\" - \");\n }\n },\n watch: {\n realPageTitle: {\n immediate: true,\n handler() {\n if (this.realPageTitle !== null) {\n document.title = this.realPageTitle;\n }\n }\n },\n paneConfigKey: {\n immediate: true,\n handler() {\n this.restorePaneConfig();\n }\n }\n },\n mounted() {\n if (!this.disableSwipe) {\n this.swiping = useSwipe(this.$el, {\n onSwipeEnd: this.handleSwipe\n });\n }\n this.restorePaneConfig();\n },\n methods: {\n /**\n * handle the swipe event\n *\n * @param {TouchEvent} e The touch event\n * @param {import('@vueuse/core').SwipeDirection} direction The swipe direction of the event\n */\n handleSwipe(e, direction) {\n const minSwipeX = 70;\n const touchZone = 300;\n if (Math.abs(this.swiping.lengthX) > minSwipeX) {\n if (this.swiping.coordsStart.x < touchZone / 2 && direction === \"right\") {\n emit(\"toggle-navigation\", {\n open: true\n });\n } else if (this.swiping.coordsStart.x < touchZone * 1.5 && direction === \"left\") {\n emit(\"toggle-navigation\", {\n open: false\n });\n }\n }\n },\n handlePaneResize(event) {\n const listPaneSize = parseInt(event.panes[0].size, 10);\n browserStorage.setItem(this.paneConfigID, JSON.stringify(listPaneSize));\n this.listPaneSize = listPaneSize;\n this.$emit(\"resizeList\", { size: listPaneSize });\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\n },\n // browserStorage is not reactive, we need to update this manually\n restorePaneConfig() {\n const listPaneSize = parseInt(browserStorage.getItem(this.paneConfigID), 10);\n if (!isNaN(listPaneSize) && listPaneSize !== this.listPaneSize) {\n logger.debug(\"[NcAppContent] pane config\", { listPaneSize });\n this.listPaneSize = listPaneSize;\n return listPaneSize;\n }\n },\n /**\n * The user clicked the back arrow from the details view\n */\n hideDetails() {\n this.$emit(\"update:showDetails\", false);\n }\n }\n};\nconst _hoisted_1 = {\n key: 0,\n class: \"hidden-visually\"\n};\nconst _hoisted_2 = { class: \"app-content-wrapper__list\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"app-content-wrapper\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppContentDetailsToggle = resolveComponent(\"NcAppContentDetailsToggle\");\n const _component_Pane = resolveComponent(\"Pane\");\n const _component_Splitpanes = resolveComponent(\"Splitpanes\");\n return openBlock(), createElementBlock(\"main\", {\n id: \"app-content-vue\",\n class: normalizeClass([\"app-content no-snapper\", { \"app-content--has-list\": !!_ctx.$slots.list }])\n }, [\n $props.pageHeading ? (openBlock(), createElementBlock(\"h1\", _hoisted_1, toDisplayString($props.pageHeading), 1)) : createCommentVNode(\"\", true),\n !!_ctx.$slots.list ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n $setup.isMobile || $props.layout === \"no-split\" ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-content-wrapper app-content-wrapper--no-split\", {\n \"app-content-wrapper--show-details\": $props.showDetails,\n \"app-content-wrapper--show-list\": !$props.showDetails,\n \"app-content-wrapper--mobile\": $setup.isMobile\n }])\n }, [\n $props.showDetails ? (openBlock(), createBlock(_component_NcAppContentDetailsToggle, {\n key: 0,\n onClick: withModifiers($options.hideDetails, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ], 512), [\n [vShow, !$props.showDetails]\n ]),\n $props.showDetails ? renderSlot(_ctx.$slots, \"default\", { key: 1 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2)) : $props.layout === \"vertical-split\" || $props.layout === \"horizontal-split\" ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_Splitpanes, {\n horizontal: $props.layout === \"horizontal-split\",\n class: normalizeClass([\"default-theme\", {\n \"splitpanes--horizontal\": $props.layout === \"horizontal-split\",\n \"splitpanes--vertical\": $props.layout === \"vertical-split\"\n }]),\n rtl: $setup.isRtl,\n onResized: $options.handlePaneResize\n }, {\n default: withCtx(() => [\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-list\",\n size: $data.listPaneSize || $options.paneDefaults.list.size,\n minSize: $options.paneDefaults.list.min,\n maxSize: $options.paneDefaults.list.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"]),\n createVNode(_component_Pane, {\n class: \"splitpanes__pane-details\",\n size: $options.detailsPaneSize,\n minSize: $options.paneDefaults.details.min,\n maxSize: $options.paneDefaults.details.max\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"size\", \"minSize\", \"maxSize\"])\n ]),\n _: 3\n }, 8, [\"horizontal\", \"class\", \"rtl\", \"onResized\"])\n ])) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n !_ctx.$slots.list ? renderSlot(_ctx.$slots, \"default\", { key: 2 }, void 0, true) : createCommentVNode(\"\", true)\n ], 2);\n}\nconst NcAppContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-51427d61\"]]);\nexport {\n NcAppContent as N\n};\n//# sourceMappingURL=NcAppContent-DavgjaFX.mjs.map\n","import '../assets/NcAppNavigationList--36j6Acm.css';\nimport { openBlock, createElementBlock, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationList\"\n};\nconst _hoisted_1 = { class: \"app-navigation-list\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"ul\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]);\n}\nconst NcAppNavigationList = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-d72957ed\"]]);\nexport {\n NcAppNavigationList as N\n};\n//# sourceMappingURL=NcAppNavigationList-CGSWabRB.mjs.map\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst HAS_APP_NAVIGATION_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:setHasAppNavigation\");\nconst CONTENT_SELECTOR_KEY = /* @__PURE__ */ Symbol.for(\"NcContent:selector\");\nexport {\n CONTENT_SELECTOR_KEY as C,\n HAS_APP_NAVIGATION_KEY as H\n};\n//# sourceMappingURL=constants-Ciwvl5xb.mjs.map\n","import '../assets/NcAppNavigation-OHw55TTZ.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, createVNode, unref, withCtx, inject, warn, useTemplateRef, ref, watchEffect, watch, onMounted, onUnmounted, normalizeClass, createElementVNode, withKeys, renderSlot, createBlock, createCommentVNode } from \"vue\";\nimport { subscribe, emit, unsubscribe } from \"@nextcloud/event-bus\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { N as NcAppNavigationList } from \"./NcAppNavigationList-CGSWabRB.mjs\";\nimport { G as mdiMenuOpen, H as mdiMenu } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { r as register, P as t20, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY } from \"./constants-Ciwvl5xb.mjs\";\nregister(t20);\nconst _hoisted_1$1 = { class: \"app-navigation-toggle-wrapper\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigationToggle\",\n props: {\n \"open\": { type: Boolean, ...{ required: true } },\n \"openModifiers\": {}\n },\n emits: [\"update:open\"],\n setup(__props) {\n const open = useModel(__props, \"open\");\n const title = computed(() => open.value ? t(\"Close navigation\") : t(\"Open navigation\"));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n createVNode(unref(NcButton), {\n class: \"app-navigation-toggle\",\n \"aria-controls\": \"app-navigation-vue\",\n \"aria-expanded\": open.value ? \"true\" : \"false\",\n \"aria-label\": title.value,\n title: title.value,\n variant: \"tertiary\",\n onClick: _cache[0] || (_cache[0] = ($event) => open.value = !open.value)\n }, {\n icon: withCtx(() => [\n createVNode(NcIconSvgWrapper, {\n path: open.value ? unref(mdiMenuOpen) : unref(mdiMenu)\n }, null, 8, [\"path\"])\n ]),\n _: 1\n }, 8, [\"aria-expanded\", \"aria-label\", \"title\"])\n ]);\n };\n }\n});\nconst NcAppNavigationToggle = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-5a15295d\"]]);\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"inert\"];\nconst _hoisted_2 = { class: \"app-navigation__search\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppNavigation\",\n props: {\n ariaLabel: {},\n ariaLabelledby: {}\n },\n setup(__props) {\n const props = __props;\n let focusTrap;\n const setHasAppNavigation = inject(\n HAS_APP_NAVIGATION_KEY,\n () => warn(\"NcAppNavigation is not mounted inside NcContent, this is probably an error.\"),\n false\n );\n const appNavigationContainerElement = useTemplateRef(\"appNavigationContainer\");\n const isMobile = useIsMobile();\n const open = ref(!isMobile.value);\n const shouldActivateFocusTrap = computed(() => isMobile.value && open.value);\n watchEffect(() => {\n if (!props.ariaLabel && !props.ariaLabelledby) {\n warn(\"NcAppNavigation requires either `ariaLabel` or `ariaLabelledby` to be set for accessibility.\");\n }\n });\n watch(isMobile, () => {\n open.value = !isMobile.value;\n });\n watch(shouldActivateFocusTrap, () => {\n toggleFocusTrap();\n });\n onMounted(() => {\n setHasAppNavigation(true);\n subscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n emit(\"navigation-toggled\", {\n open: open.value\n });\n focusTrap = createFocusTrap(appNavigationContainerElement.value, {\n allowOutsideClick: true,\n clickOutsideDeactivates: () => {\n if (isMobile.value) {\n focusTrap.deactivate({ returnFocus: false });\n toggleNavigation(false);\n }\n return false;\n },\n fallbackFocus: appNavigationContainerElement.value,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n toggleFocusTrap();\n });\n onUnmounted(() => {\n setHasAppNavigation(false);\n unsubscribe(\"toggle-navigation\", toggleNavigationByEventBus);\n focusTrap.deactivate();\n });\n function toggleNavigation(state) {\n if (open.value === state) {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n return;\n }\n open.value = state === void 0 ? !open.value : state;\n const bodyStyles = getComputedStyle(document.body);\n const animationLength = parseInt(bodyStyles.getPropertyValue(\"--animation-quick\")) || 100;\n setTimeout(() => {\n emit(\"navigation-toggled\", {\n open: open.value\n });\n }, 1.5 * animationLength);\n }\n function toggleNavigationByEventBus({ open: open2 }) {\n return toggleNavigation(open2);\n }\n function toggleFocusTrap() {\n if (shouldActivateFocusTrap.value) {\n focusTrap.activate();\n } else {\n focusTrap.deactivate();\n }\n }\n function handleEsc() {\n if (isMobile.value) {\n toggleNavigation(false);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"appNavigationContainer\",\n class: normalizeClass([\"app-navigation\", {\n \"app-navigation--closed\": !open.value,\n \"app-navigation--legacy\": unref(isLegacy34)\n }])\n }, [\n createElementVNode(\"nav\", {\n id: \"app-navigation-vue\",\n \"aria-hidden\": open.value ? \"false\" : \"true\",\n \"aria-label\": __props.ariaLabel || void 0,\n \"aria-labelledby\": __props.ariaLabelledby || void 0,\n class: \"app-navigation__content\",\n inert: !open.value || void 0,\n onKeydown: withKeys(handleEsc, [\"esc\"])\n }, [\n createElementVNode(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"search\", {}, void 0, true)\n ]),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation__body\", { \"app-navigation__body--no-list\": !_ctx.$slots.list }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2),\n _ctx.$slots.list ? (openBlock(), createBlock(NcAppNavigationList, {\n key: 0,\n class: \"app-navigation__list\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"list\", {}, void 0, true)\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", {}, void 0, true)\n ], 40, _hoisted_1),\n createVNode(NcAppNavigationToggle, {\n open: open.value,\n \"onUpdate:open\": toggleNavigation\n }, null, 8, [\"open\"])\n ], 2);\n };\n }\n});\nconst NcAppNavigation = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-1344f70d\"]]);\nexport {\n NcAppNavigation as N\n};\n//# sourceMappingURL=NcAppNavigation-g57j16pB.mjs.map\n","import '../assets/NcAppNavigationCaption-ggcWspH2.css';\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { resolveComponent, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createTextVNode, toDisplayString, createElementBlock, createVNode, normalizeProps, guardReactiveProps, renderSlot, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppNavigationCaption\",\n components: {\n NcActions\n },\n props: {\n /**\n * The text of the caption\n */\n name: {\n type: String,\n required: true\n },\n /**\n * `id` to set on the inner caption\n * Can be used for connecting the `NcActionCaption` with `NcActionList` using `aria-labelledby`.\n */\n headingId: {\n type: String,\n default: null\n },\n /**\n * Enable when used as a heading\n * e.g. Before NcAppNavigationList\n */\n isHeading: {\n type: Boolean,\n default: false\n },\n /**\n * If `isHeading` is set, this defines the heading level that should be used\n */\n headingLevel: {\n type: Number,\n default: 2\n },\n /**\n * Any [NcActions](#/Components/NcActions?id=ncactions-1) prop\n */\n // Not an actual prop but needed to show in vue-styleguidist docs\n ...NcActions.props\n },\n computed: {\n actionsProps() {\n const actionProps = Object.keys(NcActions.props);\n const props = Object.entries(this.$props).filter(([key, _value]) => actionProps.includes(key));\n return Object.fromEntries(props);\n },\n wrapperTag() {\n return this.isHeading ? \"div\" : \"li\";\n },\n captionTag() {\n const headingLevel = Math.max(2, this.headingLevel);\n return this.isHeading ? `h${headingLevel}` : \"span\";\n }\n }\n};\nconst _hoisted_1 = {\n key: 0,\n class: \"app-navigation-caption__actions\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcActions = resolveComponent(\"NcActions\");\n return openBlock(), createBlock(resolveDynamicComponent($options.wrapperTag), {\n class: normalizeClass([\"app-navigation-caption\", { \"app-navigation-caption--heading\": $props.isHeading }])\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent($options.captionTag), {\n id: $props.headingId,\n class: \"app-navigation-caption__name\"\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString($props.name), 1)\n ]),\n _: 1\n }, 8, [\"id\"])),\n !!_ctx.$slots.actions ? (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createVNode(_component_NcActions, normalizeProps(guardReactiveProps($options.actionsProps)), {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"actionsTriggerIcon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 16)\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"]);\n}\nconst NcAppNavigationCaption = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-f0e411c2\"]]);\nexport {\n NcAppNavigationCaption as N\n};\n//# sourceMappingURL=NcAppNavigationCaption-VjSWJ8R4.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ChevronUpIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon chevron-up-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst ChevronUp = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n ChevronUp as C\n};\n//# sourceMappingURL=ChevronUp-ChH8oB7p.mjs.map\n","import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3 = { d: \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" };\nconst _hoisted_4 = { key: 0 };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon arrow-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2))\n ], 16, _hoisted_1);\n}\nconst IconArrowRight = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nexport {\n IconArrowRight as I\n};\n//# sourceMappingURL=ArrowRight-B1ncAhus.mjs.map\n","import '../assets/NcInputConfirmCancel-DZEDRf0t.css';\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { r as register, k as t14, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, withKeys, withDirectives, vModelText, createVNode, withCtx } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t14);\nconst _sfc_main = {\n name: \"NcInputConfirmCancel\",\n components: {\n IconArrowRight,\n IconClose,\n NcButton\n },\n props: {\n /**\n * If this element is used on a primary element set to true for primary styling.\n */\n primary: {\n default: false,\n type: Boolean\n },\n /**\n * Placeholder of the edit field\n */\n placeholder: {\n default: \"\",\n type: String\n },\n /**\n * The current name (model value)\n */\n modelValue: {\n default: \"\",\n type: String\n }\n },\n emits: [\n \"cancel\",\n \"confirm\",\n \"update:modelValue\"\n ],\n setup() {\n return { isLegacy34 };\n },\n data() {\n return {\n labelConfirm: t(\"Confirm changes\"),\n labelCancel: t(\"Cancel changes\")\n };\n },\n computed: {\n valueModel: {\n get() {\n return this.modelValue;\n },\n set(newValue) {\n this.$emit(\"update:modelValue\", newValue);\n }\n }\n },\n methods: {\n confirm() {\n this.$emit(\"confirm\");\n },\n cancel() {\n this.$emit(\"cancel\");\n },\n focusInput() {\n this.$refs.input.focus();\n }\n }\n};\nconst _hoisted_1 = [\"placeholder\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"app-navigation-input-confirm\", { \"app-navigation-input-confirm--legacy\": $setup.isLegacy34 }])\n }, [\n createElementVNode(\"form\", {\n onSubmit: _cache[1] || (_cache[1] = withModifiers((...args) => $options.confirm && $options.confirm(...args), [\"prevent\"])),\n onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.cancel && $options.cancel(...args), [\"exact\", \"stop\", \"prevent\"]), [\"esc\"])),\n onClick: _cache[3] || (_cache[3] = withModifiers(() => {\n }, [\"stop\", \"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $options.valueModel = $event),\n type: \"text\",\n class: \"app-navigation-input-confirm__input\",\n placeholder: $props.placeholder\n }, null, 8, _hoisted_1), [\n [vModelText, $options.valueModel]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelConfirm,\n type: \"submit\",\n variant: \"primary\",\n onClick: withModifiers($options.confirm, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.labelCancel,\n type: \"reset\",\n variant: $props.primary ? \"primary\" : \"tertiary\",\n onClick: withModifiers($options.cancel, [\"stop\", \"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"variant\", \"onClick\"])\n ], 32)\n ], 2);\n}\nconst NcInputConfirmCancel = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-6926a0b8\"]]);\nexport {\n NcInputConfirmCancel as N\n};\n//# sourceMappingURL=NcInputConfirmCancel-CGTllrXj.mjs.map\n","const ActionGlobalMixin = {\n beforeUpdate() {\n this.text = this.getText();\n },\n data() {\n return {\n // $slots are not reactive.\n // We need to update the content manually\n text: this.getText()\n };\n },\n computed: {\n isLongText() {\n return this.text && this.text.trim().length > 20;\n }\n },\n methods: {\n getText() {\n return this.$slots.default?.()[0].children?.trim?.() || \"\";\n }\n }\n};\nexport {\n ActionGlobalMixin as A\n};\n//# sourceMappingURL=actionGlobal-BZFdtdJL.mjs.map\n","import { warn } from \"vue\";\nimport { N as NC_ACTIONS_CLOSE_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { A as ActionGlobalMixin } from \"./actionGlobal-BZFdtdJL.mjs\";\nconst ActionTextMixin = {\n mixins: [ActionGlobalMixin],\n props: {\n /**\n * Icon to show with the action, can be either a CSS class or an URL\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Whether we close the Actions menu after the click\n */\n closeAfterClick: {\n type: Boolean,\n default: false\n },\n /**\n * Aria label for the button. Not needed if the button has text.\n */\n ariaLabel: {\n type: String,\n default: null\n }\n },\n inject: {\n closeMenu: {\n from: NC_ACTIONS_CLOSE_MENU\n }\n },\n emits: [\n \"click\"\n ],\n created() {\n if (\"ariaHidden\" in this.$attrs) {\n warn(\"[NcAction*]: Do not set the ariaHidden attribute as the root element will inherit the incorrect aria-hidden.\");\n }\n },\n computed: {\n /**\n * Check if icon prop is an URL\n *\n * @return {boolean} Whether the icon prop is an URL\n */\n isIconUrl() {\n try {\n return !!new URL(this.icon, this.icon.startsWith(\"/\") ? window.location.origin : void 0);\n } catch {\n return false;\n }\n }\n },\n methods: {\n onClick(event) {\n this.$emit(\"click\", event);\n if (this.closeAfterClick) {\n this.closeMenu(false);\n }\n }\n }\n};\nexport {\n ActionTextMixin as A\n};\n//# sourceMappingURL=actionText-BXR0sWNu.mjs.map\n","import '../assets/NcActionButton-DLer-aUY.css';\nimport { c as mdiChevronRight, d as mdiCheck } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, renderSlot, normalizeStyle, toDisplayString, createCommentVNode, createBlock } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionButton\",\n components: {\n NcIconSvgWrapper\n },\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * disabled state of the action button\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * If this is a menu, a chevron icon will\n * be added at the end of the line\n */\n isMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The button's behavior, by default the button acts like a normal button with optional toggle button behavior if `modelValue` is `true` or `false`.\n * But you can also set to checkbox button behavior with tri-state or radio button like behavior.\n * This extends the native HTML button type attribute.\n */\n type: {\n type: String,\n default: \"button\",\n validator: (behavior) => [\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(behavior)\n },\n /**\n * The buttons state if `type` is 'checkbox' or 'radio' (meaning if it is pressed / selected).\n * For checkbox and toggle button behavior - boolean value.\n * For radio button behavior - could be a boolean checked or a string with the value of the button.\n * Note: Unlike native radio buttons, NcActionButton are not grouped by name, so you need to connect them by bind correct modelValue.\n *\n * **This is not availabe for `type='submit'` or `type='reset'`**\n *\n * If using `type='checkbox'` a `model-value` of `true` means checked, `false` means unchecked and `null` means indeterminate (tri-state)\n * For `type='radio'` `null` is equal to `false`\n */\n modelValue: {\n type: [Boolean, String],\n default: null\n },\n /**\n * The value used for the `modelValue` when this component is used with radio behavior\n * Similar to the `value` attribute of `<input type=\"radio\">`\n */\n value: {\n type: String,\n default: null\n },\n /**\n * Small underlying text content of the entry\n */\n description: {\n type: String,\n default: \"\"\n }\n },\n emits: [\"update:modelValue\"],\n setup() {\n return {\n mdiCheck,\n mdiChevronRight\n };\n },\n computed: {\n /**\n * determines if the action is focusable\n *\n * @return {boolean} is the action focusable ?\n */\n isFocusable() {\n return !this.disabled;\n },\n /**\n * The current \"checked\" or \"pressed\" state for the model behavior\n */\n isChecked() {\n if (this.type === \"radio\" && typeof this.modelValue !== \"boolean\") {\n return this.modelValue === this.value;\n }\n return this.modelValue;\n },\n /**\n * The native HTML type to set on the button\n */\n nativeType() {\n if (this.type === \"submit\" || this.type === \"reset\") {\n return this.type;\n }\n return \"button\";\n },\n /**\n * HTML attributes to bind to the <button>\n */\n buttonAttributes() {\n const attributes = {};\n if (this.isInSemanticMenu) {\n attributes.role = \"menuitem\";\n if (this.type === \"radio\") {\n attributes.role = \"menuitemradio\";\n attributes[\"aria-checked\"] = this.isChecked ? \"true\" : \"false\";\n } else if (this.type === \"checkbox\" || this.nativeType === \"button\" && this.modelValue !== null) {\n attributes.role = \"menuitemcheckbox\";\n attributes[\"aria-checked\"] = this.modelValue === null ? \"mixed\" : this.modelValue ? \"true\" : \"false\";\n }\n } else if (this.modelValue !== null && this.nativeType === \"button\") {\n attributes[\"aria-pressed\"] = this.modelValue ? \"true\" : \"false\";\n }\n return attributes;\n }\n },\n methods: {\n /**\n * Forward click event, let mixin handle the close-after-click and emit new modelValue if needed\n *\n * @param {MouseEvent} event - The click event\n */\n handleClick(event) {\n this.onClick(event);\n if (this.modelValue !== null || this.type !== \"button\") {\n if (this.type === \"radio\") {\n if (typeof this.modelValue !== \"boolean\") {\n if (!this.isChecked) {\n this.$emit(\"update:modelValue\", this.value);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n } else {\n this.$emit(\"update:modelValue\", !this.isChecked);\n }\n }\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = [\"aria-label\", \"disabled\", \"title\", \"type\"];\nconst _hoisted_3 = { class: \"action-button__longtext-wrapper\" };\nconst _hoisted_4 = {\n key: 0,\n class: \"action-button__name\"\n};\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = {\n key: 2,\n class: \"action-button__text\"\n};\nconst _hoisted_7 = [\"textContent\"];\nconst _hoisted_8 = {\n key: 2,\n class: \"action-button__pressed-icon material-design-icon\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([\"action\", { \"action--disabled\": $props.disabled }]),\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createElementVNode(\"button\", mergeProps({\n \"aria-label\": _ctx.ariaLabel,\n class: [\"action-button button-vue\", {\n \"action-button--active\": $options.isChecked,\n focusable: $options.isFocusable\n }],\n disabled: $props.disabled,\n title: _ctx.title,\n type: $options.nativeType\n }, $options.buttonAttributes, {\n onClick: _cache[0] || (_cache[0] = (...args) => $options.handleClick && $options.handleClick(...args))\n }), [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass([[_ctx.isIconUrl ? \"action-button__icon--url\" : _ctx.icon], \"action-button__icon\"]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null }),\n \"aria-hidden\": \"true\"\n }, null, 6)\n ], true),\n createElementVNode(\"span\", _hoisted_3, [\n _ctx.name ? (openBlock(), createElementBlock(\"strong\", _hoisted_4, toDisplayString(_ctx.name), 1)) : createCommentVNode(\"\", true),\n _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-button__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)) : (openBlock(), createElementBlock(\"span\", _hoisted_6, toDisplayString(_ctx.text), 1)),\n $props.description ? (openBlock(), createElementBlock(\"span\", {\n key: 3,\n class: \"action-button__description\",\n textContent: toDisplayString($props.description)\n }, null, 8, _hoisted_7)) : createCommentVNode(\"\", true)\n ]),\n $props.isMenu ? (openBlock(), createBlock(_component_NcIconSvgWrapper, {\n key: 0,\n class: \"action-button__menu-icon\",\n directional: \"\",\n path: $setup.mdiChevronRight\n }, null, 8, [\"path\"])) : $options.isChecked ? (openBlock(), createBlock(_component_NcIconSvgWrapper, {\n key: 1,\n path: $setup.mdiCheck,\n class: \"action-button__pressed-icon\"\n }, null, 8, [\"path\"])) : $options.isChecked === false ? (openBlock(), createElementBlock(\"span\", _hoisted_8)) : createCommentVNode(\"\", true),\n createCommentVNode(\"\", true)\n ], 16, _hoisted_2)\n ], 10, _hoisted_1);\n}\nconst NcActionButton = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-6c2daf4e\"]]);\nexport {\n NcActionButton as N\n};\n//# sourceMappingURL=NcActionButton-BO5T5ePT.mjs.map\n","import { defineComponent } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"NcVNodes\",\n props: {\n /**\n * The vnodes to render\n */\n vnodes: {\n type: [Array, Object],\n default: null\n }\n },\n /**\n * The render function to display the component\n */\n render() {\n return this.vnodes || this.$slots?.default?.({});\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs.map\n","import '../assets/NcAppNavigationItem-BZ1xj6Xi.css';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, createBlock, normalizeClass, withCtx, resolveDynamicComponent, normalizeProps, guardReactiveProps, withKeys, withModifiers, renderSlot, createVNode, createTextVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-C6gc637b.mjs\";\nimport { C as ChevronUp } from \"./ChevronUp-ChH8oB7p.mjs\";\nimport { r as register, N as t21, a as t, b as t51, O as t23 } from \"./_l10n-wdIzZwir.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcInputConfirmCancel } from \"./NcInputConfirmCancel-CGTllrXj.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BO5T5ePT.mjs\";\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-BOVpFVQz.mjs\";\nimport { _ as _sfc_main$4 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nconst _sfc_main$3 = {\n name: \"PencilIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$2 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon pencil-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$2);\n}\nconst Pencil = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$2 = {\n name: \"UndoIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$1 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon undo-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$1);\n}\nconst Undo = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"render\", _sfc_render$2]]);\nregister(t21);\nconst _sfc_main$1 = {\n name: \"NcAppNavigationIconCollapsible\",\n components: {\n NcButton,\n ChevronDown,\n ChevronUp\n },\n props: {\n /**\n * Is the list currently open (or collapsed)\n */\n open: {\n type: Boolean,\n required: true\n },\n /**\n * Is the navigation item currently active.\n */\n active: {\n type: Boolean,\n required: true\n }\n },\n emits: [\"click\"],\n setup() {\n return { isLegacy34 };\n },\n computed: {\n labelButton() {\n return this.open ? t(\"Collapse menu\") : t(\"Open menu\");\n }\n },\n methods: {\n onClick(e) {\n this.$emit(\"click\", e);\n }\n }\n};\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ChevronUp = resolveComponent(\"ChevronUp\");\n const _component_ChevronDown = resolveComponent(\"ChevronDown\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createBlock(_component_NcButton, {\n class: normalizeClass([\"icon-collapse\", {\n \"icon-collapse--active\": $props.active,\n \"icon-collapse--open\": $props.open\n }]),\n \"aria-label\": $options.labelButton,\n variant: $props.active && $setup.isLegacy34 ? \"tertiary-on-primary\" : \"tertiary\",\n onClick: $options.onClick\n }, {\n icon: withCtx(() => [\n $props.open ? (openBlock(), createBlock(_component_ChevronUp, {\n key: 0,\n size: 20\n })) : (openBlock(), createBlock(_component_ChevronDown, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"class\", \"aria-label\", \"variant\", \"onClick\"]);\n}\nconst NcAppNavigationIconCollapsible = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-cfbd3794\"]]);\nregister(t23, t51);\nconst _sfc_main = {\n name: \"NcAppNavigationItem\",\n components: {\n NcActions,\n NcActionButton,\n NcAppNavigationIconCollapsible,\n NcInputConfirmCancel,\n NcLoadingIcon,\n NcVNodes: _sfc_main$4,\n Pencil,\n Undo\n },\n props: {\n /**\n * If you are not using vue-router you can use the property to set this item as the active navigation entry.\n * When using vue-router and the `to` property this is set automatically.\n */\n active: {\n type: Boolean,\n default: false\n },\n /**\n * The main text content of the entry.\n */\n name: {\n type: String,\n required: true\n },\n /**\n * The title attribute of the element.\n */\n title: {\n type: String,\n default: null\n },\n /**\n * id attribute of the list item element\n */\n id: {\n type: String,\n default: () => createElementId(),\n validator: (id) => id.trim() !== \"\"\n },\n /**\n * Refers to the icon on the left, this prop accepts a class\n * like 'icon-category-enabled'.\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Displays a loading animated icon on the left of the element\n * instead of the icon.\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Passing in a route will make the root element of this\n * component a `<router-link />` that points to that route.\n * By leaving this blank, the root element will be a `<li>`.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * A direct link. This will be used as the `href` attribute.\n * This will ignore any `to` prop being defined.\n */\n href: {\n type: String,\n default: null\n },\n /**\n * Gives the possibility to collapse the children elements into the\n * parent element (true) or expands the children elements (false).\n */\n allowCollapse: {\n type: Boolean,\n default: false\n },\n /**\n * Makes the name of the item editable by providing an `ActionButton`\n * component that toggles a form\n */\n editable: {\n type: Boolean,\n default: false\n },\n /**\n * Only for 'editable' items, sets label for the edit action button.\n */\n editLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Only for items in 'editable' mode, sets the placeholder text for the editing form.\n */\n editPlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Pins the item to the bottom left area, above the settings. Do not\n * place 'non-pinned' `AppnavigationItem` components below `pinned`\n * ones.\n */\n pinned: {\n type: Boolean,\n default: false\n },\n /**\n * Puts the item in the 'undo' state.\n */\n undo: {\n type: Boolean,\n default: false\n },\n /**\n * The navigation collapsible state (synced)\n */\n open: {\n type: Boolean,\n default: false\n },\n /**\n * The actions menu open state (synced)\n */\n menuOpen: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * The action's menu default icon\n */\n menuIcon: {\n type: String,\n default: void 0\n },\n /**\n * The action's menu direction\n */\n menuPlacement: {\n type: String,\n default: \"bottom\"\n },\n /**\n * Entry aria details\n */\n ariaDescription: {\n type: String,\n default: null\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Number of action items outside the menu\n */\n inlineActions: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"update:menuOpen\",\n \"update:open\",\n \"update:name\",\n \"click\",\n \"undo\"\n ],\n setup() {\n return {\n isMobile: useIsMobile(),\n isLegacy34\n };\n },\n data() {\n return {\n actionsBoundariesElement: void 0,\n editingValue: \"\",\n opened: this.open,\n // Collapsible state\n editingActive: false,\n /**\n * Tracks the open state of the actions menu\n */\n menuOpenLocalValue: false,\n focused: false\n };\n },\n computed: {\n isRouterLink() {\n return this.to && !this.href;\n },\n // Checks if the component is already a children of another\n // instance of AppNavigationItem\n canHaveChildren() {\n if (this.$parent.$options._componentTag === \"AppNavigationItem\") {\n return false;\n } else {\n return true;\n }\n },\n editButtonAriaLabel() {\n return this.editLabel ? this.editLabel : t(\"Edit item\");\n },\n undoButtonAriaLabel() {\n return t(\"Undo changes\");\n }\n },\n watch: {\n open(newVal) {\n this.opened = newVal;\n }\n },\n mounted() {\n this.actionsBoundariesElement = document.querySelector(\"#content-vue\") || void 0;\n },\n methods: {\n // sync opened menu state with prop\n onMenuToggle(state) {\n this.$emit(\"update:menuOpen\", state);\n this.menuOpenLocalValue = state;\n },\n // toggle the collapsible state\n toggleCollapse() {\n this.opened = !this.opened;\n this.$emit(\"update:open\", this.opened);\n },\n /**\n * Handle link click\n *\n * @param {PointerEvent} event - Native click event\n * @param {(event: PointerEvent) => void} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n // Edition methods\n handleEdit() {\n this.editingValue = this.name;\n this.editingActive = true;\n this.onMenuToggle(false);\n this.$nextTick(() => {\n this.$refs.editingInput.focusInput();\n });\n },\n cancelEditing() {\n this.editingActive = false;\n },\n handleEditingDone() {\n this.$emit(\"update:name\", this.editingValue);\n this.editingValue = \"\";\n this.editingActive = false;\n },\n // Undo methods\n handleUndo() {\n this.$emit(\"undo\");\n },\n /**\n * Show actions upon focus\n */\n handleFocus() {\n this.focused = true;\n },\n handleBlur() {\n this.focused = false;\n },\n /**\n * This method checks if the root element of the component is focused and\n * if that's the case it focuses the actions button if available\n *\n * @param {Event} e the keydown event\n */\n handleTab(e) {\n if (!this.$refs.actions) {\n return;\n }\n if (this.focused) {\n e.preventDefault();\n this.$refs.actions.$refs.triggerButton.$el.focus();\n this.focused = false;\n } else {\n this.$refs.actions.$refs.triggerButton.$el.blur();\n }\n },\n /**\n * Is this an external link\n *\n * @param {string} href The link to check\n * @return {boolean} Whether it is external or not\n */\n isExternal(href) {\n return href && href.match(/[a-z]+:\\/\\//i);\n }\n }\n};\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"aria-current\", \"aria-description\", \"aria-expanded\", \"href\", \"target\", \"title\", \"onClick\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"editingContainer\"\n};\nconst _hoisted_4 = {\n key: 1,\n class: \"app-navigation-entry__deleted\"\n};\nconst _hoisted_5 = { class: \"app-navigation-entry__deleted-description\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"app-navigation-entry__counter-wrapper\"\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"app-navigation-entry__children\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_NcInputConfirmCancel = resolveComponent(\"NcInputConfirmCancel\");\n const _component_Pencil = resolveComponent(\"Pencil\");\n const _component_NcActionButton = resolveComponent(\"NcActionButton\");\n const _component_Undo = resolveComponent(\"Undo\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcAppNavigationIconCollapsible = resolveComponent(\"NcAppNavigationIconCollapsible\");\n return openBlock(), createElementBlock(\"li\", {\n id: $props.id,\n class: normalizeClass([{\n \"app-navigation-entry--opened\": $data.opened,\n \"app-navigation-entry--pinned\": $props.pinned,\n \"app-navigation-entry--collapsible\": $props.allowCollapse && !!_ctx.$slots.default\n }, \"app-navigation-entry-wrapper\"])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent($options.isRouterLink ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$options.isRouterLink && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry\", {\n \"app-navigation-entry--editing\": $data.editingActive,\n \"app-navigation-entry--deleted\": $props.undo,\n \"app-navigation-entry--legacy\": $setup.isLegacy34,\n active: $props.to && isActive || $props.active\n }])\n }, [\n !$props.undo ? (openBlock(), createElementBlock(\"a\", {\n key: 0,\n class: \"app-navigation-entry-link\",\n \"aria-current\": $props.active || $props.to && isActive ? \"page\" : void 0,\n \"aria-description\": $props.ariaDescription,\n \"aria-expanded\": !!_ctx.$slots.default ? $data.opened.toString() : void 0,\n href: $props.href || routerLinkHref || \"#\",\n target: $options.isExternal($props.href) ? \"_blank\" : void 0,\n title: $props.title || $props.name,\n onBlur: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onFocus: _cache[2] || (_cache[2] = (...args) => $options.handleFocus && $options.handleFocus(...args)),\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.handleTab && $options.handleTab(...args), [\"exact\"]), [\"tab\"]))\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-navigation-entry-icon\", { [$props.icon]: $props.icon }])\n }, [\n $props.loading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : renderSlot(_ctx.$slots, \"icon\", {\n key: 1,\n active: $props.active || $props.to && isActive\n }, void 0, true)\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass([\"app-navigation-entry__name\", { \"hidden-visually\": $data.editingActive }])\n }, toDisplayString($props.name), 3),\n $data.editingActive ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n createVNode(_component_NcInputConfirmCancel, {\n ref: \"editingInput\",\n modelValue: $data.editingValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => $data.editingValue = $event),\n placeholder: $props.editPlaceholder !== \"\" ? $props.editPlaceholder : $props.name,\n primary: $props.to && isActive || $props.active,\n onCancel: $options.cancelEditing,\n onConfirm: $options.handleEditingDone\n }, null, 8, [\"modelValue\", \"placeholder\", \"primary\", \"onCancel\", \"onConfirm\"])\n ])) : createCommentVNode(\"\", true)\n ], 40, _hoisted_2)) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createElementBlock(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, toDisplayString($props.name), 1)\n ])) : createCommentVNode(\"\", true),\n (!!_ctx.$slots.actions || !!_ctx.$slots.counter || $props.editable || $props.undo) && !$data.editingActive ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass([\"app-navigation-entry__utils\", { \"app-navigation-entry__utils--display-actions\": $props.forceDisplayActions || $data.menuOpenLocalValue || $props.menuOpen }])\n }, [\n !!_ctx.$slots.counter ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"counter\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n !!_ctx.$slots.actions || $props.editable && !$data.editingActive || $props.undo ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n ref: \"actions\",\n class: \"app-navigation-entry__actions\",\n container: \"#app-navigation-vue\",\n boundariesElement: $data.actionsBoundariesElement,\n inline: $props.inlineActions,\n placement: $props.menuPlacement,\n open: $props.menuOpen,\n forceMenu: $props.forceMenu,\n defaultIcon: $props.menuIcon,\n variant: \"tertiary\",\n \"onUpdate:open\": $options.onMenuToggle\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"menu-icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n $props.editable && !$data.editingActive ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 0,\n \"aria-label\": $options.editButtonAriaLabel,\n onClick: $options.handleEdit\n }, {\n icon: withCtx(() => [\n createVNode(_component_Pencil, { size: 20 })\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.editLabel), 1)\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n $props.undo ? (openBlock(), createBlock(_component_NcActionButton, {\n key: 1,\n \"aria-label\": $options.undoButtonAriaLabel,\n onClick: $options.handleUndo\n }, {\n icon: withCtx(() => [\n createVNode(_component_Undo, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"boundariesElement\", \"inline\", \"placement\", \"open\", \"forceMenu\", \"defaultIcon\", \"onUpdate:open\"])) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true),\n $props.allowCollapse && !!_ctx.$slots.default ? (openBlock(), createBlock(_component_NcAppNavigationIconCollapsible, {\n key: 3,\n active: $props.to && isActive || $props.active,\n open: $data.opened,\n onClick: withModifiers($options.toggleCollapse, [\"prevent\", \"stop\"])\n }, null, 8, [\"active\", \"open\", \"onClick\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ], 2)\n ]),\n _: 3\n }, 16)),\n $options.canHaveChildren && !!_ctx.$slots.default ? (openBlock(), createElementBlock(\"ul\", _hoisted_7, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1);\n}\nconst NcAppNavigationItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-fcab058b\"]]);\nexport {\n NcAppNavigationItem as N\n};\n//# sourceMappingURL=NcAppNavigationItem-CDeYtA3E.mjs.map\n","import '../assets/NcAppNavigationNew-Bn8zj5lM.css';\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, toDisplayString, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n components: {\n NcButton\n },\n props: {\n /**\n * Id of the button\n */\n buttonId: {\n type: String,\n required: false,\n default: \"\"\n },\n /**\n * Disabled state of the button\n */\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Main text of the button\n */\n text: {\n type: String,\n required: true\n },\n /**\n * The color variant to use.\n *\n * @default 'primary'\n */\n variant: {\n type: String,\n default: \"primary\",\n validator(value) {\n return [\"primary\", \"secondary\", \"tertiary\"].indexOf(value) !== -1;\n }\n }\n },\n emits: [\"click\"]\n};\nconst _hoisted_1 = { class: \"app-navigation-new\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcButton = resolveComponent(\"NcButton\");\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n createVNode(_component_NcButton, {\n id: $props.buttonId,\n disabled: $props.disabled,\n variant: $props.variant,\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\"))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ]),\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString($props.text), 1)\n ]),\n _: 3\n }, 8, [\"id\", \"disabled\", \"variant\"])\n ]);\n}\nconst NcAppNavigationNew = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-0ba6c9df\"]]);\nexport {\n NcAppNavigationNew as N\n};\n//# sourceMappingURL=NcAppNavigationNew-CBNppM7Q.mjs.map\n","import '../assets/NcContent-DX4Rs6Pc.css';\nimport { defineComponent, provide, computed, ref, onBeforeMount, openBlock, createElementBlock, normalizeClass, unref, createBlock, Teleport, createElementVNode, toDisplayString, withDirectives, createVNode, withModifiers, withCtx, createTextVNode, vShow, renderSlot, nextTick } from \"vue\";\nimport { emit } from \"@nextcloud/event-bus\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { useIsMobile } from \"../composables/useIsMobile/index.mjs\";\nimport { r as register, H as t30, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { H as HAS_APP_NAVIGATION_KEY, C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t30);\nconst contentSvg = '<!--\\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<svg width=\"395\" height=\"314\" viewBox=\"0 0 395 314\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<rect width=\"395\" height=\"314\" rx=\"11\" fill=\"#439DCD\"/>\\n<rect x=\"13\" y=\"51\" width=\"366\" height=\"248\" rx=\"8\" fill=\"white\"/>\\n<rect x=\"22\" y=\"111\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"127\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"63\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"191\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"143\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"79\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"159\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"95\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"175\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<path d=\"M288 145C277.56 147.8 265.32 149 254 149C242.68 149 230.44 147.8 220 145L218 153C225.44 155 234 156.32 242 157V209H250V185H258V209H266V157C274 156.32 282.56 155 290 153L288 145ZM254 145C258.4 145 262 141.4 262 137C262 132.6 258.4 129 254 129C249.6 129 246 132.6 246 137C246 141.4 249.6 145 254 145Z\" fill=\"#DEDEDE\"/>\\n<path d=\"M43.5358 13C38.6641 13 34.535 16.2415 33.2552 20.6333C32.143 18.3038 29.7327 16.6718 26.9564 16.6718C23.1385 16.6718 20 19.7521 20 23.4993C20 27.2465 23.1385 30.3282 26.9564 30.3282C29.7327 30.3282 32.1429 28.6952 33.2552 26.3653C34.535 30.7575 38.6641 34 43.5358 34C48.3715 34 52.4796 30.8064 53.7921 26.4637C54.9249 28.7407 57.3053 30.3282 60.0421 30.3282C63.8601 30.3282 67 27.2465 67 23.4993C67 19.7521 63.8601 16.6718 60.0421 16.6718C57.3053 16.6718 54.9249 18.2583 53.7921 20.5349C52.4796 16.1926 48.3715 13 43.5358 13ZM43.5358 17.0079C47.2134 17.0079 50.1512 19.8899 50.1512 23.4993C50.1512 27.1087 47.2134 29.9921 43.5358 29.9921C39.8583 29.9921 36.9218 27.1087 36.9218 23.4993C36.9218 19.8899 39.8583 17.0079 43.5358 17.0079ZM26.9564 20.6797C28.5677 20.6797 29.8307 21.9179 29.8307 23.4993C29.8307 25.0807 28.5677 26.3203 26.9564 26.3203C25.3452 26.3203 24.0836 25.0807 24.0836 23.4993C24.0836 21.9179 25.3452 20.6797 26.9564 20.6797ZM60.0421 20.6797C61.6534 20.6797 62.9164 21.9179 62.9164 23.4993C62.9164 25.0807 61.6534 26.3203 60.0421 26.3203C58.4309 26.3203 57.1693 25.0807 57.1693 23.4993C57.1693 21.9179 58.4309 20.6797 60.0421 20.6797Z\" fill=\"white\"/>\\n<rect x=\"79\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"99\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"119\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"139\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"159\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"179\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37258 0 0 5.37259 0 12V302C0 308.627 5.37259 314 12 314H383C389.627 314 395 308.627 395 302V12C395 5.37258 389.627 0 383 0H12ZM140 44C132.268 44 126 50.268 126 58V292C126 299.732 132.268 306 140 306H372C379.732 306 386 299.732 386 292V58C386 50.268 379.732 44 372 44H140Z\" fill=\"black\" fill-opacity=\"0.35\"/>\\n</svg>\\n';\nconst navigationSvg = '<!--\\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<svg width=\"395\" height=\"314\" viewBox=\"0 0 395 314\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<rect width=\"395\" height=\"314\" rx=\"11\" fill=\"#439DCD\"/>\\n<rect x=\"13\" y=\"51\" width=\"366\" height=\"248\" rx=\"8\" fill=\"white\"/>\\n<rect x=\"22\" y=\"111\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"127\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"63\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"191\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"143\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"79\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"159\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"95\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<rect x=\"22\" y=\"175\" width=\"92\" height=\"12\" rx=\"6\" fill=\"#DEDEDE\"/>\\n<path d=\"M288 145C277.56 147.8 265.32 149 254 149C242.68 149 230.44 147.8 220 145L218 153C225.44 155 234 156.32 242 157V209H250V185H258V209H266V157C274 156.32 282.56 155 290 153L288 145ZM254 145C258.4 145 262 141.4 262 137C262 132.6 258.4 129 254 129C249.6 129 246 132.6 246 137C246 141.4 249.6 145 254 145Z\" fill=\"#DEDEDE\"/>\\n<path d=\"M43.5358 13C38.6641 13 34.535 16.2415 33.2552 20.6333C32.143 18.3038 29.7327 16.6718 26.9564 16.6718C23.1385 16.6718 20 19.7521 20 23.4993C20 27.2465 23.1385 30.3282 26.9564 30.3282C29.7327 30.3282 32.1429 28.6952 33.2552 26.3653C34.535 30.7575 38.6641 34 43.5358 34C48.3715 34 52.4796 30.8064 53.7921 26.4637C54.9249 28.7407 57.3053 30.3282 60.0421 30.3282C63.8601 30.3282 67 27.2465 67 23.4993C67 19.7521 63.8601 16.6718 60.0421 16.6718C57.3053 16.6718 54.9249 18.2583 53.7921 20.5349C52.4796 16.1926 48.3715 13 43.5358 13ZM43.5358 17.0079C47.2134 17.0079 50.1512 19.8899 50.1512 23.4993C50.1512 27.1087 47.2134 29.9921 43.5358 29.9921C39.8583 29.9921 36.9218 27.1087 36.9218 23.4993C36.9218 19.8899 39.8583 17.0079 43.5358 17.0079ZM26.9564 20.6797C28.5677 20.6797 29.8307 21.9179 29.8307 23.4993C29.8307 25.0807 28.5677 26.3203 26.9564 26.3203C25.3452 26.3203 24.0836 25.0807 24.0836 23.4993C24.0836 21.9179 25.3452 20.6797 26.9564 20.6797ZM60.0421 20.6797C61.6534 20.6797 62.9164 21.9179 62.9164 23.4993C62.9164 25.0807 61.6534 26.3203 60.0421 26.3203C58.4309 26.3203 57.1693 25.0807 57.1693 23.4993C57.1693 21.9179 58.4309 20.6797 60.0421 20.6797Z\" fill=\"white\"/>\\n<rect x=\"79\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"99\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"119\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"139\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"159\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<rect x=\"179\" y=\"20\" width=\"8\" height=\"8\" rx=\"4\" fill=\"white\"/>\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37258 0 0 5.37259 0 12V302C0 308.627 5.37259 314 12 314H383C389.627 314 395 308.627 395 302V12C395 5.37258 389.627 0 383 0H12ZM112 44C119.732 44 126 50.268 126 58V292C126 299.732 119.732 306 112 306H20C12.268 306 6 299.732 6 292V58C6 50.268 12.268 44 20 44H112Z\" fill=\"black\" fill-opacity=\"0.35\"/>\\n</svg>\\n';\nconst _hoisted_1 = { class: \"vue-skip-actions__container\" };\nconst _hoisted_2 = { class: \"vue-skip-actions__headline\" };\nconst _hoisted_3 = { class: \"vue-skip-actions__buttons\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcContent\",\n props: {\n appName: {}\n },\n setup(__props) {\n const props = __props;\n provide(HAS_APP_NAVIGATION_KEY, setAppNavigation);\n provide(CONTENT_SELECTOR_KEY, \"#content-vue\");\n provide(\"appName\", computed(() => props.appName));\n const isMobile = useIsMobile();\n const hasAppNavigation = ref(false);\n const currentFocus = ref();\n const currentImage = computed(() => currentFocus.value === \"navigation\" ? navigationSvg : contentSvg);\n onBeforeMount(() => {\n const container = document.getElementById(\"skip-actions\");\n if (container) {\n container.innerHTML = \"\";\n container.classList.add(\"vue-skip-actions\");\n }\n });\n function openAppNavigation() {\n emit(\"toggle-navigation\", { open: true });\n nextTick(() => {\n window.location.hash = \"app-navigation-vue\";\n document.getElementById(\"app-navigation-vue\").focus();\n });\n }\n function setAppNavigation(value) {\n hasAppNavigation.value = value;\n if (!currentFocus.value) {\n currentFocus.value = \"navigation\";\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: \"content-vue\",\n class: normalizeClass([\"content\", [`app-${__props.appName.toLowerCase()}`, { \"content--legacy\": unref(isLegacy34) }]])\n }, [\n (openBlock(), createBlock(Teleport, { to: \"#skip-actions\" }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, toDisplayString(unref(t)(\"Keyboard navigation help\")), 1),\n createElementVNode(\"div\", _hoisted_3, [\n withDirectives(createVNode(NcButton, {\n href: \"#app-navigation-vue\",\n variant: \"tertiary\",\n onClick: withModifiers(openAppNavigation, [\"prevent\"]),\n onFocusin: _cache[0] || (_cache[0] = ($event) => currentFocus.value = \"navigation\"),\n onMouseover: _cache[1] || (_cache[1] = ($event) => currentFocus.value = \"navigation\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to app navigation\")), 1)\n ]),\n _: 1\n }, 512), [\n [vShow, hasAppNavigation.value]\n ]),\n createVNode(NcButton, {\n href: \"#app-content-vue\",\n variant: \"tertiary\",\n onFocusin: _cache[2] || (_cache[2] = ($event) => currentFocus.value = \"content\"),\n onMouseover: _cache[3] || (_cache[3] = ($event) => currentFocus.value = \"content\")\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(t)(\"Skip to main content\")), 1)\n ]),\n _: 1\n })\n ]),\n withDirectives(createVNode(NcIconSvgWrapper, {\n class: \"vue-skip-actions__image\",\n svg: currentImage.value,\n size: \"auto\"\n }, null, 8, [\"svg\"]), [\n [vShow, !unref(isMobile)]\n ])\n ])\n ])),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2);\n };\n }\n});\nconst NcContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-d13dcb98\"]]);\nexport {\n NcContent as N\n};\n//# sourceMappingURL=NcContent-BYh5hWDN.mjs.map\n","import '../assets/NcCounterBubble-ZnteskDR.css';\nimport { defineComponent, computed, openBlock, createElementBlock, normalizeClass, toDisplayString } from \"vue\";\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"title\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcCounterBubble\",\n props: {\n count: {},\n active: { type: Boolean },\n type: { default: \"\" },\n raw: { type: Boolean }\n },\n setup(__props) {\n const props = __props;\n const humanizedCount = computed(() => {\n if (props.raw) {\n return props.count.toString();\n }\n const formatter = new Intl.NumberFormat(getCanonicalLocale(), {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n return formatter.format(props.count);\n });\n const originalCountAsTitleIfNeeded = computed(() => {\n if (props.raw) {\n return;\n }\n const countAsString = props.count.toString();\n if (countAsString === humanizedCount.value) {\n return;\n }\n return countAsString;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"counter-bubble__counter\", {\n active: __props.active,\n \"counter-bubble__counter--highlighted\": __props.type === \"highlighted\",\n \"counter-bubble__counter--outlined\": __props.type === \"outlined\"\n }]),\n title: originalCountAsTitleIfNeeded.value\n }, toDisplayString(humanizedCount.value), 11, _hoisted_1);\n };\n }\n});\nconst NcCounterBubble = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-36ffc13f\"]]);\nexport {\n NcCounterBubble as N\n};\n//# sourceMappingURL=NcCounterBubble-CV0YMrXW.mjs.map\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon account-group-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\">\n <title v-if=\"title\">{{ title }}\n \n \n \n\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INJECTION_KEY_THEME = /* @__PURE__ */ Symbol.for(\"nc:theme:enforced\");\nexport {\n INJECTION_KEY_THEME as I\n};\n//# sourceMappingURL=constants-wIEKSp2G.mjs.map\n","import { createSharedComposable, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { computed, toValue, ref, watch, readonly, inject } from \"vue\";\nimport { checkIfDarkTheme } from \"../../functions/isDarkTheme/index.mjs\";\nimport { I as INJECTION_KEY_THEME } from \"../../chunks/constants-wIEKSp2G.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction useIsDarkThemeElement(el) {\n const element = computed(() => toValue(el) ?? document.body);\n const isDarkTheme = ref(checkIfDarkTheme(element.value));\n const isDarkSystemTheme = usePreferredDark();\n function updateIsDarkTheme() {\n isDarkTheme.value = checkIfDarkTheme(element.value);\n }\n useMutationObserver(element, updateIsDarkTheme, { attributes: true });\n watch(element, updateIsDarkTheme);\n watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n return readonly(isDarkTheme);\n}\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nfunction useIsDarkTheme() {\n const isDarkTheme = useInternalIsDarkTheme();\n const enforcedTheme = inject(INJECTION_KEY_THEME, void 0);\n return computed(() => {\n if (enforcedTheme?.value) {\n return enforcedTheme.value === \"dark\";\n }\n return isDarkTheme.value;\n });\n}\nexport {\n useIsDarkTheme,\n useIsDarkThemeElement\n};\n//# sourceMappingURL=index.mjs.map\n","import '../assets/NcDateTimePickerNative-BP6eg8aU.css';\nimport { defineComponent, useModel, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, mergeProps, mergeModels } from \"vue\";\nimport { r as register, x as t40, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nregister(t40);\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"id\", \"type\", \"value\", \"min\", \"max\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{ inheritAttrs: false },\n __name: \"NcDateTimePickerNative\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: void 0 },\n id: { default: () => createElementId() },\n inputClass: { default: \"\" },\n type: { default: \"date\" },\n label: { default: () => t(\"Please choose a date\") },\n min: { default: null },\n max: { default: null },\n hideLabel: { type: Boolean }\n }, {\n \"modelValue\": { default: null },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const formattedValue = computed(() => modelValue.value ? formatValue(modelValue.value) : \"\");\n const formattedMax = computed(() => props.max ? formatValue(props.max) : void 0);\n const formattedMin = computed(() => props.min ? formatValue(props.min) : void 0);\n function getReadableDate(value) {\n const yyyy = value.getFullYear().toString().padStart(4, \"0\");\n const MM = (value.getMonth() + 1).toString().padStart(2, \"0\");\n const dd = value.getDate().toString().padStart(2, \"0\");\n const hh = value.getHours().toString().padStart(2, \"0\");\n const mm = value.getMinutes().toString().padStart(2, \"0\");\n return { yyyy, MM, dd, hh, mm };\n }\n function formatValue(value) {\n const { yyyy, MM, dd, hh, mm } = getReadableDate(value);\n if (props.type === \"datetime-local\") {\n return `${yyyy}-${MM}-${dd}T${hh}:${mm}`;\n } else if (props.type === \"date\") {\n return `${yyyy}-${MM}-${dd}`;\n } else if (props.type === \"month\") {\n return `${yyyy}-${MM}`;\n } else if (props.type === \"time\") {\n return `${hh}:${mm}`;\n } else if (props.type === \"week\") {\n const startDate = new Date(Number.parseInt(yyyy), 0, 1);\n const daysSinceBeginningOfYear = Math.floor((value.getTime() - startDate.getTime()) / (24 * 60 * 60 * 1e3));\n const weekNumber = Math.ceil(daysSinceBeginningOfYear / 7);\n return `${yyyy}-W${weekNumber}`;\n }\n return \"\";\n }\n function onInput(event) {\n const input = event.target;\n if (!input || isNaN(input.valueAsNumber)) {\n modelValue.value = null;\n } else if (props.type === \"time\") {\n const time = input.value;\n const { yyyy, MM, dd } = getReadableDate(modelValue.value || /* @__PURE__ */ new Date());\n modelValue.value = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${time}`);\n } else if (props.type === \"month\") {\n const MM = (new Date(input.value).getMonth() + 1).toString().padStart(2, \"0\");\n const { yyyy, dd, hh, mm } = getReadableDate(modelValue.value || /* @__PURE__ */ new Date());\n modelValue.value = /* @__PURE__ */ new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`);\n } else {\n const timezoneOffsetSeconds = new Date(input.valueAsNumber).getTimezoneOffset() * 1e3 * 60;\n const inputDateWithTimezone = input.valueAsNumber + timezoneOffsetSeconds;\n modelValue.value = new Date(inputDateWithTimezone);\n }\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"native-datetime-picker\", _ctx.$props.class])\n }, [\n createElementVNode(\"label\", {\n class: normalizeClass([\"native-datetime-picker__label\", { \"hidden-visually\": __props.hideLabel }]),\n for: __props.id\n }, toDisplayString(__props.label), 11, _hoisted_1),\n createElementVNode(\"input\", mergeProps({\n id: __props.id,\n class: [\"native-datetime-picker__input\", __props.inputClass],\n type: __props.type,\n value: formattedValue.value,\n min: formattedMin.value,\n max: formattedMax.value\n }, _ctx.$attrs, { onInput }), null, 16, _hoisted_2)\n ], 2);\n };\n }\n});\nconst NcDateTimePickerNative = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-b97e1f7a\"]]);\nexport {\n NcDateTimePickerNative as N\n};\n//# sourceMappingURL=NcDateTimePickerNative-B8CMOUnH.mjs.map\n","import '../assets/NcTextArea-BxGe3Lqn.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, watch, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, createBlock, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"textarea__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{ inheritAttrs: false },\n __name: \"NcTextArea\",\n props: /* @__PURE__ */ mergeModels({\n disabled: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: void 0 },\n id: { default: () => createElementId() },\n inputClass: { default: \"\" },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n placeholder: { default: void 0 },\n resize: { default: \"both\" },\n success: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const textAreaElement = useTemplateRef(\"input\");\n const internalPlaceholder = computed(() => props.placeholder || (isLegacy ? props.label : void 0));\n watch(() => props.labelOutside, () => {\n if (!props.labelOutside && !props.label) {\n logger.warn(\"[NcTextArea] You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (typeof attrs[\"aria-describedby\"] === \"string\") {\n ariaDescribedby2.push(attrs[\"aria-describedby\"]);\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function handleInput(event) {\n const { value } = event.target;\n modelValue.value = value;\n }\n function focus(options) {\n textAreaElement.value.focus(options);\n }\n function select() {\n textAreaElement.value.select();\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"textarea\", [\n _ctx.$attrs.class,\n {\n \"textarea--disabled\": __props.disabled,\n \"textarea--legacy\": unref(isLegacy)\n }\n ]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"textarea\", mergeProps({ ..._ctx.$attrs, class: void 0 }, {\n id: __props.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"textarea__input\", [\n __props.inputClass,\n {\n \"textarea__input--label-outside\": __props.labelOutside,\n \"textarea__input--legacy\": unref(isLegacy),\n \"textarea__input--success\": __props.success,\n \"textarea__input--error\": __props.error\n }\n ]],\n disabled: __props.disabled,\n placeholder: internalPlaceholder.value,\n style: { resize: __props.resize },\n value: modelValue.value,\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !__props.labelOutside ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"textarea__label\",\n for: __props.id\n }, toDisplayString(__props.label), 9, _hoisted_3)) : createCommentVNode(\"\", true)\n ]),\n __props.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${__props.id}-helper-text`,\n class: normalizeClass([\"textarea__helper-text-message\", {\n \"textarea__helper-text-message--error\": __props.error,\n \"textarea__helper-text-message--success\": __props.success\n }])\n }, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"textarea__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : __props.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"textarea__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(__props.helperText), 1)\n ], 10, _hoisted_4)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcTextArea = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-d327fb49\"]]);\nexport {\n NcTextArea as N\n};\n//# sourceMappingURL=NcTextArea-Dxzj4zdb.mjs.map\n","import '../assets/NcInputField-DpyFJ1xw.css';\nimport { defineComponent, useModel, useAttrs, useTemplateRef, computed, warn, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, mergeProps, toDisplayString, createCommentVNode, withDirectives, renderSlot, vShow, createBlock, withCtx, createTextVNode, mergeModels } from \"vue\";\nimport { d as mdiCheck, j as mdiAlertCircleOutline } from \"./mdi-CpchYUUV.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { a as isLegacy } from \"./legacy-BoqDmOCa.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = { class: \"input-field__main-wrapper\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\", \"disabled\", \"placeholder\", \"type\", \"value\"];\nconst _hoisted_3 = [\"for\"];\nconst _hoisted_4 = { class: \"input-field__icon input-field__icon--leading\" };\nconst _hoisted_5 = {\n key: 2,\n class: \"input-field__icon input-field__icon--trailing\"\n};\nconst _hoisted_6 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"NcInputField\",\n props: /* @__PURE__ */ mergeModels({\n class: { default: \"\" },\n inputClass: { default: \"\" },\n id: { default: () => createElementId() },\n label: { default: void 0 },\n labelOutside: { type: Boolean },\n type: { default: \"text\" },\n placeholder: { default: void 0 },\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: { default: \"\" },\n disabled: { type: Boolean },\n pill: { type: Boolean }\n }, {\n \"modelValue\": { required: true },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"trailingButtonClick\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n const emit = __emit;\n __expose({\n focus,\n select\n });\n const attrs = useAttrs();\n const inputElement = useTemplateRef(\"input\");\n const hasTrailingIcon = computed(() => props.showTrailingButton || props.success);\n const internalPlaceholder = computed(() => {\n if (props.placeholder) {\n return props.placeholder;\n }\n if (props.label) {\n return isLegacy ? props.label : \"\";\n }\n return void 0;\n });\n const isValidLabel = computed(() => {\n const isValidLabel2 = props.label || props.labelOutside;\n if (!isValidLabel2) {\n warn(\"You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.\");\n }\n return isValidLabel2;\n });\n const ariaDescribedby = computed(() => {\n const ariaDescribedby2 = [];\n if (props.helperText) {\n ariaDescribedby2.push(`${props.id}-helper-text`);\n }\n if (attrs[\"aria-describedby\"]) {\n ariaDescribedby2.push(String(attrs[\"aria-describedby\"]));\n }\n return ariaDescribedby2.join(\" \") || void 0;\n });\n function focus(options) {\n inputElement.value.focus(options);\n }\n function select() {\n inputElement.value.select();\n }\n function handleInput(event) {\n const target = event.target;\n modelValue.value = props.type === \"number\" && typeof modelValue.value === \"number\" ? parseFloat(target.value) : target.value;\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"input-field\", [{\n \"input-field--disabled\": __props.disabled,\n \"input-field--error\": __props.error,\n \"input-field--label-outside\": __props.labelOutside || !isValidLabel.value,\n \"input-field--leading-icon\": !!_ctx.$slots.icon,\n \"input-field--trailing-icon\": hasTrailingIcon.value,\n \"input-field--pill\": __props.pill,\n \"input-field--success\": __props.success,\n \"input-field--legacy\": unref(isLegacy)\n }, _ctx.$props.class]])\n }, [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"input\", mergeProps(_ctx.$attrs, {\n id: __props.id,\n ref: \"input\",\n \"aria-describedby\": ariaDescribedby.value,\n \"aria-live\": \"polite\",\n class: [\"input-field__input\", __props.inputClass],\n disabled: __props.disabled,\n placeholder: internalPlaceholder.value,\n type: __props.type,\n value: modelValue.value.toString(),\n onInput: handleInput\n }), null, 16, _hoisted_2),\n !__props.labelOutside && isValidLabel.value ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: \"input-field__label\",\n for: __props.id\n }, toDisplayString(__props.label), 9, _hoisted_3)) : createCommentVNode(\"\", true),\n withDirectives(createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ], 512), [\n [vShow, !!_ctx.$slots.icon]\n ]),\n __props.showTrailingButton ? (openBlock(), createBlock(NcButton, {\n key: 1,\n class: \"input-field__trailing-button\",\n \"aria-label\": __props.trailingButtonLabel,\n disabled: __props.disabled,\n variant: \"tertiary-no-background\",\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"trailingButtonClick\", $event))\n }, {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"trailing-button-icon\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : __props.success || __props.error ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n path: unref(mdiCheck)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n path: unref(mdiAlertCircleOutline)\n }, null, 8, [\"path\"]))\n ])) : createCommentVNode(\"\", true)\n ]),\n __props.helperText ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n id: `${__props.id}-helper-text`,\n class: \"input-field__helper-text-message\"\n }, [\n __props.success ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 0,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiCheck),\n inline: \"\"\n }, null, 8, [\"path\"])) : __props.error ? (openBlock(), createBlock(NcIconSvgWrapper, {\n key: 1,\n class: \"input-field__helper-text-message__icon\",\n path: unref(mdiAlertCircleOutline),\n inline: \"\"\n }, null, 8, [\"path\"])) : createCommentVNode(\"\", true),\n createTextVNode(\" \" + toDisplayString(__props.helperText), 1)\n ], 8, _hoisted_6)) : createCommentVNode(\"\", true)\n ], 2);\n };\n }\n});\nconst NcInputField = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8e16cbb5\"]]);\nexport {\n NcInputField as N\n};\n//# sourceMappingURL=NcInputField-5Sg6EUP6.mjs.map\n","import { defineComponent, useModel, useTemplateRef, computed, openBlock, createBlock, unref, mergeProps, createSlots, withCtx, renderSlot, mergeModels } from \"vue\";\nimport { m as mdiArrowRight, a as mdiUndo, b as mdiClose } from \"./mdi-CpchYUUV.mjs\";\nimport { r as register, b as t51, c as t18, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { N as NcInputField } from \"./NcInputField-5Sg6EUP6.mjs\";\nregister(t18, t51);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTextField\",\n props: /* @__PURE__ */ mergeModels({\n class: {},\n inputClass: {},\n id: {},\n label: {},\n labelOutside: { type: Boolean },\n type: {},\n placeholder: {},\n showTrailingButton: { type: Boolean },\n trailingButtonLabel: { default: void 0 },\n success: { type: Boolean },\n error: { type: Boolean },\n helperText: {},\n disabled: { type: Boolean },\n pill: { type: Boolean },\n trailingButtonIcon: { default: \"close\" }\n }, {\n \"modelValue\": { default: \"\" },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const modelValue = useModel(__props, \"modelValue\");\n const props = __props;\n __expose({\n focus,\n select\n });\n const inputFieldInstance = useTemplateRef(\"inputField\");\n const defaultTrailingButtonLabels = {\n arrowEnd: t(\"Save changes\"),\n close: t(\"Clear text\"),\n undo: t(\"Undo changes\")\n };\n const NcInputFieldPropNames = new Set(Object.keys(NcInputField.props));\n const propsToForward = computed(() => {\n const sharedProps = Object.fromEntries(Object.entries(props).filter(([key]) => NcInputFieldPropNames.has(key)));\n sharedProps.trailingButtonLabel ??= defaultTrailingButtonLabels[props.trailingButtonIcon];\n return sharedProps;\n });\n function focus(options) {\n inputFieldInstance.value.focus(options);\n }\n function select() {\n inputFieldInstance.value.select();\n }\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(NcInputField), mergeProps(propsToForward.value, {\n ref: \"inputField\",\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event)\n }), createSlots({ _: 2 }, [\n !!_ctx.$slots.icon ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\")\n ]),\n key: \"0\"\n } : void 0,\n __props.type !== \"search\" ? {\n name: \"trailing-button-icon\",\n fn: withCtx(() => [\n __props.trailingButtonIcon === \"arrowEnd\" ? (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 0,\n directional: \"\",\n path: unref(mdiArrowRight)\n }, null, 8, [\"path\"])) : (openBlock(), createBlock(unref(NcIconSvgWrapper), {\n key: 1,\n path: __props.trailingButtonIcon === \"undo\" ? unref(mdiUndo) : unref(mdiClose)\n }, null, 8, [\"path\"]))\n ]),\n key: \"1\"\n } : void 0\n ]), 1040, [\"modelValue\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcTextField.vue_vue_type_script_setup_true_lang-Bx2esFU2.mjs.map\n","\n\n","import { showError, showSuccess } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { t } from '@nextcloud/l10n'\n/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n *\n * Lightweight reactive store shared across views (no Vuex/Pinia dependency).\n */\nimport { reactive } from 'vue'\nimport api from './api.js'\n\n/**\n *\n */\nfunction initialSession() {\n\ttry {\n\t\treturn loadState('absence', 'session')\n\t} catch {\n\t\treturn { uid: null }\n\t}\n}\n\n/**\n *\n */\nfunction initialLeaveTypes() {\n\ttry {\n\t\treturn loadState('absence', 'leaveTypes') || []\n\t} catch {\n\t\treturn []\n\t}\n}\n\nexport const store = reactive({\n\tsession: initialSession(),\n\tleaveTypes: initialLeaveTypes(),\n\trequests: [],\n\tbalance: { balances: [] },\n\tloading: false,\n\tselectedId: null,\n\n\t// ---- getters ----\n\tleaveType(id) {\n\t\t// A null/undefined id means the server withheld the leave type (neutral\n\t\t// shared-calendar visibility): show a generic \"Absent\" marker, not \"Unknown\".\n\t\t// The marker has to say nothing about *why* somebody is away. A palm tree here\n\t\t// was not neutral — it read as a holiday, so a colleague on sick leave was\n\t\t// shown sunbathing. Withholding the reason and then inventing a cheerful one\n\t\t// is worse than either revealing it or saying nothing.\n\t\tif (id === null || id === undefined) {\n\t\t\treturn { label: t('absence', 'Absent'), color: '#888', icon: '•' }\n\t\t}\n\t\treturn this.leaveTypes.find((t) => t.id === id) || { label: t('absence', 'Unknown'), color: '#888', icon: '❔' }\n\t},\n\t/**\n\t * True when the type is recorded by HR (e.g. sick leave), not self-requested.\n\t *\n\t * @param request\n\t */\n\tisHrRecorded(request) {\n\t\tconst type = this.leaveType(request.typeId)\n\t\treturn type && type.employeeRequestable === false\n\t},\n\t/**\n\t * Whether to show a status chip. HR-recorded leave (sick) that is approved has no\n\t * approval concept, so the \"Approved\" label is hidden as noise.\n\t *\n\t * @param request\n\t */\n\tstatusVisible(request) {\n\t\treturn !(this.isHrRecorded(request) && request.status === 'APPROVED')\n\t},\n\tget enabledLeaveTypes() {\n\t\treturn this.leaveTypes.filter((t) => t.enabled)\n\t},\n\t/** Types an employee may self-request (excludes HR-recorded types like sick leave). */\n\tget requestableLeaveTypes() {\n\t\treturn this.leaveTypes.filter((t) => t.enabled && t.employeeRequestable)\n\t},\n\n\t// ---- actions ----\n\tasync refreshSession() {\n\t\ttry {\n\t\t\tthis.session = await api.getSession()\n\t\t} catch (e) {\n\t\t\tconsole.error('Absence: failed to refresh session', e)\n\t\t}\n\t},\n\n\tasync loadLeaveTypes() {\n\t\tthis.leaveTypes = await api.listLeaveTypes(false)\n\t},\n\n\tasync loadRequests(params) {\n\t\tthis.loading = true\n\t\ttry {\n\t\t\tthis.requests = await api.listRequests(params)\n\t\t} catch {\n\t\t\tshowError(t('absence', 'Could not load requests'))\n\t\t} finally {\n\t\t\tthis.loading = false\n\t\t}\n\t},\n\n\tasync loadMyBalance(year) {\n\t\t// Mirrors loadRequests: callers run the two in a Promise.all, so an\n\t\t// unhandled rejection here took the request list down with it.\n\t\ttry {\n\t\t\tthis.balance = await api.getMyBalance(year)\n\t\t} catch {\n\t\t\tshowError(t('absence', 'Could not load your balance'))\n\t\t}\n\t},\n\n\tasync createRequest(data) {\n\t\tconst created = await api.createRequest(data)\n\t\tshowSuccess(t('absence', 'On its way ✈️'))\n\t\tawait this.refreshSession()\n\t\treturn created\n\t},\n\n\tasync updateRequest(id, data) {\n\t\tconst updated = await api.updateRequest(id, data)\n\t\tshowSuccess(t('absence', 'Request updated'))\n\t\treturn updated\n\t},\n\n\tasync cancelRequest(id) {\n\t\tconst res = await api.cancelRequest(id)\n\t\tshowSuccess(t('absence', 'Request cancelled'))\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tasync approveRequest(id, comment) {\n\t\tconst res = await api.approveRequest(id, comment)\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tasync rejectRequest(id, comment) {\n\t\tconst res = await api.rejectRequest(id, comment)\n\t\tshowSuccess(t('absence', 'Request declined'))\n\t\tawait this.refreshSession()\n\t\treturn res\n\t},\n\n\tselect(id) {\n\t\tthis.selectedId = id\n\t},\n})\n\n/**\n * Visual metadata for a request status (spec §15.4).\n * `text` uses Nextcloud's contrast-optimised *-text variables so labels stay\n * readable; `tint` is the base semantic colour used for the chip background.\n *\n * @param status\n */\nexport function statusMeta(status) {\n\tswitch (status) {\n\t\tcase 'PENDING':\n\t\t\treturn { label: t('absence', 'Pending'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '⏳' }\n\t\tcase 'ESCALATED':\n\t\t\treturn { label: t('absence', 'With HR'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '⏫' }\n\t\tcase 'APPROVED':\n\t\t\treturn { label: t('absence', 'Approved'), text: 'var(--color-success-text)', tint: 'var(--color-success)', icon: '✅' }\n\t\tcase 'REJECTED':\n\t\t\treturn { label: t('absence', 'Declined'), text: 'var(--color-error-text)', tint: 'var(--color-error)', icon: '✋' }\n\t\tcase 'CANCELLED':\n\t\t\treturn { label: t('absence', 'Cancelled'), text: 'var(--color-text-maxcontrast)', tint: 'var(--color-text-maxcontrast)', icon: '🚫' }\n\t\tcase 'WITHDRAWAL_PENDING':\n\t\t\treturn { label: t('absence', 'Withdrawal pending'), text: 'var(--color-warning-text)', tint: 'var(--color-warning)', icon: '↩️' }\n\t\tdefault:\n\t\t\treturn { label: status, text: 'var(--color-main-text)', tint: 'var(--color-text-maxcontrast)', icon: '•' }\n\t}\n}\n","\n\n\n\n\n\n","import { defaultWindow, isClient, onClickOutside, onKeyStroke, onLongPress, useActiveElement, useBattery, useBrowserLocation, useClipboard, useColorMode, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useDraggable, useElementBounding, useElementHover, useElementSize, useElementVisibility, useEyeDropper, useFullscreen, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePreferredReducedTransparency, useResizeObserver, useScreenSafeArea, useScroll, useScrollLock, useStorage, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from \"@vueuse/core\";\nimport { computed, defineComponent, h, reactive, shallowRef, toRefs, toValue, watch } from \"vue\";\nimport { createDisposableDirective, reactiveOmit, toRefs as toRefs$1, useToggle } from \"@vueuse/shared\";\n//#region ../core/onClickOutside/component.ts\nconst OnClickOutside = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst target = shallowRef();\n\tonClickOutside(target, (e) => {\n\t\temit(\"trigger\", e);\n\t}, props.options);\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default());\n\t};\n}, {\n\tname: \"OnClickOutside\",\n\tprops: [\"as\", \"options\"],\n\temits: [\"trigger\"]\n});\n//#endregion\n//#region ../core/onClickOutside/directive.ts\nconst stopClickOutsideMap = /* @__PURE__ */ new WeakMap();\nconst vOnClickOutside = {\n\tmounted(el, binding) {\n\t\tconst capture = !binding.modifiers.bubble;\n\t\tlet stop;\n\t\tif (typeof binding.value === \"function\") stop = onClickOutside(el, binding.value, { capture });\n\t\telse {\n\t\t\tconst [handler, options] = binding.value;\n\t\t\tstop = onClickOutside(el, handler, Object.assign({ capture }, options));\n\t\t}\n\t\tstopClickOutsideMap.set(el, stop);\n\t},\n\tunmounted(el) {\n\t\tconst stop = stopClickOutsideMap.get(el);\n\t\tif (stop && typeof stop === \"function\") stop();\n\t\telse stop === null || stop === void 0 || stop.stop();\n\t\tstopClickOutsideMap.delete(el);\n\t}\n};\n/** @deprecated use `vOnClickOutside` instead */\nconst VOnClickOutside = vOnClickOutside;\n//#endregion\n//#region ../core/onKeyStroke/directive.ts\nconst vOnKeyStroke = createDisposableDirective({ mounted(el, binding) {\n\tvar _binding$arg$split, _binding$arg;\n\tconst keys = (_binding$arg$split = (_binding$arg = binding.arg) === null || _binding$arg === void 0 ? void 0 : _binding$arg.split(\",\")) !== null && _binding$arg$split !== void 0 ? _binding$arg$split : true;\n\tif (typeof binding.value === \"function\") onKeyStroke(keys, binding.value, { target: el });\n\telse {\n\t\tconst [handler, options] = binding.value;\n\t\tonKeyStroke(keys, handler, {\n\t\t\ttarget: el,\n\t\t\t...options\n\t\t});\n\t}\n} });\n//#endregion\n//#region ../core/onLongPress/component.ts\nconst OnLongPress = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst target = shallowRef();\n\tconst data = onLongPress(target, (e) => {\n\t\temit(\"trigger\", e);\n\t}, props.options);\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"OnLongPress\",\n\tprops: [\"as\", \"options\"],\n\temits: [\"trigger\"]\n});\n//#endregion\n//#region ../core/onLongPress/directive.ts\nconst vOnLongPress = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") onLongPress(el, binding.value, { modifiers: binding.modifiers });\n\telse onLongPress(el, ...binding.value);\n} });\n/** @deprecated use `vOnLongPress` instead */\nconst VOnLongPress = vOnLongPress;\n//#endregion\n//#region ../core/useActiveElement/component.ts\nconst UseActiveElement = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ element: useActiveElement(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseActiveElement\",\n\tprops: [\n\t\t\"deep\",\n\t\t\"triggerOnRemoval\",\n\t\t\"window\",\n\t\t\"document\"\n\t]\n});\n//#endregion\n//#region ../core/useBattery/component.ts\nconst UseBattery = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useBattery(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseBattery\",\n\tprops: [\"navigator\"]\n});\n//#endregion\n//#region ../core/useBrowserLocation/component.ts\nconst UseBrowserLocation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useBrowserLocation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseBrowserLocation\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useClipboard/component.ts\nconst UseClipboard = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useClipboard(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseClipboard\",\n\tprops: [\n\t\t\"source\",\n\t\t\"read\",\n\t\t\"navigator\",\n\t\t\"copiedDuring\",\n\t\t\"legacy\"\n\t]\n});\n//#endregion\n//#region ../core/useColorMode/component.ts\nconst UseColorMode = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst mode = useColorMode(props);\n\tconst data = reactive({\n\t\tmode,\n\t\tsystem: mode.system,\n\t\tstore: mode.store\n\t});\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseColorMode\",\n\tprops: [\n\t\t\"attribute\",\n\t\t\"deep\",\n\t\t\"disableTransition\",\n\t\t\"emitAuto\",\n\t\t\"eventFilter\",\n\t\t\"flush\",\n\t\t\"initOnMounted\",\n\t\t\"initialValue\",\n\t\t\"listenToStorageChanges\",\n\t\t\"mergeDefaults\",\n\t\t\"modes\",\n\t\t\"onChanged\",\n\t\t\"onError\",\n\t\t\"selector\",\n\t\t\"serializer\",\n\t\t\"shallow\",\n\t\t\"storage\",\n\t\t\"storageKey\",\n\t\t\"storageRef\",\n\t\t\"window\",\n\t\t\"writeDefaults\"\n\t]\n});\n//#endregion\n//#region ../core/useDark/component.ts\nconst UseDark = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst isDark = useDark(props);\n\tconst data = reactive({\n\t\tisDark,\n\t\ttoggleDark: useToggle(isDark)\n\t});\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDark\",\n\tprops: [\n\t\t\"attribute\",\n\t\t\"deep\",\n\t\t\"disableTransition\",\n\t\t\"emitAuto\",\n\t\t\"eventFilter\",\n\t\t\"flush\",\n\t\t\"initOnMounted\",\n\t\t\"initialValue\",\n\t\t\"listenToStorageChanges\",\n\t\t\"mergeDefaults\",\n\t\t\"onChanged\",\n\t\t\"onError\",\n\t\t\"selector\",\n\t\t\"serializer\",\n\t\t\"shallow\",\n\t\t\"storage\",\n\t\t\"storageKey\",\n\t\t\"storageRef\",\n\t\t\"valueDark\",\n\t\t\"valueLight\",\n\t\t\"window\",\n\t\t\"writeDefaults\"\n\t]\n});\n//#endregion\n//#region ../core/useDeviceMotion/component.ts\nconst UseDeviceMotion = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = useDeviceMotion(props);\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDeviceMotion\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"requestPermissions\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useDeviceOrientation/component.ts\nconst UseDeviceOrientation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDeviceOrientation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDeviceOrientation\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useDevicePixelRatio/component.ts\nconst UseDevicePixelRatio = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDevicePixelRatio(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDevicePixelRatio\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useDevicesList/component.ts\nconst UseDevicesList = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useDevicesList(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDevicesList\",\n\tprops: [\n\t\t\"constraints\",\n\t\t\"navigator\",\n\t\t\"onUpdated\",\n\t\t\"requestPermissions\"\n\t]\n});\n//#endregion\n//#region ../core/useDocumentVisibility/component.ts\nconst UseDocumentVisibility = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ visibility: useDocumentVisibility(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseDocumentVisibility\",\n\tprops: [\"document\"]\n});\n//#endregion\n//#region ../core/useDraggable/component.ts\nconst UseDraggable = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst handle = computed(() => {\n\t\tvar _toValue;\n\t\treturn (_toValue = toValue(props.handle)) !== null && _toValue !== void 0 ? _toValue : target.value;\n\t});\n\tconst containerElement = computed(() => {\n\t\tvar _ref;\n\t\treturn (_ref = props.containerElement) !== null && _ref !== void 0 ? _ref : void 0;\n\t});\n\tconst disabled = computed(() => !!props.disabled);\n\tconst storageValue = props.storageKey && useStorage(props.storageKey, toValue(props.initialValue) || {\n\t\tx: 0,\n\t\ty: 0\n\t}, isClient ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0);\n\tconst initialValue = storageValue || props.initialValue || {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tconst onEnd = (position, event) => {\n\t\tvar _props$onEnd;\n\t\t(_props$onEnd = props.onEnd) === null || _props$onEnd === void 0 || _props$onEnd.call(props, position, event);\n\t\tif (!storageValue) return;\n\t\tstorageValue.value.x = position.x;\n\t\tstorageValue.value.y = position.y;\n\t};\n\tconst data = reactive(useDraggable(target, {\n\t\t...props,\n\t\thandle,\n\t\tinitialValue,\n\t\tonEnd,\n\t\tdisabled,\n\t\tcontainerElement\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", {\n\t\t\tref: target,\n\t\t\tstyle: `touch-action:none;${data.style}`\n\t\t}, slots.default(data));\n\t};\n}, {\n\tname: \"UseDraggable\",\n\tprops: [\n\t\t\"storageKey\",\n\t\t\"storageType\",\n\t\t\"initialValue\",\n\t\t\"exact\",\n\t\t\"preventDefault\",\n\t\t\"stopPropagation\",\n\t\t\"pointerTypes\",\n\t\t\"as\",\n\t\t\"handle\",\n\t\t\"axis\",\n\t\t\"onStart\",\n\t\t\"onMove\",\n\t\t\"onEnd\",\n\t\t\"disabled\",\n\t\t\"buttons\",\n\t\t\"containerElement\",\n\t\t\"capture\",\n\t\t\"draggingElement\"\n\t]\n});\n//#endregion\n//#region ../core/useElementBounding/component.ts\nconst UseElementBounding = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useElementBounding(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementBounding\",\n\tprops: [\n\t\t\"as\",\n\t\t\"immediate\",\n\t\t\"reset\",\n\t\t\"updateTiming\",\n\t\t\"windowResize\",\n\t\t\"windowScroll\"\n\t]\n});\n//#endregion\n//#region ../core/useElementBounding/directive.ts\nconst vElementBounding = createDisposableDirective({ mounted(el, binding) {\n\tconst [handler, options] = typeof binding.value === \"function\" ? [binding.value, {}] : binding.value;\n\tconst { height, bottom, left, right, top, width, x, y } = useElementBounding(el, options);\n\twatch([\n\t\theight,\n\t\tbottom,\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\twidth,\n\t\tx,\n\t\ty\n\t], () => handler({\n\t\theight,\n\t\tbottom,\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\twidth,\n\t\tx,\n\t\ty\n\t}));\n} });\n//#endregion\n//#region ../core/useElementHover/directive.ts\nconst vElementHover = createDisposableDirective({ mounted(el, binding) {\n\tconst value = binding.value;\n\tif (typeof value === \"function\") watch(useElementHover(el), (v) => value(v));\n\telse {\n\t\tconst [handler, options] = value;\n\t\twatch(useElementHover(el, options), (v) => handler(v));\n\t}\n} });\n//#endregion\n//#region ../core/useElementSize/component.ts\nconst UseElementSize = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tvar _toValue, _toValue2;\n\tconst target = shallowRef();\n\tconst { width, height } = toRefs(props);\n\tconst data = reactive(useElementSize(target, {\n\t\twidth: (_toValue = toValue(width)) !== null && _toValue !== void 0 ? _toValue : 0,\n\t\theight: (_toValue2 = toValue(height)) !== null && _toValue2 !== void 0 ? _toValue2 : 0\n\t}, {\n\t\tbox: props.box,\n\t\twindow: props.window\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementSize\",\n\tprops: [\n\t\t\"as\",\n\t\t\"box\",\n\t\t\"height\",\n\t\t\"width\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useElementSize/directive.ts\nconst vElementSize = createDisposableDirective({ mounted(el, binding) {\n\tvar _binding$value;\n\tconst handler = typeof binding.value === \"function\" ? binding.value : (_binding$value = binding.value) === null || _binding$value === void 0 ? void 0 : _binding$value[0];\n\tconst { width, height } = useElementSize(el, ...typeof binding.value === \"function\" ? [] : binding.value.slice(1));\n\twatch([width, height], ([width, height]) => handler({\n\t\twidth,\n\t\theight\n\t}));\n} });\n//#endregion\n//#region ../core/useElementVisibility/component.ts\nconst UseElementVisibility = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useElementVisibility(target, {\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseElementVisibility\",\n\tprops: [\n\t\t\"as\",\n\t\t\"once\",\n\t\t\"rootMargin\",\n\t\t\"scrollTarget\",\n\t\t\"threshold\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useElementVisibility/directive.ts\nconst vElementVisibility = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") {\n\t\tconst handler = binding.value;\n\t\twatch(useElementVisibility(el), (v) => handler(v), { immediate: true });\n\t} else {\n\t\tconst [handler, options] = binding.value;\n\t\tif (options === null || options === void 0 ? void 0 : options.controls) {\n\t\t\tconst state = useElementVisibility(el, options);\n\t\t\twatch(state.isVisible, () => handler(state), { immediate: true });\n\t\t} else watch(useElementVisibility(el, options), (v) => handler(v), { immediate: true });\n\t}\n} });\n//#endregion\n//#region ../core/useEyeDropper/component.ts\nconst UseEyeDropper = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useEyeDropper(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseEyeDropper\",\n\tprops: [\"initialValue\"]\n});\n//#endregion\n//#region ../core/useFullscreen/component.ts\nconst UseFullscreen = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useFullscreen(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseFullscreen\",\n\tprops: [\n\t\t\"as\",\n\t\t\"autoExit\",\n\t\t\"document\"\n\t]\n});\n//#endregion\n//#region ../core/useGeolocation/component.ts\nconst UseGeolocation = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useGeolocation(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseGeolocation\",\n\tprops: [\n\t\t\"enableHighAccuracy\",\n\t\t\"immediate\",\n\t\t\"maximumAge\",\n\t\t\"navigator\",\n\t\t\"timeout\"\n\t]\n});\n//#endregion\n//#region ../core/useIdle/component.ts\nconst UseIdle = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useIdle(props.timeout, props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseIdle\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"events\",\n\t\t\"initialState\",\n\t\t\"listenForVisibilityChange\",\n\t\t\"timeout\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useImage/component.ts\nconst UseImage = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useImage(props));\n\treturn () => {\n\t\tif (data.isLoading && slots.loading) return slots.loading(data);\n\t\telse if (data.error && slots.error) return slots.error(data.error);\n\t\tif (slots.default) return slots.default(data);\n\t\treturn h(props.as || \"img\", props);\n\t};\n}, {\n\tname: \"UseImage\",\n\tprops: [\n\t\t\"alt\",\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"crossorigin\",\n\t\t\"decoding\",\n\t\t\"fetchPriority\",\n\t\t\"height\",\n\t\t\"ismap\",\n\t\t\"loading\",\n\t\t\"referrerPolicy\",\n\t\t\"sizes\",\n\t\t\"src\",\n\t\t\"srcset\",\n\t\t\"usemap\",\n\t\t\"width\"\n\t]\n});\n//#endregion\n//#region ../core/useInfiniteScroll/directive.ts\nconst vInfiniteScroll = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useInfiniteScroll(el, binding.value);\n\telse useInfiniteScroll(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useIntersectionObserver/directive.ts\nconst vIntersectionObserver = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useIntersectionObserver(el, binding.value);\n\telse useIntersectionObserver(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useMouse/component.ts\nconst UseMouse = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useMouse(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseMouse\",\n\tprops: [\n\t\t\"eventFilter\",\n\t\t\"initialValue\",\n\t\t\"resetOnTouchEnds\",\n\t\t\"scroll\",\n\t\t\"target\",\n\t\t\"touch\",\n\t\t\"type\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useMouseInElement/component.ts\nconst UseMouseInElement = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useMouseInElement(target, props));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseMouseInElement\",\n\tprops: [\n\t\t\"as\",\n\t\t\"eventFilter\",\n\t\t\"handleOutside\",\n\t\t\"initialValue\",\n\t\t\"resetOnTouchEnds\",\n\t\t\"scroll\",\n\t\t\"target\",\n\t\t\"touch\",\n\t\t\"type\",\n\t\t\"window\",\n\t\t\"windowResize\",\n\t\t\"windowScroll\"\n\t]\n});\n//#endregion\n//#region ../core/useMouseInElement/directive.ts\nconst vMouseInElement = createDisposableDirective({ mounted(el, binding) {\n\tconst [handler, options] = typeof binding.value === \"function\" ? [binding.value, {}] : binding.value;\n\twatch(reactiveOmit(reactive(useMouseInElement(el, options)), \"stop\"), (val) => handler(val));\n} });\n//#endregion\n//#region ../core/useMousePressed/component.ts\nconst UseMousePressed = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(useMousePressed({\n\t\t...props,\n\t\ttarget\n\t}));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UseMousePressed\",\n\tprops: [\n\t\t\"as\",\n\t\t\"capture\",\n\t\t\"drag\",\n\t\t\"initialValue\",\n\t\t\"onPressed\",\n\t\t\"onReleased\",\n\t\t\"touch\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/useNetwork/component.ts\nconst UseNetwork = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useNetwork(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseNetwork\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useNow/component.ts\nconst UseNow = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useNow({\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseNow\",\n\tprops: [\n\t\t\"scheduler\",\n\t\t\"immediate\",\n\t\t\"interval\"\n\t]\n});\n//#endregion\n//#region ../core/useObjectUrl/component.ts\nconst UseObjectUrl = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst { object } = toRefs$1(props);\n\tconst url = useObjectUrl(object);\n\treturn () => {\n\t\tif (slots.default && url.value) return slots.default(url.value);\n\t};\n}, {\n\tname: \"UseObjectUrl\",\n\tprops: [\"object\"]\n});\n//#endregion\n//#region ../core/useOffsetPagination/component.ts\nconst UseOffsetPagination = /* @__PURE__ */ defineComponent((props, { slots, emit }) => {\n\tconst data = reactive(useOffsetPagination({\n\t\t...props,\n\t\ttotal: toValue(props.total) || void 0,\n\t\tonPageChange(...args) {\n\t\t\tvar _props$onPageChange;\n\t\t\t(_props$onPageChange = props.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props, ...args);\n\t\t\temit(\"page-change\", ...args);\n\t\t},\n\t\tonPageSizeChange(...args) {\n\t\t\tvar _props$onPageSizeChan;\n\t\t\t(_props$onPageSizeChan = props.onPageSizeChange) === null || _props$onPageSizeChan === void 0 || _props$onPageSizeChan.call(props, ...args);\n\t\t\temit(\"page-size-change\", ...args);\n\t\t},\n\t\tonPageCountChange(...args) {\n\t\t\tvar _props$onPageCountCha;\n\t\t\t(_props$onPageCountCha = props.onPageCountChange) === null || _props$onPageCountCha === void 0 || _props$onPageCountCha.call(props, ...args);\n\t\t\temit(\"page-count-change\", ...args);\n\t\t}\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseOffsetPagination\",\n\tprops: [\n\t\t\"onPageChange\",\n\t\t\"onPageCountChange\",\n\t\t\"onPageSizeChange\",\n\t\t\"page\",\n\t\t\"pageSize\",\n\t\t\"total\"\n\t]\n});\n//#endregion\n//#region ../core/useOnline/component.ts\nconst UseOnline = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ isOnline: useOnline(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseOnline\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePageLeave/component.ts\nconst UsePageLeave = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ isLeft: usePageLeave(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePageLeave\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePointer/component.ts\nconst UsePointer = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst el = shallowRef(null);\n\tconst data = reactive(usePointer({\n\t\t...props,\n\t\ttarget: props.target === \"self\" ? el : defaultWindow\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePointer\",\n\tprops: [\n\t\t\"initialValue\",\n\t\t\"pointerTypes\",\n\t\t\"target\",\n\t\t\"window\"\n\t]\n});\n//#endregion\n//#region ../core/usePointerLock/component.ts\nconst UsePointerLock = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst target = shallowRef();\n\tconst data = reactive(usePointerLock(target));\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { ref: target }, slots.default(data));\n\t};\n}, {\n\tname: \"UsePointerLock\",\n\tprops: [\"as\", \"document\"]\n});\n//#endregion\n//#region ../core/usePreferredColorScheme/component.ts\nconst UsePreferredColorScheme = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ colorScheme: usePreferredColorScheme(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredColorScheme\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredContrast/component.ts\nconst UsePreferredContrast = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ contrast: usePreferredContrast(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredContrast\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredDark/component.ts\nconst UsePreferredDark = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ prefersDark: usePreferredDark(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredDark\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredLanguages/component.ts\nconst UsePreferredLanguages = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ languages: usePreferredLanguages(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredLanguages\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredReducedMotion/component.ts\nconst UsePreferredReducedMotion = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ motion: usePreferredReducedMotion(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UsePreferredReducedMotion\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/usePreferredReducedTransparency/component.ts\nconst UsePreferredReducedTransparency = /* @__PURE__ */ defineComponent({\n\tname: \"UsePreferredReducedTransparency\",\n\tsetup(props, { slots }) {\n\t\tconst data = reactive({ transparency: usePreferredReducedTransparency() });\n\t\treturn () => {\n\t\t\tif (slots.default) return slots.default(data);\n\t\t};\n\t}\n});\n//#endregion\n//#region ../core/useResizeObserver/directive.ts\nconst vResizeObserver = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") useResizeObserver(el, binding.value);\n\telse useResizeObserver(el, ...binding.value);\n} });\n//#endregion\n//#region ../core/useScreenSafeArea/component.ts\nconst UseScreenSafeArea = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useScreenSafeArea());\n\treturn () => {\n\t\tif (slots.default) return h(props.as || \"div\", { style: {\n\t\t\tpaddingTop: props.top ? data.top : \"\",\n\t\t\tpaddingRight: props.right ? data.right : \"\",\n\t\t\tpaddingBottom: props.bottom ? data.bottom : \"\",\n\t\t\tpaddingLeft: props.left ? data.left : \"\",\n\t\t\tboxSizing: \"border-box\",\n\t\t\tmaxHeight: \"100vh\",\n\t\t\tmaxWidth: \"100vw\",\n\t\t\toverflow: \"auto\"\n\t\t} }, slots.default(data));\n\t};\n}, {\n\tname: \"UseScreenSafeArea\",\n\tprops: [\n\t\t\"top\",\n\t\t\"right\",\n\t\t\"bottom\",\n\t\t\"left\"\n\t]\n});\n//#endregion\n//#region ../core/useScroll/directive.ts\nconst vScroll = createDisposableDirective({ mounted(el, binding) {\n\tif (typeof binding.value === \"function\") {\n\t\tconst handler = binding.value;\n\t\tconst state = useScroll(el, {\n\t\t\tonScroll() {\n\t\t\t\thandler(state);\n\t\t\t},\n\t\t\tonStop() {\n\t\t\t\thandler(state);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconst [handler, options] = binding.value;\n\t\tconst state = useScroll(el, {\n\t\t\t...options,\n\t\t\tonScroll(e) {\n\t\t\t\tvar _options$onScroll;\n\t\t\t\t(_options$onScroll = options.onScroll) === null || _options$onScroll === void 0 || _options$onScroll.call(options, e);\n\t\t\t\thandler(state);\n\t\t\t},\n\t\t\tonStop(e) {\n\t\t\t\tvar _options$onStop;\n\t\t\t\t(_options$onStop = options.onStop) === null || _options$onStop === void 0 || _options$onStop.call(options, e);\n\t\t\t\thandler(state);\n\t\t\t}\n\t\t});\n\t}\n} });\n//#endregion\n//#region ../core/useScrollLock/directive.ts\nfunction onScrollLock() {\n\tlet isMounted = false;\n\tconst state = shallowRef(false);\n\treturn createDisposableDirective((el, binding) => {\n\t\tstate.value = binding.value;\n\t\tif (isMounted) return;\n\t\tisMounted = true;\n\t\tconst isLocked = useScrollLock(el, binding.value);\n\t\twatch(state, (v) => isLocked.value = v);\n\t});\n}\nconst vScrollLock = onScrollLock();\n//#endregion\n//#region ../core/useTimeAgo/component.ts\nconst UseTimeAgo = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useTimeAgo(() => props.time, {\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseTimeAgo\",\n\tprops: [\n\t\t\"fullDateFormatter\",\n\t\t\"max\",\n\t\t\"messages\",\n\t\t\"rounding\",\n\t\t\"showSecond\",\n\t\t\"time\",\n\t\t\"units\",\n\t\t\"updateInterval\"\n\t]\n});\n//#endregion\n//#region ../core/useTimestamp/component.ts\nconst UseTimestamp = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useTimestamp({\n\t\t...props,\n\t\tcontrols: true\n\t}));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseTimestamp\",\n\tprops: [\n\t\t\"scheduler\",\n\t\t\"callback\",\n\t\t\"immediate\",\n\t\t\"interval\",\n\t\t\"offset\"\n\t]\n});\n//#endregion\n//#region ../core/useVirtualList/component.ts\nconst UseVirtualList = /* @__PURE__ */ defineComponent((props, { slots, expose }) => {\n\tconst { list: listRef } = toRefs(props);\n\tconst { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n\texpose({ scrollTo });\n\tif (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style)) containerProps.style.height = props.height || \"300px\";\n\treturn () => h(\"div\", { ...containerProps }, [h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: {\n\t\toverflow: \"hidden\",\n\t\theight: item.height\n\t} }, slots.default ? slots.default(item) : \"Please set content!\")))]);\n}, {\n\tname: \"UseVirtualList\",\n\tprops: [\n\t\t\"height\",\n\t\t\"list\",\n\t\t\"options\"\n\t]\n});\n//#endregion\n//#region ../core/useWindowFocus/component.ts\nconst UseWindowFocus = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive({ focused: useWindowFocus(props) });\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseWindowFocus\",\n\tprops: [\"window\"]\n});\n//#endregion\n//#region ../core/useWindowSize/component.ts\nconst UseWindowSize = /* @__PURE__ */ defineComponent((props, { slots }) => {\n\tconst data = reactive(useWindowSize(props));\n\treturn () => {\n\t\tif (slots.default) return slots.default(data);\n\t};\n}, {\n\tname: \"UseWindowSize\",\n\tprops: [\n\t\t\"includeScrollbar\",\n\t\t\"initialHeight\",\n\t\t\"initialWidth\",\n\t\t\"listenOrientation\",\n\t\t\"type\",\n\t\t\"window\"\n\t]\n});\n//#endregion\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UsePreferredReducedTransparency, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside, VOnLongPress, vElementBounding, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vMouseInElement, vOnClickOutside, vOnKeyStroke, vOnLongPress, vResizeObserver, vScroll, vScrollLock };\n","const directive = {\n mounted(el) {\n el.focus();\n }\n};\nexport {\n directive as default\n};\n//# sourceMappingURL=index.mjs.map\n","// THIS FILE IS AUTOMATICALLY GENERATED DO NOT EDIT DIRECTLY\n// See update-tlds.js for encoding/decoding format\n// https://data.iana.org/TLD/tlds-alpha-by-domain.txt\nconst encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2';\n// Internationalized domain names containing non-ASCII\nconst encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2';\n\n/**\n * Finite State Machine generation utilities\n */\n\n/**\n * @template T\n * @typedef {{ [group: string]: T[] }} Collections\n */\n\n/**\n * @typedef {{ [group: string]: true }} Flags\n */\n\n// Keys in scanner Collections instances\nconst numeric = 'numeric';\nconst ascii = 'ascii';\nconst alpha = 'alpha';\nconst asciinumeric = 'asciinumeric';\nconst alphanumeric = 'alphanumeric';\nconst domain = 'domain';\nconst emoji = 'emoji';\nconst scheme = 'scheme';\nconst slashscheme = 'slashscheme';\nconst whitespace = 'whitespace';\n\n/**\n * @template T\n * @param {string} name\n * @param {Collections} groups to register in\n * @returns {T[]} Current list of tokens in the given collection\n */\nfunction registerGroup(name, groups) {\n if (!(name in groups)) {\n groups[name] = [];\n }\n return groups[name];\n}\n\n/**\n * @template T\n * @param {T} t token to add\n * @param {Collections} groups\n * @param {Flags} flags\n */\nfunction addToGroups(t, flags, groups) {\n if (flags[numeric]) {\n flags[asciinumeric] = true;\n flags[alphanumeric] = true;\n }\n if (flags[ascii]) {\n flags[asciinumeric] = true;\n flags[alpha] = true;\n }\n if (flags[asciinumeric]) {\n flags[alphanumeric] = true;\n }\n if (flags[alpha]) {\n flags[alphanumeric] = true;\n }\n if (flags[alphanumeric]) {\n flags[domain] = true;\n }\n if (flags[emoji]) {\n flags[domain] = true;\n }\n for (const k in flags) {\n const group = registerGroup(k, groups);\n if (group.indexOf(t) < 0) {\n group.push(t);\n }\n }\n}\n\n/**\n * @template T\n * @param {T} t token to check\n * @param {Collections} groups\n * @returns {Flags} group flags that contain this token\n */\nfunction flagsForToken(t, groups) {\n const result = {};\n for (const c in groups) {\n if (groups[c].indexOf(t) >= 0) {\n result[c] = true;\n }\n }\n return result;\n}\n\n/**\n * @template T\n * @typedef {null | T } Transition\n */\n\n/**\n * Define a basic state machine state. j is the list of character transitions,\n * jr is the list of regex-match transitions, jd is the default state to\n * transition to t is the accepting token type, if any. If this is the terminal\n * state, then it does not emit a token.\n *\n * The template type T represents the type of the token this state accepts. This\n * should be a string (such as of the token exports in `text.js`) or a\n * MultiToken subclass (from `multi.js`)\n *\n * @template T\n * @param {T} [token] Token that this state emits\n */\nfunction State(token = null) {\n // this.n = null; // DEBUG: State name\n /** @type {{ [input: string]: State }} j */\n this.j = {}; // IMPLEMENTATION 1\n // this.j = []; // IMPLEMENTATION 2\n /** @type {[RegExp, State][]} jr */\n this.jr = [];\n /** @type {?State} jd */\n this.jd = null;\n /** @type {?T} t */\n this.t = token;\n}\n\n/**\n * Scanner token groups\n * @type Collections\n */\nState.groups = {};\nState.prototype = {\n accepts() {\n return !!this.t;\n },\n /**\n * Follow an existing transition from the given input to the next state.\n * Does not mutate.\n * @param {string} input character or token type to transition on\n * @returns {?State} the next state, if any\n */\n go(input) {\n const state = this;\n const nextState = state.j[input];\n if (nextState) {\n return nextState;\n }\n for (let i = 0; i < state.jr.length; i++) {\n const regex = state.jr[i][0];\n const nextState = state.jr[i][1]; // note: might be empty to prevent default jump\n if (nextState && regex.test(input)) {\n return nextState;\n }\n }\n // Nowhere left to jump! Return default, if any\n return state.jd;\n },\n /**\n * Whether the state has a transition for the given input. Set the second\n * argument to true to only look for an exact match (and not a default or\n * regular-expression-based transition)\n * @param {string} input\n * @param {boolean} exactOnly\n */\n has(input, exactOnly = false) {\n return exactOnly ? input in this.j : !!this.go(input);\n },\n /**\n * Short for \"transition all\"; create a transition from the array of items\n * in the given list to the same final resulting state.\n * @param {string | string[]} inputs Group of inputs to transition on\n * @param {Transition | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n */\n ta(inputs, next, flags, groups) {\n for (let i = 0; i < inputs.length; i++) {\n this.tt(inputs[i], next, flags, groups);\n }\n },\n /**\n * Short for \"take regexp transition\"; defines a transition for this state\n * when it encounters a token which matches the given regular expression\n * @param {RegExp} regexp Regular expression transition (populate first)\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n tr(regexp, next, flags, groups) {\n groups = groups || State.groups;\n let nextState;\n if (next && next.j) {\n nextState = next;\n } else {\n // Token with maybe token groups\n nextState = new State(next);\n if (flags && groups) {\n addToGroups(next, flags, groups);\n }\n }\n this.jr.push([regexp, nextState]);\n return nextState;\n },\n /**\n * Short for \"take transitions\", will take as many sequential transitions as\n * the length of the given input and returns the\n * resulting final state.\n * @param {string | string[]} input\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of token groups\n * @returns {State} taken after the given input\n */\n ts(input, next, flags, groups) {\n let state = this;\n const len = input.length;\n if (!len) {\n return state;\n }\n for (let i = 0; i < len - 1; i++) {\n state = state.tt(input[i]);\n }\n return state.tt(input[len - 1], next, flags, groups);\n },\n /**\n * Short for \"take transition\", this is a method for building/working with\n * state machines.\n *\n * If a state already exists for the given input, returns it.\n *\n * If a token is specified, that state will emit that token when reached by\n * the linkify engine.\n *\n * If no state exists, it will be initialized with some default transitions\n * that resemble existing default transitions.\n *\n * If a state is given for the second argument, that state will be\n * transitioned to on the given input regardless of what that input\n * previously did.\n *\n * Specify a token group flags to define groups that this token belongs to.\n * The token will be added to corresponding entires in the given groups\n * object.\n *\n * @param {string} input character, token type to transition on\n * @param {T | State} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections} [groups] Master list of groups\n * @returns {State} taken after the given input\n */\n tt(input, next, flags, groups) {\n groups = groups || State.groups;\n const state = this;\n\n // Check if existing state given, just a basic transition\n if (next && next.j) {\n state.j[input] = next;\n return next;\n }\n const t = next;\n\n // Take the transition with the usual default mechanisms and use that as\n // a template for creating the next state\n let nextState,\n templateState = state.go(input);\n if (templateState) {\n nextState = new State();\n Object.assign(nextState.j, templateState.j);\n nextState.jr.push.apply(nextState.jr, templateState.jr);\n nextState.jd = templateState.jd;\n nextState.t = templateState.t;\n } else {\n nextState = new State();\n }\n if (t) {\n // Ensure newly token is in the same groups as the old token\n if (groups) {\n if (nextState.t && typeof nextState.t === 'string') {\n const allFlags = Object.assign(flagsForToken(nextState.t, groups), flags);\n addToGroups(t, allFlags, groups);\n } else if (flags) {\n addToGroups(t, flags, groups);\n }\n }\n nextState.t = t; // overwrite anything that was previously there\n }\n state.j[input] = nextState;\n return nextState;\n }\n};\n\n// Helper functions to improve minification (not exported outside linkifyjs module)\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {RegExp} regexp\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string | string[]} input\n * @param {T | State} [next]\n * @param {Flags} [flags]\n * @param {Collections} [groups]\n */\nconst ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);\n\n/**\n * @template T\n * @param {State} state\n * @param {string} input\n * @param {T | State} [next]\n * @param {Collections} [groups]\n * @param {Flags} [flags]\n */\nconst tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);\n\n/******************************************************************************\nText Tokens\nIdentifiers for token outputs from the regexp scanner\n******************************************************************************/\n\n// A valid web domain token\nconst WORD = 'WORD'; // only contains a-z\nconst UWORD = 'UWORD'; // contains letters other than a-z, used for IDN\nconst ASCIINUMERICAL = 'ASCIINUMERICAL'; // contains a-z, 0-9\nconst ALPHANUMERICAL = 'ALPHANUMERICAL'; // contains numbers and letters other than a-z, used for IDN\n\n// Special case of word\nconst LOCALHOST = 'LOCALHOST';\n\n// Valid top-level domain, special case of WORD (see tlds.js)\nconst TLD = 'TLD';\n\n// Valid IDN TLD, special case of UWORD (see tlds.js)\nconst UTLD = 'UTLD';\n\n// The scheme portion of a web URI protocol. Supported types include: `mailto`,\n// `file`, and user-defined custom protocols. Limited to schemes that contain\n// only letters\nconst SCHEME = 'SCHEME';\n\n// Similar to SCHEME, except makes distinction for schemes that must always be\n// followed by `://`, not just `:`. Supported types include `http`, `https`,\n// `ftp`, `ftps`\nconst SLASH_SCHEME = 'SLASH_SCHEME';\n\n// Any sequence of digits 0-9\nconst NUM = 'NUM';\n\n// Any number of consecutive whitespace characters that are not newline\nconst WS = 'WS';\n\n// New line (unix style)\nconst NL = 'NL'; // \\n\n\n// Opening/closing bracket classes\n// TODO: Rename OPEN -> LEFT and CLOSE -> RIGHT in v5 to fit with Unicode names\n// Also rename angle brackes to LESSTHAN and GREATER THAN\nconst OPENBRACE = 'OPENBRACE'; // {\nconst CLOSEBRACE = 'CLOSEBRACE'; // }\nconst OPENBRACKET = 'OPENBRACKET'; // [\nconst CLOSEBRACKET = 'CLOSEBRACKET'; // ]\nconst OPENPAREN = 'OPENPAREN'; // (\nconst CLOSEPAREN = 'CLOSEPAREN'; // )\nconst OPENANGLEBRACKET = 'OPENANGLEBRACKET'; // <\nconst CLOSEANGLEBRACKET = 'CLOSEANGLEBRACKET'; // >\nconst FULLWIDTHLEFTPAREN = 'FULLWIDTHLEFTPAREN'; // (\nconst FULLWIDTHRIGHTPAREN = 'FULLWIDTHRIGHTPAREN'; // )\nconst LEFTCORNERBRACKET = 'LEFTCORNERBRACKET'; // 「\nconst RIGHTCORNERBRACKET = 'RIGHTCORNERBRACKET'; // 」\nconst LEFTWHITECORNERBRACKET = 'LEFTWHITECORNERBRACKET'; // 『\nconst RIGHTWHITECORNERBRACKET = 'RIGHTWHITECORNERBRACKET'; // 』\nconst FULLWIDTHLESSTHAN = 'FULLWIDTHLESSTHAN'; // <\nconst FULLWIDTHGREATERTHAN = 'FULLWIDTHGREATERTHAN'; // >\n\n// Various symbols\nconst AMPERSAND = 'AMPERSAND'; // &\nconst APOSTROPHE = 'APOSTROPHE'; // '\nconst ASTERISK = 'ASTERISK'; // *\nconst AT = 'AT'; // @\nconst BACKSLASH = 'BACKSLASH'; // \\\nconst BACKTICK = 'BACKTICK'; // `\nconst CARET = 'CARET'; // ^\nconst COLON = 'COLON'; // :\nconst COMMA = 'COMMA'; // ,\nconst DOLLAR = 'DOLLAR'; // $\nconst DOT = 'DOT'; // .\nconst EQUALS = 'EQUALS'; // =\nconst EXCLAMATION = 'EXCLAMATION'; // !\nconst HYPHEN = 'HYPHEN'; // -\nconst PERCENT = 'PERCENT'; // %\nconst PIPE = 'PIPE'; // |\nconst PLUS = 'PLUS'; // +\nconst POUND = 'POUND'; // #\nconst QUERY = 'QUERY'; // ?\nconst QUOTE = 'QUOTE'; // \"\nconst FULLWIDTHMIDDLEDOT = 'FULLWIDTHMIDDLEDOT'; // ・\n\nconst SEMI = 'SEMI'; // ;\nconst SLASH = 'SLASH'; // /\nconst TILDE = 'TILDE'; // ~\nconst UNDERSCORE = 'UNDERSCORE'; // _\n\n// Emoji symbol\nconst EMOJI$1 = 'EMOJI';\n\n// Default token - anything that is not one of the above\nconst SYM = 'SYM';\n\nvar tk = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tALPHANUMERICAL: ALPHANUMERICAL,\n\tAMPERSAND: AMPERSAND,\n\tAPOSTROPHE: APOSTROPHE,\n\tASCIINUMERICAL: ASCIINUMERICAL,\n\tASTERISK: ASTERISK,\n\tAT: AT,\n\tBACKSLASH: BACKSLASH,\n\tBACKTICK: BACKTICK,\n\tCARET: CARET,\n\tCLOSEANGLEBRACKET: CLOSEANGLEBRACKET,\n\tCLOSEBRACE: CLOSEBRACE,\n\tCLOSEBRACKET: CLOSEBRACKET,\n\tCLOSEPAREN: CLOSEPAREN,\n\tCOLON: COLON,\n\tCOMMA: COMMA,\n\tDOLLAR: DOLLAR,\n\tDOT: DOT,\n\tEMOJI: EMOJI$1,\n\tEQUALS: EQUALS,\n\tEXCLAMATION: EXCLAMATION,\n\tFULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN,\n\tFULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN,\n\tFULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN,\n\tFULLWIDTHMIDDLEDOT: FULLWIDTHMIDDLEDOT,\n\tFULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN,\n\tHYPHEN: HYPHEN,\n\tLEFTCORNERBRACKET: LEFTCORNERBRACKET,\n\tLEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET,\n\tLOCALHOST: LOCALHOST,\n\tNL: NL,\n\tNUM: NUM,\n\tOPENANGLEBRACKET: OPENANGLEBRACKET,\n\tOPENBRACE: OPENBRACE,\n\tOPENBRACKET: OPENBRACKET,\n\tOPENPAREN: OPENPAREN,\n\tPERCENT: PERCENT,\n\tPIPE: PIPE,\n\tPLUS: PLUS,\n\tPOUND: POUND,\n\tQUERY: QUERY,\n\tQUOTE: QUOTE,\n\tRIGHTCORNERBRACKET: RIGHTCORNERBRACKET,\n\tRIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET,\n\tSCHEME: SCHEME,\n\tSEMI: SEMI,\n\tSLASH: SLASH,\n\tSLASH_SCHEME: SLASH_SCHEME,\n\tSYM: SYM,\n\tTILDE: TILDE,\n\tTLD: TLD,\n\tUNDERSCORE: UNDERSCORE,\n\tUTLD: UTLD,\n\tUWORD: UWORD,\n\tWORD: WORD,\n\tWS: WS\n});\n\n// Note that these two Unicode ones expand into a really big one with Babel\nconst ASCII_LETTER = /[a-z]/;\nconst LETTER = /\\p{L}/u; // Any Unicode character with letter data type\nconst EMOJI = /\\p{Emoji}/u; // Any Unicode emoji character\nconst EMOJI_VARIATION$1 = /\\ufe0f/;\nconst DIGIT = /\\d/;\nconst SPACE = /\\s/;\n\nvar regexp = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tASCII_LETTER: ASCII_LETTER,\n\tDIGIT: DIGIT,\n\tEMOJI: EMOJI,\n\tEMOJI_VARIATION: EMOJI_VARIATION$1,\n\tLETTER: LETTER,\n\tSPACE: SPACE\n});\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n*/\n\nconst CR = '\\r'; // carriage-return character\nconst LF = '\\n'; // line-feed character\nconst EMOJI_VARIATION = '\\ufe0f'; // Variation selector, follows heart and others\nconst EMOJI_JOINER = '\\u200d'; // zero-width joiner\nconst OBJECT_REPLACEMENT = '\\ufffc'; // whitespace placeholder that sometimes appears in rich text editors\n\nlet tlds = null,\n utlds = null; // don't change so only have to be computed once\n\n/**\n * Scanner output token:\n * - `t` is the token name (e.g., 'NUM', 'EMOJI', 'TLD')\n * - `v` is the value of the token (e.g., '123', '❤️', 'com')\n * - `s` is the start index of the token in the original string\n * - `e` is the end index of the token in the original string\n * @typedef {{t: string, v: string, s: number, e: number}} Token\n */\n\n/**\n * @template T\n * @typedef {{ [collection: string]: T[] }} Collections\n */\n\n/**\n * Initialize the scanner character-based state machine for the given start\n * state\n * @param {[string, boolean][]} customSchemes List of custom schemes, where each\n * item is a length-2 tuple with the first element set to the string scheme, and\n * the second element set to `true` if the `://` after the scheme is optional\n */\nfunction init$2(customSchemes = []) {\n // Frequently used states (name argument removed during minification)\n /** @type Collections */\n const groups = {}; // of tokens\n State.groups = groups;\n /** @type State */\n const Start = new State();\n if (tlds == null) {\n tlds = decodeTlds(encodedTlds);\n }\n if (utlds == null) {\n utlds = decodeTlds(encodedUtlds);\n }\n\n // States for special URL symbols that accept immediately after start\n tt(Start, \"'\", APOSTROPHE);\n tt(Start, '{', OPENBRACE);\n tt(Start, '}', CLOSEBRACE);\n tt(Start, '[', OPENBRACKET);\n tt(Start, ']', CLOSEBRACKET);\n tt(Start, '(', OPENPAREN);\n tt(Start, ')', CLOSEPAREN);\n tt(Start, '<', OPENANGLEBRACKET);\n tt(Start, '>', CLOSEANGLEBRACKET);\n tt(Start, '(', FULLWIDTHLEFTPAREN);\n tt(Start, ')', FULLWIDTHRIGHTPAREN);\n tt(Start, '「', LEFTCORNERBRACKET);\n tt(Start, '」', RIGHTCORNERBRACKET);\n tt(Start, '『', LEFTWHITECORNERBRACKET);\n tt(Start, '』', RIGHTWHITECORNERBRACKET);\n tt(Start, '<', FULLWIDTHLESSTHAN);\n tt(Start, '>', FULLWIDTHGREATERTHAN);\n tt(Start, '&', AMPERSAND);\n tt(Start, '*', ASTERISK);\n tt(Start, '@', AT);\n tt(Start, '`', BACKTICK);\n tt(Start, '^', CARET);\n tt(Start, ':', COLON);\n tt(Start, ',', COMMA);\n tt(Start, '$', DOLLAR);\n tt(Start, '.', DOT);\n tt(Start, '=', EQUALS);\n tt(Start, '!', EXCLAMATION);\n tt(Start, '-', HYPHEN);\n tt(Start, '%', PERCENT);\n tt(Start, '|', PIPE);\n tt(Start, '+', PLUS);\n tt(Start, '#', POUND);\n tt(Start, '?', QUERY);\n tt(Start, '\"', QUOTE);\n tt(Start, '/', SLASH);\n tt(Start, ';', SEMI);\n tt(Start, '~', TILDE);\n tt(Start, '_', UNDERSCORE);\n tt(Start, '\\\\', BACKSLASH);\n tt(Start, '・', FULLWIDTHMIDDLEDOT);\n const Num = tr(Start, DIGIT, NUM, {\n [numeric]: true\n });\n tr(Num, DIGIT, Num);\n const Asciinumeric = tr(Num, ASCII_LETTER, ASCIINUMERICAL, {\n [asciinumeric]: true\n });\n const Alphanumeric = tr(Num, LETTER, ALPHANUMERICAL, {\n [alphanumeric]: true\n });\n\n // State which emits a word token\n const Word = tr(Start, ASCII_LETTER, WORD, {\n [ascii]: true\n });\n tr(Word, DIGIT, Asciinumeric);\n tr(Word, ASCII_LETTER, Word);\n tr(Asciinumeric, DIGIT, Asciinumeric);\n tr(Asciinumeric, ASCII_LETTER, Asciinumeric);\n\n // Same as previous, but specific to non-fsm.ascii alphabet words\n const UWord = tr(Start, LETTER, UWORD, {\n [alpha]: true\n });\n tr(UWord, ASCII_LETTER); // Non-accepting\n tr(UWord, DIGIT, Alphanumeric);\n tr(UWord, LETTER, UWord);\n tr(Alphanumeric, DIGIT, Alphanumeric);\n tr(Alphanumeric, ASCII_LETTER); // Non-accepting\n tr(Alphanumeric, LETTER, Alphanumeric); // Non-accepting\n\n // Whitespace jumps\n // Tokens of only non-newline whitespace are arbitrarily long\n // If any whitespace except newline, more whitespace!\n const Nl = tt(Start, LF, NL, {\n [whitespace]: true\n });\n const Cr = tt(Start, CR, WS, {\n [whitespace]: true\n });\n const Ws = tr(Start, SPACE, WS, {\n [whitespace]: true\n });\n tt(Start, OBJECT_REPLACEMENT, Ws);\n tt(Cr, LF, Nl); // \\r\\n\n tt(Cr, OBJECT_REPLACEMENT, Ws);\n tr(Cr, SPACE, Ws);\n tt(Ws, CR); // non-accepting state to avoid mixing whitespaces\n tt(Ws, LF); // non-accepting state to avoid mixing whitespaces\n tr(Ws, SPACE, Ws);\n tt(Ws, OBJECT_REPLACEMENT, Ws);\n\n // Emoji tokens. They are not grouped by the scanner except in cases where a\n // zero-width joiner is present\n const Emoji = tr(Start, EMOJI, EMOJI$1, {\n [emoji]: true\n });\n tt(Emoji, '#'); // no transition, emoji regex seems to match #\n tr(Emoji, EMOJI, Emoji);\n tt(Emoji, EMOJI_VARIATION, Emoji);\n // tt(Start, EMOJI_VARIATION, Emoji); // This one is sketchy\n\n const EmojiJoiner = tt(Emoji, EMOJI_JOINER);\n tt(EmojiJoiner, '#');\n tr(EmojiJoiner, EMOJI, Emoji);\n // tt(EmojiJoiner, EMOJI_VARIATION, Emoji); // also sketchy\n\n // Generates states for top-level domains\n // Note that this is most accurate when tlds are in alphabetical order\n const wordjr = [[ASCII_LETTER, Word], [DIGIT, Asciinumeric]];\n const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord], [DIGIT, Alphanumeric]];\n for (let i = 0; i < tlds.length; i++) {\n fastts(Start, tlds[i], TLD, WORD, wordjr);\n }\n for (let i = 0; i < utlds.length; i++) {\n fastts(Start, utlds[i], UTLD, UWORD, uwordjr);\n }\n addToGroups(TLD, {\n tld: true,\n ascii: true\n }, groups);\n addToGroups(UTLD, {\n utld: true,\n alpha: true\n }, groups);\n\n // Collect the states generated by different protocols. NOTE: If any new TLDs\n // get added that are also protocols, set the token to be the same as the\n // protocol to ensure parsing works as expected.\n fastts(Start, 'file', SCHEME, WORD, wordjr);\n fastts(Start, 'mailto', SCHEME, WORD, wordjr);\n fastts(Start, 'http', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'https', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftp', SLASH_SCHEME, WORD, wordjr);\n fastts(Start, 'ftps', SLASH_SCHEME, WORD, wordjr);\n addToGroups(SCHEME, {\n scheme: true,\n ascii: true\n }, groups);\n addToGroups(SLASH_SCHEME, {\n slashscheme: true,\n ascii: true\n }, groups);\n\n // Register custom schemes. Assumes each scheme is asciinumeric with hyphens\n customSchemes = customSchemes.sort((a, b) => a[0] > b[0] ? 1 : -1);\n for (let i = 0; i < customSchemes.length; i++) {\n const sch = customSchemes[i][0];\n const optionalSlashSlash = customSchemes[i][1];\n const flags = optionalSlashSlash ? {\n [scheme]: true\n } : {\n [slashscheme]: true\n };\n if (sch.indexOf('-') >= 0) {\n flags[domain] = true;\n } else if (!ASCII_LETTER.test(sch)) {\n flags[numeric] = true; // numbers only\n } else if (DIGIT.test(sch)) {\n flags[asciinumeric] = true;\n } else {\n flags[ascii] = true;\n }\n ts(Start, sch, sch, flags);\n }\n\n // Localhost token\n ts(Start, 'localhost', LOCALHOST, {\n ascii: true\n });\n\n // Set default transition for start state (some symbol)\n Start.jd = new State(SYM);\n return {\n start: Start,\n tokens: Object.assign({\n groups\n }, tk)\n };\n}\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {State} start scanner starting state\n\t@param {string} str input string to scan\n\t@return {Token[]} list of tokens, each with a type and value\n*/\nfunction run$1(start, str) {\n // State machine is not case sensitive, so input is tokenized in lowercased\n // form (still returns regular case). Uses selective `toLowerCase` because\n // lowercasing the entire string causes the length and character position to\n // vary in some non-English strings with V8-based runtimes.\n const iterable = stringToArray(str.replace(/[A-Z]/g, c => c.toLowerCase()));\n const charCount = iterable.length; // <= len if there are emojis, etc\n const tokens = []; // return value\n\n // cursor through the string itself, accounting for characters that have\n // width with length 2 such as emojis\n let cursor = 0;\n\n // Cursor through the array-representation of the string\n let charCursor = 0;\n\n // Tokenize the string\n while (charCursor < charCount) {\n let state = start;\n let nextState = null;\n let tokenLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n let charsSinceAccepts = -1;\n while (charCursor < charCount && (nextState = state.go(iterable[charCursor]))) {\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n charsSinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts += iterable[charCursor].length;\n charsSinceAccepts++;\n }\n tokenLength += iterable[charCursor].length;\n cursor += iterable[charCursor].length;\n charCursor++;\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n charCursor -= charsSinceAccepts;\n tokenLength -= sinceAccepts;\n\n // No more jumps, just make a new token from the last accepting one\n tokens.push({\n t: latestAccepting.t,\n // token type/name\n v: str.slice(cursor - tokenLength, cursor),\n // string value\n s: cursor - tokenLength,\n // start index\n e: cursor // end index (excluding)\n });\n }\n return tokens;\n}\n\n/**\n * Convert a String to an Array of characters, taking into account that some\n * characters like emojis take up two string indexes.\n *\n * Adapted from core-js (MIT license)\n * https://github.com/zloirock/core-js/blob/2d69cf5f99ab3ea3463c395df81e5a15b68f49d9/packages/core-js/internals/string-multibyte.js\n *\n * @function stringToArray\n * @param {string} str\n * @returns {string[]}\n */\nfunction stringToArray(str) {\n const result = [];\n const len = str.length;\n let index = 0;\n while (index < len) {\n let first = str.charCodeAt(index);\n let second;\n let char = first < 0xd800 || first > 0xdbff || index + 1 === len || (second = str.charCodeAt(index + 1)) < 0xdc00 || second > 0xdfff ? str[index] // single character\n : str.slice(index, index + 2); // two-index characters\n result.push(char);\n index += char.length;\n }\n return result;\n}\n\n/**\n * Fast version of ts function for when transition defaults are well known\n * @param {State} state\n * @param {string} input\n * @param {string} t\n * @param {string} defaultt\n * @param {[RegExp, State][]} jr\n * @returns {State}\n */\nfunction fastts(state, input, t, defaultt, jr) {\n let next;\n const len = input.length;\n for (let i = 0; i < len - 1; i++) {\n const char = input[i];\n if (state.j[char]) {\n next = state.j[char];\n } else {\n next = new State(defaultt);\n next.jr = jr.slice();\n state.j[char] = next;\n }\n state = next;\n }\n next = new State(t);\n next.jr = jr.slice();\n state.j[input[len - 1]] = next;\n return next;\n}\n\n/**\n * Converts a string of Top-Level Domain names encoded in update-tlds.js back\n * into a list of strings.\n * @param {str} encoded encoded TLDs string\n * @returns {str[]} original TLDs list\n */\nfunction decodeTlds(encoded) {\n const words = [];\n const stack = [];\n let i = 0;\n let digits = '0123456789';\n while (i < encoded.length) {\n let popDigitCount = 0;\n while (digits.indexOf(encoded[i + popDigitCount]) >= 0) {\n popDigitCount++; // encountered some digits, have to pop to go one level up trie\n }\n if (popDigitCount > 0) {\n words.push(stack.join('')); // whatever preceded the pop digits must be a word\n for (let popCount = parseInt(encoded.substring(i, i + popDigitCount), 10); popCount > 0; popCount--) {\n stack.pop();\n }\n i += popDigitCount;\n } else {\n stack.push(encoded[i]); // drop down a level into the trie\n i++;\n }\n }\n return words;\n}\n\n/**\n * An object where each key is a valid DOM Event Name such as `click` or `focus`\n * and each value is an event handler function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element#events\n * @typedef {?{ [event: string]: Function }} EventListeners\n */\n\n/**\n * All formatted properties required to render a link, including `tagName`,\n * `attributes`, `content` and `eventListeners`.\n * @typedef {{ tagName: any, attributes: {[attr: string]: any}, content: string,\n * eventListeners: EventListeners }} IntermediateRepresentation\n */\n\n/**\n * Specify either an object described by the template type `O` or a function.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `O`\n * @template O\n * @typedef {O | ((value: string, type: string, token: MultiToken) => O)} OptObj\n */\n\n/**\n * Specify either a function described by template type `F` or an object.\n *\n * Each key in the object should be a link type (`'url'`, `'hashtag`', etc.). Each\n * value should be a function with template type `F` that is called when the\n * corresponding link type is encountered.\n * @template F\n * @typedef {F | { [type: string]: F}} OptFn\n */\n\n/**\n * Specify either a value with template type `V`, a function that returns `V` or\n * an object where each value resolves to `V`.\n *\n * The function takes a string value (usually the link's href attribute), the\n * link type (`'url'`, `'hashtag`', etc.) and an internal token representation\n * of the link. It should return an object of the template type `V`\n *\n * For the object, each key should be a link type (`'url'`, `'hashtag`', etc.).\n * Each value should either have type `V` or a function that returns V. This\n * function similarly takes a string value and a token.\n *\n * Example valid types for `Opt`:\n *\n * ```js\n * 'hello'\n * (value, type, token) => 'world'\n * { url: 'hello', email: (value, token) => 'world'}\n * ```\n * @template V\n * @typedef {V | ((value: string, type: string, token: MultiToken) => V) | { [type: string]: V | ((value: string, token: MultiToken) => V) }} Opt\n */\n\n/**\n * See available options: https://linkify.js.org/docs/options.html\n * @typedef {{\n * \tdefaultProtocol?: string,\n * events?: OptObj,\n * \tformat?: Opt,\n * \tformatHref?: Opt,\n * \tnl2br?: boolean,\n * \ttagName?: Opt,\n * \ttarget?: Opt,\n * \trel?: Opt,\n * \tvalidate?: Opt,\n * \ttruncate?: Opt,\n * \tclassName?: Opt,\n * \tattributes?: OptObj<({ [attr: string]: any })>,\n * ignoreTags?: string[],\n * \trender?: OptFn<((ir: IntermediateRepresentation) => any)>\n * }} Opts\n */\n\n/**\n * @type Required\n */\nconst defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: null,\n rel: null,\n validate: true,\n truncate: Infinity,\n className: null,\n attributes: null,\n ignoreTags: [],\n render: null\n};\n\n/**\n * Utility class for linkify interfaces to apply specified\n * {@link Opts formatting and rendering options}.\n *\n * @param {Opts | Options} [opts] Option value overrides.\n * @param {(ir: IntermediateRepresentation) => any} [defaultRender] (For\n * internal use) default render function that determines how to generate an\n * HTML element based on a link token's derived tagName, attributes and HTML.\n * Similar to render option\n */\nfunction Options(opts, defaultRender = null) {\n let o = Object.assign({}, defaults);\n if (opts) {\n o = Object.assign(o, opts instanceof Options ? opts.o : opts);\n }\n\n // Ensure all ignored tags are uppercase\n const ignoredTags = o.ignoreTags;\n const uppercaseIgnoredTags = [];\n for (let i = 0; i < ignoredTags.length; i++) {\n uppercaseIgnoredTags.push(ignoredTags[i].toUpperCase());\n }\n /** @protected */\n this.o = o;\n if (defaultRender) {\n this.defaultRender = defaultRender;\n }\n this.ignoreTags = uppercaseIgnoredTags;\n}\nOptions.prototype = {\n o: defaults,\n /**\n * @type string[]\n */\n ignoreTags: [],\n /**\n * @param {IntermediateRepresentation} ir\n * @returns {any}\n */\n defaultRender(ir) {\n return ir;\n },\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options.\n * @param {MultiToken} token\n * @returns {boolean}\n */\n check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params. If operator and token are specified and the target option is\n * callable, automatically calls the function with the given argument.\n * @template {keyof Opts} K\n * @param {K} key Name of option to use\n * @param {string} [operator] will be passed to the target option if it's a\n * function. If not specified, RAW function value gets returned\n * @param {MultiToken} [token] The token from linkify.tokenize\n * @returns {Opts[K] | any}\n */\n get(key, operator, token) {\n const isCallable = operator != null;\n let option = this.o[key];\n if (!option) {\n return option;\n }\n if (typeof option === 'object') {\n option = token.t in option ? option[token.t] : defaults[key];\n if (typeof option === 'function' && isCallable) {\n option = option(operator, token);\n }\n } else if (typeof option === 'function' && isCallable) {\n option = option(operator, token.t, token);\n }\n return option;\n },\n /**\n * @template {keyof Opts} L\n * @param {L} key Name of options object to use\n * @param {string} [operator]\n * @param {MultiToken} [token]\n * @returns {Opts[L] | any}\n */\n getObj(key, operator, token) {\n let obj = this.o[key];\n if (typeof obj === 'function' && operator != null) {\n obj = obj(operator, token.t, token);\n }\n return obj;\n },\n /**\n * Convert the given token to a rendered element that may be added to the\n * calling-interface's DOM\n * @param {MultiToken} token Token to render to an HTML element\n * @returns {any} Render result; e.g., HTML string, DOM element, React\n * Component, etc.\n */\n render(token) {\n const ir = token.render(this); // intermediate representation\n const renderFn = this.get('render', null, token) || this.defaultRender;\n return renderFn(ir, token.t, token);\n }\n};\nfunction noop(val) {\n return val;\n}\n\nvar options = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tOptions: Options,\n\tdefaults: defaults\n});\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n/**\n * @param {string} value\n * @param {Token[]} tokens\n */\nfunction MultiToken(value, tokens) {\n this.t = 'token';\n this.v = value;\n this.tk = tokens;\n}\n\n/**\n * Abstract class used for manufacturing tokens of text tokens. That is rather\n * than the value for a token being a small string of text, it's value an array\n * of text tokens.\n *\n * Used for grouping together URLs, emails, hashtags, and other potential\n * creations.\n * @class MultiToken\n * @property {string} t\n * @property {string} v\n * @property {Token[]} tk\n * @abstract\n */\nMultiToken.prototype = {\n isLink: false,\n /**\n * Return the string this token represents.\n * @return {string}\n */\n toString() {\n return this.v;\n },\n /**\n * What should the value for this token be in the `href` HTML attribute?\n * Returns the `.toString` value by default.\n * @param {string} [scheme]\n * @return {string}\n */\n toHref(scheme) {\n return this.toString();\n },\n /**\n * @param {Options} options Formatting options\n * @returns {string}\n */\n toFormattedString(options) {\n const val = this.toString();\n const truncate = options.get('truncate', val, this);\n const formatted = options.get('format', val, this);\n return truncate && formatted.length > truncate ? formatted.substring(0, truncate) + '…' : formatted;\n },\n /**\n *\n * @param {Options} options\n * @returns {string}\n */\n toFormattedHref(options) {\n return options.get('formatHref', this.toHref(options.get('defaultProtocol')), this);\n },\n /**\n * The start index of this token in the original input string\n * @returns {number}\n */\n startIndex() {\n return this.tk[0].s;\n },\n /**\n * The end index of this token in the original input string (up to this\n * index but not including it)\n * @returns {number}\n */\n endIndex() {\n return this.tk[this.tk.length - 1].e;\n },\n /**\n \tReturns an object of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {string} [protocol] `'http'` by default\n */\n toObject(protocol = defaults.defaultProtocol) {\n return {\n type: this.t,\n value: this.toString(),\n isLink: this.isLink,\n href: this.toHref(protocol),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n *\n * @param {Options} options Formatting option\n */\n toFormattedObject(options) {\n return {\n type: this.t,\n value: this.toFormattedString(options),\n isLink: this.isLink,\n href: this.toFormattedHref(options),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n * Whether this token should be rendered as a link according to the given options\n * @param {Options} options\n * @returns {boolean}\n */\n validate(options) {\n return options.get('validate', this.toString(), this);\n },\n /**\n * Return an object that represents how this link should be rendered.\n * @param {Options} options Formattinng options\n */\n render(options) {\n const token = this;\n const href = this.toHref(options.get('defaultProtocol'));\n const formattedHref = options.get('formatHref', href, this);\n const tagName = options.get('tagName', href, token);\n const content = this.toFormattedString(options);\n const attributes = {};\n const className = options.get('className', href, token);\n const target = options.get('target', href, token);\n const rel = options.get('rel', href, token);\n const attrs = options.getObj('attributes', href, token);\n const eventListeners = options.getObj('events', href, token);\n attributes.href = formattedHref;\n if (className) {\n attributes.class = className;\n }\n if (target) {\n attributes.target = target;\n }\n if (rel) {\n attributes.rel = rel;\n }\n if (attrs) {\n Object.assign(attributes, attrs);\n }\n return {\n tagName,\n attributes,\n content,\n eventListeners\n };\n }\n};\n\n/**\n * Create a new token that can be emitted by the parser state machine\n * @param {string} type readable type of the token\n * @param {object} props properties to assign or override, including isLink = true or false\n * @returns {new (value: string, tokens: Token[]) => MultiToken} new token class\n */\nfunction createTokenClass(type, props) {\n class Token extends MultiToken {\n constructor(value, tokens) {\n super(value, tokens);\n this.t = type;\n }\n }\n for (const p in props) {\n Token.prototype[p] = props[p];\n }\n Token.t = type;\n return Token;\n}\n\n/**\n\tRepresents a list of tokens making up a valid email address\n*/\nconst Email = createTokenClass('email', {\n isLink: true,\n toHref() {\n return 'mailto:' + this.toString();\n }\n});\n\n/**\n\tRepresents some plain text\n*/\nconst Text = createTokenClass('text');\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class Nl\n*/\nconst Nl = createTokenClass('nl');\n\n/**\n\tRepresents a list of text tokens making up a valid URL\n\t@class Url\n*/\nconst Url = createTokenClass('url', {\n isLink: true,\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@param {string} [scheme] default scheme (e.g., 'https')\n \t@return {string} the full href\n */\n toHref(scheme = defaults.defaultProtocol) {\n // Check if already has a prefix scheme\n return this.hasProtocol() ? this.v : `${scheme}://${this.v}`;\n },\n /**\n * Check whether this URL token has a protocol\n * @return {boolean}\n */\n hasProtocol() {\n const tokens = this.tk;\n return tokens.length >= 2 && tokens[0].t !== LOCALHOST && tokens[1].t === COLON;\n }\n});\n\nvar multi = /*#__PURE__*/Object.freeze({\n\t__proto__: null,\n\tBase: MultiToken,\n\tEmail: Email,\n\tMultiToken: MultiToken,\n\tNl: Nl,\n\tText: Text,\n\tUrl: Url,\n\tcreateTokenClass: createTokenClass\n});\n\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/EmailAddress (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main run\n*/\n\nconst makeState = arg => new State(arg);\n\n/**\n * Generate the parser multi token-based state machine\n * @param {{ groups: Collections }} tokens\n */\nfunction init$1({\n groups\n}) {\n // Types of characters the URL can definitely end in\n const qsAccepting = groups.domain.concat([AMPERSAND, ASTERISK, AT, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, NUM, PERCENT, PIPE, PLUS, POUND, SLASH, SYM, TILDE, UNDERSCORE]);\n\n // Types of tokens that can follow a URL and be part of the query string\n // but cannot be the very last characters\n // Characters that cannot appear in the URL at all should be excluded\n const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];\n\n // For addresses without the mailto prefix\n // Tokens allowed in the localpart of the email\n const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE];\n\n // The universal starting state.\n /**\n * @type State\n */\n const Start = makeState();\n const Localpart = tt(Start, TILDE); // Local part of the email address\n ta(Localpart, localpartAccepting, Localpart);\n ta(Localpart, groups.domain, Localpart);\n const Domain = makeState(),\n Scheme = makeState(),\n SlashScheme = makeState();\n ta(Start, groups.domain, Domain); // parsed string ends with a potential domain name (A)\n ta(Start, groups.scheme, Scheme); // e.g., 'mailto'\n ta(Start, groups.slashscheme, SlashScheme); // e.g., 'http'\n\n ta(Domain, localpartAccepting, Localpart);\n ta(Domain, groups.domain, Domain);\n const LocalpartAt = tt(Domain, AT); // Local part of the email address plus @\n\n tt(Localpart, AT, LocalpartAt); // close to an email address now\n\n // Local part of an email address can be e.g. 'http' or 'mailto'\n tt(Scheme, AT, LocalpartAt);\n tt(SlashScheme, AT, LocalpartAt);\n const LocalpartDot = tt(Localpart, DOT); // Local part of the email address plus '.' (localpart cannot end in .)\n ta(LocalpartDot, localpartAccepting, Localpart);\n ta(LocalpartDot, groups.domain, Localpart);\n const EmailDomain = makeState();\n ta(LocalpartAt, groups.domain, EmailDomain); // parsed string starts with local email info + @ with a potential domain name\n ta(EmailDomain, groups.domain, EmailDomain);\n const EmailDomainDot = tt(EmailDomain, DOT); // domain followed by DOT\n ta(EmailDomainDot, groups.domain, EmailDomain);\n const Email$1 = makeState(Email); // Possible email address (could have more tlds)\n ta(EmailDomainDot, groups.tld, Email$1);\n ta(EmailDomainDot, groups.utld, Email$1);\n tt(LocalpartAt, LOCALHOST, Email$1);\n\n // Hyphen can jump back to a domain name\n const EmailDomainHyphen = tt(EmailDomain, HYPHEN); // parsed string starts with local email info + @ with a potential domain name\n tt(EmailDomainHyphen, HYPHEN, EmailDomainHyphen);\n ta(EmailDomainHyphen, groups.domain, EmailDomain);\n ta(Email$1, groups.domain, EmailDomain);\n tt(Email$1, DOT, EmailDomainDot);\n tt(Email$1, HYPHEN, EmailDomainHyphen);\n\n // Account for dots and hyphens. Hyphens are usually parts of domain names\n // (but not TLDs)\n const DomainHyphen = tt(Domain, HYPHEN); // domain followed by hyphen\n const DomainDot = tt(Domain, DOT); // domain followed by DOT\n tt(DomainHyphen, HYPHEN, DomainHyphen);\n ta(DomainHyphen, groups.domain, Domain);\n ta(DomainDot, localpartAccepting, Localpart);\n ta(DomainDot, groups.domain, Domain);\n const DomainDotTld = makeState(Url); // Simplest possible URL with no query string\n ta(DomainDot, groups.tld, DomainDotTld);\n ta(DomainDot, groups.utld, DomainDotTld);\n ta(DomainDotTld, groups.domain, Domain);\n ta(DomainDotTld, localpartAccepting, Localpart);\n tt(DomainDotTld, DOT, DomainDot);\n tt(DomainDotTld, HYPHEN, DomainHyphen);\n tt(DomainDotTld, AT, LocalpartAt);\n const DomainDotTldColon = tt(DomainDotTld, COLON); // URL followed by colon (potential port number here)\n const DomainDotTldColonPort = makeState(Url); // TLD followed by a port number\n ta(DomainDotTldColon, groups.numeric, DomainDotTldColonPort);\n\n // Long URL with optional port and maybe query string\n const Url$1 = makeState(Url);\n\n // URL with extra symbols at the end, followed by an opening bracket\n const UrlNonaccept = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\n // Query strings\n ta(Url$1, qsAccepting, Url$1);\n ta(Url$1, qsNonAccepting, UrlNonaccept);\n ta(UrlNonaccept, qsAccepting, Url$1);\n ta(UrlNonaccept, qsNonAccepting, UrlNonaccept);\n\n // Become real URLs after `SLASH` or `COLON NUM SLASH`\n // Here works with or without scheme:// prefix\n tt(DomainDotTld, SLASH, Url$1);\n tt(DomainDotTldColonPort, SLASH, Url$1);\n\n // Note that domains that begin with schemes are treated slighly differently\n const SchemeColon = tt(Scheme, COLON); // e.g., 'mailto:'\n const SlashSchemeColon = tt(SlashScheme, COLON); // e.g., 'http:'\n const SlashSchemeColonSlash = tt(SlashSchemeColon, SLASH); // e.g., 'http:/'\n\n const UriPrefix = tt(SlashSchemeColonSlash, SLASH); // e.g., 'http://'\n\n // Scheme states can transition to domain states\n ta(Scheme, groups.domain, Domain);\n tt(Scheme, DOT, DomainDot);\n tt(Scheme, HYPHEN, DomainHyphen);\n ta(SlashScheme, groups.domain, Domain);\n tt(SlashScheme, DOT, DomainDot);\n tt(SlashScheme, HYPHEN, DomainHyphen);\n\n // Force URL with scheme prefix followed by anything sane\n ta(SchemeColon, groups.domain, Url$1);\n tt(SchemeColon, SLASH, Url$1);\n tt(SchemeColon, QUERY, Url$1);\n ta(UriPrefix, groups.domain, Url$1);\n ta(UriPrefix, qsAccepting, Url$1);\n tt(UriPrefix, SLASH, Url$1);\n const bracketPairs = [[OPENBRACE, CLOSEBRACE],\n // {}\n [OPENBRACKET, CLOSEBRACKET],\n // []\n [OPENPAREN, CLOSEPAREN],\n // ()\n [OPENANGLEBRACKET, CLOSEANGLEBRACKET],\n // <>\n [FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN],\n // ()\n [LEFTCORNERBRACKET, RIGHTCORNERBRACKET],\n // 「」\n [LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET],\n // 『』\n [FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN] // <>\n ];\n for (let i = 0; i < bracketPairs.length; i++) {\n const [OPEN, CLOSE] = bracketPairs[i];\n const UrlOpen = tt(Url$1, OPEN); // URL followed by open bracket\n\n // Continue not accepting for open brackets\n tt(UrlNonaccept, OPEN, UrlOpen);\n\n // URL that begins with an opening bracket, followed by a symbols.\n // Note that the final state can still be `UrlOpen` (if the URL has a\n // single opening bracket for some reason).\n const UrlOpenQ = makeState(Url);\n ta(UrlOpen, qsAccepting, UrlOpenQ);\n const UrlOpenSyms = makeState(); // UrlOpen followed by some symbols it cannot end it\n ta(UrlOpen, qsNonAccepting, UrlOpenSyms);\n\n // Closing bracket component. This character WILL be included in the URL.\n // Must come after qsNonAccepting (which includes all close-bracket tokens)\n // so that CLOSE -> Url wins over CLOSE -> UrlOpenSyms.\n tt(UrlOpen, CLOSE, Url$1);\n\n // URL that begins with an opening bracket, followed by some symbols\n ta(UrlOpenQ, qsAccepting, UrlOpenQ);\n ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);\n ta(UrlOpenSyms, qsAccepting, UrlOpenQ);\n ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms);\n\n // Close brace/bracket to become regular URL\n tt(UrlOpenQ, CLOSE, Url$1);\n tt(UrlOpenSyms, CLOSE, Url$1);\n }\n tt(Start, LOCALHOST, DomainDotTld); // localhost is a valid URL state\n tt(Start, NL, Nl); // single new line\n\n return {\n start: Start,\n tokens: tk\n };\n}\n\n/**\n * Run the parser state machine on a list of scanned string-based tokens to\n * create a list of multi tokens, each of which represents a URL, email address,\n * plain text, etc.\n *\n * @param {State} start parser start state\n * @param {string} input the original input used to generate the given tokens\n * @param {Token[]} tokens list of scanned tokens\n * @returns {MultiToken[]}\n */\nfunction run(start, input, tokens) {\n let len = tokens.length;\n let cursor = 0;\n let multis = [];\n let textTokens = [];\n while (cursor < len) {\n let state = start;\n let secondState = null;\n let nextState = null;\n let multiLength = 0;\n let latestAccepting = null;\n let sinceAccepts = -1;\n while (cursor < len && !(secondState = state.go(tokens[cursor].t))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n while (cursor < len && (nextState = secondState || state.go(tokens[cursor].t))) {\n // Get the next state\n secondState = null;\n state = nextState;\n\n // Keep track of the latest accepting state\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n cursor++;\n multiLength++;\n }\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token add\n // the first text token to the text tokens array and try again from\n // the next\n cursor -= multiLength;\n if (cursor < len) {\n textTokens.push(tokens[cursor]);\n cursor++;\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n textTokens = [];\n }\n\n // Roll back to the latest accepting state\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts;\n\n // Create a new multitoken\n const Multi = latestAccepting.t;\n const subtokens = tokens.slice(cursor - multiLength, cursor);\n multis.push(initMultiToken(Multi, input, subtokens));\n }\n }\n\n // Finally close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(initMultiToken(Text, input, textTokens));\n }\n return multis;\n}\n\n/**\n * Utility function for instantiating a new multitoken with all the relevant\n * fields during parsing.\n * @param {new (value: string, tokens: Token[]) => MultiToken} Multi class to instantiate\n * @param {string} input original input string\n * @param {Token[]} tokens consecutive tokens scanned from input string\n * @returns {MultiToken}\n */\nfunction initMultiToken(Multi, input, tokens) {\n const startIdx = tokens[0].s;\n const endIdx = tokens[tokens.length - 1].e;\n const value = input.slice(startIdx, endIdx);\n return new Multi(value, tokens);\n}\n\nconst warn = typeof console !== 'undefined' && console && console.warn || (() => {});\nconst warnAdvice = 'until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.';\n\n// Side-effect initialization state\nconst INIT = {\n scanner: null,\n parser: null,\n tokenQueue: [],\n pluginQueue: [],\n customSchemes: [],\n initialized: false\n};\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: { groups: Collections } & typeof tk\n * }} ScannerInit\n */\n\n/**\n * @typedef {{\n * \tstart: State,\n * \ttokens: typeof multi\n * }} ParserInit\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit }) => void} TokenPlugin\n */\n\n/**\n * @typedef {(arg: { scanner: ScannerInit, parser: ParserInit }) => void} Plugin\n */\n\n/**\n * De-register all plugins and reset the internal state-machine. Used for\n * testing; not required in practice.\n * @private\n */\nfunction reset() {\n State.groups = {};\n INIT.scanner = null;\n INIT.parser = null;\n INIT.tokenQueue = [];\n INIT.pluginQueue = [];\n INIT.customSchemes = [];\n INIT.initialized = false;\n return INIT;\n}\n\n/**\n * Register a token plugin to allow the scanner to recognize additional token\n * types before the parser state machine is constructed from the results.\n * @param {string} name of plugin to register\n * @param {TokenPlugin} plugin function that accepts the scanner state machine\n * and available scanner tokens and collections and extends the state machine to\n * recognize additional tokens or groups.\n */\nfunction registerTokenPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid token plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n if (name === INIT.tokenQueue[i][0]) {\n warn(`linkifyjs: token plugin \"${name}\" already registered - will be overwritten`);\n INIT.tokenQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.tokenQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register token plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Register a linkify plugin\n * @param {string} name of plugin to register\n * @param {Plugin} plugin function that accepts the parser state machine and\n * extends the parser to recognize additional link types\n */\nfunction registerPlugin(name, plugin) {\n if (typeof plugin !== 'function') {\n throw new Error(`linkifyjs: Invalid plugin ${plugin} (expects function)`);\n }\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n if (name === INIT.pluginQueue[i][0]) {\n warn(`linkifyjs: plugin \"${name}\" already registered - will be overwritten`);\n INIT.pluginQueue[i] = [name, plugin];\n return;\n }\n }\n INIT.pluginQueue.push([name, plugin]);\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register plugin \"${name}\" ${warnAdvice}`);\n }\n}\n\n/**\n * Detect URLs with the following additional protocol. Anything with format\n * \"protocol://...\" will be considered a link. If `optionalSlashSlash` is set to\n * `true`, anything with format \"protocol:...\" will be considered a link.\n * @param {string} scheme\n * @param {boolean} [optionalSlashSlash]\n */\nfunction registerCustomProtocol(scheme, optionalSlashSlash = false) {\n if (INIT.initialized) {\n warn(`linkifyjs: already initialized - will not register custom scheme \"${scheme}\" ${warnAdvice}`);\n }\n if (!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(scheme)) {\n throw new Error(`linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or \"-\"\n2. Cannot start or end with \"-\"\n3. \"-\" cannot repeat`);\n }\n INIT.customSchemes.push([scheme, optionalSlashSlash]);\n}\n\n/**\n * Initialize the linkify state machine. Called automatically the first time\n * linkify is called on a string, but may be called manually as well.\n */\nfunction init() {\n // Initialize scanner state machine and plugins\n INIT.scanner = init$2(INIT.customSchemes);\n for (let i = 0; i < INIT.tokenQueue.length; i++) {\n INIT.tokenQueue[i][1]({\n scanner: INIT.scanner\n });\n }\n\n // Initialize parser state machine and plugins\n INIT.parser = init$1(INIT.scanner.tokens);\n for (let i = 0; i < INIT.pluginQueue.length; i++) {\n INIT.pluginQueue[i][1]({\n scanner: INIT.scanner,\n parser: INIT.parser\n });\n }\n INIT.initialized = true;\n return INIT;\n}\n\n/**\n * Parse a string into tokens that represent linkable and non-linkable sub-components\n * @param {string} str\n * @return {MultiToken[]} tokens\n */\nfunction tokenize(str) {\n if (!INIT.initialized) {\n init();\n }\n return run(INIT.parser.start, str, run$1(INIT.scanner.start, str));\n}\ntokenize.scan = run$1; // for testing\n\n/**\n * Find a list of linkable items in the given string.\n * @param {string} str string to find links in\n * @param {string | Opts} [type] either formatting options or specific type of\n * links to find, e.g., 'url' or 'email'\n * @param {Opts} [opts] formatting options for final output. Cannot be specified\n * if opts already provided in `type` argument\n */\nfunction find(str, type = null, opts = null) {\n if (type && typeof type === 'object') {\n if (opts) {\n throw Error(`linkifyjs: Invalid link type ${type}; must be a string`);\n }\n opts = type;\n type = null;\n }\n const options = new Options(opts);\n const tokens = tokenize(str);\n const filtered = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.isLink && (!type || token.t === type) && options.check(token)) {\n filtered.push(token.toFormattedObject(options));\n }\n }\n return filtered;\n}\n\n/**\n * Is the given string valid linkable text of some sort. Note that this does not\n * trim the text for you.\n *\n * Optionally pass in a second `type` param, which is the type of link to test\n * for.\n *\n * For example,\n *\n * linkify.test(str, 'email');\n *\n * Returns `true` if str is a valid email.\n * @param {string} str string to test for links\n * @param {string} [type] optional specific link type to look for\n * @returns boolean true/false\n */\nfunction test(str, type = null) {\n const tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].t === type);\n}\n\nexport { MultiToken, Options, State, createTokenClass, find, init, multi, options, regexp, registerCustomProtocol, registerPlugin, registerTokenPlugin, reset, stringToArray, test, multi as text, tokenize };\n","import escapeHTML from \"escape-html\";\nimport { Options, tokenize } from \"linkifyjs\";\nfunction linkifyString(str) {\n const options = new Options({\n defaultProtocol: \"https\",\n target: \"_blank\",\n className: \"external linkified\",\n attributes: {\n rel: \"nofollow noopener noreferrer\"\n }\n }, defaultRender);\n const tokens = tokenize(str);\n const result = [];\n for (const token of tokens) {\n if (token.t === \"nl\" && options.get(\"nl2br\")) {\n result.push(\"
\\n\");\n } else if (!token.isLink || !options.check(token)) {\n result.push(escapeHTML(token.toString()));\n } else {\n result.push(options.render(token));\n }\n }\n return result.join(\"\");\n}\nfunction escapeAttr(href) {\n return href.replace(/\"/g, \""\");\n}\nfunction attributesToString(attributes) {\n const result = [];\n for (const attr in attributes) {\n const val = attributes[attr] + \"\";\n result.push(`${attr}=\"${escapeAttr(val)}\"`);\n }\n return result.join(\" \");\n}\nfunction defaultRender({ tagName, attributes, content }) {\n return `<${tagName} ${attributesToString(attributes)}>${escapeHTML(content)}`;\n}\nconst directive = function(el, { value }) {\n if (value?.linkify === true) {\n el.innerHTML = linkifyString(value.text);\n }\n};\nexport {\n directive as default\n};\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, inject, withDirectives, openBlock, createElementBlock, createTextVNode, toDisplayString, unref } from \"vue\";\nimport directive from \"../directives/Linkify/index.mjs\";\nconst _hoisted_1 = [\"title\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSidebarHeader\",\n props: {\n name: {},\n title: {},\n linkify: { type: Boolean }\n },\n setup(__props) {\n const headerRef = inject(\"NcAppSidebar:header:ref\");\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"h2\", {\n ref_key: \"headerRef\",\n ref: headerRef,\n tabindex: \"-1\",\n title: __props.title\n }, [\n createTextVNode(toDisplayString(__props.name), 1)\n ], 8, _hoisted_1)), [\n [unref(directive), { text: __props.name, linkify: __props.linkify }]\n ]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-C-QhdyiN.mjs.map\n","import '../assets/NcEmptyContent-DJMDuGVz.css';\nimport { defineComponent, openBlock, createElementBlock, unref, renderSlot, createCommentVNode, createTextVNode, toDisplayString } from \"vue\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _hoisted_1 = [\"aria-labelledby\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"empty-content__icon\",\n \"aria-hidden\": \"true\"\n};\nconst _hoisted_3 = [\"id\"];\nconst _hoisted_4 = {\n key: 2,\n class: \"empty-content__description\"\n};\nconst _hoisted_5 = {\n key: 3,\n class: \"empty-content__action\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcEmptyContent\",\n props: {\n description: { default: \"\" },\n name: { default: \"\" }\n },\n setup(__props) {\n const nameId = createElementId();\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n \"aria-labelledby\": unref(nameId),\n class: \"empty-content\",\n role: \"note\"\n }, [\n _ctx.$slots.icon ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n __props.name !== \"\" || _ctx.$slots.name ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n id: unref(nameId),\n class: \"empty-content__name\"\n }, [\n renderSlot(_ctx.$slots, \"name\", {}, () => [\n createTextVNode(toDisplayString(__props.name), 1)\n ], true)\n ], 8, _hoisted_3)) : createCommentVNode(\"\", true),\n __props.description !== \"\" || _ctx.$slots.description ? (openBlock(), createElementBlock(\"p\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString(__props.description), 1)\n ], true)\n ])) : createCommentVNode(\"\", true),\n _ctx.$slots.action ? (openBlock(), createElementBlock(\"div\", _hoisted_5, [\n renderSlot(_ctx.$slots, \"action\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 8, _hoisted_1);\n };\n }\n});\nconst NcEmptyContent = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-8609a4c1\"]]);\nexport {\n NcEmptyContent as N\n};\n//# sourceMappingURL=NcEmptyContent-CGAPqk4S.mjs.map\n","import '../assets/NcAppSidebar-oJQ8kUb0.css';\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { createFocusTrap } from \"focus-trap\";\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, defineComponent, useModel, normalizeClass, unref, createVNode, withCtx, mergeModels, resolveComponent, withKeys, withModifiers, Fragment, renderList, createBlock, renderSlot, resolveDirective, Transition, withDirectives, Teleport, normalizeStyle, vShow, createTextVNode, warn, ref, provide } from \"vue\";\nimport { I as IconArrowRight } from \"./ArrowRight-B1ncAhus.mjs\";\nimport { I as IconClose } from \"./Close-CuhcJnX2.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { getCanonicalLocale } from \"@nextcloud/l10n\";\nimport { _ as _sfc_main$6 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { useIsSmallMobile } from \"../composables/useIsMobile/index.mjs\";\nimport directive from \"../directives/Focus/index.mjs\";\nimport { r as register, V as t15, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { g as getTrapStack } from \"./focusTrap-HJQ4pqHV.mjs\";\nimport { i as isSlotPopulated, N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _sfc_main$7 } from \"./NcAppSidebarHeader.vue_vue_type_script_setup_true_lang-C-QhdyiN.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { C as CONTENT_SELECTOR_KEY } from \"./constants-Ciwvl5xb.mjs\";\nimport { N as NcEmptyContent } from \"./NcEmptyContent-CGAPqk4S.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-BOVpFVQz.mjs\";\nconst _sfc_main$5 = {\n name: \"DockRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$5 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$3 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$3 = { d: \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\" };\nconst _hoisted_4$3 = { key: 0 };\nfunction _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon dock-right-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$3, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$3, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$3))\n ], 16, _hoisted_1$5);\n}\nconst IconDockRight = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$4]]);\nconst _sfc_main$4 = {\n name: \"StarIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$4 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$2 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$2 = { d: \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\" };\nconst _hoisted_4$2 = { key: 0 };\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon star-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$2, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$2, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$2))\n ], 16, _hoisted_1$4);\n}\nconst IconStar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$3]]);\nconst _sfc_main$3 = {\n name: \"StarOutlineIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nconst _hoisted_1$3 = [\"aria-hidden\", \"aria-label\"];\nconst _hoisted_2$1 = [\"fill\", \"width\", \"height\"];\nconst _hoisted_3$1 = { d: \"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\" };\nconst _hoisted_4$1 = { key: 0 };\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps(_ctx.$attrs, {\n \"aria-hidden\": $props.title ? null : \"true\",\n \"aria-label\": $props.title,\n class: \"material-design-icon star-outline-icon\",\n role: \"img\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"click\", $event))\n }), [\n (openBlock(), createElementBlock(\"svg\", {\n fill: $props.fillColor,\n class: \"material-design-icon__svg\",\n width: $props.size,\n height: $props.size,\n viewBox: \"0 0 24 24\"\n }, [\n createElementVNode(\"path\", _hoisted_3$1, [\n $props.title ? (openBlock(), createElementBlock(\"title\", _hoisted_4$1, toDisplayString($props.title), 1)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_2$1))\n ], 16, _hoisted_1$3);\n}\nconst IconStarOutline = /* @__PURE__ */ _export_sfc(_sfc_main$3, [[\"render\", _sfc_render$2]]);\nconst _hoisted_1$2 = [\"aria-selected\", \"tabindex\"];\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"NcAppSidebarTabsButton\",\n props: /* @__PURE__ */ mergeModels({\n tab: {}\n }, {\n \"selected\": { type: Boolean, ...{ required: true } },\n \"selectedModifiers\": {}\n }),\n emits: [\"update:selected\"],\n setup(__props) {\n const selected = useModel(__props, \"selected\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"button-vue\", [_ctx.$style.sidebarTabsButton, {\n [_ctx.$style.sidebarTabsButton_selected]: selected.value,\n [_ctx.$style.sidebarTabsButton_legacy]: unref(isLegacy34)\n }]]),\n role: \"tab\",\n \"aria-selected\": selected.value,\n tabindex: selected.value ? 0 : -1,\n onClick: _cache[0] || (_cache[0] = ($event) => selected.value = true)\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.$style.sidebarTabsButton__icon)\n }, [\n createVNode(_sfc_main$6, {\n vnodes: __props.tab.renderIcon()\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", {\n class: normalizeClass([_ctx.$style.sidebarTabsButton__legacyIcon, __props.tab.icon])\n }, null, 2)\n ]),\n _: 1\n }, 8, [\"vnodes\"])\n ], 2),\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.$style.sidebarTabsButton__name)\n }, toDisplayString(__props.tab.name), 3)\n ], 10, _hoisted_1$2);\n };\n }\n});\nconst sidebarTabsButton = \"_sidebarTabsButton_OCROY\";\nconst sidebarTabsButton_legacy = \"_sidebarTabsButton_legacy_e9-y9\";\nconst sidebarTabsButton_selected = \"_sidebarTabsButton_selected_S48M1\";\nconst sidebarTabsButton__name = \"_sidebarTabsButton__name_GZRY8\";\nconst sidebarTabsButton__icon = \"_sidebarTabsButton__icon_ZDmkU\";\nconst sidebarTabsButton__legacyIcon = \"_sidebarTabsButton__legacyIcon_y6cLW\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_v9SPG\",\n sidebarTabsButton,\n sidebarTabsButton_legacy,\n sidebarTabsButton_selected,\n sidebarTabsButton__name,\n sidebarTabsButton__icon,\n sidebarTabsButton__legacyIcon\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcAppSidebarTabsButton = /* @__PURE__ */ _export_sfc(_sfc_main$2, [[\"__cssModules\", cssModules]]);\nconst _sfc_main$1 = {\n name: \"NcAppSidebarTabs\",\n components: {\n NcAppSidebarTabsButton\n },\n provide() {\n return {\n registerTab: this.registerTab,\n unregisterTab: this.unregisterTab,\n // Getter as an alternative to Vue 2.7 computed(() => this.activeTab)\n getActiveTab: () => this.activeTab,\n // Used to check whether the tab header is shown so the tabs can reference the tab header for `aria-labelledby` or not\n isTablistShown: () => this.hasMultipleTabs\n };\n },\n props: {\n /**\n * Id of the tab to activate\n */\n active: {\n type: String,\n default: \"\"\n },\n /**\n * Force the tab navigation to display even if there is only one tab\n */\n forceTabs: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"update:active\"],\n data(props) {\n return {\n /**\n * Tab descriptions from the passed NcSidebarTab components' props to build the tab navbar from.\n */\n tabs: [],\n /**\n * Local active (open) tab's ID. It allows to use component without v-model:active\n */\n activeTab: props.active,\n isLegacy34\n };\n },\n computed: {\n /**\n * Has multiple tabs. If only one tab - its content is shown without navigation\n *\n * @return {boolean}\n */\n hasMultipleTabs() {\n return this.tabs.length > 1;\n },\n showForSingleTab() {\n return this.forceTabs && this.tabs.length === 1;\n },\n currentTabIndex() {\n return this.tabs.findIndex((tab) => tab.id === this.activeTab);\n }\n },\n watch: {\n tabs() {\n if (this.active) {\n this.updateActive();\n }\n },\n active(active) {\n if (active !== this.activeTab) {\n this.updateActive();\n }\n }\n },\n methods: {\n /**\n * Set the current active tab\n *\n * @param {string} id the id of the tab\n */\n setActive(id) {\n this.activeTab = id;\n this.$emit(\"update:active\", this.activeTab);\n },\n /**\n * Focus the previous tab\n * and emit to the parent component\n */\n focusPreviousTab() {\n if (this.currentTabIndex > 0) {\n this.setActive(this.tabs[this.currentTabIndex - 1].id);\n }\n this.focusActiveTab();\n },\n /**\n * Focus the next tab\n * and emit to the parent component\n */\n focusNextTab() {\n if (this.currentTabIndex < this.tabs.length - 1) {\n this.setActive(this.tabs[this.currentTabIndex + 1].id);\n }\n this.focusActiveTab();\n },\n /**\n * Focus the first tab\n * and emit to the parent component\n */\n focusFirstTab() {\n this.setActive(this.tabs[0].id);\n this.focusActiveTab();\n },\n /**\n * Focus the last tab\n * and emit to the parent component\n */\n focusLastTab() {\n this.setActive(this.tabs[this.tabs.length - 1].id);\n this.focusActiveTab();\n },\n /**\n * Focus the current active tab\n */\n focusActiveTab() {\n this.$el.querySelector(`#tab-button-${this.activeTab}`).focus();\n },\n /**\n * Focus the content on tab\n * see aria accessibility guidelines\n */\n focusActiveTabContent() {\n this.$el.querySelector(\"#tab-\" + this.activeTab).focus();\n },\n /**\n * Update the current active tab\n */\n updateActive() {\n this.activeTab = this.active && this.tabs.some(({ id }) => id === this.active) ? this.active : this.tabs[0]?.id ?? \"\";\n },\n /**\n * Register child tab in the tabs\n *\n * @param {object} tab child tab passed to slot\n */\n registerTab(tab) {\n this.tabs.push(tab);\n this.tabs.sort((a, b) => {\n if (a.order === b.order) {\n return a.name.localeCompare(b.name, [getCanonicalLocale()]);\n }\n return a.order - b.order;\n });\n this.updateActive();\n },\n /**\n * Unregister child tab from the tabs\n *\n * @param {string} id tab's id\n */\n unregisterTab(id) {\n const tabIndex = this.tabs.findIndex((tab) => tab.id === id);\n if (tabIndex !== -1) {\n this.tabs.splice(tabIndex, 1);\n }\n if (this.activeTab === id) {\n this.updateActive();\n }\n }\n }\n};\nconst _hoisted_1$1 = { class: \"app-sidebar-tabs\" };\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcAppSidebarTabsButton = resolveComponent(\"NcAppSidebarTabsButton\");\n return openBlock(), createElementBlock(\"div\", _hoisted_1$1, [\n $options.hasMultipleTabs || $options.showForSingleTab ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n role: \"tablist\",\n class: normalizeClass([\"app-sidebar-tabs__nav\", { \"app-sidebar-tabs__nav--legacy\": $data.isLegacy34 }]),\n onKeydown: [\n _cache[0] || (_cache[0] = withKeys(withModifiers((...args) => $options.focusPreviousTab && $options.focusPreviousTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"left\"])),\n _cache[1] || (_cache[1] = withKeys(withModifiers((...args) => $options.focusNextTab && $options.focusNextTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"right\"])),\n _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => $options.focusActiveTabContent && $options.focusActiveTabContent(...args), [\"exact\", \"prevent\", \"stop\"]), [\"tab\"])),\n _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.focusFirstTab && $options.focusFirstTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"home\"])),\n _cache[4] || (_cache[4] = withKeys(withModifiers((...args) => $options.focusLastTab && $options.focusLastTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"end\"])),\n _cache[5] || (_cache[5] = withKeys(withModifiers((...args) => $options.focusFirstTab && $options.focusFirstTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"page-up\"])),\n _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => $options.focusLastTab && $options.focusLastTab(...args), [\"exact\", \"prevent\", \"stop\"]), [\"page-down\"]))\n ]\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($data.tabs, (tab) => {\n return openBlock(), createBlock(_component_NcAppSidebarTabsButton, {\n id: `tab-button-${tab.id}`,\n key: tab.id,\n class: \"app-sidebar-tabs__tab\",\n \"aria-controls\": `tab-${tab.id}`,\n selected: $data.activeTab === tab.id,\n tab,\n \"onUpdate:selected\": ($event) => $options.setActive(tab.id)\n }, null, 8, [\"id\", \"aria-controls\", \"selected\", \"tab\", \"onUpdate:selected\"]);\n }), 128))\n ], 34)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-sidebar-tabs__content\", { \"app-sidebar-tabs__content--multiple\": $options.hasMultipleTabs }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 2)\n ]);\n}\nconst NcAppSidebarTabs = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"render\", _sfc_render$1], [\"__scopeId\", \"data-v-e74d1502\"]]);\nregister(t15);\nconst _sfc_main = {\n name: \"NcAppSidebar\",\n components: {\n NcActions,\n NcAppSidebarHeader: _sfc_main$7,\n NcAppSidebarTabs,\n NcButton,\n NcLoadingIcon,\n NcEmptyContent,\n IconArrowRight,\n IconClose,\n IconDockRight,\n IconStar,\n IconStarOutline\n },\n directives: {\n Focus: directive,\n /** @type {import('vue').ObjectDirective} */\n ClickOutside: vOnClickOutside\n },\n inject: {\n ncContentSelector: {\n from: CONTENT_SELECTOR_KEY,\n default: void 0\n }\n },\n props: {\n /**\n * The active tab\n */\n active: {\n type: String,\n default: \"\"\n },\n /**\n * Main text of the sidebar\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Allow to edit the sidebar name.\n */\n nameEditable: {\n type: Boolean,\n default: false\n },\n /**\n * Placeholder in the edit field if the name is editable.\n */\n namePlaceholder: {\n type: String,\n default: \"\"\n },\n /**\n * Secondary name of the sidebar (subline)\n */\n subname: {\n type: String,\n default: \"\"\n },\n /**\n * Title to display for the subname.\n */\n subtitle: {\n type: String,\n default: \"\"\n },\n /**\n * Url to the top header background image\n * Applied with css\n */\n background: {\n type: String,\n default: \"\"\n },\n /**\n * Enable the favourite icon if not null\n * See fired events\n */\n starred: {\n type: Boolean,\n default: null\n },\n /**\n * Show loading spinner instead of the star icon\n */\n starLoading: {\n type: Boolean,\n default: false\n },\n /**\n * Show loading spinner instead of tabs\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Display the sidebar in compact mode\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Only display close button and default slot content.\n * Don't display other header content and primary and secondary actions.\n * Useful when showing the EmptyContent component as content.\n */\n empty: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Force the tab navigation to display even if there is only one tab\n */\n forceTabs: {\n type: Boolean,\n default: false\n },\n /**\n * Linkify the name\n */\n linkifyName: {\n type: Boolean,\n default: false\n },\n /**\n * Title to display for the name.\n * Can be set to the same text in case it's too long.\n */\n title: {\n type: String,\n default: \"\"\n },\n /**\n * Allow to conditionally show the sidebar\n * You can also use `v-if` on the sidebar, but using the open prop allow to keep\n * the sidebar inside the DOM for performance if it is opened and closed multiple times.\n *\n * When using the `open` property to close the sidebar a built-in toggle button will be shown to reopen it,\n * similar to the app navigation. You can remove this button with the `no-toggle` prop.\n */\n open: {\n type: Boolean,\n default: true\n },\n /**\n * Custom classes to assign to the sidebar toggle button.\n * If needed this can be used to assign styles to the button using `:deep()` selector.\n */\n toggleClasses: {\n type: [String, Array, Object],\n default: \"\"\n },\n /**\n * Custom attrs to assign to the sidebar toggle button.\n */\n toggleAttrs: {\n type: Object,\n default: void 0\n },\n /**\n * Do not add the built-in toggle button with `open` prop.\n */\n noToggle: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"close\",\n \"closed\",\n \"opened\",\n // 'figureClick', not emitted on purpose to make \"hasFigureClickListener\" work\n \"update:active\",\n \"update:name\",\n \"update:nameEditable\",\n \"update:open\",\n \"update:starred\",\n \"submitName\",\n \"dismissEditing\"\n ],\n setup() {\n const headerRef = ref(null);\n provide(\"NcAppSidebar:header:ref\", headerRef);\n return {\n uid: createElementId(),\n isMobile: useIsSmallMobile(),\n headerRef\n };\n },\n data() {\n return {\n changeNameTranslated: t(\"Change name\"),\n closeTranslated: t(\"Close sidebar\"),\n favoriteTranslated: t(\"Favorite\"),\n isStarred: this.starred,\n focusTrap: null,\n elementToReturnFocus: null\n };\n },\n computed: {\n canStar() {\n return this.isStarred !== null;\n },\n hasFigureClickListener() {\n return !!this.$attrs.onFigureClick;\n }\n },\n watch: {\n starred() {\n this.isStarred = this.starred;\n },\n isMobile() {\n this.toggleFocusTrap();\n },\n open() {\n this.checkToggleButtonContainerAvailability();\n }\n },\n created() {\n this.preserveElementToReturnFocus();\n this.checkToggleButtonContainerAvailability();\n },\n beforeUnmount() {\n this.$emit(\"closed\");\n this.focusTrap?.deactivate();\n },\n methods: {\n isSlotPopulated,\n t,\n preserveElementToReturnFocus() {\n if (document.activeElement && document.activeElement !== document.body) {\n this.elementToReturnFocus = document.activeElement;\n if (this.elementToReturnFocus.getAttribute(\"role\") === \"menuitem\") {\n const menu = this.elementToReturnFocus.closest('[role=\"menu\"]');\n if (menu) {\n const menuTrigger = document.querySelector(`[aria-controls=\"${menu.id}\"]`);\n this.elementToReturnFocus = menuTrigger;\n }\n }\n }\n },\n initFocusTrap() {\n if (this.focusTrap) {\n return;\n }\n this.focusTrap = createFocusTrap([\n // The sidebar itself\n this.$refs.sidebar,\n // Nextcloud Server header navigation\n document.querySelector(\"#header\")\n ], {\n allowOutsideClick: true,\n fallbackFocus: this.$refs.closeButton.$el,\n trapStack: getTrapStack(),\n escapeDeactivates: false\n });\n },\n /**\n * Activate focus trap if it is currently needed, otherwise deactivate\n */\n toggleFocusTrap() {\n if (this.open && this.isMobile) {\n this.initFocusTrap();\n this.focusTrap.activate();\n } else {\n this.focusTrap?.deactivate();\n }\n },\n /**\n * Close the sidebar on pressing the escape key on mobile\n *\n * @param {KeyboardEvent} event key down event\n */\n onKeydownEsc(event) {\n if (this.isMobile) {\n event.stopPropagation();\n this.closeSidebar();\n }\n },\n onAfterEnter(element) {\n if (this.elementToReturnFocus) {\n this.focus();\n }\n this.toggleFocusTrap();\n this.$emit(\"opened\", element);\n },\n onAfterLeave(element) {\n this.$emit(\"closed\", element);\n this.toggleFocusTrap();\n this.elementToReturnFocus?.focus({ focusVisible: true });\n this.elementToReturnFocus = null;\n },\n /**\n * Used to tell parent component the user asked to close the sidebar\n *\n * @param {Event} e close icon click event\n */\n closeSidebar(e) {\n this.$emit(\"close\", e);\n this.$emit(\"update:open\", false);\n },\n /**\n * Emit figure click event to parent component\n *\n * @param {Event} e click event\n */\n onFigureClick(e) {\n this.$emit(\"figureClick\", e);\n },\n /**\n * Toggle the favourite state\n * and emit to the parent component\n */\n toggleStarred() {\n this.isStarred = !this.isStarred;\n this.$emit(\"update:starred\", this.isStarred);\n },\n async editName() {\n this.$emit(\"update:nameEditable\", true);\n if (this.nameEditable) {\n await this.$nextTick();\n this.$refs.nameInput.focus();\n }\n },\n /**\n * Focus the sidebar\n *\n * @public\n */\n focus() {\n if (!this.open && !this.noToggle) {\n this.$refs.toggle.$el.focus();\n return;\n }\n try {\n this.headerRef.focus();\n } catch {\n warn(\"NcAppSidebar should have focusable header for accessibility reasons. Use NcAppSidebarHeader component.\");\n }\n },\n /**\n * Focus the active tab\n *\n * @public\n */\n focusActiveTabContent() {\n this.preserveElementToReturnFocus();\n this.$refs.tabs.focusActiveTabContent();\n },\n /**\n * Check if the toggle button container is available\n */\n checkToggleButtonContainerAvailability() {\n if (this.open === false && !this.noToggle && !this.ncContentSelector) {\n logger.warn(\"[NcAppSidebar] It looks like you want to use NcAppSidebar with the built-in toggle button. This feature is only available when NcAppSidebar is used in NcContent.\");\n }\n },\n /**\n * Emit name change event to parent component\n *\n * @param {Event} event input event\n */\n onNameInput(event) {\n this.$emit(\"update:name\", event.target.value);\n },\n /**\n * Emit when the name form edit confirm button is pressed in order\n * to change the name.\n *\n * @param {Event} event submit event\n */\n onSubmitName(event) {\n this.$emit(\"update:nameEditable\", false);\n this.$emit(\"submitName\", event);\n },\n onDismissEditing() {\n this.$emit(\"update:nameEditable\", false);\n this.$emit(\"dismissEditing\");\n },\n onUpdateActive(activeTab) {\n this.$emit(\"update:active\", activeTab);\n }\n }\n};\nconst _hoisted_1 = [\"aria-labelledby\"];\nconst _hoisted_2 = { class: \"app-sidebar-header__info\" };\nconst _hoisted_3 = {\n key: 0,\n class: \"app-sidebar-header__tertiary-actions\"\n};\nconst _hoisted_4 = { class: \"app-sidebar-header__name-container\" };\nconst _hoisted_5 = { class: \"app-sidebar-header__mainname-container\" };\nconst _hoisted_6 = [\"placeholder\", \"value\"];\nconst _hoisted_7 = [\"title\"];\nconst _hoisted_8 = {\n key: 2,\n class: \"app-sidebar-header__description\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_IconDockRight = resolveComponent(\"IconDockRight\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_IconStar = resolveComponent(\"IconStar\");\n const _component_IconStarOutline = resolveComponent(\"IconStarOutline\");\n const _component_NcAppSidebarHeader = resolveComponent(\"NcAppSidebarHeader\");\n const _component_IconArrowRight = resolveComponent(\"IconArrowRight\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_IconClose = resolveComponent(\"IconClose\");\n const _component_NcAppSidebarTabs = resolveComponent(\"NcAppSidebarTabs\");\n const _component_NcEmptyContent = resolveComponent(\"NcEmptyContent\");\n const _directive_focus = resolveDirective(\"focus\");\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return openBlock(), createBlock(Transition, {\n appear: \"\",\n name: \"slide-right\",\n onAfterEnter: $options.onAfterEnter,\n onAfterLeave: $options.onAfterLeave\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"aside\", {\n id: \"app-sidebar-vue\",\n ref: \"sidebar\",\n class: \"app-sidebar\",\n \"aria-labelledby\": `app-sidebar-vue-${$setup.uid}__header`,\n onKeydown: _cache[6] || (_cache[6] = withKeys((...args) => $options.onKeydownEsc && $options.onKeydownEsc(...args), [\"esc\"]))\n }, [\n $options.ncContentSelector && !$props.open && !$props.noToggle ? (openBlock(), createBlock(Teleport, {\n key: 0,\n to: $options.ncContentSelector\n }, [\n createVNode(_component_NcButton, mergeProps({\n ref: \"toggle\",\n \"aria-label\": $options.t(\"Open sidebar\"),\n class: [\"app-sidebar__toggle\", $props.toggleClasses],\n variant: \"tertiary\"\n }, $props.toggleAttrs, {\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"update:open\", true))\n }), {\n icon: withCtx(() => [\n renderSlot(_ctx.$slots, \"toggle-icon\", {}, () => [\n createVNode(_component_IconDockRight, { size: 20 })\n ], true)\n ]),\n _: 3\n }, 16, [\"aria-label\", \"class\"])\n ], 8, [\"to\"])) : createCommentVNode(\"\", true),\n createElementVNode(\"header\", {\n class: normalizeClass([\"app-sidebar-header\", {\n \"app-sidebar-header--with-figure\": $options.isSlotPopulated(_ctx.$slots.header?.()) || $props.background,\n \"app-sidebar-header--compact\": $props.compact\n }])\n }, [\n !$props.empty ? renderSlot(_ctx.$slots, \"info\", { key: 0 }, () => [\n createElementVNode(\"div\", _hoisted_2, [\n $options.isSlotPopulated(_ctx.$slots.header?.()) || $props.background ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"app-sidebar-header__figure\", {\n \"app-sidebar-header__figure--with-action\": $options.hasFigureClickListener\n }]),\n style: normalizeStyle({\n backgroundImage: `url(${$props.background})`\n }),\n tabindex: \"0\",\n onClick: _cache[1] || (_cache[1] = (...args) => $options.onFigureClick && $options.onFigureClick(...args)),\n onKeydown: _cache[2] || (_cache[2] = withKeys((...args) => $options.onFigureClick && $options.onFigureClick(...args), [\"enter\"]))\n }, [\n renderSlot(_ctx.$slots, \"header\", { class: \"app-sidebar-header__background\" }, void 0, true)\n ], 38)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\"app-sidebar-header__desc\", {\n \"app-sidebar-header__desc--with-tertiary-action\": $options.canStar || $options.isSlotPopulated(_ctx.$slots[\"tertiary-actions\"]?.()),\n \"app-sidebar-header__desc--editable\": $props.nameEditable && !$props.subname,\n \"app-sidebar-header__desc--with-subname--editable\": $props.nameEditable && $props.subname,\n \"app-sidebar-header__desc--without-actions\": !$options.isSlotPopulated(_ctx.$slots[\"secondary-actions\"]?.())\n }])\n }, [\n $options.canStar || $options.isSlotPopulated(_ctx.$slots[\"tertiary-actions\"]?.()) ? (openBlock(), createElementBlock(\"div\", _hoisted_3, [\n renderSlot(_ctx.$slots, \"tertiary-actions\", {}, () => [\n $options.canStar ? (openBlock(), createBlock(_component_NcButton, {\n key: 0,\n \"aria-label\": $data.favoriteTranslated,\n pressed: $data.isStarred,\n class: \"app-sidebar-header__star\",\n variant: \"secondary\",\n onClick: withModifiers($options.toggleStarred, [\"prevent\"])\n }, {\n icon: withCtx(() => [\n $props.starLoading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : $data.isStarred ? (openBlock(), createBlock(_component_IconStar, {\n key: 1,\n size: 20\n })) : (openBlock(), createBlock(_component_IconStarOutline, {\n key: 2,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"pressed\", \"onClick\"])) : createCommentVNode(\"\", true)\n ], true)\n ])) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_4, [\n createElementVNode(\"div\", _hoisted_5, [\n withDirectives(createVNode(_component_NcAppSidebarHeader, {\n class: \"app-sidebar-header__mainname\",\n name: $props.name,\n linkify: $props.linkifyName,\n title: $props.title,\n tabindex: $props.nameEditable ? 0 : -1,\n onClick: withModifiers($options.editName, [\"self\"])\n }, null, 8, [\"name\", \"linkify\", \"title\", \"tabindex\", \"onClick\"]), [\n [vShow, !$props.nameEditable]\n ]),\n $props.nameEditable ? withDirectives((openBlock(), createElementBlock(\"form\", {\n key: 0,\n class: \"app-sidebar-header__mainname-form\",\n onSubmit: _cache[5] || (_cache[5] = withModifiers((...args) => $options.onSubmitName && $options.onSubmitName(...args), [\"prevent\"]))\n }, [\n withDirectives(createElementVNode(\"input\", {\n ref: \"nameInput\",\n class: \"app-sidebar-header__mainname-input\",\n type: \"text\",\n placeholder: $props.namePlaceholder,\n value: $props.name,\n onKeydown: _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => $options.onDismissEditing && $options.onDismissEditing(...args), [\"stop\"]), [\"esc\"])),\n onInput: _cache[4] || (_cache[4] = (...args) => $options.onNameInput && $options.onNameInput(...args))\n }, null, 40, _hoisted_6), [\n [_directive_focus]\n ]),\n createVNode(_component_NcButton, {\n \"aria-label\": $data.changeNameTranslated,\n type: \"submit\",\n variant: \"tertiary-no-background\"\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconArrowRight, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\"])\n ], 32)), [\n [_directive_click_outside, () => $options.onSubmitName()]\n ]) : createCommentVNode(\"\", true),\n $options.isSlotPopulated(_ctx.$slots[\"secondary-actions\"]?.()) ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n class: \"app-sidebar-header__menu\",\n forceMenu: $props.forceMenu\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"secondary-actions\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"forceMenu\"])) : createCommentVNode(\"\", true)\n ]),\n $props.subname.trim() !== \"\" || _ctx.$slots[\"subname\"] ? (openBlock(), createElementBlock(\"p\", {\n key: 0,\n title: $props.subtitle || void 0,\n class: \"app-sidebar-header__subname\"\n }, [\n renderSlot(_ctx.$slots, \"subname\", {}, () => [\n createTextVNode(toDisplayString($props.subname), 1)\n ], true)\n ], 8, _hoisted_7)) : createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ], true) : (openBlock(), createBlock(_component_NcAppSidebarHeader, {\n key: 1,\n class: \"app-sidebar-header__mainname--hidden\",\n name: $props.name,\n tabindex: \"-1\"\n }, null, 8, [\"name\"])),\n createVNode(_component_NcButton, {\n ref: \"closeButton\",\n \"aria-label\": $data.closeTranslated,\n title: $data.closeTranslated,\n class: \"app-sidebar__close\",\n variant: \"tertiary\",\n onClick: withModifiers($options.closeSidebar, [\"prevent\"])\n }, {\n icon: withCtx(() => [\n createVNode(_component_IconClose, { size: 20 })\n ]),\n _: 1\n }, 8, [\"aria-label\", \"title\", \"onClick\"]),\n $options.isSlotPopulated(_ctx.$slots.description?.()) && !$props.empty ? (openBlock(), createElementBlock(\"div\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"description\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 2),\n withDirectives(createVNode(_component_NcAppSidebarTabs, {\n ref: \"tabs\",\n active: $props.active,\n forceTabs: $props.forceTabs,\n \"onUpdate:active\": $options.onUpdateActive\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ]),\n _: 3\n }, 8, [\"active\", \"forceTabs\", \"onUpdate:active\"]), [\n [vShow, !$props.loading]\n ]),\n $props.loading ? (openBlock(), createBlock(_component_NcEmptyContent, { key: 1 }, {\n icon: withCtx(() => [\n createVNode(_component_NcLoadingIcon, { size: 64 })\n ]),\n _: 1\n })) : createCommentVNode(\"\", true)\n ], 40, _hoisted_1), [\n [vShow, $props.open]\n ])\n ]),\n _: 3\n }, 8, [\"onAfterEnter\", \"onAfterLeave\"]);\n}\nconst NcAppSidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e8979b7f\"]]);\nexport {\n NcAppSidebar as N\n};\n//# sourceMappingURL=NcAppSidebar-C8YzAzrZ.mjs.map\n","import '../assets/NcAppSidebarTab-Xd3HTDbw.css';\nimport { openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcAppSidebarTab\",\n inject: [\"registerTab\", \"unregisterTab\", \"getActiveTab\", \"isTablistShown\"],\n props: {\n /**\n * Unique id of the sidebar tab\n */\n id: {\n type: String,\n required: true\n },\n /**\n * Tab name in navigation\n */\n name: {\n type: String,\n required: true\n },\n /**\n * Tab icon's html class in navigation. Used if #icon slot is not provided\n */\n icon: {\n type: String,\n default: \"\"\n },\n /**\n * Tab order in navigation. If not provided, name is used.\n */\n order: {\n type: Number,\n default: 0\n }\n },\n emits: [\n \"bottomReached\",\n \"scroll\"\n ],\n expose: [\"id\", \"name\", \"icon\", \"order\", \"renderIcon\"],\n computed: {\n /**\n * Is the current tab an active tab, that should be shown?\n *\n * @return {boolean}\n */\n isActive() {\n return this.getActiveTab() === this.id;\n }\n },\n created() {\n this.registerTab(this);\n },\n beforeUnmount() {\n this.unregisterTab(this.id);\n },\n methods: {\n onScroll(event) {\n if (this.$el.scrollHeight - this.$el.scrollTop === this.$el.clientHeight) {\n this.$emit(\"bottomReached\", event);\n }\n this.$emit(\"scroll\", event);\n },\n /**\n * Render tab's icon slot if any\n *\n * @return {import('vue').VNode[]}\n */\n renderIcon() {\n return this.$slots.icon?.();\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-hidden\", \"aria-label\", \"aria-labelledby\", \"role\", \"tabindex\"];\nconst _hoisted_2 = { class: \"hidden-visually\" };\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"section\", {\n id: `tab-${$props.id}`,\n \"aria-hidden\": !$options.isActive,\n \"aria-label\": $options.isTablistShown() ? void 0 : $props.name,\n \"aria-labelledby\": $options.isTablistShown() ? `tab-button-${$props.id}` : void 0,\n class: normalizeClass([\"app-sidebar__tab\", { \"app-sidebar__tab--active\": $options.isActive }]),\n role: $options.isTablistShown() ? \"tabpanel\" : void 0,\n tabindex: $options.isTablistShown() ? 0 : -1,\n onScroll: _cache[0] || (_cache[0] = (...args) => $options.onScroll && $options.onScroll(...args))\n }, [\n createElementVNode(\"h3\", _hoisted_2, toDisplayString($props.name), 1),\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true)\n ], 42, _hoisted_1);\n}\nconst NcAppSidebarTab = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-dba10798\"]]);\nexport {\n NcAppSidebarTab as N\n};\n//# sourceMappingURL=NcAppSidebarTab-DOSDDbGA.mjs.map\n","import '../assets/autolink-XS-VDSVB.css';\nimport { getBaseUrl, getRootUrl } from \"@nextcloud/router\";\nimport { u } from \"unist-builder\";\nimport { visitParents, SKIP } from \"unist-util-visit-parents\";\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst _hoisted_1 = [\"href\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcRichTextExternalLink\",\n props: {\n href: {},\n decorateExternal: { type: Boolean, default: false }\n },\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"a\", {\n href: __props.href,\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n class: normalizeClass([_ctx.$style.externalLink, {\n [_ctx.$style.externalLink_decorated]: __props.decorateExternal\n }])\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(__props.href), 1)\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nconst externalLink = \"_externalLink_d-mCx\";\nconst externalLink_decorated = \"_externalLink_decorated_W3wuz\";\nconst style0 = {\n \"material-design-icon\": \"_material-design-icon_ZJnaR\",\n externalLink,\n externalLink_decorated\n};\nconst cssModules = {\n \"$style\": style0\n};\nconst NcRichTextExternalLink = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__cssModules\", cssModules]]);\n/*!\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\nconst URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig;\nfunction remarkAutolink({ autolink, useMarkdown, useExtendedMarkdown }) {\n return function(tree) {\n if (useExtendedMarkdown || !useMarkdown || !autolink) {\n return;\n }\n visitParents(tree, (node) => node.type === \"text\", (node, ancestors) => {\n if (ancestors.some((ancestor) => ancestor.type === \"link\" || ancestor.type === \"linkReference\")) {\n return;\n }\n const parent = ancestors.at(-1);\n const index = parent.children.indexOf(node) ?? 0;\n const parsed = parseUrl(node.value);\n const parsedNodes = typeof parsed === \"string\" ? [u(\"text\", parsed)] : parsed.map((n) => {\n if (typeof n === \"string\") {\n return u(\"text\", n);\n }\n return u(\"link\", {\n url: n.props.href\n }, [u(\"text\", n.props.href)]);\n }).filter((x) => x).flat();\n parent.children.splice(index, 1, ...parsedNodes);\n return [SKIP, index + parsedNodes.length];\n });\n };\n}\nfunction parseUrl(text) {\n let match = URL_PATTERN_AUTOLINK.exec(text);\n const list = [];\n let start = 0;\n while (match !== null) {\n let href = match[2];\n let textAfter;\n let textBefore = text.substring(start, match.index + match[1].length);\n if (href[0] === \" \") {\n textBefore += href[0];\n href = href.substring(1).trim();\n }\n const lastChar = href[href.length - 1];\n if (lastChar === \".\" || lastChar === \",\" || lastChar === \";\" || match[0][0] === \"(\" && lastChar === \")\") {\n href = href.substring(0, href.length - 1);\n textAfter = lastChar;\n }\n list.push(textBefore);\n list.push({ component: NcRichTextExternalLink, props: { href: href.trim(), decorateExternal: true } });\n if (textAfter) {\n list.push(textAfter);\n }\n start = match.index + match[0].length;\n match = URL_PATTERN_AUTOLINK.exec(text);\n }\n list.push(text.substring(start));\n const joinedText = list.map((item) => typeof item === \"string\" ? item : item.props.href).join(\"\");\n if (text === joinedText) {\n return list;\n }\n logger.error(\"[NcRichText] Failed to reassemble the chunked text: \" + text);\n return text;\n}\nfunction getRoute(router, url) {\n const removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str;\n const removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str);\n if (!router) {\n return null;\n }\n const isAbsoluteURL = /^https?:\\/\\//.test(url);\n const isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url);\n if (!isAbsoluteURL && isNonHttpLink) {\n return null;\n }\n if (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n return null;\n }\n if (!isAbsoluteURL && !url.startsWith(\"/\")) {\n return null;\n }\n const relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), \"/index.php\") : url;\n const relativeRouterBase = removePrefixes(router.options.history.base, getRootUrl(), \"/index.php\");\n const potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || \"/\";\n const route = router.resolve(potentialRouterPath);\n if (!route.matched.length) {\n return null;\n }\n return route.fullPath;\n}\nexport {\n NcRichTextExternalLink as N,\n URL_PATTERN as U,\n getRoute as g,\n parseUrl as p,\n remarkAutolink as r\n};\n//# sourceMappingURL=autolink-DrIurosL.mjs.map\n","import { l as logger } from \"../../chunks/logger-D3RVzcfQ.mjs\";\nfunction registerContactsMenuAction(action) {\n window._nc_contacts_menu_hooks ??= {};\n if (window._nc_contacts_menu_hooks[action.id]) {\n logger.error(`ContactsMenu action for id ${action.id} has already been registered`, {\n action\n });\n return;\n }\n window._nc_contacts_menu_hooks[action.id] = action;\n}\nfunction getEnabledContactsMenuActions(entry) {\n if (!window._nc_contacts_menu_hooks) {\n return [];\n }\n return Object.values(window._nc_contacts_menu_hooks).filter((action) => action.enabled(entry));\n}\nexport {\n getEnabledContactsMenuActions,\n registerContactsMenuAction\n};\n//# sourceMappingURL=index.mjs.map\n","const c = new Int32Array(4);\nclass h {\n static hashStr(i, a = !1) {\n return this.onePassHasher.start().appendStr(i).end(a);\n }\n static hashAsciiStr(i, a = !1) {\n return this.onePassHasher.start().appendAsciiStr(i).end(a);\n }\n // Private Static Variables\n static stateIdentity = new Int32Array([\n 1732584193,\n -271733879,\n -1732584194,\n 271733878\n ]);\n static buffer32Identity = new Int32Array([\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n static hexChars = \"0123456789abcdef\";\n static hexOut = [];\n // Permanent instance is to use for one-call hashing\n static onePassHasher = new h();\n static _hex(i) {\n const a = h.hexChars, t = h.hexOut;\n let e, s, r, n;\n for (n = 0; n < 4; n += 1)\n for (s = n * 8, e = i[n], r = 0; r < 8; r += 2)\n t[s + 1 + r] = a.charAt(e & 15), e >>>= 4, t[s + 0 + r] = a.charAt(e & 15), e >>>= 4;\n return t.join(\"\");\n }\n static _md5cycle(i, a) {\n let t = i[0], e = i[1], s = i[2], r = i[3];\n t += (e & s | ~e & r) + a[0] - 680876936 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[1] - 389564586 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[2] + 606105819 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[3] - 1044525330 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[4] - 176418897 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[5] + 1200080426 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[6] - 1473231341 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[7] - 45705983 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[8] + 1770035416 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[9] - 1958414417 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[10] - 42063 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[11] - 1990404162 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & s | ~e & r) + a[12] + 1804603682 | 0, t = (t << 7 | t >>> 25) + e | 0, r += (t & e | ~t & s) + a[13] - 40341101 | 0, r = (r << 12 | r >>> 20) + t | 0, s += (r & t | ~r & e) + a[14] - 1502002290 | 0, s = (s << 17 | s >>> 15) + r | 0, e += (s & r | ~s & t) + a[15] + 1236535329 | 0, e = (e << 22 | e >>> 10) + s | 0, t += (e & r | s & ~r) + a[1] - 165796510 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[6] - 1069501632 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[11] + 643717713 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[0] - 373897302 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[5] - 701558691 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[10] + 38016083 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[15] - 660478335 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[4] - 405537848 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[9] + 568446438 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[14] - 1019803690 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[3] - 187363961 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[8] + 1163531501 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e & r | s & ~r) + a[13] - 1444681467 | 0, t = (t << 5 | t >>> 27) + e | 0, r += (t & s | e & ~s) + a[2] - 51403784 | 0, r = (r << 9 | r >>> 23) + t | 0, s += (r & e | t & ~e) + a[7] + 1735328473 | 0, s = (s << 14 | s >>> 18) + r | 0, e += (s & t | r & ~t) + a[12] - 1926607734 | 0, e = (e << 20 | e >>> 12) + s | 0, t += (e ^ s ^ r) + a[5] - 378558 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[8] - 2022574463 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[11] + 1839030562 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[14] - 35309556 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[1] - 1530992060 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[4] + 1272893353 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[7] - 155497632 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[10] - 1094730640 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[13] + 681279174 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[0] - 358537222 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[3] - 722521979 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[6] + 76029189 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (e ^ s ^ r) + a[9] - 640364487 | 0, t = (t << 4 | t >>> 28) + e | 0, r += (t ^ e ^ s) + a[12] - 421815835 | 0, r = (r << 11 | r >>> 21) + t | 0, s += (r ^ t ^ e) + a[15] + 530742520 | 0, s = (s << 16 | s >>> 16) + r | 0, e += (s ^ r ^ t) + a[2] - 995338651 | 0, e = (e << 23 | e >>> 9) + s | 0, t += (s ^ (e | ~r)) + a[0] - 198630844 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[7] + 1126891415 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[14] - 1416354905 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[5] - 57434055 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[12] + 1700485571 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[3] - 1894986606 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[10] - 1051523 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[1] - 2054922799 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[8] + 1873313359 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[15] - 30611744 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[6] - 1560198380 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[13] + 1309151649 | 0, e = (e << 21 | e >>> 11) + s | 0, t += (s ^ (e | ~r)) + a[4] - 145523070 | 0, t = (t << 6 | t >>> 26) + e | 0, r += (e ^ (t | ~s)) + a[11] - 1120210379 | 0, r = (r << 10 | r >>> 22) + t | 0, s += (t ^ (r | ~e)) + a[2] + 718787259 | 0, s = (s << 15 | s >>> 17) + r | 0, e += (r ^ (s | ~t)) + a[9] - 343485551 | 0, e = (e << 21 | e >>> 11) + s | 0, i[0] = t + i[0] | 0, i[1] = e + i[1] | 0, i[2] = s + i[2] | 0, i[3] = r + i[3] | 0;\n }\n _dataLength = 0;\n _bufferLength = 0;\n _state = new Int32Array(4);\n _buffer = new ArrayBuffer(68);\n _buffer8;\n _buffer32;\n constructor() {\n this._buffer8 = new Uint8Array(this._buffer, 0, 68), this._buffer32 = new Uint32Array(this._buffer, 0, 17), this.start();\n }\n /**\n * Initialise buffer to be hashed\n */\n start() {\n return this._dataLength = 0, this._bufferLength = 0, this._state.set(h.stateIdentity), this;\n }\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n /**\n * Append a UTF-8 string to the hash buffer\n * @param str String to append\n */\n appendStr(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r;\n for (r = 0; r < i.length; r += 1) {\n if (s = i.charCodeAt(r), s < 128)\n a[e++] = s;\n else if (s < 2048)\n a[e++] = (s >>> 6) + 192, a[e++] = s & 63 | 128;\n else if (s < 55296 || s > 56319)\n a[e++] = (s >>> 12) + 224, a[e++] = s >>> 6 & 63 | 128, a[e++] = s & 63 | 128;\n else {\n if (s = (s - 55296) * 1024 + (i.charCodeAt(++r) - 56320) + 65536, s > 1114111)\n throw new Error(\n \"Unicode standard supports code points up to U+10FFFF\"\n );\n a[e++] = (s >>> 18) + 240, a[e++] = s >>> 12 & 63 | 128, a[e++] = s >>> 6 & 63 | 128, a[e++] = s & 63 | 128;\n }\n e >= 64 && (this._dataLength += 64, h._md5cycle(this._state, t), e -= 64, t[0] = t[16]);\n }\n return this._bufferLength = e, this;\n }\n /**\n * Append an ASCII string to the hash buffer\n * @param str String to append\n */\n appendAsciiStr(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r = 0;\n for (; ; ) {\n for (s = Math.min(i.length - r, 64 - e); s--; )\n a[e++] = i.charCodeAt(r++);\n if (e < 64)\n break;\n this._dataLength += 64, h._md5cycle(this._state, t), e = 0;\n }\n return this._bufferLength = e, this;\n }\n /**\n * Append a byte array to the hash buffer\n * @param input array to append\n */\n appendByteArray(i) {\n const a = this._buffer8, t = this._buffer32;\n let e = this._bufferLength, s, r = 0;\n for (; ; ) {\n for (s = Math.min(i.length - r, 64 - e); s--; )\n a[e++] = i[r++];\n if (e < 64)\n break;\n this._dataLength += 64, h._md5cycle(this._state, t), e = 0;\n }\n return this._bufferLength = e, this;\n }\n /**\n * Get the state of the hash buffer\n */\n getState() {\n const i = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [i[0], i[1], i[2], i[3]]\n };\n }\n /**\n * Override the current state of the hash buffer\n * @param state New hash buffer state\n */\n setState(i) {\n const a = i.buffer, t = i.state, e = this._state;\n let s;\n for (this._dataLength = i.length, this._bufferLength = i.buflen, e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], s = 0; s < a.length; s += 1)\n this._buffer8[s] = a.charCodeAt(s);\n }\n /**\n * Hash the current state of the hash buffer and return the result\n * @param raw Whether to return the value as an `Int32Array`\n */\n end(i = !1) {\n const a = this._bufferLength, t = this._buffer8, e = this._buffer32, s = (a >> 2) + 1;\n this._dataLength += a;\n const r = this._dataLength * 8;\n if (t[a] = 128, t[a + 1] = t[a + 2] = t[a + 3] = 0, e.set(h.buffer32Identity.subarray(s), s), a > 55 && (h._md5cycle(this._state, e), e.set(h.buffer32Identity)), r <= 4294967295)\n e[14] = r;\n else {\n const n = r.toString(16).match(/(.*?)(.{0,8})$/);\n if (n === null) return i ? c : \"\";\n const o = parseInt(n[2], 16), _ = parseInt(n[1], 16) || 0;\n e[14] = o, e[15] = _;\n }\n return h._md5cycle(this._state, e), i ? this._state : h._hex(this._state);\n }\n}\nif (h.hashStr(\"hello\") !== \"5d41402abc4b2a76b9719d911017c592\")\n throw new Error(\"Md5 self test failed.\");\nclass l {\n constructor(i, a = !0, t = 1048576) {\n this._callback = i, this._async = a, this._partSize = t, this._configureReader();\n }\n _reader;\n _md5;\n _part;\n // private _length!: number;\n _blob;\n /**\n * Hash a blob of data in the worker\n * @param blob Data to hash\n */\n hash(i) {\n const a = this;\n a._blob = i, a._part = 0, a._md5 = new h(), a._processPart();\n }\n _fail() {\n this._callback({\n success: !1,\n result: \"data read failed\"\n });\n }\n _hashData(i) {\n let a = this;\n a._md5.appendByteArray(new Uint8Array(i.target.result)), a._part * a._partSize >= a._blob.size ? a._callback({\n success: !0,\n result: a._md5.end()\n }) : a._processPart();\n }\n _processPart() {\n const i = this;\n let a = 0, t;\n i._part += 1, i._blob.size > i._partSize ? (a = i._part * i._partSize, a > i._blob.size && (a = i._blob.size), t = i._blob.slice(\n (i._part - 1) * i._partSize,\n a\n )) : t = i._blob, i._async ? i._reader.readAsArrayBuffer(t) : setTimeout(() => {\n try {\n i._hashData({\n target: {\n result: i._reader.readAsArrayBuffer(\n t\n )\n }\n });\n } catch {\n i._fail();\n }\n }, 0);\n }\n _configureReader() {\n const i = this;\n i._async ? (i._reader = new FileReader(), i._reader.onload = i._hashData.bind(i), i._reader.onerror = i._fail.bind(i), i._reader.onabort = i._fail.bind(i)) : i._reader = new FileReaderSync();\n }\n}\nclass u {\n _queue = [];\n _hashWorker;\n _processing;\n _ready = !0;\n constructor(i, a) {\n const t = this;\n Worker ? (t._hashWorker = new Worker(i, a), t._hashWorker.onmessage = t._recievedMessage.bind(t), t._hashWorker.onerror = (e) => {\n t._ready = !1, console.error(\"Hash worker failure\", e);\n }) : (t._ready = !1, console.error(\"Web Workers are not supported in this browser\"));\n }\n /**\n * Hash a blob of data in the worker\n * @param blob Data to hash\n * @returns Promise of the Hashed result\n */\n hash(i) {\n const a = this;\n let t;\n return t = new Promise((e, s) => {\n a._queue.push({\n blob: i,\n resolve: e,\n reject: s\n }), a._processNext();\n }), t;\n }\n /** Terminate any existing hash requests */\n terminate() {\n this._ready = !1, this._hashWorker.terminate();\n }\n // Processes the next item in the queue\n _processNext() {\n this._ready && !this._processing && this._queue.length > 0 && (this._processing = this._queue.pop(), this._hashWorker.postMessage(this._processing.blob));\n }\n // Hash result is returned from the worker\n _recievedMessage(i) {\n const a = i.data;\n a.success ? this._processing?.resolve(a.result) : this._processing?.reject(a.result), this._processing = void 0, this._processNext();\n }\n}\nexport {\n h as Md5,\n l as Md5FileHasher,\n u as ParallelHasher\n};\n//# sourceMappingURL=index.es.js.map\n","import { r as register, t as t3, a as t } from \"./_l10n-wdIzZwir.mjs\";\nregister(t3);\nclass Color {\n /**\n * @param r - The red value\n * @param g - The green value\n * @param b - The blue value\n * @param name - The name of the color\n */\n constructor(r, g, b, name) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.name = name;\n this.r = Math.min(r, 255);\n this.g = Math.min(g, 255);\n this.b = Math.min(b, 255);\n this.name = name;\n }\n r;\n g;\n b;\n name;\n /**\n * The hexadecimal color string.\n */\n get color() {\n const toHex = (int) => `00${int.toString(16)}`.slice(-2);\n return `#${toHex(this.r)}${toHex(this.g)}${toHex(this.b)}`;\n }\n}\nfunction calculateStepIncrement(steps, color1, color2) {\n return {\n r: (color2.r - color1.r) / steps,\n g: (color2.g - color1.g) / steps,\n b: (color2.b - color1.b) / steps\n };\n}\nfunction mixPalette(steps, color1, color2) {\n const palette = [];\n palette.push(color1);\n const increment = calculateStepIncrement(steps, color1, color2);\n for (let i = 1; i < steps; i++) {\n const r = Math.floor(color1.r + increment.r * i);\n const g = Math.floor(color1.g + increment.g * i);\n const b = Math.floor(color1.b + increment.b * i);\n palette.push(new Color(r, g, b));\n }\n return palette;\n}\nconst COLOR_RED = new Color(182, 70, 157, t(\"Purple\"));\nconst COLOR_YELLOW = new Color(221, 203, 85, t(\"Gold\"));\nconst COLOR_BLUE = new Color(0, 130, 201, t(\"Nextcloud blue\"));\nconst COLOR_BLACK = new Color(0, 0, 0, t(\"Black\"));\nconst COLOR_WHITE = new Color(255, 255, 255, t(\"White\"));\nconst defaultPalette = [\n COLOR_RED,\n new Color(\n ...[191, 103, 139],\n t(\"Rosy brown\")\n // TRANSLATORS: A color name for RGB(191, 103, 139)\n ),\n new Color(\n ...[201, 136, 121],\n t(\"Feldspar\")\n // TRANSLATORS: A color name for RGB(201, 136, 121)\n ),\n new Color(\n ...[211, 169, 103],\n t(\"Whiskey\")\n // TRANSLATORS: A color name for RGB(211, 169, 103)\n ),\n COLOR_YELLOW,\n new Color(\n ...[165, 184, 114],\n t(\"Olivine\")\n // TRANSLATORS: A color name for RGB(165, 184, 114)\n ),\n new Color(\n ...[110, 166, 143],\n t(\"Acapulco\")\n // TRANSLATORS: A color name for RGB(110, 166, 143)\n ),\n new Color(\n ...[55, 148, 172],\n t(\"Boston Blue\")\n // TRANSLATORS: A color name for RGB(55, 148, 172)\n ),\n COLOR_BLUE,\n new Color(\n ...[45, 115, 190],\n t(\"Mariner\")\n // TRANSLATORS: A color name for RGB(45, 115, 190)\n ),\n new Color(\n ...[91, 100, 179],\n t(\"Blue Violet\")\n // TRANSLATORS: A color name for RGB(91, 100, 179)\n ),\n new Color(\n ...[136, 85, 168],\n t(\"Deluge\")\n // TRANSLATORS: A color name for RGB(136, 85, 168)\n )\n];\nfunction generatePalette(steps) {\n const palette1 = mixPalette(steps, COLOR_RED, COLOR_YELLOW);\n const palette2 = mixPalette(steps, COLOR_YELLOW, COLOR_BLUE);\n const palette3 = mixPalette(steps, COLOR_BLUE, COLOR_RED);\n return palette1.concat(palette2).concat(palette3);\n}\nexport {\n Color as C,\n COLOR_BLACK as a,\n COLOR_WHITE as b,\n defaultPalette as d,\n generatePalette as g\n};\n//# sourceMappingURL=colors-Cv9F-jWS.mjs.map\n","import { Md5 } from \"ts-md5\";\nimport { g as generatePalette } from \"../../chunks/colors-Cv9F-jWS.mjs\";\nfunction hashCode(str) {\n let hash = str;\n if (str.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n hash = Md5.hashStr(str);\n }\n hash = hash.replace(/[^0-9a-f]/g, \"\");\n let finalInt = 0;\n for (let i = 0; i < hash.length; i++) {\n finalInt += parseInt(hash.charAt(i), 16);\n }\n return finalInt;\n}\nfunction usernameToColor(username) {\n const steps = 6;\n const finalPalette = generatePalette(steps);\n const hash = hashCode(username.toLocaleLowerCase());\n return finalPalette[hash % finalPalette.length];\n}\nexport {\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","import '../assets/NcMentionBubble-BeGb2xGc.css';\nimport { generateUrl } from \"@nextcloud/router\";\nimport { checkIfDarkTheme } from \"../functions/isDarkTheme/index.mjs\";\nfunction getAvatarUrl(user, options) {\n const size = (options?.size || 64) <= 64 ? 64 : 512;\n const guestUrl = options?.isGuest ? \"/guest\" : \"\";\n const themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body) ? \"/dark\" : \"\";\n return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}?guestFallback=true`, {\n user,\n size\n });\n}\nexport {\n getAvatarUrl as g\n};\n//# sourceMappingURL=NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs.map\n","import '../assets/NcUserStatusIcon-B3aHoBAd.css';\nimport { defineComponent, useModel, computed, watch, openBlock, createElementBlock, normalizeClass, createCommentVNode, mergeModels } from \"vue\";\nimport axios from \"@nextcloud/axios\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { r as register, Q as t52, R as t11, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst awaySvg = '\\n\\n\t\\n\\n';\nconst busySvg = '\\n\\n\t\\n\\n';\nconst dndSvg = '\\n\\n\t\\n\\n';\nconst invisibleSvg = '\\n\\n\t\\n\\n';\nconst onlineSvg = '\\n\\n\t\\n\\n';\nregister(t52);\nregister(t11);\nfunction getUserStatusText(status) {\n switch (status) {\n case \"away\":\n return t(\"away\");\n // TRANSLATORS: User status if the user is currently away from keyboard\n case \"busy\":\n return t(\"busy\");\n case \"dnd\":\n return t(\"do not disturb\");\n case \"online\":\n return t(\"online\");\n case \"invisible\":\n return t(\"invisible\");\n case \"offline\":\n return t(\"offline\");\n default:\n return status;\n }\n}\nconst _hoisted_1 = [\"aria-hidden\", \"aria-label\", \"innerHTML\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcUserStatusIcon\",\n props: /* @__PURE__ */ mergeModels({\n user: { default: void 0 },\n ariaHidden: { type: [Boolean, String], default: false }\n }, {\n \"status\": {},\n \"statusModifiers\": {}\n }),\n emits: [\"update:status\"],\n setup(__props) {\n const status = useModel(__props, \"status\");\n const props = __props;\n const isInvisible = computed(() => status.value && [\"invisible\", \"offline\"].includes(status.value));\n const ariaLabel = computed(() => status.value && (!props.ariaHidden || props.ariaHidden === \"false\") ? t(\"User status: {status}\", { status: getUserStatusText(status.value) }) : void 0);\n watch(() => props.user, async (user) => {\n if (!status.value && user && getCapabilities()?.user_status?.enabled) {\n try {\n const { data } = await axios.get(generateOcsUrl(\"/apps/user_status/api/v1/statuses/{user}\", { user }));\n status.value = data.ocs?.data?.status;\n } catch (error) {\n logger.debug(\"Error while fetching user status\", { error });\n }\n }\n }, { immediate: true });\n const matchSvg = {\n online: onlineSvg,\n away: awaySvg,\n busy: busySvg,\n dnd: dndSvg,\n invisible: invisibleSvg,\n offline: invisibleSvg\n };\n const activeSvg = computed(() => status.value && matchSvg[status.value]);\n return (_ctx, _cache) => {\n return status.value ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"user-status-icon\", {\n \"user-status-icon--invisible\": isInvisible.value\n }]),\n \"aria-hidden\": !ariaLabel.value || void 0,\n \"aria-label\": ariaLabel.value,\n role: \"img\",\n innerHTML: activeSvg.value\n }, null, 10, _hoisted_1)) : createCommentVNode(\"\", true);\n };\n }\n});\nconst NcUserStatusIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-881a79fb\"]]);\nexport {\n NcUserStatusIcon as N,\n getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-BF5OEQFU.mjs.map\n","import '../assets/NcActionLink-b4Ph5q10.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { openBlock, createElementBlock, createElementVNode, renderSlot, normalizeStyle, normalizeClass, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionLink\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * destionation to link to\n */\n href: {\n type: String,\n required: true,\n validator: (value) => {\n try {\n return new URL(value);\n } catch {\n return value.startsWith(\"#\") || value.startsWith(\"/\");\n }\n }\n },\n /**\n * download the link instead of opening\n */\n download: {\n type: String,\n default: null\n },\n /**\n * target to open the link\n */\n target: {\n type: String,\n default: \"_self\",\n validator: (value) => {\n return value && (!value.startsWith(\"_\") || [\"_blank\", \"_self\", \"_parent\", \"_top\"].indexOf(value) > -1);\n }\n },\n /**\n * Declares a native tooltip when not null\n */\n title: {\n type: String,\n default: null\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = [\"download\", \"href\", \"aria-label\", \"target\", \"title\", \"role\"];\nconst _hoisted_3 = {\n key: 0,\n class: \"action-link__longtext-wrapper\"\n};\nconst _hoisted_4 = { class: \"action-link__name\" };\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = [\"textContent\"];\nconst _hoisted_7 = {\n key: 2,\n class: \"action-link__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createElementVNode(\"a\", {\n download: $props.download,\n href: $props.href,\n \"aria-label\": _ctx.ariaLabel,\n target: $props.target,\n title: $props.title,\n class: \"action-link focusable\",\n rel: \"nofollow noreferrer noopener\",\n role: $options.isInSemanticMenu && \"menuitem\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-link__icon\", [_ctx.isIconUrl ? \"action-link__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_3, [\n createElementVNode(\"strong\", _hoisted_4, toDisplayString(_ctx.name), 1),\n _cache[1] || (_cache[1] = createElementVNode(\"br\", null, null, -1)),\n createElementVNode(\"span\", {\n class: \"action-link__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-link__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_6)) : (openBlock(), createElementBlock(\"span\", _hoisted_7, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ], 8, _hoisted_2)\n ], 8, _hoisted_1);\n}\nconst NcActionLink = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-32f01b7a\"]]);\nexport {\n NcActionLink as N\n};\n//# sourceMappingURL=NcActionLink-BFiaYt9A.mjs.map\n","import '../assets/NcActionRouter-BWXfCfxM.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { resolveComponent, openBlock, createElementBlock, createVNode, withCtx, renderSlot, createElementVNode, normalizeStyle, normalizeClass, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionRouter\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n },\n props: {\n /**\n * router-link to prop [https://router.vuejs.org/api/#to](https://router.vuejs.org/api/#to)\n */\n to: {\n type: [String, Object],\n required: true\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"action-router__longtext-wrapper\"\n};\nconst _hoisted_3 = { class: \"action-router__name\" };\nconst _hoisted_4 = [\"textContent\"];\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = {\n key: 2,\n class: \"action-router__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_RouterLink = resolveComponent(\"RouterLink\");\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createVNode(_component_RouterLink, {\n \"aria-label\": _ctx.ariaLabel,\n class: \"action-router focusable\",\n rel: \"nofollow noreferrer noopener\",\n role: $options.isInSemanticMenu && \"menuitem\",\n title: _ctx.title,\n to: $props.to,\n onClick: _ctx.onClick\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n createElementVNode(\"span\", {\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-router__icon\", [_ctx.isIconUrl ? \"action-router__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"strong\", _hoisted_3, toDisplayString(_ctx.name), 1),\n _cache[0] || (_cache[0] = createElementVNode(\"br\", null, null, -1)),\n createElementVNode(\"span\", {\n class: \"action-router__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_4)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-router__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)) : (openBlock(), createElementBlock(\"span\", _hoisted_6, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"role\", \"title\", \"to\", \"onClick\"])\n ], 8, _hoisted_1);\n}\nconst NcActionRouter = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-87267750\"]]);\nexport {\n NcActionRouter as N\n};\n//# sourceMappingURL=NcActionRouter-vYFtIOzD.mjs.map\n","import '../assets/NcActionText-Dzegj6AY.css';\nimport { A as ActionTextMixin } from \"./actionText-BXR0sWNu.mjs\";\nimport { a as NC_ACTIONS_IS_SEMANTIC_MENU } from \"./useNcActions-BzPO2c4h.mjs\";\nimport { openBlock, createElementBlock, createElementVNode, renderSlot, normalizeStyle, normalizeClass, createCommentVNode, toDisplayString } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcActionText\",\n mixins: [ActionTextMixin],\n inject: {\n isInSemanticMenu: {\n from: NC_ACTIONS_IS_SEMANTIC_MENU,\n default: false\n }\n }\n};\nconst _hoisted_1 = [\"role\"];\nconst _hoisted_2 = {\n key: 0,\n class: \"action-text__longtext-wrapper\"\n};\nconst _hoisted_3 = { class: \"action-text__name\" };\nconst _hoisted_4 = [\"textContent\"];\nconst _hoisted_5 = [\"textContent\"];\nconst _hoisted_6 = {\n key: 2,\n class: \"action-text__text\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: \"action\",\n role: $options.isInSemanticMenu && \"presentation\"\n }, [\n createElementVNode(\"span\", {\n class: \"action-text\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n _ctx.icon !== \"\" ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n \"aria-hidden\": \"true\",\n class: normalizeClass([\"action-text__icon\", [_ctx.isIconUrl ? \"action-text__icon--url\" : _ctx.icon]]),\n style: normalizeStyle({ backgroundImage: _ctx.isIconUrl ? `url(${_ctx.icon})` : null })\n }, null, 6)) : createCommentVNode(\"\", true)\n ], true),\n _ctx.name ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"strong\", _hoisted_3, toDisplayString(_ctx.name), 1),\n createElementVNode(\"span\", {\n class: \"action-text__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_4)\n ])) : _ctx.isLongText ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"action-text__longtext\",\n textContent: toDisplayString(_ctx.text)\n }, null, 8, _hoisted_5)) : (openBlock(), createElementBlock(\"span\", _hoisted_6, toDisplayString(_ctx.text), 1)),\n createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_1);\n}\nconst NcActionText = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-fa684b48\"]]);\nexport {\n NcActionText as N\n};\n//# sourceMappingURL=NcActionText-CQ9qwJ0p.mjs.map\n","import '../assets/NcAvatar-Bs7qEhkA.css';\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { generateOcsUrl, generateUrl } from \"@nextcloud/router\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { N as NcActions, I as IconDotsHorizontal } from \"./NcActions-C-wDqSrv.mjs\";\nimport { g as getRoute } from \"./autolink-DrIurosL.mjs\";\nimport \"../composables/useFormatDateTime/index.mjs\";\nimport \"../composables/useHotKey/index.mjs\";\nimport { useIsDarkTheme } from \"../composables/useIsDarkTheme/index.mjs\";\nimport \"../composables/useIsFullscreen/index.mjs\";\nimport \"../composables/useIsMobile/index.mjs\";\nimport { getEnabledContactsMenuActions } from \"../functions/contactsMenu/index.mjs\";\nimport { usernameToColor } from \"../functions/usernameToColor/index.mjs\";\nimport { r as register, m as t10, a as t } from \"./_l10n-wdIzZwir.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport { resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeStyle, normalizeClass, renderSlot, createCommentVNode, createBlock, withCtx, createSlots, Fragment, renderList, resolveDynamicComponent, mergeProps, createTextVNode, toDisplayString, createVNode, createElementVNode } from \"vue\";\nimport { g as getAvatarUrl } from \"./NcMentionBubble.vue_vue_type_style_index_0_scoped_3c4a673d_lang-DyqakLm5.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-BF5OEQFU.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-BO5T5ePT.mjs\";\nimport { N as NcActionLink } from \"./NcActionLink-BFiaYt9A.mjs\";\nimport { N as NcActionRouter } from \"./NcActionRouter-vYFtIOzD.mjs\";\nimport { N as NcActionText } from \"./NcActionText-CQ9qwJ0p.mjs\";\nimport { N as NcButton } from \"./NcButton-jvoYS2my.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-g8ubWhoz.mjs\";\nimport { N as NcLoadingIcon } from \"./NcLoadingIcon-BOVpFVQz.mjs\";\nregister(t10);\nconst userStatus = {\n data() {\n return {\n hasStatus: false,\n userStatus: {\n status: null,\n message: null,\n icon: null\n }\n };\n },\n methods: {\n /**\n * Fetches the user-status from the server\n *\n * @param {string} userId UserId of the user to fetch the status for\n *\n * @return {Promise}\n */\n async fetchUserStatus(userId) {\n if (!userId) {\n return;\n }\n const capabilities = getCapabilities();\n if (!Object.hasOwn(capabilities, \"user_status\") || !capabilities.user_status.enabled) {\n return;\n }\n if (!getCurrentUser()) {\n return;\n }\n try {\n const { data } = await axios.get(generateOcsUrl(\"apps/user_status/api/v1/statuses/{userId}\", { userId }));\n this.setUserStatus(data.ocs.data);\n } catch (e) {\n if (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n return;\n }\n logger.error(\"Failed to fetch user status\", { error: e });\n }\n },\n /**\n * Sets the user status\n *\n * @param {Record} options - Options for setting the user status\n * @param {string} options.status user's status\n * @param {string} options.message user's message\n * @param {string} options.icon user's icon\n */\n setUserStatus({ status, message, icon }) {\n this.userStatus.status = status || \"\";\n this.userStatus.message = message || \"\";\n this.userStatus.icon = icon || \"\";\n this.hasStatus = !!status;\n }\n }\n};\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nfunction getUserHasAvatar(userId) {\n const flag = browserStorage.getItem(\"user-has-avatar.\" + userId);\n if (typeof flag === \"string\") {\n return Boolean(flag);\n }\n return null;\n}\nfunction setUserHasAvatar(userId, flag) {\n if (userId) {\n browserStorage.setItem(\"user-has-avatar.\" + userId, flag);\n }\n}\nconst _sfc_main = {\n name: \"NcAvatar\",\n directives: {\n /** @type {import('vue').ObjectDirective} */\n ClickOutside: vOnClickOutside\n },\n components: {\n IconDotsHorizontal,\n NcActions,\n NcButton,\n NcIconSvgWrapper,\n NcLoadingIcon,\n NcUserStatusIcon\n },\n mixins: [userStatus],\n props: {\n /**\n * Set a custom url to the avatar image\n * either the url, user or displayName property must be defined\n */\n url: {\n type: String,\n default: void 0\n },\n /**\n * Set a css icon-class for an icon to be used instead of the avatar.\n */\n iconClass: {\n type: String,\n default: void 0\n },\n /**\n * Set the user id to fetch the avatar\n * either the url, user or displayName property must be defined\n */\n user: {\n type: String,\n default: void 0\n },\n /**\n * Do not show the user status on the avatar.\n */\n hideStatus: {\n type: Boolean,\n default: false\n },\n /**\n * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n */\n verboseStatus: {\n type: Boolean,\n default: false\n },\n /**\n * When the user status was preloaded via another source it can be handed in with this property to save the request.\n * If this property is not set the status will be fetched automatically.\n * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n */\n preloadedUserStatus: {\n type: Object,\n default: void 0\n },\n /**\n * Is the user a guest user (then we have to user a different endpoint)\n */\n isGuest: {\n type: Boolean,\n default: false\n },\n /**\n * Set a display name that will be rendered as a tooltip\n * either the url, user or displayName property must be defined\n * specify just the displayname to generate a placeholder avatar without\n * trying to fetch the avatar based on the user id\n */\n displayName: {\n type: String,\n default: void 0\n },\n /**\n * Set a size in px for the rendered avatar\n */\n size: {\n type: Number,\n default: 32\n },\n /**\n * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n */\n noPlaceholder: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the tooltip\n */\n disableTooltip: {\n type: Boolean,\n default: false\n },\n /**\n * Disable the menu\n */\n disableMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Declares a custom tooltip when not null\n * Fallback will be the displayName\n *\n * requires disableTooltip not to be set to true\n */\n tooltipMessage: {\n type: String,\n default: null\n },\n /**\n * Declares username is not a user's name, when true.\n * Prevents loading user's avatar from server and forces generating colored initials,\n * i.e. if the user is a group\n */\n isNoUser: {\n type: Boolean,\n default: false\n },\n /**\n * Selector for the popover menu container\n */\n menuContainer: {\n type: [Boolean, String, Object, Element],\n default: \"body\"\n }\n },\n setup() {\n const isDarkTheme = useIsDarkTheme();\n return {\n isDarkTheme\n };\n },\n data() {\n return {\n avatarUrlLoaded: null,\n avatarSrcSetLoaded: null,\n userDoesNotExist: false,\n isAvatarLoaded: false,\n isMenuLoaded: false,\n contactsMenuLoading: false,\n contactsMenuData: {},\n contactsMenuActions: [],\n contactsMenuOpenState: false\n };\n },\n computed: {\n avatarAriaLabel() {\n if (!this.hasMenu) {\n return;\n }\n if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n return t(\"Avatar of {displayName}, {status}\", { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) });\n }\n return t(\"Avatar of {displayName}\", { displayName: this.displayName ?? this.user });\n },\n canDisplayUserStatus() {\n return !this.hideStatus && this.hasStatus && [\"online\", \"away\", \"busy\", \"dnd\"].includes(this.userStatus.status);\n },\n showUserStatusIconOnAvatar() {\n return !this.hideStatus && !this.verboseStatus && this.hasStatus && this.userStatus.status !== \"dnd\" && this.userStatus.icon;\n },\n /**\n * The user identifier, either the display name if set or the user property\n * If both properties are not set an empty string is returned\n */\n userIdentifier() {\n if (this.isDisplayNameDefined) {\n return this.displayName;\n }\n if (this.isUserDefined) {\n return this.user;\n }\n return \"\";\n },\n isUserDefined() {\n return typeof this.user !== \"undefined\";\n },\n isDisplayNameDefined() {\n return typeof this.displayName !== \"undefined\";\n },\n isUrlDefined() {\n return typeof this.url !== \"undefined\";\n },\n hasMenu() {\n if (this.disableMenu) {\n return false;\n }\n if (this.isMenuLoaded) {\n return this.menu.length > 0;\n }\n return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n },\n /**\n * True if initials should be shown as the user icon fallback\n */\n showInitials() {\n return !this.noPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);\n },\n avatarStyle() {\n return {\n \"--avatar-size\": this.size + \"px\",\n lineHeight: this.showInitials ? this.size + \"px\" : 0,\n fontSize: Math.round(this.size * 0.45) + \"px\"\n };\n },\n initialsWrapperStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`\n };\n },\n initialsStyle() {\n const { r, g, b } = usernameToColor(this.userIdentifier);\n return {\n color: `rgb(${r}, ${g}, ${b})`\n };\n },\n tooltip() {\n if (this.disableTooltip) {\n return null;\n }\n if (this.tooltipMessage) {\n return this.tooltipMessage;\n }\n return this.displayName;\n },\n /**\n * Get the (max. two) initials of the user as uppcase string\n */\n initials() {\n let initials = \"?\";\n if (this.showInitials) {\n const user = this.userIdentifier.trim();\n if (user === \"\") {\n return initials;\n }\n const filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu);\n if (!filteredChars) {\n return initials;\n }\n const filtered = filteredChars.join(\"\");\n const idx = filtered.lastIndexOf(\" \");\n initials = String.fromCodePoint(filtered.codePointAt(0));\n if (idx !== -1) {\n initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));\n }\n }\n return initials.toLocaleUpperCase();\n },\n menu() {\n const actions = this.contactsMenuActions.map((item) => {\n const route = getRoute(this.$router, item.hyperlink);\n return {\n ncActionComponent: route ? NcActionRouter : NcActionLink,\n ncActionComponentProps: route ? {\n to: route,\n icon: item.icon\n } : {\n href: item.hyperlink,\n icon: item.icon\n },\n text: item.title\n };\n });\n for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n try {\n actions.push({\n ncActionComponent: NcActionButton,\n ncActionComponentProps: {\n onClick: () => action.callback(this.contactsMenuData)\n },\n text: action.displayName(this.contactsMenuData),\n iconSvg: action.iconSvg(this.contactsMenuData)\n });\n } catch (error) {\n logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n error,\n action\n });\n }\n }\n function escape(html) {\n const text = document.createTextNode(html);\n const p = document.createElement(\"p\");\n p.appendChild(text);\n return p.innerHTML;\n }\n if (!this.hideStatus && (this.userStatus.icon || this.userStatus.message)) {\n const emojiIcon = `\n\t\t\t\t\t${escape(this.userStatus.icon)}\n\t\t\t\t`;\n return [{\n ncActionComponent: NcActionText,\n ncActionComponentProps: {},\n iconSvg: this.userStatus.icon ? emojiIcon : void 0,\n text: `${this.userStatus.message}`\n }].concat(actions);\n }\n return actions;\n }\n },\n watch: {\n url() {\n this.userDoesNotExist = false;\n this.loadAvatarUrl();\n },\n user() {\n this.userDoesNotExist = false;\n this.isMenuLoaded = false;\n this.loadAvatarUrl();\n }\n },\n mounted() {\n this.loadAvatarUrl();\n subscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n subscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n if (!this.hideStatus && this.user && !this.isNoUser) {\n if (!this.preloadedUserStatus) {\n this.fetchUserStatus(this.user);\n } else {\n this.setUserStatus(this.preloadedUserStatus);\n }\n subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n } else if (!this.hideStatus && this.preloadedUserStatus) {\n this.setUserStatus(this.preloadedUserStatus);\n }\n },\n beforeUnmount() {\n unsubscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n unsubscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n unsubscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n },\n methods: {\n t,\n handleUserStatusUpdated(state) {\n if (this.user === state.userId) {\n this.userStatus = {\n status: state.status,\n icon: state.icon,\n message: state.message\n };\n this.hasStatus = state.status !== null;\n }\n },\n /**\n * Toggle the popover menu on click or enter\n *\n * @param {KeyboardEvent|MouseEvent} event the UI event\n */\n async toggleMenu(event) {\n if (event.type === \"keydown\" && event.key !== \"Enter\") {\n return;\n }\n if (!this.contactsMenuOpenState) {\n await this.fetchContactsMenu();\n }\n this.contactsMenuOpenState = !this.contactsMenuOpenState;\n },\n closeMenu() {\n this.contactsMenuOpenState = false;\n },\n async fetchContactsMenu() {\n this.contactsMenuLoading = true;\n try {\n const user = encodeURIComponent(this.user);\n const { data } = await axios.post(generateUrl(\"contactsmenu/findOne\"), `shareType=0&shareWith=${user}`);\n this.contactsMenuData = data;\n this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n } catch {\n this.contactsMenuOpenState = false;\n }\n this.contactsMenuLoading = false;\n this.isMenuLoaded = true;\n },\n /**\n * Handle avatar loading if user or url defined\n */\n loadAvatarUrl() {\n this.isAvatarLoaded = false;\n if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass || this.$slots.icon)) {\n this.isAvatarLoaded = true;\n this.userDoesNotExist = true;\n return;\n }\n if (this.isUrlDefined) {\n this.updateImageIfValid(this.url);\n return;\n }\n if (this.size <= 64) {\n const avatarUrl = this.avatarUrlGenerator(this.user, 64);\n const srcset = [\n avatarUrl + \" 1x\",\n this.avatarUrlGenerator(this.user, 512) + \" 8x\"\n ].join(\", \");\n this.updateImageIfValid(avatarUrl, srcset);\n } else {\n const avatarUrl = this.avatarUrlGenerator(this.user, 512);\n this.updateImageIfValid(avatarUrl);\n }\n },\n /**\n * Generate an avatar url from the server's avatar endpoint\n *\n * @param {string} user the user id\n * @param {number} size the desired size\n * @return {string}\n */\n avatarUrlGenerator(user, size) {\n let avatarUrl = getAvatarUrl(user, {\n size,\n isDarkTheme: this.isDarkTheme,\n isGuest: this.isGuest\n });\n if (user === getCurrentUser()?.uid && typeof oc_userconfig !== \"undefined\") {\n avatarUrl += \"?v=\" + window.oc_userconfig.avatar.version;\n }\n return avatarUrl;\n },\n /**\n * Check if the provided url is valid and update Avatar if so\n *\n * @param {string} url the avatar url\n * @param {Array} srcset the avatar srcset\n */\n updateImageIfValid(url, srcset = null) {\n const userHasAvatar = getUserHasAvatar(this.user);\n if (this.isUserDefined && typeof userHasAvatar === \"boolean\") {\n this.isAvatarLoaded = true;\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n if (userHasAvatar === false) {\n this.userDoesNotExist = true;\n }\n return;\n }\n const img = new Image();\n img.onload = () => {\n this.avatarUrlLoaded = url;\n if (srcset) {\n this.avatarSrcSetLoaded = srcset;\n }\n this.isAvatarLoaded = true;\n setUserHasAvatar(this.user, true);\n };\n img.onerror = (error) => {\n logger.debug(\"[NcAvatar] Invalid avatar url\", { error, url });\n this.avatarUrlLoaded = null;\n this.avatarSrcSetLoaded = null;\n this.userDoesNotExist = true;\n this.isAvatarLoaded = false;\n setUserHasAvatar(this.user, false);\n };\n if (srcset) {\n img.srcset = srcset;\n }\n img.src = url;\n }\n }\n};\nconst _hoisted_1 = [\"title\"];\nconst _hoisted_2 = [\"src\", \"srcset\"];\nconst _hoisted_3 = {\n key: 2,\n class: \"avatardiv__user-status avatardiv__user-status--icon\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcLoadingIcon = resolveComponent(\"NcLoadingIcon\");\n const _component_IconDotsHorizontal = resolveComponent(\"IconDotsHorizontal\");\n const _component_NcButton = resolveComponent(\"NcButton\");\n const _component_NcIconSvgWrapper = resolveComponent(\"NcIconSvgWrapper\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n const _component_NcUserStatusIcon = resolveComponent(\"NcUserStatusIcon\");\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return withDirectives((openBlock(), createElementBlock(\"span\", {\n class: normalizeClass([\"avatardiv popovermenu-wrapper\", {\n \"avatardiv--unknown\": $data.userDoesNotExist,\n \"avatardiv--with-menu\": $options.hasMenu,\n \"avatardiv--with-menu-loading\": $data.contactsMenuLoading\n }]),\n style: normalizeStyle($options.avatarStyle),\n title: $options.tooltip\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, () => [\n $props.iconClass ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([$props.iconClass, \"avatar-class-icon\"])\n }, null, 2)) : $data.isAvatarLoaded && !$data.userDoesNotExist ? (openBlock(), createElementBlock(\"img\", {\n key: 1,\n src: $data.avatarUrlLoaded,\n srcset: $data.avatarSrcSetLoaded,\n alt: \"\"\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true)\n ], true),\n $options.hasMenu && $options.menu.length === 0 ? (openBlock(), createBlock(_component_NcButton, {\n key: 0,\n \"aria-label\": $options.avatarAriaLabel,\n class: \"action-item action-item__menutoggle\",\n variant: \"tertiary-no-background\",\n onClick: $options.toggleMenu\n }, {\n icon: withCtx(() => [\n $data.contactsMenuLoading ? (openBlock(), createBlock(_component_NcLoadingIcon, { key: 0 })) : (openBlock(), createBlock(_component_IconDotsHorizontal, {\n key: 1,\n size: 20\n }))\n ]),\n _: 1\n }, 8, [\"aria-label\", \"onClick\"])) : $options.hasMenu ? (openBlock(), createBlock(_component_NcActions, {\n key: 1,\n open: $data.contactsMenuOpenState,\n \"onUpdate:open\": _cache[0] || (_cache[0] = ($event) => $data.contactsMenuOpenState = $event),\n \"aria-label\": $options.avatarAriaLabel,\n container: $props.menuContainer,\n forceMenu: \"\",\n manualOpen: \"\",\n variant: \"tertiary-no-background\",\n onClick: $options.toggleMenu\n }, createSlots({\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.menu, (item, key) => {\n return openBlock(), createBlock(resolveDynamicComponent(item.ncActionComponent), mergeProps({ key }, { ref_for: true }, item.ncActionComponentProps), createSlots({\n default: withCtx(() => [\n createTextVNode(\" \" + toDisplayString(item.text), 1)\n ]),\n _: 2\n }, [\n item.iconSvg ? {\n name: \"icon\",\n fn: withCtx(() => [\n createVNode(_component_NcIconSvgWrapper, {\n svg: item.iconSvg\n }, null, 8, [\"svg\"])\n ]),\n key: \"0\"\n } : void 0\n ]), 1040);\n }), 128))\n ]),\n _: 2\n }, [\n $data.contactsMenuLoading ? {\n name: \"icon\",\n fn: withCtx(() => [\n createVNode(_component_NcLoadingIcon)\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"open\", \"aria-label\", \"container\", \"onClick\"])) : createCommentVNode(\"\", true),\n $options.showUserStatusIconOnAvatar ? (openBlock(), createElementBlock(\"span\", _hoisted_3, toDisplayString(_ctx.userStatus.icon), 1)) : $options.canDisplayUserStatus ? (openBlock(), createBlock(_component_NcUserStatusIcon, {\n key: 3,\n class: \"avatardiv__user-status\",\n status: _ctx.userStatus.status,\n \"aria-hidden\": String($options.hasMenu)\n }, null, 8, [\"status\", \"aria-hidden\"])) : createCommentVNode(\"\", true),\n $options.showInitials ? (openBlock(), createElementBlock(\"span\", {\n key: 4,\n style: normalizeStyle($options.initialsWrapperStyle),\n class: \"avatardiv__initials-wrapper\"\n }, [\n createElementVNode(\"span\", {\n style: normalizeStyle($options.initialsStyle),\n class: \"avatardiv__initials\"\n }, toDisplayString($options.initials), 5)\n ], 4)) : createCommentVNode(\"\", true)\n ], 14, _hoisted_1)), [\n [_directive_click_outside, $options.closeMenu]\n ]);\n}\nconst NcAvatar = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-e0ae1174\"]]);\nexport {\n NcAvatar as N,\n userStatus as u\n};\n//# sourceMappingURL=NcAvatar-1KxMUN7V.mjs.map\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n\n\n","\n\n","import '../assets/NcListItem-BjeejGlB.css';\nimport { i as isLegacy34 } from \"./legacy-BoqDmOCa.mjs\";\nimport { N as NcActions } from \"./NcActions-C-wDqSrv.mjs\";\nimport { N as NcCounterBubble } from \"./NcCounterBubble-CV0YMrXW.mjs\";\nimport { _ as _sfc_main$1 } from \"./NcVNodes.vue_vue_type_script_lang-BqUHinRZ.mjs\";\nimport { resolveComponent, openBlock, createBlock, resolveDynamicComponent, normalizeProps, guardReactiveProps, withCtx, createElementVNode, mergeProps, normalizeClass, withKeys, renderSlot, createTextVNode, toDisplayString, createElementBlock, createCommentVNode, withDirectives, vShow, createVNode, createSlots } from \"vue\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = {\n name: \"NcListItem\",\n components: {\n NcActions,\n NcCounterBubble,\n NcVNodes: _sfc_main$1\n },\n inheritAttrs: false,\n props: {\n /**\n * The details text displayed in the upper right part of the component\n */\n details: {\n type: String,\n default: \"\"\n },\n /**\n * Name (first line of text)\n */\n name: {\n type: String,\n default: void 0\n },\n /**\n * The route for the router link.\n */\n to: {\n type: [String, Object],\n default: null\n },\n /**\n * The value for the external link\n */\n href: {\n type: String,\n default: \"#\"\n },\n /**\n * The HTML target attribute used for the link\n */\n target: {\n type: String,\n default: \"\"\n },\n /**\n * Id for the `
` element\n */\n anchorId: {\n type: String,\n default: \"\"\n },\n /**\n * Make subname bold\n */\n bold: {\n type: Boolean,\n default: false\n },\n /**\n * Show the NcListItem in compact design\n */\n compact: {\n type: Boolean,\n default: false\n },\n /**\n * Toggle the active state of the component\n */\n active: {\n type: Boolean,\n default: void 0\n },\n /**\n * Aria label for the wrapper element\n */\n linkAriaLabel: {\n type: String,\n default: \"\"\n },\n /**\n * Aria label for the actions toggle\n */\n actionsAriaLabel: {\n type: String,\n default: void 0\n },\n /**\n * If different from 0 this component will display the\n * NcCounterBubble component\n */\n counterNumber: {\n type: [Number, String],\n default: 0\n },\n /**\n * Outlined or highlighted state of the counter\n */\n counterType: {\n type: String,\n default: \"\",\n validator(value) {\n return [\"highlighted\", \"outlined\", \"\"].indexOf(value) !== -1;\n }\n },\n /**\n * To be used only when the elements in the actions menu are very important\n */\n forceDisplayActions: {\n type: Boolean,\n default: false\n },\n /**\n * Force the actions to display in a three dot menu\n */\n forceMenu: {\n type: Boolean,\n default: false\n },\n /**\n * Show the list component layout\n */\n oneLine: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"click\",\n \"dragstart\",\n \"update:menuOpen\"\n ],\n setup() {\n return { isLegacy34 };\n },\n data() {\n return {\n hovered: false,\n hasActions: false,\n hasSubname: false,\n displayActionsOnHoverFocus: false,\n menuOpen: false,\n hasIndicator: false,\n hasDetails: false\n };\n },\n computed: {\n showAdditionalElements() {\n return !this.displayActionsOnHoverFocus || this.forceDisplayActions;\n },\n showDetails() {\n return (this.details !== \"\" || this.hasDetails) && (!this.displayActionsOnHoverFocus || this.forceDisplayActions);\n }\n },\n watch: {\n menuOpen(newValue) {\n if (!newValue && !this.hovered) {\n this.displayActionsOnHoverFocus = false;\n }\n }\n },\n mounted() {\n this.checkSlots();\n },\n updated() {\n this.checkSlots();\n },\n methods: {\n /**\n * Handle link click\n *\n * @param {MouseEvent|KeyboardEvent} event - Native click or keydown event\n * @param {(event: Event) => void} [navigate] - VueRouter link's navigate if any\n * @param {string} [routerLinkHref] - VueRouter link's href\n */\n onClick(event, navigate, routerLinkHref) {\n this.$emit(\"click\", event);\n if (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) {\n return;\n }\n if (routerLinkHref) {\n navigate?.(event);\n event.preventDefault();\n }\n },\n showActions() {\n if (this.hasActions) {\n this.displayActionsOnHoverFocus = true;\n }\n this.hovered = false;\n },\n hideActions() {\n this.displayActionsOnHoverFocus = false;\n },\n /**\n * @param {FocusEvent} event UI event\n */\n handleBlur(event) {\n if (this.menuOpen) {\n return;\n }\n if (this.$refs[\"list-item\"]?.contains(event.relatedTarget)) {\n return;\n }\n this.hideActions();\n },\n /**\n * Hide the actions on mouseleave unless the menu is open\n */\n handleMouseleave() {\n if (!this.menuOpen) {\n this.displayActionsOnHoverFocus = false;\n }\n this.hovered = false;\n },\n handleMouseover() {\n this.showActions();\n this.hovered = true;\n },\n handleActionsUpdateOpen(e) {\n this.menuOpen = e;\n this.$emit(\"update:menuOpen\", e);\n },\n // Check if subname and actions slots are populated\n checkSlots() {\n if (this.hasActions !== !!this.$slots.actions) {\n this.hasActions = !!this.$slots.actions;\n }\n if (this.hasSubname !== !!this.$slots.subname) {\n this.hasSubname = !!this.$slots.subname;\n }\n if (this.hasIndicator !== !!this.$slots.indicator) {\n this.hasIndicator = !!this.$slots.indicator;\n }\n if (this.hasDetails !== !!this.$slots.details) {\n this.hasDetails = !!this.$slots.details;\n }\n }\n }\n};\nconst _hoisted_1 = [\"id\", \"aria-label\", \"href\", \"target\", \"rel\", \"onClick\"];\nconst _hoisted_2 = { class: \"list-item-content\" };\nconst _hoisted_3 = { class: \"list-item-content__main\" };\nconst _hoisted_4 = { class: \"list-item-content__name\" };\nconst _hoisted_5 = { class: \"list-item-content__details\" };\nconst _hoisted_6 = {\n key: 0,\n class: \"list-item-details__details\"\n};\nconst _hoisted_7 = {\n key: 1,\n class: \"list-item-details__extra\"\n};\nconst _hoisted_8 = {\n key: 1,\n class: \"list-item-details__indicator\"\n};\nconst _hoisted_9 = {\n key: 0,\n class: \"list-item-content__extra-actions\"\n};\nconst _hoisted_10 = {\n key: 2,\n class: \"list-item__extra\"\n};\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_NcCounterBubble = resolveComponent(\"NcCounterBubble\");\n const _component_NcActions = resolveComponent(\"NcActions\");\n return openBlock(), createBlock(resolveDynamicComponent($props.to ? \"router-link\" : \"NcVNodes\"), normalizeProps(guardReactiveProps({ ...$props.to && { custom: true, to: $props.to } })), {\n default: withCtx(({ href: routerLinkHref, navigate, isActive }) => [\n createElementVNode(\"li\", mergeProps({\n class: [\"list-item__wrapper\", {\n \"list-item__wrapper--active\": $props.active ?? isActive,\n \"list-item__wrapper--legacy\": $setup.isLegacy34\n }]\n }, _ctx.$attrs), [\n createElementVNode(\"div\", {\n ref: \"list-item\",\n class: normalizeClass([\"list-item\", {\n \"list-item--compact\": $props.compact,\n \"list-item--one-line\": $props.oneLine\n }]),\n onMouseover: _cache[5] || (_cache[5] = (...args) => $options.handleMouseover && $options.handleMouseover(...args)),\n onMouseleave: _cache[6] || (_cache[6] = (...args) => $options.handleMouseleave && $options.handleMouseleave(...args))\n }, [\n createElementVNode(\"a\", {\n id: $props.anchorId || void 0,\n \"aria-label\": $props.linkAriaLabel,\n class: \"list-item__anchor\",\n href: routerLinkHref || $props.href,\n target: $props.target || ($props.href === \"#\" ? void 0 : \"_blank\"),\n rel: $props.href === \"#\" ? void 0 : \"noopener noreferrer\",\n onFocus: _cache[0] || (_cache[0] = (...args) => $options.showActions && $options.showActions(...args)),\n onFocusout: _cache[1] || (_cache[1] = (...args) => $options.handleBlur && $options.handleBlur(...args)),\n onClick: ($event) => $options.onClick($event, navigate, routerLinkHref),\n onDragstart: _cache[2] || (_cache[2] = ($event) => _ctx.$emit(\"dragstart\", $event)),\n onKeydown: _cache[3] || (_cache[3] = withKeys((...args) => $options.hideActions && $options.hideActions(...args), [\"esc\"]))\n }, [\n renderSlot(_ctx.$slots, \"icon\", {}, void 0, true),\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"name\", {}, () => [\n createTextVNode(toDisplayString($props.name), 1)\n ], true)\n ]),\n $data.hasSubname ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"list-item-content__subname\", { \"list-item-content__subname--bold\": $props.bold }])\n }, [\n renderSlot(_ctx.$slots, \"subname\", {}, void 0, true)\n ], 2)) : createCommentVNode(\"\", true)\n ]),\n createElementVNode(\"div\", _hoisted_5, [\n $options.showDetails ? (openBlock(), createElementBlock(\"div\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"details\", {}, () => [\n createTextVNode(toDisplayString($props.details), 1)\n ], true)\n ])) : createCommentVNode(\"\", true),\n $props.counterNumber !== 0 || $data.hasIndicator ? withDirectives((openBlock(), createElementBlock(\"div\", _hoisted_7, [\n $props.counterNumber !== 0 ? (openBlock(), createBlock(_component_NcCounterBubble, {\n key: 0,\n count: $props.counterNumber,\n active: $setup.isLegacy34 ? $props.active ?? isActive : false,\n class: \"list-item-details__counter\",\n type: $props.counterType\n }, null, 8, [\"count\", \"active\", \"type\"])) : createCommentVNode(\"\", true),\n $data.hasIndicator ? (openBlock(), createElementBlock(\"span\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"indicator\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 512)), [\n [vShow, $options.showAdditionalElements]\n ]) : createCommentVNode(\"\", true)\n ])\n ])\n ], 40, _hoisted_1),\n _ctx.$slots[\"extra-actions\"] ? (openBlock(), createElementBlock(\"div\", _hoisted_9, [\n renderSlot(_ctx.$slots, \"extra-actions\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true),\n $props.forceDisplayActions || $data.displayActionsOnHoverFocus ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: \"list-item-content__actions\",\n onFocusout: _cache[4] || (_cache[4] = (...args) => $options.handleBlur && $options.handleBlur(...args))\n }, [\n createVNode(_component_NcActions, {\n ref: \"actions\",\n primary: $setup.isLegacy34 ? $props.active ?? isActive : false,\n forceMenu: $props.forceMenu,\n \"aria-label\": $props.actionsAriaLabel,\n \"onUpdate:open\": $options.handleActionsUpdateOpen\n }, createSlots({\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions\", {}, void 0, true)\n ]),\n _: 2\n }, [\n _ctx.$slots[\"actions-icon\"] ? {\n name: \"icon\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"actions-icon\", {}, void 0, true)\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"primary\", \"forceMenu\", \"aria-label\", \"onUpdate:open\"])\n ], 32)) : createCommentVNode(\"\", true),\n _ctx.$slots.extra ? (openBlock(), createElementBlock(\"div\", _hoisted_10, [\n renderSlot(_ctx.$slots, \"extra\", {}, void 0, true)\n ])) : createCommentVNode(\"\", true)\n ], 34)\n ], 16)\n ]),\n _: 3\n }, 16);\n}\nconst NcListItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__scopeId\", \"data-v-0e705f5a\"]]);\nexport {\n NcListItem as N\n};\n//# sourceMappingURL=NcListItem-BliLJpvU.mjs.map\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n","\n\n","\n\n","\n\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n\n\n","\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { createRouter, createWebHashHistory } from 'vue-router'\nimport Approvals from './views/Approvals.vue'\nimport HrAbsences from './views/hr/HrAbsences.vue'\nimport HrBalances from './views/hr/HrBalances.vue'\nimport HrExports from './views/hr/HrExports.vue'\nimport HrSickLeave from './views/hr/HrSickLeave.vue'\nimport HrStatistics from './views/hr/HrStatistics.vue'\nimport HrWhosOff from './views/hr/HrWhosOff.vue'\nimport MyLeave from './views/MyLeave.vue'\nimport Team from './views/Team.vue'\n\nconst routes = [\n\t{ path: '/', redirect: '/my' },\n\t{ path: '/my', name: 'my', component: MyLeave },\n\t{ path: '/approvals', name: 'approvals', component: Approvals },\n\t{ path: '/team', name: 'team', component: Team },\n\t{ path: '/hr/absences', name: 'hr-absences', component: HrAbsences },\n\t{ path: '/hr/balances', name: 'hr-balances', component: HrBalances },\n\t{ path: '/hr/statistics', name: 'hr-statistics', component: HrStatistics },\n\t{ path: '/hr/sick-leave', name: 'hr-sick-leave', component: HrSickLeave },\n\t{ path: '/hr/whos-off', name: 'hr-whos-off', component: HrWhosOff },\n\t{ path: '/hr/exports', name: 'hr-exports', component: HrExports },\n\t// Deep link from notifications/activity: open My leave with the request selected.\n\t{ path: '/requests/:id', name: 'request', component: MyLeave, props: true },\n]\n\nexport default createRouter({\n\thistory: createWebHashHistory(),\n\troutes,\n})\n","import { translatePlural as n, translate as t } from '@nextcloud/l10n'\n/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router.js'\n\nconst app = createApp(App)\napp.config.globalProperties.t = t\napp.config.globalProperties.n = n\napp.use(router)\napp.mount('#absence-app')\n"],"names":["getCapabilities","loadState","y","n","r","a","s","p","g","h","_","f","b","e","t","x","S","C","w","T","E","ee","k","A","D","O","i","L","F","$","j","M","N","z","R","P","I","B","o","c","l","u","te","V","H","U","W","G","K","q","J","Y","Z","X","re","ie","ne","Q","v","ae","d","m","isBrowser","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","text","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","TRAILING_SLASH_RE","removeTrailingSlash","path","parseURL","parseQuery","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","base","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","key","isSameRouteLocationParamsValue","isArray","isEquivalentArray","value","to","from","fromSegments","toSegments","lastToSegment","position","toPosition","segment","START_LOCATION_NORMALIZED","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","el","offset","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","isRouteLocation","route","isRouteName","name","search","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","useCallbacks","handlers","add","handler","reset","guardToPromiseFn","guard","record","runWithContext","fn","enterCallbackArray","resolve","reject","next","valid","createRouterError","guardReturn","guardCall","err","extractComponentsGuards","matched","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolved","resolvedComponent","isESModule","extractChangingRecords","leavingRecords","updatingRecords","enteringRecords","len","recordFrom","recordTo","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","replace","listeners","teardowns","pauseState","popStateHandler","state","fromState","listener","pauseListeners","listen","callback","teardown","index","beforeUnloadListener","history","assign","destroy","buildState","back","current","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","url","data","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","message","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","options","score","pattern","keys","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","subPattern","parse","match","params","stringify","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","last","PATH_PARSER_OPTIONS_DEFAULTS","createRouteRecordMatcher","parent","parser","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","mergeOptions","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","children","noop","matcherRef","getRoutes","findInsertionIndex","pickParams","parentMatcher","mergeMetaFields","clearRoutes","newParams","normalized","normalizeRecordProps","propsObject","props","meta","lower","upper","mid","insertionAncestor","getInsertionAncestor","ancestor","useLink","router","inject","routerKey","currentRoute","routeLocationKey","computed","unref","activeRecordIndex","length","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","preferSingleVNode","vnodes","RouterLink","defineComponent","slots","link","reactive","elClass","getLinkClass","target","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","attrs","injectedRoute","routerViewLocationKey","routeToDisplay","injectedDepth","viewDepthKey","depth","initialDepth","matchedRoute","matchedRouteRef","provide","matchedRouteKey","viewRef","ref","watch","instance","oldInstance","_oldName","currentName","ViewComponent","normalizeSlot","routePropsOption","routeProps","component","vnode","slot","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","shallowRef","pendingLocation","normalizeParams","applyToParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","error","isNavigationFailure","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","app","installedApps","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","list","isReady","scrollBehavior","nextTick","started","reactiveRoute","shallowReactive","unmountApp","promise","once","func","wasCalled","result","args","realAppName","appName","logger","APP_NAME","realAppVersion","appVersion","useAppName","useLocalizedAppName","apps","realAppName2","id","register","t27","_sfc_main$1","__props","isMobile","useIsMobile","toggleAppNavigationButton","onMounted","onBeforeUnmount","hide","appNavigationToggle","emit","_ctx","_cache","openBlock","createBlock","NcButton","normalizeClass","withCtx","createVNode","NcIconSvgWrapper","mdiArrowRight","NcAppContentDetailsToggle","_export_sfc","browserStorage","getBuilder","instanceName","_sfc_main","Pane","Splitpanes","isRtl","entries","part","useSwipe","direction","event","listPaneSize","_hoisted_1","_hoisted_2","_hoisted_3","_sfc_render","$props","$setup","$data","$options","_component_NcAppContentDetailsToggle","resolveComponent","_component_Pane","_component_Splitpanes","createElementBlock","toDisplayString","createCommentVNode","Fragment","withModifiers","withDirectives","createElementVNode","renderSlot","vShow","NcAppContent","NcAppNavigationList","HAS_APP_NAVIGATION_KEY","CONTENT_SELECTOR_KEY","t20","_hoisted_1$1","open","useModel","title","$event","mdiMenuOpen","mdiMenu","NcAppNavigationToggle","focusTrap","setHasAppNavigation","warn","appNavigationContainerElement","useTemplateRef","shouldActivateFocusTrap","watchEffect","toggleFocusTrap","subscribe","toggleNavigationByEventBus","createFocusTrap","toggleNavigation","getTrapStack","onUnmounted","unsubscribe","bodyStyles","animationLength","open2","handleEsc","isLegacy34","withKeys","NcAppNavigation","NcActions","actionProps","_value","headingLevel","_component_NcActions","resolveDynamicComponent","createTextVNode","normalizeProps","guardReactiveProps","NcAppNavigationCaption","_hoisted_4","mergeProps","ChevronUp","IconArrowRight","t14","IconClose","newValue","_component_IconArrowRight","_component_NcButton","_component_IconClose","vModelText","NcInputConfirmCancel","ActionGlobalMixin","ActionTextMixin","NC_ACTIONS_CLOSE_MENU","NC_ACTIONS_IS_SEMANTIC_MENU","behavior","mdiCheck","mdiChevronRight","attributes","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_component_NcIconSvgWrapper","normalizeStyle","NcActionButton","_sfc_main$3","_hoisted_1$2","_hoisted_2$2","_hoisted_3$2","_hoisted_4$2","_sfc_render$3","Pencil","_sfc_main$2","_hoisted_2$1","_hoisted_3$1","_hoisted_4$1","_sfc_render$2","Undo","t21","ChevronDown","_sfc_render$1","_component_ChevronUp","_component_ChevronDown","NcAppNavigationIconCollapsible","t23","t51","NcLoadingIcon","_sfc_main$4","createElementId","newVal","routerLinkHref","_component_NcLoadingIcon","_component_NcInputConfirmCancel","_component_Pencil","_component_NcActionButton","_component_Undo","_component_NcAppNavigationIconCollapsible","NcAppNavigationItem","NcAppNavigationNew","t30","contentSvg","navigationSvg","setAppNavigation","hasAppNavigation","currentFocus","currentImage","onBeforeMount","container","openAppNavigation","Teleport","NcContent","humanizedCount","getCanonicalLocale","originalCountAsTitleIfNeeded","countAsString","NcCounterBubble","_createElementBlock","_mergeProps","_createElementVNode","_openBlock","INJECTION_KEY_THEME","useIsDarkThemeElement","element","toValue","isDarkTheme","checkIfDarkTheme","isDarkSystemTheme","usePreferredDark","updateIsDarkTheme","useMutationObserver","readonly","useInternalIsDarkTheme","createSharedComposable","useIsDarkTheme","enforcedTheme","t40","mergeModels","modelValue","formattedValue","formatValue","formattedMax","formattedMin","getReadableDate","yyyy","MM","dd","hh","mm","startDate","daysSinceBeginningOfYear","weekNumber","onInput","input","time","timezoneOffsetSeconds","inputDateWithTimezone","NcDateTimePickerNative","__expose","focus","select","useAttrs","textAreaElement","internalPlaceholder","isLegacy","ariaDescribedby","ariaDescribedby2","handleInput","mdiAlertCircleOutline","NcTextArea","__emit","inputElement","hasTrailingIcon","isValidLabel","NcInputField","t18","inputFieldInstance","defaultTrailingButtonLabels","NcInputFieldPropNames","propsToForward","sharedProps","createSlots","mdiUndo","mdiClose","initialSession","initialLeaveTypes","store","request","type","api","showError","year","created","showSuccess","updated","res","comment","statusMeta","status","NcModal","NcSelect","NcTextField","NcNoteCard","Send","toIso","generateUrl","ev","names","makeHolidayChecker","seq","weekdays","parseWeekdays","countWorkingDays","types","today","seen","own","users","payload","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_25","_hoisted_26","_hoisted_29","_createBlock","_component_NcModal","_toDisplayString","_component_NcNoteCard","_createVNode","_component_NcSelect","_withCtx","icon","label","_hoisted_11","_component_NcDateTimePickerNative","_component_NcTextField","_Fragment","_createTextVNode","_hoisted_22","_hoisted_24","_hoisted_27","_hoisted_28","_component_NcTextArea","_component_Send","stopClickOutsideMap","vOnClickOutside","binding","capture","stop","onClickOutside","directive","encodedTlds","encodedUtlds","numeric","ascii","alpha","asciinumeric","alphanumeric","domain","emoji","scheme","slashscheme","whitespace","registerGroup","groups","addToGroups","flags","group","flagsForToken","State","nextState","regex","exactOnly","inputs","templateState","allFlags","ta","tr","ts","tt","WORD","UWORD","ASCIINUMERICAL","ALPHANUMERICAL","LOCALHOST","TLD","UTLD","SCHEME","SLASH_SCHEME","NUM","WS","NL","OPENBRACE","CLOSEBRACE","OPENBRACKET","CLOSEBRACKET","OPENPAREN","CLOSEPAREN","OPENANGLEBRACKET","CLOSEANGLEBRACKET","FULLWIDTHLEFTPAREN","FULLWIDTHRIGHTPAREN","LEFTCORNERBRACKET","RIGHTCORNERBRACKET","LEFTWHITECORNERBRACKET","RIGHTWHITECORNERBRACKET","FULLWIDTHLESSTHAN","FULLWIDTHGREATERTHAN","AMPERSAND","APOSTROPHE","ASTERISK","AT","BACKSLASH","BACKTICK","CARET","COLON","COMMA","DOLLAR","DOT","EQUALS","EXCLAMATION","HYPHEN","PERCENT","PIPE","PLUS","POUND","QUERY","QUOTE","FULLWIDTHMIDDLEDOT","SEMI","SLASH","TILDE","UNDERSCORE","EMOJI$1","SYM","tk","ASCII_LETTER","LETTER","EMOJI","DIGIT","SPACE","CR","LF","EMOJI_VARIATION","EMOJI_JOINER","OBJECT_REPLACEMENT","tlds","utlds","init$2","customSchemes","Start","decodeTlds","Num","Asciinumeric","Alphanumeric","Word","UWord","Nl","Cr","Ws","Emoji","EmojiJoiner","wordjr","uwordjr","fastts","sch","run$1","start","str","iterable","stringToArray","charCount","cursor","charCursor","tokenLength","latestAccepting","sinceAccepts","charsSinceAccepts","first","second","defaultt","jr","encoded","words","stack","digits","popDigitCount","popCount","defaults","Options","opts","defaultRender","ignoredTags","uppercaseIgnoredTags","ir","operator","isCallable","option","obj","val","MultiToken","truncate","formatted","protocol","formattedHref","tagName","content","className","rel","eventListeners","createTokenClass","Token","Email","Text","Url","makeState","arg","init$1","qsAccepting","qsNonAccepting","localpartAccepting","Localpart","Domain","Scheme","SlashScheme","LocalpartAt","LocalpartDot","EmailDomain","EmailDomainDot","Email$1","EmailDomainHyphen","DomainHyphen","DomainDot","DomainDotTld","DomainDotTldColon","DomainDotTldColonPort","Url$1","UrlNonaccept","SchemeColon","SlashSchemeColon","SlashSchemeColonSlash","UriPrefix","bracketPairs","OPEN","CLOSE","UrlOpen","UrlOpenQ","UrlOpenSyms","run","multis","textTokens","secondState","multiLength","initMultiToken","Multi","subtokens","startIdx","endIdx","INIT","init","tokenize","linkifyString","escapeHTML","escapeAttr","attributesToString","attr","headerRef","nameId","NcEmptyContent","_sfc_main$5","_hoisted_1$5","_hoisted_2$3","_hoisted_3$3","_hoisted_4$3","_sfc_render$4","IconDockRight","_hoisted_1$4","IconStar","_hoisted_1$3","IconStarOutline","selected","_sfc_main$6","sidebarTabsButton","sidebarTabsButton_legacy","sidebarTabsButton_selected","sidebarTabsButton__name","sidebarTabsButton__icon","sidebarTabsButton__legacyIcon","style0","cssModules","NcAppSidebarTabsButton","tab","active","tabIndex","_component_NcAppSidebarTabsButton","renderList","NcAppSidebarTabs","t15","_sfc_main$7","useIsSmallMobile","isSlotPopulated","menu","menuTrigger","activeTab","_component_IconDockRight","_component_IconStar","_component_IconStarOutline","_component_NcAppSidebarHeader","_component_NcAppSidebarTabs","_component_NcEmptyContent","_directive_focus","resolveDirective","_directive_click_outside","Transition","NcAppSidebar","NcAppSidebarTab","getRoute","removePrefix","prefix","removePrefixes","prefixes","acc","isAbsoluteURL","isNonHttpLink","getBaseUrl","relativeUrl","relativeRouterBase","getRootUrl","potentialRouterPath","getEnabledContactsMenuActions","entry","action","t3","Color","toHex","int","calculateStepIncrement","steps","color1","color2","mixPalette","palette","increment","COLOR_RED","COLOR_YELLOW","COLOR_BLUE","generatePalette","palette1","palette2","palette3","hashCode","Md5","finalInt","usernameToColor","username","finalPalette","global","Symbol","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","html","allowable_tags","tag_replacement","context","init_context","striptags_internal","init_striptags_stream","parse_allowable_tags","tag_buffer","in_quote_char","output","idx","normalize_tag","tag_set","module","this","getAvatarUrl","user","size","guestUrl","themeUrl","awaySvg","busySvg","dndSvg","invisibleSvg","onlineSvg","t52","t11","getUserStatusText","isInvisible","ariaLabel","axios","generateOcsUrl","matchSvg","activeSvg","NcUserStatusIcon","NcActionLink","_component_RouterLink","NcActionRouter","NcActionText","t10","userStatus","userId","capabilities","getCurrentUser","getUserHasAvatar","flag","setUserHasAvatar","IconDotsHorizontal","initials","filteredChars","filtered","actions","item","escape","emojiIcon","avatarUrl","srcset","userHasAvatar","img","_component_IconDotsHorizontal","_component_NcUserStatusIcon","NcAvatar","AccountGroup","StatusChip","_renderList","_component_NcAvatar","_component_StatusChip","_component_AccountGroup","_normalizeStyle","requested","review","outcome","step","_normalizeClass","LeaveTypeChip","CoveragePanel","RequestStepper","InformationOutline","CommentOutline","History","Check","Close","CancelIcon","formatRange","notice","iso","_component_NcAppSidebar","_component_NcAppSidebarTab","_component_InformationOutline","_component_RequestStepper","_component_LeaveTypeChip","_component_Check","_component_Close","_component_CancelIcon","_component_CoveragePanel","_component_CommentOutline","_component_History","RequestDialog","RequestSidebar","Plus","CalendarAccountOutline","CalendarSearch","ClipboardCheck","ScaleBalance","ChartBar","CalendarMonth","Download","ClipboardPlusOutline","Thermometer","_component_NcContent","_component_NcAppNavigation","_component_NcAppNavigationNew","_component_Plus","_component_NcAppNavigationItem","_component_CalendarAccountOutline","_component_ClipboardCheck","_component_NcCounterBubble","_component_NcAppNavigationCaption","_component_ClipboardPlusOutline","_component_CalendarSearch","_component_ScaleBalance","_component_ChartBar","_component_Thermometer","_component_CalendarMonth","_component_Download","_component_NcAppContent","_component_router_view","_component_RequestSidebar","_component_RequestDialog","NcListItem","range","days","_component_NcListItem","ACTIONABLE","CheckAll","RequestListItem","SkeletonList","reports","_component_SkeletonList","_TransitionGroup","_component_RequestListItem","_component_CheckAll","PAGE_SIZE","STATUSES","thisYear","employee","lt","years","LOW_BALANCE_RATIO","Magnify","StatTile","MeterBar","counting","sum","total","lowOrOverdrawn","row","available","ent","events","field","_hoisted_30","_hoisted_31","_hoisted_33","_component_Magnify","tile","_component_StatTile","_component_MeterBar","_hoisted_32","_hoisted_34","now","NcCheckboxRadioSwitch","max","report","_component_NcCheckboxRadioSwitch","_withModifiers","pct","seg","usableW","usableH","MAX_MONTHS","ChartLine","LineChart","DonutChart","months","month","peak","best","formatDate","_component_ChartLine","_component_LineChart","_component_DonutChart","DAY_MS","ChevronLeft","ChevronRight","CalendarBlank","arr","dt","dow","byUid","monthStart","lastIndex","ids","_component_ChevronLeft","_component_ChevronRight","_resolveDynamicComponent","_component_CalendarBlank","TeamTimeline","_component_TeamTimeline","duration","eased","BalanceRing","_component_BalanceRing","bar","seasonOf","LIVE_COUNTDOWN_MS","BalanceCard","BarChart","PalmIllustration","sickType","approved","headline","remaining","formatCountdown","typeMatches","color","buckets","addWorkingDaysByMonth","_component_BalanceCard","_component_BarChart","_component_PalmIllustration","MyLeave","Approvals","Team","HrAbsences","HrBalances","HrStatistics","HrSickLeave","HrWhosOff","HrExports","createApp","App"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,74,75,80,86,90,91,92]} \ No newline at end of file