This commit is contained in:
salam committed 2026-05-14 12:01:20 +02:00
1 parent 48deb69379
commit e34fa82499
16 files changed
+235 -228

No files matched your search

+3 -1
View File
@@ -185,7 +185,9 @@ class ExcelNutzwerte
'Cache-Control: cache, must-revalidate', 'Cache-Control: cache, must-revalidate',
]; ];
return Response::download($file, $filename, $headers); // return Response::download($file, $filename, $headers);
return Response::file($file, $headers);
} }
private static function title_reihe() private static function title_reihe()
+2 -1
View File
@@ -181,6 +181,7 @@ class PdfGenerator
$mpdf->Output($file, 'F'); $mpdf->Output($file, 'F');
return Response::download($file, $filename, $headers); return Response::file($file, $headers);
// return Response::download($file, $filename, $headers);
} }
} }
@@ -38,24 +38,20 @@ class ImportAllgemeinDirect
} }
} }
$recipient = auth()->user();
if ($error) { if ($error) {
Notification::make() Notification::make()
->title('Fehlerbeim Import') ->title('Fehlerbeim Import')
->body('Daten konnten nicht in vier Spalten aufgeteilt werden. Falscher Separator?') ->body('Daten konnten nicht in vier Spalten aufgeteilt werden. Falscher Separator?')
->danger() ->danger()
->send(); ->send()
->sendToDatabase($recipient);
} else { } else {
Notification::make() Notification::make()
->title('Allgemeinflächen wurden erfolgreich importiert') ->title('Allgemeinflächen wurden erfolgreich importiert')
->body($new.' wurden Flächen hinzugefügt') ->body('Es wurden '.$new.' Flächen hinzugefügt')
->success()
->send();
$recipient = auth()->user();
Notification::make()
->title('Allgemeinflächen wurden erfolgreich importiert')
->body($new.' wurden Flächen hinzugefügt')
->success() ->success()
->send()
->sendToDatabase($recipient); ->sendToDatabase($recipient);
} }
} }
+45 -49
View File
@@ -16,13 +16,11 @@ class ImportObjekteDirect
$data = explode(PHP_EOL, $data['upload_data']); $data = explode(PHP_EOL, $data['upload_data']);
$has_objekte = ProjektObjekte::where('projekte_id', $projekte_id)->count(); $has_objekte = ProjektObjekte::where('projekte_id', $projekte_id)->count();
$has_detail = ProjektObjekteImDetail::where('projekte_id', $projekte_id)->count();
$new_objekte = 0; $new_objekte = 0;
$new_detail = 0;
$update_objekte = 0;
$update_detail = 0;
$projekt_objekte_check = 0; $has_objekte_im_detail = ProjektObjekteImDetail::where('projekte_id', $projekte_id)->count();
$new_objekte_im_detail = 0;
$update_objekte_im_detail = 0;
foreach ($data as $row) { foreach ($data as $row) {
$row = str_replace(';', '|', $row); $row = str_replace(';', '|', $row);
@@ -35,69 +33,67 @@ class ImportObjekteDirect
if (is_numeric($flaeche) && $flaeche > 0) { if (is_numeric($flaeche) && $flaeche > 0) {
$projekt_objekte = ProjektObjekte::firstOrCreate([ $objekt = ProjektObjekte::where('projekte_id', $projekte_id)
'projekte_id' => $projekte_id, ->where('top_nummer', $top_nummer)
'top_nummer' => $top_nummer, ->first();
]);
if ($projekt_objekte->new) { // some way to check if ($objekt === null) {
if ($projekt_objekte_check != $projekt_objekte->id) { $new_objekte++;
$new_objekte++;
} $objekt = new ProjektObjekte(['projekte_id' => $projekte_id, 'top_nummer' => $top_nummer]);
} else { $objekt->save();
if ($projekt_objekte_check != $projekt_objekte->id) {
$update_objekte++;
}
} }
$projekt_objekte_check = $projekt_objekte->id;
$prokectimdetail = ProjektObjekteImDetail::firstOrCreate( $objektImDetail = ProjektObjekteImDetail::where('projekte_id', $projekte_id)
['projekte_id' => $projekte_id, 'projekt_objekte_id' => $projekt_objekte->id, 'geschoss' => $geschoss, 'raumart' => $raumart], ->where('projekt_objekte_id', $objekt->id)
['flaeche' => $flaeche] ->where('geschoss', $geschoss)
); ->where('raumart', $raumart)
->first();
if ($prokectimdetail->new) { // some way to check if ($objektImDetail === null) {
$new_detail++; $new_objekte_im_detail++;
$objektImDetail = new ProjektObjekteImDetail([
'projekte_id' => $projekte_id,
'projekt_objekte_id' => $objekt->id,
'geschoss' => $geschoss,
'raumart' => $raumart,
]);
} else { } else {
$update_detail++; $update_objekte_im_detail++;
} }
$objektImDetail->flaeche = $flaeche;
$objektImDetail->save();
} }
} }
Notification::make()
->title('Objekte im Detail wurden erfolgreich importiert')
->success()
->send();
/** @var User $user * */ /** @var User $user * */
$recipient = Auth::user(); $recipient = Auth::user();
Notification::make() Notification::make()
->title('Objekte im Detail wurden erfolgreich importiert') ->title('Objekte im Detail wurden erfolgreich importiert')
->body(self::getBody($has_objekte, $has_detail, $new_objekte, $new_detail, $update_objekte, $update_detail)) ->body(self::getBody($has_objekte, $has_objekte_im_detail, $new_objekte, $new_objekte_im_detail, $update_objekte_im_detail))
->success() ->success()
->send()
->sendToDatabase($recipient); ->sendToDatabase($recipient);
} }
public static function getBody($has_objekte, $has_detail, $new_objekte, $new_detail, $update_objekte, $update_detail) public static function getBody($has_objekte, $has_objekte_im_detail, $new_objekte, $new_objekte_im_detail, $update_objekte_im_detail)
{ {
return new HtmlString('<div class="grid grid-cols-2 gap-2 w-full"> return new HtmlString('<div class="grid grid-cols-4 gap-1 w-full">
<div class="col-span-2">Objekte</div> <div class="col-span-4 text-gray-500 font-bold">Objekte</div>
<div>Bestehende</div> <div class="col-span-3 text-primary-500">Vorher</div>
<div>'.$has_objekte.'</div> <div class="text-primary-500">'.$has_objekte.'</div>
<div>Geänderte</div> <div class="col-span-3 text-success-500">Neu</div>
<div>'.$update_objekte.'</div> <div class="text-success-500">'.$new_objekte.'</div>
<div>Neue</div> <div class="col-span-4 text-gray-500 font-bold">Objekte im Detail</div>
<div>'.$new_objekte.'</div> <div class="col-span-3 text-primary-500">Vorher</div>
<div class="text-primary-500">'.$has_objekte_im_detail.'</div>
<div class="col-span-2">Objekte im Detail</div> <div class="col-span-3 text-success-500">Neu</div>
<div>Bestehende</div> <div class="text-success-500">'.$new_objekte_im_detail.'</div>
<div>'.$has_detail.'</div> <div class="col-span-3 text-warning-500">Aktualisiert</div>
<div>Geänderte</div> <div class="text-warning-500">'.$update_objekte_im_detail.'</div>
<div>'.$update_detail.'</div>
<div>Neue</div>
<div>'.$new_detail.'</div>
</div>'); </div>');
} }
} }
@@ -35,7 +35,7 @@ class EditProjekte extends EditRecord
Action::make('freischalten') Action::make('freischalten')
->hidden(fn ($record): bool => $record->bezahlt_am ? true : false) ->hidden(fn ($record): bool => $record->bezahlt_am ? true : false)
->color('success') ->color('success')
->visible(fn (): bool => Auth::user()->konto->guthaben) ->visible(fn (): bool => (bool) Auth::user()->konto->guthaben)
->requiresConfirmation() ->requiresConfirmation()
->modalHeading('Gutachten freischalten?') ->modalHeading('Gutachten freischalten?')
->tooltip('Von Ihrem Guthaben wird ein Punkt abgezogen.') ->tooltip('Von Ihrem Guthaben wird ein Punkt abgezogen.')
@@ -6,10 +6,10 @@ use App\Actions\Create\CreateProjektMethoden;
use App\Models\Aufstellung; use App\Models\Aufstellung;
use App\Models\Methode; use App\Models\Methode;
use App\Models\ProjektMethode; use App\Models\ProjektMethode;
use App\Models\ProjektObjekteImDetail;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\BulkAction; use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
@@ -17,9 +17,7 @@ use Filament\Notifications\Notification;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Components\Utilities\Get; use Filament\Schemas\Components\Utilities\Get;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
use Filament\Tables\Columns\SelectColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\TernaryFilter; use Filament\Tables\Filters\TernaryFilter;
use Filament\Tables\Table; use Filament\Tables\Table;
@@ -83,31 +81,8 @@ class ProjektMethodesRelationManager extends RelationManager
->recordTitleAttribute('raumart') ->recordTitleAttribute('raumart')
->defaultPaginationPageOption(50) ->defaultPaginationPageOption(50)
->columns([ ->columns([
TextColumn::make('methode.name') TextColumn::make('methode.name'),
->searchable(), TextColumn::make('aufstellung.name'),
TextColumn::make('aufstellung.name')
->searchable(),
// SelectColumn::make('methode_id')
// ->label('Methoden')
// ->optionsRelationship('methode', 'name')
// ->preloadOptions()
// ->rules(['required'])
// ->afterStateUpdated(function (Component $livewire) {
// $livewire->dispatch('refreshMethods');
// })->validationMessages([
// 'required' => 'Die Eingabe einer Methode ist erforderlich.',
// ]),
// SelectColumn::make('aufstellung_id')
// ->label('Aufstellung')
// ->optionsRelationship('aufstellung', 'name')
// ->preloadOptions()
// ->rules(['required'])
// ->afterStateUpdated(function (Component $livewire) {
// $livewire->dispatch('refreshMethods');
// })->validationMessages([
// 'required' => 'Die Eingabe einer Aufstellung ist erforderlich.',
// ]),
TextColumn::make('raumart') TextColumn::make('raumart')
->searchable(), ->searchable(),
TextColumn::make('faktor') TextColumn::make('faktor')
@@ -115,25 +90,20 @@ class ProjektMethodesRelationManager extends RelationManager
->icon('phosphor-function') ->icon('phosphor-function')
->searchable() ->searchable()
->label('Faktor'), ->label('Faktor'),
// TextInputColumn::make('faktor')
// ->extraInputAttributes(['onClick' => 'this.select()'])
// ->suffixIcon('phosphor-function')
// ->width('1rem')
// ->rules(['required', 'faktor' => 'decimal:0,2'])
// ->searchable()
// ->afterStateUpdated(function ($record) {
// $objects = ProjektObjekteImDetail::where('projekte_id', $record['projekte_id'])->where('raumart', $record['raumart'])->get();
// foreach ($objects as $value) {
// $nutzwert = round($record['faktor'] * $value->flaeche, 2);
// ProjektObjekteImDetail::where('id', $value->id)->update(['nutzwert' => $nutzwert]);
// }
// })->validationMessages([
// 'required' => 'Die Eingabe eines Faktors ist erforderlich.',
// 'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
// ]),
]) ])
->recordActions([ ->recordActions([
EditAction::make()->iconButton(), EditAction::make()->iconButton(),
DeleteAction::make()
->iconButton()
->modalDescription(new HtmlString('Es werden auch alle damit verbundenen <b>Räume im Detail</b> gelöscht.'))
->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektObjekteImDetail');
})->successNotification(
Notification::make()
->success()
->title('Raume Methode gelöscht')
->body('Inclusive aller damit verbundenen Räume im Detail.'),
),
]) ])
->filters([ ->filters([
SelectFilter::make('methodes') SelectFilter::make('methodes')
@@ -150,6 +120,19 @@ class ProjektMethodesRelationManager extends RelationManager
]) ])
->headerActions([ ->headerActions([
Action::make('Wohnnutzfläche')
->tooltip('Setzt alle leeren Felder auf "Normale Wohnnutzfläche"')
->icon('phosphor-arrow-bend-right-down')
->action(function (): void {
ProjektMethode::where('projekte_id', '=', $this->ownerRecord->id)->where('methode_id', '=', 0)->update(['methode_id' => 1]);
})->after(function (Component $livewire) {
$livewire->dispatch('refreshMethods');
Notification::make()
->title('Alle leeren Felder wurden auf "Normale Wohnnutzfläche" gesetzt.')
->success()
->send();
}),
Action::make('methoden') Action::make('methoden')
->icon('phosphor-question') ->icon('phosphor-question')
->modalCancelAction(fn (Action $action) => $action->label('Schließen')) ->modalCancelAction(fn (Action $action) => $action->label('Schließen'))
@@ -149,7 +149,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
->color('info') ->color('info')
->label('Hochladen') ->label('Hochladen')
->modalHeading('Objekte im Detail hochladen') ->modalHeading('Objekte im Detail hochladen')
->modalDescription(new HtmlString('<b>Objekte werden immer hinzugefügt!</b><br/>Spalten Separator:<br/>Strichpunkt ";" oder Pfeife "|"<br/>Immer vier Spalten verwenden.<br/><br/>Beispiel:<br/>"APG 01";"UG ";"Stellplatz+ ";"14,25"<br/>"APG 02";"UG ";"Stellplatz";"12,94"')) ->modalDescription(new HtmlString('Daten fixiert auf: <b class="text-primary-500">Top, Geschoss und Raumart</b>. <br/>Bestehen diese wird die Reihe <b>aktualisiert</b>.<br/>Ansonnsten wird ein neue Reihe <b>hinzugefügt</b>!<br/><br/>Separator:<br/>Strichpunkt ";" oder Pfeife "|"<br/>Text ist <b>Vierspaltig</b>.<br/><br/>Beispiel:<br/>"APG 01";"UG ";"Stellplatz+ ";"14,25"<br/>"APG 02";"UG ";"Stellplatz";"12,94"'))
->schema([ ->schema([
Textarea::make('upload_data') Textarea::make('upload_data')
->required() ->required()
@@ -10,6 +10,7 @@ use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
use Filament\Forms\Components\Radio; use Filament\Forms\Components\Radio;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
@@ -21,6 +22,8 @@ use Filament\Tables\Columns\SelectColumn;
use Filament\Tables\Columns\Summarizers\Sum; use Filament\Tables\Columns\Summarizers\Sum;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn; use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\TernaryFilter; use Filament\Tables\Filters\TernaryFilter;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
@@ -251,11 +254,26 @@ class ProjektObjekteRelationManager extends RelationManager
->alignCenter(), ->alignCenter(),
]) ])
->filters([ ->filters([
SelectFilter::make('orientierung_id')
->label('Orientierung')
->preload()
->searchable()
->options(function () {
$res = ProjektObjekte::where('projekte_id', $this->ownerRecord->id)
->where('orientierung_id', '>', 0)
->groupBy('orientierung_id')
->select('orientierung_id')
->get()
->toArray();
return Orientierung::whereIn('id', $res)->orderBy('id')->pluck('name', 'id');
}),
TernaryFilter::make('nicht_in_orientierung') TernaryFilter::make('nicht_in_orientierung')
->default(0) ->default(0)
->label('Objekte "Nicht in Orientierung" anzeigen'), ->label('"Nicht in Orientierung" anzeigen'),
]) ], FiltersLayout::AboveContent)
->deferFilters(false) ->deferFilters(false)
->filtersFormColumns(4)
->recordActions([ ->recordActions([
EditAction::make()->iconButton() EditAction::make()->iconButton()
->mutateDataUsing(function (array $data): array { ->mutateDataUsing(function (array $data): array {
@@ -601,6 +619,9 @@ class ProjektObjekteRelationManager extends RelationManager
})->after(function (Component $livewire) { })->after(function (Component $livewire) {
$livewire->dispatch('refreshOrientierung'); $livewire->dispatch('refreshOrientierung');
}), }),
DeleteBulkAction::make()->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektObjekteImDetail');
}),
]), ]),
]); ]);
} }
+3 -3
View File
@@ -2,8 +2,8 @@
namespace App\Providers; namespace App\Providers;
use BezhanSalleh\FilamentShield\Commands; // use BezhanSalleh\FilamentShield\Commands;
use BezhanSalleh\FilamentShield\Facades\FilamentShield; // use BezhanSalleh\FilamentShield\Facades\FilamentShield;
use Carbon\Carbon; use Carbon\Carbon;
use Filament\Support\Colors\Color; use Filament\Support\Colors\Color;
use Filament\Support\Facades\FilamentColor; use Filament\Support\Facades\FilamentColor;
@@ -44,7 +44,7 @@ class AppServiceProvider extends ServiceProvider
'gray' => Color::Zinc, 'gray' => Color::Zinc,
'primary' => Color::Blue, 'primary' => Color::Blue,
'success' => Color::Green, 'success' => Color::Green,
'warning' => Color::Yellow, 'warning' => Color::Amber,
'info' => Color::Gray, 'info' => Color::Gray,
]); ]);
Generated
+114 -106
View File
@@ -1478,16 +1478,16 @@
}, },
{ {
"name": "filament/actions", "name": "filament/actions",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/actions.git", "url": "https://github.com/filamentphp/actions.git",
"reference": "f64e13cbe12fcf7bdc9aa45508e8eca0ebc77f2b" "reference": "e08fba01e1db929547709275d854c16ee085fe27"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/actions/zipball/f64e13cbe12fcf7bdc9aa45508e8eca0ebc77f2b", "url": "https://api.github.com/repos/filamentphp/actions/zipball/e08fba01e1db929547709275d854c16ee085fe27",
"reference": "f64e13cbe12fcf7bdc9aa45508e8eca0ebc77f2b", "reference": "e08fba01e1db929547709275d854c16ee085fe27",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1522,20 +1522,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:05+00:00" "time": "2026-05-11T09:46:24+00:00"
}, },
{ {
"name": "filament/filament", "name": "filament/filament",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/panels.git", "url": "https://github.com/filamentphp/panels.git",
"reference": "583b4c80cbf471e02af168e88add2d355dd2ed97" "reference": "37be1966edc170a80a26e3da497f0b176829b46f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/panels/zipball/583b4c80cbf471e02af168e88add2d355dd2ed97", "url": "https://api.github.com/repos/filamentphp/panels/zipball/37be1966edc170a80a26e3da497f0b176829b46f",
"reference": "583b4c80cbf471e02af168e88add2d355dd2ed97", "reference": "37be1966edc170a80a26e3da497f0b176829b46f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1579,20 +1579,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:13+00:00" "time": "2026-05-11T09:50:45+00:00"
}, },
{ {
"name": "filament/forms", "name": "filament/forms",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/forms.git", "url": "https://github.com/filamentphp/forms.git",
"reference": "26cf9ca4170a9020d87a637a22da4fbb9cf6931b" "reference": "20b7583e9c054e4594aaece2466b888b3d82b3a2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/forms/zipball/26cf9ca4170a9020d87a637a22da4fbb9cf6931b", "url": "https://api.github.com/repos/filamentphp/forms/zipball/20b7583e9c054e4594aaece2466b888b3d82b3a2",
"reference": "26cf9ca4170a9020d87a637a22da4fbb9cf6931b", "reference": "20b7583e9c054e4594aaece2466b888b3d82b3a2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1629,20 +1629,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:11+00:00" "time": "2026-05-11T09:50:56+00:00"
}, },
{ {
"name": "filament/infolists", "name": "filament/infolists",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/infolists.git", "url": "https://github.com/filamentphp/infolists.git",
"reference": "4507064aeff2d3895013d5c6bf8775311adbb4b9" "reference": "815a5577cab36bb78e8a8e63eafef6da16d880a6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/infolists/zipball/4507064aeff2d3895013d5c6bf8775311adbb4b9", "url": "https://api.github.com/repos/filamentphp/infolists/zipball/815a5577cab36bb78e8a8e63eafef6da16d880a6",
"reference": "4507064aeff2d3895013d5c6bf8775311adbb4b9", "reference": "815a5577cab36bb78e8a8e63eafef6da16d880a6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1674,11 +1674,11 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:09+00:00" "time": "2026-05-11T09:48:26+00:00"
}, },
{ {
"name": "filament/notifications", "name": "filament/notifications",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/notifications.git", "url": "https://github.com/filamentphp/notifications.git",
@@ -1725,16 +1725,16 @@
}, },
{ {
"name": "filament/query-builder", "name": "filament/query-builder",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/query-builder.git", "url": "https://github.com/filamentphp/query-builder.git",
"reference": "2843cc6ead56bcefbd574b388c26c854dd4b7ab0" "reference": "80ef96c52900691ac9d9a49396e7859abf09a5d5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/query-builder/zipball/2843cc6ead56bcefbd574b388c26c854dd4b7ab0", "url": "https://api.github.com/repos/filamentphp/query-builder/zipball/80ef96c52900691ac9d9a49396e7859abf09a5d5",
"reference": "2843cc6ead56bcefbd574b388c26c854dd4b7ab0", "reference": "80ef96c52900691ac9d9a49396e7859abf09a5d5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1767,20 +1767,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-04-21T15:39:41+00:00" "time": "2026-05-11T09:50:13+00:00"
}, },
{ {
"name": "filament/schemas", "name": "filament/schemas",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/schemas.git", "url": "https://github.com/filamentphp/schemas.git",
"reference": "8a7b3ebb705e39bd277cc663f9cf5aec1c081b7a" "reference": "1243cfc17e166171c2f66726ddf8613ae7842bd1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/schemas/zipball/8a7b3ebb705e39bd277cc663f9cf5aec1c081b7a", "url": "https://api.github.com/repos/filamentphp/schemas/zipball/1243cfc17e166171c2f66726ddf8613ae7842bd1",
"reference": "8a7b3ebb705e39bd277cc663f9cf5aec1c081b7a", "reference": "1243cfc17e166171c2f66726ddf8613ae7842bd1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1812,20 +1812,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:04+00:00" "time": "2026-05-11T09:48:28+00:00"
}, },
{ {
"name": "filament/support", "name": "filament/support",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/support.git", "url": "https://github.com/filamentphp/support.git",
"reference": "9823cf5f69c9356ef74409a2a964801aa1a0c38a" "reference": "5da036595c1df01f513c142fa1dc1cccfe7a42c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/support/zipball/9823cf5f69c9356ef74409a2a964801aa1a0c38a", "url": "https://api.github.com/repos/filamentphp/support/zipball/5da036595c1df01f513c142fa1dc1cccfe7a42c0",
"reference": "9823cf5f69c9356ef74409a2a964801aa1a0c38a", "reference": "5da036595c1df01f513c142fa1dc1cccfe7a42c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1870,20 +1870,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:09+00:00" "time": "2026-05-11T09:48:52+00:00"
}, },
{ {
"name": "filament/tables", "name": "filament/tables",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/tables.git", "url": "https://github.com/filamentphp/tables.git",
"reference": "947998ca3643e124a459ad4b9bb8a9c14af4c1c2" "reference": "a3e62d3bc336350d487ce0092542d36c35cfa897"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/tables/zipball/947998ca3643e124a459ad4b9bb8a9c14af4c1c2", "url": "https://api.github.com/repos/filamentphp/tables/zipball/a3e62d3bc336350d487ce0092542d36c35cfa897",
"reference": "947998ca3643e124a459ad4b9bb8a9c14af4c1c2", "reference": "a3e62d3bc336350d487ce0092542d36c35cfa897",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1916,20 +1916,20 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:32+00:00" "time": "2026-05-11T09:50:30+00:00"
}, },
{ {
"name": "filament/widgets", "name": "filament/widgets",
"version": "v4.11.2", "version": "v4.11.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/filamentphp/widgets.git", "url": "https://github.com/filamentphp/widgets.git",
"reference": "3018efa672d18a0e5a9e858cc70daaa7794a87c6" "reference": "31881a093c6c6d0f2287b4b44d5f3d117fb959e6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/filamentphp/widgets/zipball/3018efa672d18a0e5a9e858cc70daaa7794a87c6", "url": "https://api.github.com/repos/filamentphp/widgets/zipball/31881a093c6c6d0f2287b4b44d5f3d117fb959e6",
"reference": "3018efa672d18a0e5a9e858cc70daaa7794a87c6", "reference": "31881a093c6c6d0f2287b4b44d5f3d117fb959e6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1960,7 +1960,7 @@
"issues": "https://github.com/filamentphp/filament/issues", "issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament" "source": "https://github.com/filamentphp/filament"
}, },
"time": "2026-05-02T08:32:20+00:00" "time": "2026-05-11T09:51:09+00:00"
}, },
{ {
"name": "fruitcake/php-cors", "name": "fruitcake/php-cors",
@@ -2035,16 +2035,16 @@
}, },
{ {
"name": "giggsey/libphonenumber-for-php-lite", "name": "giggsey/libphonenumber-for-php-lite",
"version": "9.0.29", "version": "9.0.30",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git",
"reference": "d64c0c05a5ff4591e6d8421a17764802e2c14733" "reference": "6561e5617cceed8a96ce911090b8d65f6cfbe0c7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/d64c0c05a5ff4591e6d8421a17764802e2c14733", "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/6561e5617cceed8a96ce911090b8d65f6cfbe0c7",
"reference": "d64c0c05a5ff4591e6d8421a17764802e2c14733", "reference": "6561e5617cceed8a96ce911090b8d65f6cfbe0c7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2109,7 +2109,7 @@
"issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues",
"source": "https://github.com/giggsey/libphonenumber-for-php-lite" "source": "https://github.com/giggsey/libphonenumber-for-php-lite"
}, },
"time": "2026-04-24T11:10:08+00:00" "time": "2026-05-07T12:02:55+00:00"
}, },
{ {
"name": "graham-campbell/result-type", "name": "graham-campbell/result-type",
@@ -4838,16 +4838,16 @@
}, },
{ {
"name": "nette/utils", "name": "nette/utils",
"version": "v4.1.3", "version": "v4.1.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nette/utils.git", "url": "https://github.com/nette/utils.git",
"reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", "url": "https://api.github.com/repos/nette/utils/zipball/7da6c396d7ebe142bc857c20479d5e70a5e1aac7",
"reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4923,9 +4923,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nette/utils/issues", "issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v4.1.3" "source": "https://github.com/nette/utils/tree/v4.1.4"
}, },
"time": "2026-02-13T03:05:33+00:00" "time": "2026-05-11T20:49:54+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
@@ -7235,16 +7235,16 @@
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
"version": "v3.6.0", "version": "v3.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git", "url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b",
"reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7257,7 +7257,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -7282,7 +7282,7 @@
"description": "A generic function and convention to trigger deprecation notices", "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0"
}, },
"funding": [ "funding": [
{ {
@@ -7293,12 +7293,16 @@
"url": "https://github.com/fabpot", "url": "https://github.com/fabpot",
"type": "github" "type": "github"
}, },
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{ {
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:21:43+00:00" "time": "2026-04-13T15:52:40+00:00"
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
@@ -7469,16 +7473,16 @@
}, },
{ {
"name": "symfony/event-dispatcher-contracts", "name": "symfony/event-dispatcher-contracts",
"version": "v3.6.0", "version": "v3.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git", "url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586" "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/ccba7060602b7fed0b03c85bf025257f76d9ef32",
"reference": "59eb412e93815df44f05f342958efa9f46b1e586", "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7492,7 +7496,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -7525,7 +7529,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.0"
}, },
"funding": [ "funding": [
{ {
@@ -7536,12 +7540,16 @@
"url": "https://github.com/fabpot", "url": "https://github.com/fabpot",
"type": "github" "type": "github"
}, },
{
"url": "https://github.com/nicolas-grekas",
"type": "github"
},
{ {
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-09-25T14:21:43+00:00" "time": "2026-01-05T13:30:16+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
@@ -7769,16 +7777,16 @@
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v7.4.8", "version": "v7.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "017e76ad089bac281553389269e259e155935e1a" "reference": "23486f59234c6fd6e8f1bec97124f3829d686627"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/017e76ad089bac281553389269e259e155935e1a", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/23486f59234c6fd6e8f1bec97124f3829d686627",
"reference": "017e76ad089bac281553389269e259e155935e1a", "reference": "23486f59234c6fd6e8f1bec97124f3829d686627",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7864,7 +7872,7 @@
"description": "Provides a structured process for converting a Request into a Response", "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/http-kernel/tree/v7.4.8" "source": "https://github.com/symfony/http-kernel/tree/v7.4.10"
}, },
"funding": [ "funding": [
{ {
@@ -7884,7 +7892,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2026-03-31T20:57:01+00:00" "time": "2026-05-06T12:07:34+00:00"
}, },
{ {
"name": "symfony/mailer", "name": "symfony/mailer",
@@ -9040,16 +9048,16 @@
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
"version": "v3.6.1", "version": "v3.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/service-contracts.git", "url": "https://github.com/symfony/service-contracts.git",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a",
"reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -9067,7 +9075,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -9103,7 +9111,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/service-contracts/tree/v3.6.1" "source": "https://github.com/symfony/service-contracts/tree/v3.7.0"
}, },
"funding": [ "funding": [
{ {
@@ -9123,7 +9131,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-07-15T11:30:57+00:00" "time": "2026-03-28T09:44:51+00:00"
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
@@ -9218,16 +9226,16 @@
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v7.4.8", "version": "v7.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "33600f8489485425bfcddd0d983391038d3422e7" "reference": "ada7578c30dd5feaa8259cff3e885069ea81ddde"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/33600f8489485425bfcddd0d983391038d3422e7", "url": "https://api.github.com/repos/symfony/translation/zipball/ada7578c30dd5feaa8259cff3e885069ea81ddde",
"reference": "33600f8489485425bfcddd0d983391038d3422e7", "reference": "ada7578c30dd5feaa8259cff3e885069ea81ddde",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -9294,7 +9302,7 @@
"description": "Provides tools to internationalize your application", "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/translation/tree/v7.4.8" "source": "https://github.com/symfony/translation/tree/v7.4.10"
}, },
"funding": [ "funding": [
{ {
@@ -9314,20 +9322,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2026-03-24T13:12:05+00:00" "time": "2026-05-06T11:19:24+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
"version": "v3.6.1", "version": "v3.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation-contracts.git", "url": "https://github.com/symfony/translation-contracts.git",
"reference": "65a8bc82080447fae78373aa10f8d13b38338977" "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/0ab302977a952b42fd51475c4ebac81f8da0a95d",
"reference": "65a8bc82080447fae78373aa10f8d13b38338977", "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -9340,7 +9348,7 @@
"name": "symfony/contracts" "name": "symfony/contracts"
}, },
"branch-alias": { "branch-alias": {
"dev-main": "3.6-dev" "dev-main": "3.7-dev"
} }
}, },
"autoload": { "autoload": {
@@ -9376,7 +9384,7 @@
"standards" "standards"
], ],
"support": { "support": {
"source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" "source": "https://github.com/symfony/translation-contracts/tree/v3.7.0"
}, },
"funding": [ "funding": [
{ {
@@ -9396,7 +9404,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2025-07-15T13:41:35+00:00" "time": "2026-01-05T13:30:16+00:00"
}, },
{ {
"name": "symfony/uid", "name": "symfony/uid",
@@ -13006,16 +13014,16 @@
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v7.4.8", "version": "v7.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" "reference": "c660d6538545a3e8e65a5621ee3d7a6d352892c7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", "url": "https://api.github.com/repos/symfony/yaml/zipball/c660d6538545a3e8e65a5621ee3d7a6d352892c7",
"reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", "reference": "c660d6538545a3e8e65a5621ee3d7a6d352892c7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -13058,7 +13066,7 @@
"description": "Loads and dumps YAML files", "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/yaml/tree/v7.4.8" "source": "https://github.com/symfony/yaml/tree/v7.4.10"
}, },
"funding": [ "funding": [
{ {
@@ -13078,7 +13086,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2026-03-24T13:12:05+00:00" "time": "2026-05-05T08:01:55+00:00"
}, },
{ {
"name": "ta-tikoma/phpunit-architecture-test", "name": "ta-tikoma/phpunit-architecture-test",
@@ -13254,12 +13262,12 @@
], ],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "stable",
"stability-flags": [], "stability-flags": {},
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.3" "php": "^8.3"
}, },
"platform-dev": [], "platform-dev": {},
"plugin-api-version": "2.6.0" "plugin-api-version": "2.9.0"
} }
+1 -1
View File
@@ -1,2 +1,2 @@
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */ /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-content:"";--tw-outline-style:solid;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-mono:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-sky-400:oklch(74.6% .16 232.661);--color-gray-100:var(--gray-100);--color-gray-200:var(--gray-200);--color-gray-300:var(--gray-300);--color-gray-400:var(--gray-400);--color-gray-500:var(--gray-500);--color-gray-600:var(--gray-600);--color-gray-700:var(--gray-700);--color-gray-900:var(--gray-900);--color-gray-950:var(--gray-950);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--leading-loose:2;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--default-mono-font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-primary-400:var(--primary-400)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,vLine truncated @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-content:"";--tw-outline-style:solid;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-mono:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-sky-400:oklch(74.6% .16 232.661);--color-gray-100:var(--gray-100);--color-gray-200:var(--gray-200);--color-gray-300:var(--gray-300);--color-gray-400:var(--gray-400);--color-gray-500:var(--gray-500);--color-gray-600:var(--gray-600);--color-gray-700:var(--gray-700);--color-gray-900:var(--gray-900);--color-gray-950:var(--gray-950);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--leading-loose:2;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--default-mono-font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-primary-400:var(--primary-400)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,vLine truncated
@@ -120,7 +120,7 @@ ${n}
`);return l.replaceWith(a,c,r.schema.text(f)),!0})},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;let{state:e}=t,{selection:n}=e,{$from:r,empty:o}=n;if(!o||r.parent.type!==this.type)return!1;let i=r.parentOffset===r.parent.nodeSize-2,s=r.parent.textContent.endsWith(` `);return l.replaceWith(a,c,r.schema.text(f)),!0})},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;let{state:e}=t,{selection:n}=e,{$from:r,empty:o}=n;if(!o||r.parent.type!==this.type)return!1;let i=r.parentOffset===r.parent.nodeSize-2,s=r.parent.textContent.endsWith(`
`);return!i||!s?!1:t.chain().command(({tr:l})=>(l.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;let{state:e}=t,{selection:n,doc:r}=e,{$from:o,empty:i}=n;if(!i||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;let l=o.after();return l===void 0?!1:r.nodeAt(l)?t.commands.command(({tr:c})=>(c.setSelection(L.near(r.resolve(l))),!0)):t.commands.exitCode()}}},addInputRules(){return[zn({find:v0,type:this.type,getAttributes:t=>({language:t[1]})}),zn({find:M0,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new P({key:new H("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;let n=e.clipboardData.getData("text/plain"),r=e.clipboardData.getData("vscode-editor-data"),o=r?JSON.parse(r):void 0,i=o?.mode;if(!n||!i)return!1;let{tr:s,schema:l}=t.state,a=l.text(n.replace(/\r\n?/g,` `);return!i||!s?!1:t.chain().command(({tr:l})=>(l.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;let{state:e}=t,{selection:n,doc:r}=e,{$from:o,empty:i}=n;if(!i||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;let l=o.after();return l===void 0?!1:r.nodeAt(l)?t.commands.command(({tr:c})=>(c.setSelection(L.near(r.resolve(l))),!0)):t.commands.exitCode()}}},addInputRules(){return[zn({find:v0,type:this.type,getAttributes:t=>({language:t[1]})}),zn({find:M0,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new P({key:new H("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;let n=e.clipboardData.getData("text/plain"),r=e.clipboardData.getData("vscode-editor-data"),o=r?JSON.parse(r):void 0,i=o?.mode;if(!n||!i)return!1;let{tr:s,schema:l}=t.state,a=l.text(n.replace(/\r\n?/g,`
`));return s.replaceSelectionWith(this.type.create({language:i},a)),s.selection.$from.parent.type!==this.type&&s.setSelection(D.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}}),pf=T0;var mf=$.create({name:"customBlock",group:"block",atom:!0,defining:!0,draggable:!0,selectable:!0,isolating:!0,allowGapCursor:!0,inline:!1,addNodeView(){return({editor:t,node:e,getPos:n,HTMLAttributes:r,decorations:o,extension:i})=>{let s=document.createElement("div");s.setAttribute("data-config",e.attrs.config),s.setAttribute("data-id",e.attrs.id),s.setAttribute("data-type","customBlock");let l=document.createElement("div");if(l.className="fi-fo-rich-editor-custom-block-header fi-not-prose",s.appendChild(l),t.isEditable&&typeof e.attrs.config=="object"&&e.attrs.config!==null&&Object.keys(e.attrs.config).length>0){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-edit-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.editCustomBlockButtonIconHtml,d.addEventListener("click",()=>i.options.editCustomBlockUsing(e.attrs.id,e.attrs.config)),c.appendChild(d)}let a=document.createElement("p");if(a.className="fi-fo-rich-editor-custom-block-heading",a.textContent=e.attrs.label,l.appendChild(a),t.isEditable){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-delete-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.deleteCustomBlockButtonIconHtml,d.addEventListener("click",()=>t.chain().setNodeSelection(n()).deleteSelection().run()),c.appendChild(d)}if(e.attrs.preview){let c=document.createElement("div"),d=["fi-fo-rich-editor-custom-block-preview"];e.attrs.shouldApplyProseStylingToPreview||d.push("fi-not-prose"),c.className=d.join(" "),c.innerHTML=new TextDecoder().decode(Uint8Array.from(atob(e.attrs.preview),u=>u.charCodeAt(0))),s.appendChild(c)}return{dom:s}}},addOptions(){return{deleteCustomBlockButtonIconHtml:null,editCustomBlockButtonIconHtml:null,editCustomBlockUsing:()=>{},insertCustomBlockUsing:()=>{}}},addAttributes(){return{config:{default:null,parseHTML:t=>JSON.parse(t.getAttribute("data-config"))},id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),rendered:!1},preview:{default:null,parseHTML:t=>t.getAttribute("data-preview"),rendered:!1},shouldApplyProseStylingToPreview:{default:!1,rendered:!1}}},parseHTML(){return[{tag:`div[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t}){return["div",O(t)]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new te,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n})}},addProseMirrorPlugins(){let{insertCustomBlockUsing:t}=this.options;return[new P({props:{handleDrop(e,n){if(!n||(n.preventDefault(),!n.dataTransfer.getData("customBlock")))return!1;let r=n.dataTransfer.getData("customBlock");return t(r,e.posAtCoords({left:n.clientX,top:n.clientY}).pos),!1}}})]}});var Qo=(t,e)=>e.view.domAtPos(t).node.offsetParent!==null,A0=(t,e,n)=>{for(let r=t.depth;r>0;r-=1){let o=t.node(r),i=e(o),s=Qo(t.start(r),n);if(i&&s)return{pos:r>0?t.before(r):0,start:t.start(r),depth:r,node:o}}},gf=(t,e)=>{let{state:n,view:r,extensionManager:o}=t,{schema:i,selection:s}=n,{empty:l,$anchor:a}=s,c=!!o.extensions.find(y=>y.name==="gapCursor");if(!l||a.parent.type!==i.nodes.detailsSummary||!c||e==="right"&&a.parentOffset!==a.parent.nodeSize-2)return!1;let d=qe(y=>y.type===i.nodes.details)(s);if(!d)return!1;let u=on(d.node,y=>y.type===i.nodes.detailsContent);if(!u.length||Qo(d.start+u[0].pos+1,t))return!1;let h=n.doc.resolve(d.pos+d.node.nodeSize),p=ce.findFrom(h,1,!1);if(!p)return!1;let{tr:m}=n,g=new ce(p);return m.setSelection(g),m.scrollIntoView(),r.dispatch(m),!0},yf=$.create({name:"details",content:"detailsSummary detailsContent",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{}}},addAttributes(){return this.options.persist?{open:{default:!1,parseHTML:t=>t.hasAttribute("open"),renderHTML:({open:t})=>t?{open:""}:{}}}:[]},parseHTML(){return[{tag:"details"}]},renderHTML({HTMLAttributes:t}){return["details",O(this.options.HTMLAttributes,t),0]},...Ht({nodeName:"details",content:"block"}),addNodeView(){return({editor:t,getPos:e,node:n,HTMLAttributes:r})=>{let o=document.createElement("div"),i=O(this.options.HTMLAttributes,r,{"data-type":this.name});Object.entries(i).forEach(([c,d])=>o.setAttribute(c,d));let s=document.createElement("button");s.type="button",o.append(s);let l=document.createElement("div");o.append(l);let a=c=>{if(c!==void 0)if(c){if(o.classList.contains(this.options.openClassName))return;o.classList.a Line truncated `));return s.replaceSelectionWith(this.type.create({language:i},a)),s.selection.$from.parent.type!==this.type&&s.setSelection(D.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}}),pf=T0;var mf=$.create({name:"customBlock",group:"block",atom:!0,defining:!0,draggable:!0,selectable:!0,isolating:!0,allowGapCursor:!0,inline:!1,addNodeView(){return({editor:t,node:e,getPos:n,HTMLAttributes:r,decorations:o,extension:i})=>{let s=document.createElement("div");s.setAttribute("data-config",JSON.stringify(e.attrs.config)),s.setAttribute("data-id",e.attrs.id),s.setAttribute("data-type","customBlock");let l=document.createElement("div");if(l.className="fi-fo-rich-editor-custom-block-header fi-not-prose",s.appendChild(l),t.isEditable&&typeof e.attrs.config=="object"&&e.attrs.config!==null&&Object.keys(e.attrs.config).length>0){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-edit-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.editCustomBlockButtonIconHtml,d.addEventListener("click",()=>i.options.editCustomBlockUsing(e.attrs.id,e.attrs.config)),c.appendChild(d)}let a=document.createElement("p");if(a.className="fi-fo-rich-editor-custom-block-heading",a.textContent=e.attrs.label,l.appendChild(a),t.isEditable){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-delete-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.deleteCustomBlockButtonIconHtml,d.addEventListener("click",()=>t.chain().setNodeSelection(n()).deleteSelection().run()),c.appendChild(d)}if(e.attrs.preview){let c=document.createElement("div"),d=["fi-fo-rich-editor-custom-block-preview"];e.attrs.shouldApplyProseStylingToPreview||d.push("fi-not-prose"),c.className=d.join(" "),c.innerHTML=new TextDecoder().decode(Uint8Array.from(atob(e.attrs.preview),u=>u.charCodeAt(0))),s.appendChild(c)}return{dom:s}}},addOptions(){return{deleteCustomBlockButtonIconHtml:null,editCustomBlockButtonIconHtml:null,editCustomBlockUsing:()=>{},insertCustomBlockUsing:()=>{}}},addAttributes(){return{config:{default:null,parseHTML:t=>JSON.parse(t.getAttribute("data-config")),renderHTML:t=>t.config?{"data-config":JSON.stringify(t.config)}:{}},id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),rendered:!1},preview:{default:null,parseHTML:t=>t.getAttribute("data-preview"),rendered:!1},shouldApplyProseStylingToPreview:{default:!1,rendered:!1}}},parseHTML(){return[{tag:`div[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t}){return["div",O({"data-type":"customBlock"},t)]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new te,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n})}},addProseMirrorPlugins(){let{insertCustomBlockUsing:t}=this.options;return[new P({props:{handleDrop(e,n){if(!n||(n.preventDefault(),!n.dataTransfer.getData("customBlock")))return!1;let r=n.dataTransfer.getData("customBlock");return t(r,e.posAtCoords({left:n.clientX,top:n.clientY}).pos),!1}}})]}});var Qo=(t,e)=>e.view.domAtPos(t).node.offsetParent!==null,A0=(t,e,n)=>{for(let r=t.depth;r>0;r-=1){let o=t.node(r),i=e(o),s=Qo(t.start(r),n);if(i&&s)return{pos:r>0?t.before(r):0,start:t.start(r),depth:r,node:o}}},gf=(t,e)=>{let{state:n,view:r,extensionManager:o}=t,{schema:i,selection:s}=n,{empty:l,$anchor:a}=s,c=!!o.extensions.find(y=>y.name==="gapCursor");if(!l||a.parent.type!==i.nodes.detailsSummary||!c||e==="right"&&a.parentOffset!==a.parent.nodeSize-2)return!1;let d=qe(y=>y.type===i.nodes.details)(s);if(!d)return!1;let u=on(d.node,y=>y.type===i.nodes.detailsContent);if(!u.length||Qo(d.start+u[0].pos+1,t))return!1;let h=n.doc.resolve(d.pos+d.node.nodeSize),p=ce.findFrom(h,1,!1);if(!p)return!1;let{tr:m}=n,g=new ce(p);return m.setSelection(g),m.scrollIntoView(),r.dispatch(m),!0},yf=$.create({name:"details",content:"detailsSummary detailsContent",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{}}},addAttributes(){return this.options.persist?{open:{default:!1,parseHTML:t=>t.hasAttribute("open"),renderHTML:({open:t})=>t?{open:""}:{}}}:[]},parseHTML(){return[{tag:"details"}]},renderHTML({HTMLAttributes:t}){return["details",O(this.options.HTMLAttributes,t),0]},...Ht({nodeName:"details",content:"block"}),addNodeView(){return({editor:t,getPos:e,node:n,HTMLAttributes:r})=>{let o=document.createElement("div"),i=O(this.options.HTMLAttributes,r,{"data-type":this.name});Object.entries(i).forEach(([c,d])=>o.setAttribute(c,d));let s=document.createElement("button");s.type="button",o.append(s);let l=document.createElement("div");o.a Line truncated
`):""}),xf=E0;var kf=$.create({name:"grid",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,content:"gridColumn+",addOptions(){return{HTMLAttributes:{class:"grid-layout"}}},addAttributes(){return{"data-cols":{default:2,parseHTML:t=>t.getAttribute("data-cols")},"data-from-breakpoint":{default:"md",parseHTML:t=>t.getAttribute("data-from-breakpoint")},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-template-columns: repeat(${t["data-cols"]}, 1fr)`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout")&&null}]},renderHTML({HTMLAttributes:t}){return["div",O(this.options.HTMLAttributes,t),0]},addCommands(){return{insertGrid:({columns:t=[1,1],fromBreakpoint:e,coordinates:n=null}={})=>({tr:r,dispatch:o,editor:i})=>{let s=i.schema.nodes.gridColumn,l=Array.isArray(t)&&t.length?t:[1,1],a=[];for(let u=0;u<l.length;u+=1)a.push(s.createAndFill({"data-col-span":Number(l[u]??1)||1}));let c=l.map(u=>Number(u)||1).reduce((u,f)=>u+f,0),d=i.schema.nodes.grid.createChecked({"data-cols":c,"data-from-breakpoint":e},a);if(o){let u=r.selection.anchor+1;[null,void 0].includes(n?.from)?r.replaceSelectionWith(d).scrollIntoView().setSelection(D.near(r.doc.resolve(u))):r.replaceRangeWith(n.from,n.to,d).scrollIntoView().setSelection(D.near(r.doc.resolve(n.from)))}return!0}}}});var Sf=$.create({name:"gridColumn",content:"block+",isolating:!0,addOptions(){return{HTMLAttributes:{class:"grid-layout-col"}}},addAttributes(){return{"data-col-span":{default:1,parseHTML:t=>t.getAttribute("data-col-span"),renderHTML:t=>({"data-col-span":t["data-col-span"]??1})},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-column: span ${t["data-col-span"]??1};`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout-col")&&null}]},renderHTML({HTMLAttributes:t}){return["div",O(this.options.HTMLAttributes,t),0]}});var N0=$.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",O(this.options.HTMLAttributes,t)]},renderText(){return` `):""}),xf=E0;var kf=$.create({name:"grid",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,content:"gridColumn+",addOptions(){return{HTMLAttributes:{class:"grid-layout"}}},addAttributes(){return{"data-cols":{default:2,parseHTML:t=>t.getAttribute("data-cols")},"data-from-breakpoint":{default:"md",parseHTML:t=>t.getAttribute("data-from-breakpoint")},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-template-columns: repeat(${t["data-cols"]}, 1fr)`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout")&&null}]},renderHTML({HTMLAttributes:t}){return["div",O(this.options.HTMLAttributes,t),0]},addCommands(){return{insertGrid:({columns:t=[1,1],fromBreakpoint:e,coordinates:n=null}={})=>({tr:r,dispatch:o,editor:i})=>{let s=i.schema.nodes.gridColumn,l=Array.isArray(t)&&t.length?t:[1,1],a=[];for(let u=0;u<l.length;u+=1)a.push(s.createAndFill({"data-col-span":Number(l[u]??1)||1}));let c=l.map(u=>Number(u)||1).reduce((u,f)=>u+f,0),d=i.schema.nodes.grid.createChecked({"data-cols":c,"data-from-breakpoint":e},a);if(o){let u=r.selection.anchor+1;[null,void 0].includes(n?.from)?r.replaceSelectionWith(d).scrollIntoView().setSelection(D.near(r.doc.resolve(u))):r.replaceRangeWith(n.from,n.to,d).scrollIntoView().setSelection(D.near(r.doc.resolve(n.from)))}return!0}}}});var Sf=$.create({name:"gridColumn",content:"block+",isolating:!0,addOptions(){return{HTMLAttributes:{class:"grid-layout-col"}}},addAttributes(){return{"data-col-span":{default:1,parseHTML:t=>t.getAttribute("data-col-span"),renderHTML:t=>({"data-col-span":t["data-col-span"]??1})},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-column: span ${t["data-col-span"]??1};`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout-col")&&null}]},renderHTML({HTMLAttributes:t}){return["div",O(this.options.HTMLAttributes,t),0]}});var N0=$.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",O(this.options.HTMLAttributes,t)]},renderText(){return`
`},renderMarkdown:()=>` `},renderMarkdown:()=>`
@@ -1 +1 @@
function v({activeTab:f,isScrollable:w,isTabPersistedInQueryString:m,livewireId:g,tab:T,tabQueryStringKey:r}){return{boundResizeHandler:null,isScrollable:w,resizeDebounceTimer:null,tab:T,unsubscribeLivewireHook:null,withinDropdownIndex:null,withinDropdownMounted:!1,init(){let t=this.getTabs(),e=new URLSearchParams(window.location.search);m&&e.has(r)&&t.includes(e.get(r))&&(this.tab=e.get(r)),(!this.tab||!t.includes(this.tab))&&(this.tab=t[f-1]),this.$watch("tab",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0),this.unsubscribeLivewireHook=Livewire.hook("commit",({component:i,commit:c,succeed:d,fail:h,respond:u})=>{d(({snapshot:b,effect:n})=>{this.$nextTick(()=>{if(i.id!==g)return;let o=this.getTabs();o.includes(this.tab)||(this.tab=o[f-1]??this.tab)})})}),w||(this.boundResizeHandler=this.debouncedUpdateTabsWithinDropdown.bind(this),window.addEventListener("resize",this.boundResizeHandler),this.updateTabsWithinDropdown())},calculateAvailableWidth(t){let e=window.getComputedStyle(t);return Math.floor(t.clientWidth)-Math.ceil(parseFloat(e.paddingLeft))*2},calculateContainerGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap))},calculateDropdownIconWidth(t){let e=t.querySelector(".fi-icon");return Math.ceil(e.clientWidth)},calculateTabItemGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap)||8)},calculateTabItemPadding(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.paddingLeft))+Math.ceil(parseFloat(e.paddingRight))},findOverflowIndex(t,e,i,c,d,h){let u=t.map(n=>Math.ceil(n.clientWidth)),b=t.map(n=>{let o=n.querySelector(".fi-tabs-item-label"),s=n.querySelector(".fi-badge"),a=Math.ceil(o.clientWidth),l=s?Math.ceil(s.clientWidth):0;return{label:a,badge:l,total:a+(l>0?c+l:0)}});for(let n=0;n<t.length;n++){let o=u.slice(0,n+1).reduce((p,y)=>p+y,0),s=n*i,a=b.slice(n+1),l=a.length>0,D=l?Math.max(...a.map(p=>p.total)):0,W=l?d+D+c+h+i:0;if(o+s+W>e)return n}return-1},get isDropdownButtonVisible(){return this.withinDropdownMounted?this.withinDropdownIndex===null?!1:this.getTabs().findIndex(e=>e===this.tab)<this.withinDropdownIndex:!0},getTabs(){return this.$refs.tabsData?JSON.parse(this.$refs.tabsData.value):[]},updateQueryString(){if(!m)return;let t=new URL(window.location.href);t.searchParams.set(r,this.tab),history.replaceState(null,document.title,t.toString())},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$el.querySelectorAll(".fi-sc-tabs-tab.fi-active [autofocus]");for(let i of e)if(i.focus(),document.activeElement===i)break})},debouncedUpdateTabsWithinDropdown(){clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=setTimeout(()=>this.updateTabsWithinDropdown(),150)},async updateTabsWithinDropdown(){this.withinDropdownIndex=null,this.withinDropdownMounted=!1,await this.$nextTick();let t=this.$el.querySelector(".fi-tabs"),e=t.querySelector(".fi-tabs-item:last-child"),i=Array.from(t.children).slice(0,-1),c=i.map(s=>s.style.display);i.forEach(s=>s.style.display=""),t.offsetHeight;let d=this.calculateAvailableWidth(t),h=this.calculateContainerGap(t),u=this.calculateDropdownIconWidth(e),b=this.calculateTabItemGap(i[0]),n=this.calculateTabItemPadding(i[0]),o=this.findOverflowIndex(i,d,h,b,n,u);i.forEach((s,a)=>s.style.display=c[a]),o!==-1&&(this.withinDropdownIndex=o),this.withinDropdownMounted=!0},destroy(){this.unsubscribeLivewireHook?.(),this.boundResizeHandler&&window.removeEventListener("resize",this.boundResizeHandler),clearTimeout(this.resizeDebounceTimer)}}}export{v as default}; function x({activeTab:p,isScrollable:m,isTabPersisted:T,isTabPersistedInQueryString:w,livewireId:g,schemaKey:D,tab:W,tabQueryStringKey:r}){return{boundResizeHandler:null,boundResetHandler:null,isScrollable:m,resizeDebounceTimer:null,tab:W,unsubscribeLivewireHook:null,withinDropdownIndex:null,withinDropdownMounted:!1,init(){let t=this.getTabs(),e=new URLSearchParams(window.location.search);w&&e.has(r)&&t.includes(e.get(r))&&(this.tab=e.get(r)),(!this.tab||!t.includes(this.tab))&&(this.tab=t[p-1]),this.$watch("tab",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0),this.unsubscribeLivewireHook=Livewire.hook("commit",({component:i,commit:d,succeed:c,fail:h,respond:u})=>{c(({snapshot:b,effect:n})=>{this.$nextTick(()=>{if(i.id!==g)return;let o=this.getTabs();o.includes(this.tab)||(this.tab=o[p-1]??this.tab)})})}),this.boundResetHandler=i=>{i.detail.livewireId!==g||i.detail.schemaKey!==D||T||w||this.$nextTick(()=>{this.tab=this.getTabs()[p-1]??this.tab})},window.addEventListener("reset-schema-component-state",this.boundResetHandler),m||(this.boundResizeHandler=this.debouncedUpdateTabsWithinDropdown.bind(this),window.addEventListener("resize",this.boundResizeHandler),this.updateTabsWithinDropdown())},calculateAvailableWidth(t){let e=window.getComputedStyle(t);return Math.floor(t.clientWidth)-Math.ceil(parseFloat(e.paddingLeft))*2},calculateContainerGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap))},calculateDropdownIconWidth(t){let e=t.querySelector(".fi-icon");return Math.ceil(e.clientWidth)},calculateTabItemGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap)||8)},calculateTabItemPadding(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.paddingLeft))+Math.ceil(parseFloat(e.paddingRight))},findOverflowIndex(t,e,i,d,c,h){let u=t.map(n=>Math.ceil(n.clientWidth)),b=t.map(n=>{let o=n.querySelector(".fi-tabs-item-label"),s=n.querySelector(".fi-badge"),a=Math.ceil(o.clientWidth),l=s?Math.ceil(s.clientWidth):0;return{label:a,badge:l,total:a+(l>0?d+l:0)}});for(let n=0;n<t.length;n++){let o=u.slice(0,n+1).reduce((f,I)=>f+I,0),s=n*i,a=b.slice(n+1),l=a.length>0,v=l?Math.max(...a.map(f=>f.total)):0,y=l?c+v+d+h+i:0;if(o+s+y>e)return n}return-1},get isDropdownButtonVisible(){return this.withinDropdownMounted?this.withinDropdownIndex===null?!1:this.getTabs().findIndex(e=>e===this.tab)<this.withinDropdownIndex:!0},getTabs(){return this.$refs.tabsData?JSON.parse(this.$refs.tabsData.value):[]},updateQueryString(){if(!w)return;let t=new URL(window.location.href);t.searchParams.set(r,this.tab),history.replaceState(null,document.title,t.toString())},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$el.querySelectorAll(".fi-sc-tabs-tab.fi-active [autofocus]");for(let i of e)if(i.focus(),document.activeElement===i)break})},debouncedUpdateTabsWithinDropdown(){clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=setTimeout(()=>this.updateTabsWithinDropdown(),150)},async updateTabsWithinDropdown(){this.withinDropdownIndex=null,this.withinDropdownMounted=!1,await this.$nextTick();let t=this.$el.querySelector(".fi-tabs"),e=t.querySelector(".fi-tabs-item:last-child"),i=Array.from(t.children).slice(0,-1),d=i.map(s=>s.style.display);i.forEach(s=>s.style.display=""),t.offsetHeight;let c=this.calculateAvailableWidth(t),h=this.calculateContainerGap(t),u=this.calculateDropdownIconWidth(e),b=this.calculateTabItemGap(i[0]),n=this.calculateTabItemPadding(i[0]),o=this.findOverflowIndex(i,c,h,b,n,u);i.forEach((s,a)=>s.style.display=d[a]),o!==-1&&(this.withinDropdownIndex=o),this.withinDropdownMounted=!0},destroy(){this.unsubscribeLivewireHook?.(),this.boundResetHandler&&window.removeEventListener("reset-schema-component-state",this.boundResetHandler),this.boundResizeHandler&&window.removeEventListener("resize",this.boundResizeHandler),clearTimeout(this.resizeDebounceTimer)}}}export{x as default};
@@ -1 +1 @@
function p({isSkippable:i,isStepPersistedInQueryString:n,key:r,startStep:o,stepQueryStringKey:h}){return{step:null,init(){this.step=this.getSteps().at(o-1),this.$watch("step",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0)},async requestNextStep(){await this.$wire.callSchemaComponentMethod(r,"nextStep",{currentStepIndex:this.getStepIndex(this.step)})},goToNextStep(){let t=this.getStepIndex(this.step)+1;t>=this.getSteps().length||(this.step=this.getSteps()[t],this.scroll())},goToPreviousStep(){let t=this.getStepIndex(this.step)-1;t<0||(this.step=this.getSteps()[t],this.scroll())},goToStep(t){let e=this.getStepIndex(t);e<=-1||!i&&e>this.getStepIndex(this.step)||(this.step=t,this.scroll())},scroll(){this.$nextTick(()=>{this.$refs.header?.children[this.getStepIndex(this.step)].scrollIntoView({behavior:"smooth",block:"start"})})},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$refs[`step-${this.step}`]?.querySelectorAll("[autofocus]")??[];for(let s of e)if(s.focus(),document.activeElement===s)break})},getStepIndex(t){let e=this.getSteps().findIndex(s=>s===t);return e===-1?0:e},getSteps(){return JSON.parse(this.$refs.stepsData.value)},isFirstStep(){return this.getStepIndex(this.step)<=0},isLastStep(){return this.getStepIndex(this.step)+1>=this.getSteps().length},isStepAccessible(t){return i||this.getStepIndex(this.step)>this.getStepIndex(t)},updateQueryString(){if(!n)return;let t=new URL(window.location.href);t.searchParams.set(h,this.step),history.replaceState(null,document.title,t.toString())}}}export{p as default}; function l({isSkippable:i,isStepPersistedInQueryString:n,key:o,livewireId:h,schemaKey:p,startStep:r,stepQueryStringKey:d}){return{boundResetHandler:null,step:null,init(){this.step=this.getSteps().at(r-1),this.$watch("step",()=>{this.updateQueryString(),this.autofocusFields()}),this.autofocusFields(!0),this.boundResetHandler=t=>{t.detail.livewireId!==h||t.detail.schemaKey!==p||n||this.$nextTick(()=>{this.step=this.getSteps().at(r-1)??this.step})},window.addEventListener("reset-schema-component-state",this.boundResetHandler)},async requestNextStep(){await this.$wire.callSchemaComponentMethod(o,"nextStep",{currentStepIndex:this.getStepIndex(this.step)})},goToNextStep(){let t=this.getStepIndex(this.step)+1;t>=this.getSteps().length||(this.step=this.getSteps()[t],this.scroll())},goToPreviousStep(){let t=this.getStepIndex(this.step)-1;t<0||(this.step=this.getSteps()[t],this.scroll())},goToStep(t){let e=this.getStepIndex(t);e<=-1||!i&&e>this.getStepIndex(this.step)||(this.step=t,this.scroll())},scroll(){this.$nextTick(()=>{this.$refs.header?.children[this.getStepIndex(this.step)].scrollIntoView({behavior:"smooth",block:"start"})})},autofocusFields(t=!1){this.$nextTick(()=>{if(t&&document.activeElement&&document.activeElement!==document.body&&this.$el.compareDocumentPosition(document.activeElement)&Node.DOCUMENT_POSITION_PRECEDING)return;let e=this.$refs[`step-${this.step}`]?.querySelectorAll("[autofocus]")??[];for(let s of e)if(s.focus(),document.activeElement===s)break})},getStepIndex(t){let e=this.getSteps().findIndex(s=>s===t);return e===-1?0:e},getSteps(){return JSON.parse(this.$refs.stepsData.value)},isFirstStep(){return this.getStepIndex(this.step)<=0},isLastStep(){return this.getStepIndex(this.step)+1>=this.getSteps().length},isStepAccessible(t){return i||this.getStepIndex(this.step)>this.getStepIndex(t)},updateQueryString(){if(!n)return;let t=new URL(window.location.href);t.searchParams.set(d,this.step),history.replaceState(null,document.title,t.toString())},destroy(){this.boundResetHandler&&window.removeEventListener("reset-schema-component-state",this.boundResetHandler)}}}export{l as default};
@@ -1,6 +1,6 @@
var Sc=Object.defineProperty;var Mc=(s,t,e)=>t in s?Sc(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var k=(s,t,e)=>Mc(s,typeof t!="symbol"?t+"":t,e);function us(s){return s+.5|0}var Yt=(s,t,e)=>Math.max(Math.min(s,e),t);function cs(s){return Yt(us(s*2.55),0,255)}function Zt(s){return Yt(us(s*255),0,255)}function Rt(s){return Yt(us(s/2.55)/100,0,1)}function Rr(s){return Yt(us(s*100),0,100)}var pt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Zi=[..."0123456789ABCDEF"],Tc=s=>Zi[s&15],Oc=s=>Zi[(s&240)>>4]+Zi[s&15],Us=s=>(s&240)>>4===(s&15),Dc=s=>Us(s.r)&&Us(s.g)&&Us(s.b)&&Us(s.a);function Cc(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&pt[s[1]]*17,g:255&pt[s[2]]*17,b:255&pt[s[3]]*17,a:t===5?pt[s[4]]*17:255}:(t===7||t===9)&&(e={r:pt[s[1]]<<4|pt[s[2]],g:pt[s[3]]<<4|pt[s[4]],b:pt[s[5]]<<4|pt[s[6]],a:t===9?pt[s[7]]<<4|pt[s[8]]:255})),e}var Pc=(s,t)=>s<255?t(s):"";function Ac(s){var t=Dc(s)?Tc:Oc;return s?"#"+t(s.r)+t(s.g)+t(s.b)+Pc(s.a,t):void 0}var Ic=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Wr(s,t,e){let i=t*Math.min(e,1-e),n=(r,o=(r+s/30)%12)=>e-i*Math.max(Math.min(o-3,9-o,1),-1);return[n(0),n(8),n(4)]}function Ec(s,t,e){let i=(n,r=(n+s/60)%6)=>e-e*t*Math.max(Math.min(r,4-r,1),0);return[i(5),i(3),i(1)]}function Lc(s,t,e){let i=Wr(s,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function Fc(s,t,e,i,n){return s===n?(t-e)/i+(t<e?6:0):t===n?(e-s)/i+2:(s-t)/i+4}function qi(s){let e=s.r/255,i=s.g/255,n=s.b/255,r=Math.max(e,i,n),o=Math.min(e,i,n),a=(r+o)/2,l,c,h;return r!==o&&(h=r-o,c=a>.5?h/(2-r-o):h/(r+o),l=Fc(e,i,n,h,r),l=l*60+.5),[l|0,c||0,a]}function Gi(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(Zt)}function Xi(s,t,e){return Gi(Wr,s,t,e)}function Rc(s,t,e){return Gi(Lc,s,t,e)}function Nc(s,t,e){return Gi(Ec,s,t,e)}function Br(s){return(s%360+360)%360}function zc(s){let t=Ic.exec(s),e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?cs(+t[5]):Zt(+t[5]));let n=Br(+t[2]),r=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=Rc(n,r,o):t[1]==="hsv"?i=Nc(n,r,o):i=Xi(n,r,o),{r:i[0],g:i[1],b:i[2],a:e}}function Vc(s,t){var e=qi(s);e[0]=Br(e[0]+t),e=Xi(e),s.r=e[0],s.g=e[1],s.b=e[2]}function Wc(s){if(!s)return;let t=qi(s),e=t[0],i=Rr(t[1]),n=Rr(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Rt(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}var Nr={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},zr={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};functionLine truncated var Rc=Object.defineProperty;var Nc=(s,t,e)=>t in s?Rc(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var S=(s,t,e)=>Nc(s,typeof t!="symbol"?t+"":t,e);function ps(s){return s+.5|0}var Jt=(s,t,e)=>Math.max(Math.min(s,e),t);function gs(s){return Jt(ps(s*2.55),0,255)}function Kt(s){return Jt(ps(s*255),0,255)}function Wt(s){return Jt(ps(s/2.55)/100,0,1)}function ro(s){return Jt(ps(s*100),0,100)}var bt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},kn=[..."0123456789ABCDEF"],zc=s=>kn[s&15],Vc=s=>kn[(s&240)>>4]+kn[s&15],ni=s=>(s&240)>>4===(s&15),Wc=s=>ni(s.r)&&ni(s.g)&&ni(s.b)&&ni(s.a);function Bc(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&bt[s[1]]*17,g:255&bt[s[2]]*17,b:255&bt[s[3]]*17,a:t===5?bt[s[4]]*17:255}:(t===7||t===9)&&(e={r:bt[s[1]]<<4|bt[s[2]],g:bt[s[3]]<<4|bt[s[4]],b:bt[s[5]]<<4|bt[s[6]],a:t===9?bt[s[7]]<<4|bt[s[8]]:255})),e}var Hc=(s,t)=>s<255?t(s):"";function $c(s){var t=Wc(s)?zc:Vc;return s?"#"+t(s.r)+t(s.g)+t(s.b)+Hc(s.a,t):void 0}var jc=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function co(s,t,e){let i=t*Math.min(e,1-e),n=(r,o=(r+s/30)%12)=>e-i*Math.max(Math.min(o-3,9-o,1),-1);return[n(0),n(8),n(4)]}function Uc(s,t,e){let i=(n,r=(n+s/60)%6)=>e-e*t*Math.max(Math.min(r,4-r,1),0);return[i(5),i(3),i(1)]}function Yc(s,t,e){let i=co(s,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function Zc(s,t,e,i,n){return s===n?(t-e)/i+(t<e?6:0):t===n?(e-s)/i+2:(s-t)/i+4}function vn(s){let e=s.r/255,i=s.g/255,n=s.b/255,r=Math.max(e,i,n),o=Math.min(e,i,n),a=(r+o)/2,l,c,h;return r!==o&&(h=r-o,c=a>.5?h/(2-r-o):h/(r+o),l=Zc(e,i,n,h,r),l=l*60+.5),[l|0,c||0,a]}function Sn(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(Kt)}function Mn(s,t,e){return Sn(co,s,t,e)}function qc(s,t,e){return Sn(Yc,s,t,e)}function Gc(s,t,e){return Sn(Uc,s,t,e)}function ho(s){return(s%360+360)%360}function Xc(s){let t=jc.exec(s),e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?gs(+t[5]):Kt(+t[5]));let n=ho(+t[2]),r=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=qc(n,r,o):t[1]==="hsv"?i=Gc(n,r,o):i=Mn(n,r,o),{r:i[0],g:i[1],b:i[2],a:e}}function Jc(s,t){var e=vn(s);e[0]=ho(e[0]+t),e=Mn(e),s.r=e[0],s.g=e[1],s.b=e[2]}function Kc(s){if(!s)return;let t=vn(s),e=t[0],i=ro(t[1]),n=ro(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Wt(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}var oo={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},ao={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};functionLine truncated
`)>-1?s.split(` `)>-1?s.split(`
`):s}function Tf(s,t){let{element:e,datasetIndex:i,index:n}=t,r=s.getDatasetMeta(i).controller,{label:o,value:a}=r.getLabelAndValue(n);return{chart:s,label:o,parsed:r.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:r.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function fa(s,t){let e=s.chart.ctx,{body:i,footer:n,title:r}=s,{boxWidth:o,boxHeight:a}=t,l=X(t.bodyFont),c=X(t.titleFont),h=X(t.footerFont),u=r.length,d=n.length,f=i.length,g=nt(t.padding),m=g.height,p=0,b=i.reduce((w,x)=>w+x.before.length+x.lines.length+x.after.length,0);if(b+=s.beforeBody.length+s.afterBody.length,u&&(m+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),b){let w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=f*w+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}d&&(m+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let y=0,_=function(w){p=Math.max(p,e.measureText(w).width+y)};return e.save(),e.font=c.string,z(s.title,_),e.font=l.string,z(s.beforeBody.concat(s.afterBody),_),y=t.displayColors?o+2+t.boxPadding:0,z(i,w=>{z(w.before,_),z(w.lines,_),z(w.after,_)}),y=0,e.font=h.string,z(s.footer,_),e.restore(),p+=g.width,{width:p,height:m}}function Of(s,t){let{y:e,height:i}=t;return e<i/2?"top":e>s.height-i/2?"bottom":"center"}function Df(s,t,e,i){let{x:n,width:r}=i,o=e.caretSize+e.caretPadding;if(s==="left"&&n+r+o>t.width||s==="right"&&n-r-o<0)return!0}function Cf(s,t,e,i){let{x:n,width:r}=e,{width:o,chartArea:{left:a,right:l}}=s,c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=r/2?c="left":n>=o-r/2&&(c="right"),Df(c,s,t,e)&&(c="center"),c}function ga(s,t,e){let i=e.yAlign||t.yAlign||Of(s,e);return{xAlign:e.xAlign||t.xAlign||Cf(s,t,e,i),yAlign:i}}function Pf(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function Af(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function ma(s,t,e,i){let{caretSize:n,caretPadding:r,cornerRadius:o}=s,{xAlign:a,yAlign:l}=e,c=n+r,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=Qt(o),g=Pf(t,a),m=Af(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,d)+n:a==="right"&&(g+=Math.max(u,f)+n),{x:K(g,0,i.width-t.width),y:K(m,0,i.height-t.height)}}function pi(s,t,e){let i=nt(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function pa(s){return It([],Ht(s))}function If(s,t,e){return Wt(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function ba(s,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}var Ya={beforeTitle:Pt,title(s){if(s.length>0){let t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return e[t.dataIndex]}return""},afterTitle:Pt,beforeBody:Pt,beforeLabel:Pt,label(s){if(this&&this.options&&this.options.mode==="dataset")return s.label+": "+s.formattedValue||s.formattedValue;let t=s.dataset.label||"";t&&(t+=": ");let e=s.formattedValue;return I(e)||(t+=e),t},labelColor(s){let e=s.chart.getDatasetMeta(s.datasetIndex).controller.getStyle(s.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(s){let e=s.chart.getDatasetMeta(s.datasetIndex).controller.getStyle(s.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:Pt,afterBody:Pt,beforeFooter:Pt,footer:Pt,afterFooter:Pt};function lt(s,t,e,i){let n=s[t].call(e,i);return typeof n>"u"?Ya[t].call(e,i):n}var Ps=class extends dt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,r=new _i(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(r)),r}getContext(){return this.$context||(this.$context=If(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:i}=e,n=lt(i,"beforeTitle",this,t),r=lt(i,"title",this,t),o=lt(i,"afterTitle",this,t),a=[];return a=It(a,Ht(n)),a=It(a,Ht(r)),a=It(a,Ht(o)),a}getBeforeBody(t,e){return pa(lt(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:i}=e,n=[];return z(t Line truncated `):s}function Of(s,t){let{element:e,datasetIndex:i,index:n}=t,r=s.getDatasetMeta(i).controller,{label:o,value:a}=r.getLabelAndValue(n);return{chart:s,label:o,parsed:r.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:r.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function Ma(s,t){let e=s.chart.ctx,{body:i,footer:n,title:r}=s,{boxWidth:o,boxHeight:a}=t,l=X(t.bodyFont),c=X(t.titleFont),h=X(t.footerFont),u=r.length,d=n.length,f=i.length,g=st(t.padding),m=g.height,p=0,b=i.reduce((w,x)=>w+x.before.length+x.lines.length+x.after.length,0);if(b+=s.beforeBody.length+s.afterBody.length,u&&(m+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),b){let w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=f*w+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}d&&(m+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let y=0,_=function(w){p=Math.max(p,e.measureText(w).width+y)};return e.save(),e.font=c.string,N(s.title,_),e.font=l.string,N(s.beforeBody.concat(s.afterBody),_),y=t.displayColors?o+2+t.boxPadding:0,N(i,w=>{N(w.before,_),N(w.lines,_),N(w.after,_)}),y=0,e.font=h.string,N(s.footer,_),e.restore(),p+=g.width,{width:p,height:m}}function Df(s,t){let{y:e,height:i}=t;return e<i/2?"top":e>s.height-i/2?"bottom":"center"}function Cf(s,t,e,i){let{x:n,width:r}=i,o=e.caretSize+e.caretPadding;if(s==="left"&&n+r+o>t.width||s==="right"&&n-r-o<0)return!0}function Pf(s,t,e,i){let{x:n,width:r}=e,{width:o,chartArea:{left:a,right:l}}=s,c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=r/2?c="left":n>=o-r/2&&(c="right"),Cf(c,s,t,e)&&(c="center"),c}function Ta(s,t,e){let i=e.yAlign||t.yAlign||Df(s,e);return{xAlign:e.xAlign||t.xAlign||Pf(s,t,e,i),yAlign:i}}function Af(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function If(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function Oa(s,t,e,i){let{caretSize:n,caretPadding:r,cornerRadius:o}=s,{xAlign:a,yAlign:l}=e,c=n+r,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=jt(o),g=Af(t,a),m=If(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,d)+n:a==="right"&&(g+=Math.max(u,f)+n),{x:K(g,0,i.width-t.width),y:K(m,0,i.height-t.height)}}function $i(s,t,e){let i=st(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function Da(s){return Rt([],Zt(s))}function Ef(s,t,e){return Ft(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Ca(s,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}var nl={beforeTitle:Ot,title(s){if(s.length>0){let t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return e[t.dataIndex]}return""},afterTitle:Ot,beforeBody:Ot,beforeLabel:Ot,label(s){if(this&&this.options&&this.options.mode==="dataset")return s.label+": "+s.formattedValue||s.formattedValue;let t=s.dataset.label||"";t&&(t+=": ");let e=s.formattedValue;return I(e)||(t+=e),t},labelColor(s){let e=s.chart.getDatasetMeta(s.datasetIndex).controller.getStyle(s.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(s){let e=s.chart.getDatasetMeta(s.datasetIndex).controller.getStyle(s.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:Ot,afterBody:Ot,beforeFooter:Ot,footer:Ot,afterFooter:Ot};function lt(s,t,e,i){let n=s[t].call(e,i);return typeof n>"u"?nl[t].call(e,i):n}var $s=class extends ft{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,r=new Zi(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(r)),r}getContext(){return this.$context||(this.$context=Ef(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:i}=e,n=lt(i,"beforeTitle",this,t),r=lt(i,"title",this,t),o=lt(i,"afterTitle",this,t),a=[];return a=Rt(a,Zt(n)),a=Rt(a,Zt(r)),a=Rt(a,Zt(o)),a}getBeforeBody(t,e){return Da(lt(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:i}=e,n=[];return N(t Line truncated
/*! Bundled license information: /*! Bundled license information:
@kurkle/color/dist/color.esm.js: @kurkle/color/dist/color.esm.js:
@@ -13,6 +13,7 @@ var Sc=Object.defineProperty;var Mc=(s,t,e)=>t in s?Sc(s,t,{enumerable:!0,config
chart.js/dist/chunks/helpers.dataset.js: chart.js/dist/chunks/helpers.dataset.js:
chart.js/dist/chart.js: chart.js/dist/chart.js:
chart.js/dist/helpers.js:
(*! (*!
* Chart.js v4.5.1 * Chart.js v4.5.1
* https://www.chartjs.org * https://www.chartjs.org
+4 -5
View File
@@ -1,9 +1,8 @@
Raumnummer | Raumfläche Geschossname | Raumname | Gemessene Fläche KG | EG | Bereich unter Stiege 1 | 2,33
KG | EG | Bereich unter Stiege 1 | 2,44 KG | EG | Bereich unter Stiege 2 | 2,33
KG | EG | Bereich unter Stiege 2 | 2,55
KG | EG | Bewegungsraum | 138,14 KG | EG | Bewegungsraum | 138,14
KG | EG | Essen | 48,47 KG | EG | Essen | 48,47
KG | EG | Garderobe | 135,38 KG | EG | Garderobe | 135,12
KG | EG | Geräte 1 | 10,81 KG | EG | Geräte 1 | 10,81
KG | EG | Geräte 2 | 8,04 KG | EG | Geräte 2 | 8,04
KG | EG | Stiegenpodest 1 | 3,33 KG | EG | Stiegenpodest 1 | 3,33
@@ -181,4 +180,4 @@ W13 | OG2 | Kabinett | 8,
W13 | OG2 | Schlafzimmer | 11,56 W13 | OG2 | Schlafzimmer | 11,56
W13 | OG2 | Terrasse | 15,09 W13 | OG2 | Terrasse | 15,09
W13 | OG2 | Wohnen | 26,58 W13 | OG2 | Wohnen | 26,58
W13 | UG | KA13 | 4,31 W13 | UG | KA13 | 4,31