diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore index e4563a5e..4f4206b8 100755 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,4 @@ yarn-error.log /public/hospital-portal /public/hospital-portal-staging -/public/files \ No newline at end of file +/public/files diff --git a/.styleci.yml b/.styleci.yml old mode 100644 new mode 100755 diff --git a/Modules/Client/Http/Controllers/Api/AuthController.php b/Modules/Client/Http/Controllers/Api/AuthController.php index fe0ea6b0..dd8dcc4a 100755 --- a/Modules/Client/Http/Controllers/Api/AuthController.php +++ b/Modules/Client/Http/Controllers/Api/AuthController.php @@ -34,24 +34,51 @@ class AuthController extends Controller return Helper::responseJson(statusCode: Response::HTTP_NOT_FOUND, message: $message); } + + // $token = rand(1000, 9999); // Menghasilkan angka acak antara 100000 dan 999999 - $token = 4444; // Menghasilkan angka acak antara 100000 dan 999999 - if($request->phoneOrEmail == 'manager+one@gmail.com' || $request->phoneOrEmail == 'manager+two@gmail.com') - { - $token = 4444; - } - if (filter_var($request->phoneOrEmail, FILTER_VALIDATE_EMAIL)) { - User::query()->find($user->id)->update([ - 'email' => $request->phoneOrEmail, - 'otp' => $token, - 'otp_created_at' => now() - ]); - } else { - User::query()->find($user->id)->update([ - 'phone' => $request->phoneOrEmail, - 'otp' => $token, - 'otp_created_at' => now() - ]); + // if($request->phoneOrEmail == 'manager+one@gmail.com' || $request->phoneOrEmail == 'manager+two@gmail.com') + // { + // $token = 4444; + // } + // if (filter_var($request->phoneOrEmail, FILTER_VALIDATE_EMAIL)) { + // User::query()->find($user->id)->update([ + // 'email' => $request->phoneOrEmail, + // 'otp' => $token, + // 'otp_created_at' => now() + // ]); + // } else { + // User::query()->find($user->id)->update([ + // 'phone' => $request->phoneOrEmail, + // 'otp' => $token, + // 'otp_created_at' => now() + // ]); + // } + + // // TODO Send the OTP + // if (filter_var($request->phoneOrEmail, FILTER_VALIDATE_EMAIL)) { + // // Send Email + // //send to alarm + // if($request->phoneOrEmail != 'manager+one@gmail.com' && $request->phoneOrEmail != 'manager+two@gmail.com') + // { + // $nameTo = 'User'; + // $dataEmail = [ + // 'email' => $request->phoneOrEmail, + // 'name' => $nameTo, + // 'subject' => 'OTP Login Client Portal Tanggal '. date('Y-m-d H:i:s'), + // 'body' => View::make('email/forgot_password', ['token' => $token])->render(), + // ]; + // Helper::sendEmail($dataEmail); + // } + // } else { + // // Send Whatsapp + // } + + // return Helper::responseJson(message: 'OTP Terkirim'); + + + if (!Hash::check($request->password, $user->password)) { + return response(['message' => 'Password Salah'], 403); } return Helper::responseJson( diff --git a/Modules/HospitalPortal/Helpers/GrabHelper.php b/Modules/HospitalPortal/Helpers/GrabHelper.php new file mode 100644 index 00000000..baf18ae2 --- /dev/null +++ b/Modules/HospitalPortal/Helpers/GrabHelper.php @@ -0,0 +1,93 @@ +client = new Client(); + } + + public function getToken() + { + $url = env('TOKEN_URL_GRAB'); + $headers = [ + 'Content-Type' => 'application/json', + ]; + $body = json_encode([ + 'client_id' => env('CLIENT_ID_GRAB'), + 'client_secret' => env('CLIENT_SECRET_GRAB'), + 'grant_type' => 'client_credentials', + 'scope' => 'grab_express.partner_deliveries', + ]); + + $request = new Request('POST', $url, $headers, $body); + $response = $this->client->send($request); + $data = json_decode($response->getBody()->getContents(), true); + + return $data['access_token'] ?? null; + } + + public function createDelivery($token,$body) + { + $url = env('BASE_URL_GRAB').'/v1/deliveries'; + $headers = [ + 'Content-Type' => 'application/json', + 'Authorization' => 'Bearer ' . $token, + ]; + $request = new Request('POST', $url, $headers, $body); + $response = $this->client->send($request); + + return $response->getBody()->getContents(); + } + + public function normalizePhoneNumber($phoneNumber) { + // Remove any non-digit characters (e.g., '+', '-', spaces) + $phoneNumber = preg_replace('/\D/', '', $phoneNumber); + + // Check if the cleaned phone number is numeric + if (!is_numeric($phoneNumber)) { + return null; // Return false or handle the error as needed + } + + // Handle phone numbers starting with '62' or '+62' + if (substr($phoneNumber, 0, 2) === '62') { + $phoneNumber = '0' . substr($phoneNumber, 2); + } + + // Handle phone numbers that already start with '8' + if (substr($phoneNumber, 0, 1) === '8') { + $phoneNumber = '0' . $phoneNumber; + } + + return $phoneNumber; + } + + public function getScheduleTimes() + { + // Create a DateTime object for the current time in Jakarta timezone + $pickupTimeFrom = new DateTime('now', new DateTimeZone('Asia/Jakarta')); + + // Add 30 minutes to the current time for pickupTimeFrom + $pickupTimeFrom->modify('+30 minutes'); + + // Clone the pickupTimeFrom to calculate pickupTimeTo + $pickupTimeTo = clone $pickupTimeFrom; + // Add 1 hour to pickupTimeFrom for pickupTimeTo + $pickupTimeTo->modify('+1 hour'); + + // Format the times to ISO 8601 format (e.g., 2024-10-02T12:37:28+07:00) + return [ + "pickupTimeFrom" => $pickupTimeFrom->format(DateTime::ATOM), + "pickupTimeTo" => $pickupTimeTo->format(DateTime::ATOM), + ]; + } +} diff --git a/Modules/HospitalPortal/Http/Controllers/ApotekController.php b/Modules/HospitalPortal/Http/Controllers/ApotekController.php new file mode 100644 index 00000000..ae464599 --- /dev/null +++ b/Modules/HospitalPortal/Http/Controllers/ApotekController.php @@ -0,0 +1,695 @@ +has('per_page') ? $request->input('per_page') : 10; + + $results = DB::connection('oldlms')->table('tx_prescriptions') + ->join('tx_prescription_orders', 'tx_prescription_orders.nIDPrescription', '=', 'tx_prescriptions.nID') + ->join('tm_users', 'tm_users.nID', '=', 'tx_prescriptions.nIDUser') + ->when(auth()->user()->organization_id, function ($query, $organizationId) { + $query->where('tx_prescription_orders.nIDApotek', '=', $organizationId); + }) + ->when($request->input('search'), function ($query, $search) { + $query->where(function ($query) use ($search) { + $query->orWhere('tx_prescriptions.sKodeResep', 'like', "%" . $search . "%") + ->orWhere('tm_users.sFirstName', 'like', "%" . $search . "%"); + }); + }) + ->when($request->has('orderBy'), function ($query) use ($request) { + $orderBy = $request->orderBy; + $direction = $request->order ?? 'asc'; + + if($orderBy == 'apotek') + { + $orderBy = 'nIDApotek'; + } + + $query->orderBy($orderBy, $direction); + }) + ->when($request->input('start_date') && !$request->input('end_date'), function ($query, $start_date) { + $query->where(function ($query) use ($start_date) { + $query->where('tx_prescriptions.dTanggalresep', '<', $start_date); + }); + }) + ->when($request->input('status'), function ($query, $status) { + $query->where(function ($query) use ($status) { + $query->where('tx_prescription_orders.sStatus', '=', $status); + }); + }) + ->select( + 'tx_prescriptions.nID as id', + 'tx_prescription_orders.nID as nID_orders', + 'tx_prescriptions.nIDUser', + 'tx_prescriptions.sKodeResep as no_resep', + 'tx_prescriptions.dTanggalResep as tanggal', + 'tx_prescription_orders.nIDApotek', + 'tx_prescription_orders.sStatus as status', + 'tx_prescription_orders.sStatus', + DB::raw(' + CASE + WHEN tx_prescription_orders.sStatus = "waiting_pharmacy" THEN "Diterima" + WHEN tx_prescription_orders.sStatus = "order_prepared" THEN "Siap Diambil" + WHEN tx_prescription_orders.sStatus = "ready" THEN "Cari Kurir" + WHEN tx_prescription_orders.sStatus = "failed" THEN "Cari Kurir" + WHEN tx_prescription_orders.sStatus = "waiting_for_courir" THEN "Kurir Sudah Ambil Pesanan" + WHEN tx_prescription_orders.sStatus = "package_picked_up" THEN "Sedang diantar ke Alamat Tujuan" + WHEN tx_prescription_orders.sStatus = "package_on_delivery" THEN "Selesai" + ELSE "" + END AS button_accept'), + DB::raw('CONCAT( + COALESCE(tm_users.sFirstName, ""), + " ", + COALESCE(tm_users.sMiddleName, ""), + " ", + COALESCE(tm_users.sLastName, "") + ) as pasien'), + DB::raw(' + (SELECT CONCAT( + COALESCE(u.sFirstName, ""), + " ", + COALESCE(u.sMiddleName, ""), + " ", + COALESCE(u.sLastName, "") + ) + FROM tm_dokter d + LEFT JOIN tm_users u ON u.nID = d.nIDUser + WHERE d.nID = tx_prescriptions.nIDDokter LIMIT 1) AS nama_dokter + '), + DB::raw(' + (SELECT s.sSpesialis + FROM tm_dokter d + LEFT JOIN tm_spesialis s ON s.nID = d.nIDSpesialis + WHERE d.nID = tx_prescriptions.nIDDokter LIMIT 1) AS spesialis + '), + DB::raw(' + (SELECT t.sSIP + FROM tm_dokter d + LEFT JOIN tx_jadwal_dokter t ON t.nIDDokter = d.nID + WHERE d.nID = tx_prescriptions.nIDDokter LIMIT 1) AS sip + '), + DB::raw(' + (SELECT u.sPhone + FROM tm_dokter d + LEFT JOIN tm_users u ON u.nID = d.nIDUser + WHERE d.nID = tx_prescriptions.nIDDokter LIMIT 1) AS no_ponsel_dokter + '), + DB::raw(' + (SELECT tm_users_detail.dTanggalLahir + FROM tm_users_detail + WHERE tm_users_detail.nIDUser = tm_users.nID LIMIT 1) AS tgl_lahir_pasien + '), + DB::raw(' + (SELECT CASE + WHEN tm_users_detail.nIDJenisKelamin = 1 THEN "Male" + ELSE "Female" + END + FROM tm_users_detail + WHERE tm_users_detail.nIDUser = tm_users.nID LIMIT 1) AS jenis_kelamin_pasien + '), + DB::raw(' + (SELECT CONCAT(tm_users_detail.sHeight, "/", tm_users_detail.sWeight) + FROM tm_users_detail + WHERE tm_users_detail.nIDUser = tm_users.nID LIMIT 1) AS tinggi_berat + '), + DB::raw(' + (SELECT tm_users_insurance.sNoPolis + FROM tm_users_insurance + LEFT JOIN tm_insurance ON tm_users_insurance.nIDInsurance = tm_insurance.nID + WHERE tm_users_insurance.nIDUser = tx_prescriptions.nIDUser LIMIT 1) AS no_polis + '), + DB::raw(' + (SELECT tm_insurance.sInsurance + FROM tm_users_insurance + LEFT JOIN tm_insurance ON tm_users_insurance.nIDInsurance = tm_insurance.nID + WHERE tm_users_insurance.nIDUser = tx_prescriptions.nIDUser LIMIT 1) AS perusahaan_asuransi + '), + DB::raw(' + (SELECT tm_users_insurance.sCorporateName + FROM tm_users_insurance + LEFT JOIN tm_insurance ON tm_users_insurance.nIDInsurance = tm_insurance.nID + WHERE tm_users_insurance.nIDUser = tx_prescriptions.nIDUser LIMIT 1) AS nama_perusahaan + '), + DB::raw(' + (SELECT tm_users_insurance.sProductCode + FROM tm_users_insurance + LEFT JOIN tm_insurance ON tm_users_insurance.nIDInsurance = tm_insurance.nID + WHERE tm_users_insurance.nIDUser = tx_prescriptions.nIDUser LIMIT 1) AS kode_produk + '), + DB::raw(' + ( + SELECT + CASE + WHEN tm_users_insurance.sPlanCode = "A" THEN "Alba" + WHEN tm_users_insurance.sPlanCode = "B" THEN "Blue" + WHEN tm_users_insurance.sPlanCode = "S" THEN "Silver" + WHEN tm_users_insurance.sPlanCode = "G" THEN "Gold" + WHEN tm_users_insurance.sPlanCode = "P" THEN "Platinum" + WHEN tm_users_insurance.sPlanCode = "D" THEN "Diamond" + ELSE "" + END AS kelas_asuransi + FROM tm_users_insurance + LEFT JOIN tm_insurance ON tm_users_insurance.nIDInsurance = tm_insurance.nID + WHERE tm_users_insurance.nIDUser = tx_prescriptions.nIDUser + LIMIT 1 + ) AS kelas_asuransi + '), + DB::raw(' + ( + SELECT + CASE + WHEN tm_hubungan_keluarga.sHubunganKeluarga = "Husband" THEN "S" + WHEN tm_hubungan_keluarga.sHubunganKeluarga = "Wife" THEN "I" + WHEN tm_hubungan_keluarga.sHubunganKeluarga = "Child" THEN "A" + ELSE "P" + END AS tipe_member + FROM tm_hubungan_keluarga + WHERE tm_hubungan_keluarga.nID = tm_users.nIDHubunganKeluarga + LIMIT 1 + ) AS tipe_member + '), + 'tx_prescription_orders.sAddress AS alamat_penerima', + 'tx_prescription_orders.sDeliveryMethod AS pengiriman', + 'tx_prescription_orders.sDeliveryPrice AS total_kirim', + 'tx_prescriptions.sNoRefProvider AS noref_dokter', + DB::raw('DATE_ADD(tx_prescriptions.dTanggalResep, INTERVAL 1 DAY) as valid_tanggal'), + 'tx_prescriptions.sNomorPenjamin AS nomor_penjamin', + DB::raw(' + (SELECT tx_livechat.dCreateOn + FROM tx_livechat + WHERE tx_livechat.nID = tx_prescriptions.nIDLivechat LIMIT 1) AS tgl_livechat + '), + 'tx_prescriptions.sDiagnose as diagnosa', + 'tx_prescription_orders.nDeliveryID', + 'tx_prescription_orders.sDeliveryStatus' + ) + ->paginate($limit); + + // Secret key for generating the token + $secret_key = env('SECRET_KEY_LMS'); + + // Transform the results to include the download link + $results->getCollection()->transform(function ($item) use ($secret_key) { + // Generate the token with the timestamp + $expiry_time = time() + 86400; // Token expiry time (1 day) + $token = hash_hmac('sha256', $item->id . $expiry_time, $secret_key); + + // Construct the download link + $path = 'prescription/barcode-print-pdf/' . $item->id . '?token=' . urlencode($token) . '&expiry=' . $expiry_time; + $host = $_SERVER['HTTP_HOST']; // This will give you the host like 'linksehat.dev' or 'linksehat.com' + $base_url = "https://m.linksehat.dev/"; + // Check if the host contains '.dev' + if (strpos($host, '.com') !== false) { + $base_url = "https://m.linksehat.com/"; + } + $item->link_download = $base_url.$path; + + return $item; + }); + + $apotekIds = $results->pluck(value: 'nIDApotek')->unique()->filter(); + $organizations = DB::connection('mysql')->table('organizations') + ->whereIn('id', $apotekIds) + ->pluck('name', 'id'); + $results->getCollection()->transform(function ($item) use ($organizations) { + $item->apotek = $organizations->get($item->nIDApotek, '-'); // Default to 'Unknown' if not found + return $item; + }); + // Transform results to include allergies + $results->getCollection()->transform(function ($item) use ($organizations) { + // Get the allergies for each user + $allergies = $this->getAllergies($item->nIDUser); + + // Concatenate the allergy description + $alergi_desc = ''; + foreach ($allergies as $row) { + $alergi_desc .= $row->sAlergi . ' - ' . $row->sKeterangan . ', '; + } + + // Set apotek and allergies data + $item->apotek = $organizations->get($item->nIDApotek, '-'); // Default to 'Unknown' if not found + $item->alergi_desc = rtrim($alergi_desc, ', '); // Remove the trailing comma + + return $item; + }); + // Extract unique Prescription IDs from the results + $prescriptionIDs = $results->pluck('id')->unique()->filter(); + + // Fetch prescription items based on Prescription IDs + $items = DB::connection('oldlms')->table('tx_prescription_items') + ->whereIn('nIDPrescription', $prescriptionIDs) + ->select('nIDPrescription', 'sItemName', 'sSigna', 'sTiming', 'sDuration', 'nQty', 'sNote') + ->get() + ->groupBy('nIDPrescription'); // Group items by their Prescription ID + // Final transformation: Attach prescription items to each prescription + $results->getCollection()->transform(function ($item) use ($items) { + $item->prescription_items = $items->get($item->id, collect())->map(function ($prescriptionItem) { + return [ + 'sItemName' => $prescriptionItem->sItemName, + 'sSigna' => $prescriptionItem->sSigna, + 'sTiming' => $prescriptionItem->sTiming, + 'sDuration' => $prescriptionItem->sDuration, + 'nQty' => $prescriptionItem->nQty, + 'sNote' => $prescriptionItem->sNote, + ]; + }); + return $item; + }); + return response()->json(Helper::paginateResources($results)); + } + + public function getAllergies($nIDUser) { + return DB::connection('oldlms') + ->table('tx_alergi_users as txa') + ->join('tm_alergi as ta', 'ta.nID', '=', 'txa.nIDAlergi') + ->select('ta.sAlergi', 'ta.sKeterangan') + ->where('txa.nIDUser', $nIDUser) + ->get(); + } + + /** + * Show the form for creating a new resource. + * @return Renderable + */ + public function create() + { + return view('hospitalportal::create'); + } + + /** + * Store a newly created resource in storage. + * @param Request $request + * @return Renderable + */ + public function store(Request $request) + { + // + } + + /** + * Show the specified resource. + * @param int $id + * @return Renderable + */ + public function show($id) + { + return view('hospitalportal::show'); + } + + /** + * Show the form for editing the specified resource. + * @param int $id + * @return Renderable + */ + public function edit($id) + { + return view('hospitalportal::edit'); + } + + /** + * Update the specified resource in storage. + * @param Request $request + * @param int $id + * @return Renderable + */ + public function update(Request $request, $id) + { + $data = ['sStatus' => $request->sStatus]; + $validator = Validator::make($request->all(), [ + 'sStatus' => 'required|string|max:255', + ], [ + 'sStatus.required' => trans('Validation.required',['attribute' => 'Status']), + ]); + + if ($validator->fails()) + { + return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400); + } + else + { + try { + // Define the valid transitions + $valid_transitions = [ + 'waiting_for_payment' => 'waiting_pharmacy', + 'waiting_pharmacy' => 'order_prepared', + 'order_prepared' => 'ready', + 'ready' => 'waiting_for_courir', + 'waiting_for_courir' => 'package_picked_up', + 'package_picked_up' => 'package_on_delivery', + 'package_on_delivery' => 'package_delivered' + ]; + + // Get the current status from the request + $inputStatus = $request->sStatus; + + // Check if the input status has a valid next status in the map + if (isset($valid_transitions[$inputStatus])) { + // Get the next status + $status = $valid_transitions[$inputStatus]; + + // Start the transaction + DB::connection('oldlms')->beginTransaction(); + + // Update the status in the database + DB::connection('oldlms')->table('tx_prescription_orders') + ->where('tx_prescription_orders.nID', '=', $id) + ->update([ + 'sStatus' => $status, + 'sUpdateBy' => auth()->user()->id, + 'dUpdateOn' => date('Y-m-d H:i:s'), + ]); + + // Insert the log + $prescriptionOrder = DB::connection('oldlms') + ->table('tx_prescription_orders') + ->where('tx_prescription_orders.nID', '=', $id) + ->join('tx_delivery_orders', 'tx_delivery_orders.nIDPrescriptionOrder', '=', 'tx_prescription_orders.nID') + ->select('tx_prescription_orders.*', 'tx_delivery_orders.*', 'tx_delivery_orders.nID as nIDDelivery') // Add specific columns you want to select + ->first(); + + if ($prescriptionOrder) { + $createdBy = $prescriptionOrder->sCreateBy; + $nIDPrescription = $prescriptionOrder->nIDPrescription; + $nIDDeliveryOrder = $prescriptionOrder->nIDDelivery; + + // Insert data into the tx_delivery_log table + DB::connection('oldlms')->table('tx_delivery_log')->insert([ + 'sStatus' => $prescriptionOrder->sDeliveryStatus, + 'sStatusPrescription' => $status, + 'nIDDeliveryOrder' => $nIDDeliveryOrder, + 'nIDPrescription' => $nIDPrescription, + 'dCreatedOn' => now(), + ]); + } + + // Commit the transaction + DB::connection('oldlms')->commit(); + + // Return success response + return ApiResponse::apiResponse("Success", $data, trans('Message.success'), 200); + } else { + // If the input status is not valid, return an error + return ApiResponse::apiResponse('Invalid Status', $data, 'The input status is not valid.', 400); + } + } catch (\Exception $e) { + // Rollback the transaction if an error occurs + DB::connection('oldlms')->rollBack(); + + // Handle error, could log or return as response + return ApiResponse::apiResponse('Server Error', $data, $e->getMessage(), 500); + } + + } + } + + public function getDriver(Request $request, $id) + { + $data = ['sStatus' => $request->sStatus]; + + // Validation + $validator = Validator::make($request->all(), [ + 'sStatus' => 'required|string|max:255', + ], [ + 'sStatus.required' => trans('Validation.required', ['attribute' => 'Status']), + ]); + + if ($validator->fails()) { + return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400); + } + + try { + // Fetch prescription data + $prescriptions = DB::connection('oldlms')->table('tx_prescription_orders') + ->leftJoin('tx_prescriptions', 'tx_prescriptions.nID', '=', 'tx_prescription_orders.nIDPrescription') + ->where('tx_prescription_orders.nID', '=', $id) + ->select( + 'tx_prescriptions.nIDUser', + 'tx_prescriptions.nID as id_prescription', + 'tx_prescriptions.sKodeResep as merchantOrderID', + 'tx_prescription_orders.nIDApotek' + ) + ->first(); + + if (!$prescriptions) { + return ApiResponse::apiResponse('Not Found', [], 'Prescription not found', 404); + } + + // Fetch prescription items (medicine data) + $items = DB::connection('oldlms')->table('tx_prescription_items') + ->where('nIDPrescription', $prescriptions->id_prescription) + ->select('nIDPrescription', 'sItemName', 'nQty', 'nHarga') + ->get(); + + $packages = []; + foreach ($items as $item) { + $packages[] = [ + 'name' => $item->sItemName, + 'description' => $item->sItemName, + 'quantity' => (float)$item->nQty, + 'price' => (float)$item->nHarga, + 'dimensions' => [ + 'height' => 0, + 'width' => 0, + 'depth' => 0, + 'weight' => 0, + ] + ]; + } + + // Fetch pharmacy (apotek) data + $apotek = DB::connection('mysql')->table('organizations') + ->leftJoin('addresses', 'addresses.id', '=', 'organizations.main_address_id') + ->where('organizations.id', '=', $prescriptions->nIDApotek) + ->select('organizations.name as nama_apotek', 'addresses.text as alamat_apotek', 'addresses.lat', 'addresses.lng') + ->first(); + + // Fetch patient (pasien) data + $pasien = DB::connection('oldlms')->table('tm_users') + ->leftJoin('tm_users_detail', 'tm_users_detail.nIDuser', '=', 'tm_users.nID') + ->where('tm_users.nID', '=', $prescriptions->nIDUser) + ->select( + DB::raw('CONCAT( + COALESCE(tm_users.sFirstName, ""), + " ", + COALESCE(tm_users.sMiddleName, ""), + " ", + COALESCE(tm_users.sLastName, "") + ) as nama_pasien'), + 'tm_users.sFirstName as firstname', + 'tm_users.sLastName as lastname', + 'tm_users.sEmail as email', + 'tm_users.sPhone as phone', + 'tm_users_detail.sLatitude as latitude', + 'tm_users_detail.sLongitude as longitude', + DB::raw('(SELECT tm_provinsi.sProvinsi FROM tm_provinsi WHERE tm_provinsi.nID = tm_users_detail.nIDProvinsi LIMIT 1) AS provinsi'), + DB::raw('(SELECT tm_kota.sKota FROM tm_kota WHERE tm_kota.nID = tm_users_detail.nIDKota LIMIT 1) AS kota'), + DB::raw('(SELECT tm_kecamatan.sKecamatan FROM tm_kecamatan WHERE tm_kecamatan.nID = tm_users_detail.nIDKecamatan LIMIT 1) AS kecamatan'), + DB::raw('(SELECT tm_kelurahan.sKelurahan FROM tm_kelurahan WHERE tm_kelurahan.nID = tm_users_detail.nIDKelurahan LIMIT 1) AS kelurahan'), + DB::raw('(SELECT tm_kelurahan.nKodePos FROM tm_kelurahan WHERE tm_kelurahan.nID = tm_users_detail.nIDKelurahan LIMIT 1) AS kode_pos') + ) + ->first(); + + if (!$pasien) { + return ApiResponse::apiResponse('Not Found', [], 'Patient not found', 404); + } + + if(!$pasien->email) + { + return ApiResponse::apiResponse('Not Found', [], 'Email Patient not found', 404); + } + + if(!$pasien->phone) + { + return ApiResponse::apiResponse('Not Found', [], 'Phone Patient not found', 404); + } + + // Use GrabHelper to handle the API calls + $grabHelper = new GrabHelper(); + $token = $grabHelper->getToken(); + $serviceType = 'INSTANT'; + $body = json_encode([ + "merchantOrderID" => $prescriptions->merchantOrderID, + "serviceType" => $serviceType, + "vehicleType" => "BIKE", + "codType" => "REGULAR", + "paymentMethod" => "CASHLESS", + "highValue" => false, + "packages" => $packages, + "origin" => [ + "address" => $apotek->alamat_apotek, + "coordinates" => [ + "latitude" => (float)$apotek->lat, + "longitude" => (float)$apotek->lng + ] + ], + "destination" => [ + "address" => "{$pasien->provinsi}, {$pasien->kota}, {$pasien->kecamatan}, {$pasien->kelurahan}, {$pasien->kode_pos}", + "coordinates" => [ + "latitude" => (float)$pasien->latitude, + "longitude" => (float)$pasien->longitude + ] + ], + "recipient" => [ + "firstName" => $pasien->firstname, + "lastName" => $pasien->lastname, + "email" => $pasien->email, + "phone" => $grabHelper->normalizePhoneNumber($pasien->phone), + "smsEnabled" => true + ], + "sender" => [ + "firstName" => env('SENDER_NAME_GRAB'), + "companyName" => env('SENDER_COMPANY_NAME_GRAB'), + "email" => env('SENDER_EMAIL_GRAB'), + "phone" => env('SENDER_PHONE_GRAB'), + "smsEnabled" => true + ], + "schedule" => $grabHelper->getScheduleTimes() + ]); + + // Create the delivery request + $response = $grabHelper->createDelivery($token, $body); + $data_grab = json_decode($response, true); + + // Transaction to update status + DB::connection('oldlms')->beginTransaction(); + + //insert to api logs + $data_logs = [ + 'sType' => 'out', + 'sContext' => 'grab', + 'sTarget' => 'deliveries/create-grab', + 'sRequest' => $body, + 'sResponse' => $response, + 'sCreateBy' => auth()->user()->id, + 'dCreateOn' => now(), + ]; + + DB::connection('oldlms')->table('api_logs') + ->insert($data_logs); + + + DB::connection('oldlms')->table('tx_prescription_orders') + ->where('tx_prescription_orders.nID', '=', $id) + ->update([ + 'nDeliveryID' => $data_grab['deliveryID'], + 'sDeliveryStatus' => $data_grab['status'], + 'sStatus' => 'waiting_for_courir', + 'sUpdateBy' => auth()->user()->id, + 'dUpdateOn' => now(), + ]); + //insert to delivery order + $tm_delivery_statuses = DB::connection('oldlms')->table('tm_delivery_statuses') + ->where('tm_delivery_statuses.sStatus', 'LIKE', '%' . $data_grab['status'] . '%') + ->where('tm_delivery_statuses.nIDDelivery', '=', 3) + ->select('tm_delivery_statuses.sStatusDescription') + ->first(); + $data_delivery_orders = [ + 'nIDPrescriptionOrder' => $id, + 'sUUID' => $this->generateUuid($id), + 'nIDDelivery' => 3, //grab + 'sType' => $serviceType, + 'nOrderID' => $data_grab['deliveryID'], + 'nVehicleTypeID' => null, + 'sCreatedDateTime' => $data_grab['schedule']['pickupTimeFrom'], + 'sFinishDateTime' => $data_grab['schedule']['pickupTimeTo'], + 'sStatus' => $data_grab['status'], + 'sStatusDescription' => $tm_delivery_statuses->sStatusDescription, + 'sMatter' => 'medicine', + 'nTotalWeightKg' => 0, + 'nPaymentAmount' => $data_grab['quote']['amount'], + 'nDeliveryFeeAmount' => $data_grab['quote']['amount'], + 'sPaymentMethod' => 'cash', + 'sCreateBy' => auth()->user()->id, + 'dCreateOn' => now(), + ]; + // Use insertGetId to insert the data and get the last inserted ID + $lastInsertId = DB::connection('oldlms')->table('tx_delivery_orders')->insertGetId($data_delivery_orders); + $data_points = [ + 'origin' => [ + 'nIDDeliveryOrder' => $lastInsertId, + 'sUUID' => $this->generateUuid($lastInsertId), + 'nDeliveryID' => $data_grab['deliveryID'], + 'nPointID' => 1, + 'nType' => 1, + 'sAddress' => $data_grab['quote']['origin']['address'], + 'nLatitude' => $data_grab['quote']['origin']['coordinates']['latitude'] ?? null, + 'nLongitude' => $data_grab['quote']['origin']['coordinates']['longitude'] ?? null, + 'sName' => $data_grab['sender']['companyName'], + 'sPhone' => $data_grab['sender']['phone'], + 'sTrackingUrl' => null, + 'sCreateBy' => auth()->user()->id, + 'dCreateOn' => now(), + ], + 'destination' => [ + 'nIDDeliveryOrder' => $lastInsertId, + 'sUUID' => $this->generateUuid($lastInsertId), + 'nDeliveryID' => $data_grab['deliveryID'], + 'nPointID' => 2, + 'nType' => 2, + 'sAddress' => $data_grab['quote']['destination']['address'], + 'nLatitude' => $data_grab['quote']['destination']['coordinates']['latitude'] ?? null, + 'nLongitude' => $data_grab['quote']['destination']['coordinates']['longitude'] ?? null, + 'sName' => $data_grab['recipient']['firstName'] . " " . $data_grab['recipient']['lastName'], + 'sPhone' => $data_grab['recipient']['phone'], + 'sTrackingUrl' => null, + 'sCreateBy' => auth()->user()->id, + 'dCreateOn' => now(), + ] + ]; + + foreach ($data_points as $value_point) { + DB::connection('oldlms')->table('tx_delivery_order_points')->insert($value_point); + } + + DB::connection('oldlms')->commit(); + + // Return success response + return ApiResponse::apiResponse("Success", $data_grab, trans('Message.success'), 200); + + } catch (\Exception $e) { + // Rollback transaction on error + DB::connection('oldlms')->rollBack(); + + return ApiResponse::apiResponse('Server Error', [], $e->getMessage(), 500); + } + } + + /** + * Remove the specified resource from storage. + * @param int $id + * @return Renderable + */ + public function destroy($id) + { + // + } + + public function generateUuid($id_prescription_order) + { + // Define the namespace (using DNS in this example) + $namespace = Uuid::NAMESPACE_DNS; + + $uuidV5 = Uuid::uuid5($namespace, $id_prescription_order); + return $uuidV5->toString(); + } + +} diff --git a/Modules/HospitalPortal/Routes/api.php b/Modules/HospitalPortal/Routes/api.php index a0591a36..d7f4fd37 100755 --- a/Modules/HospitalPortal/Routes/api.php +++ b/Modules/HospitalPortal/Routes/api.php @@ -7,8 +7,10 @@ use Modules\HospitalPortal\Http\Controllers\Api\MemberController; use Modules\HospitalPortal\Http\Controllers\ClaimController; use Modules\HospitalPortal\Http\Controllers\Api\NotificationController; use Modules\HospitalPortal\Http\Controllers\Api\RequestLogController; +use Modules\HospitalPortal\Http\Controllers\ApotekController; use Modules\HospitalPortal\Http\Middleware\Authentication; use Modules\HospitalPortal\Http\Middleware\Authorization; +use Modules\Internal\Http\Controllers\Api\NavigationController; /* |-------------------------------------------------------------------------- @@ -36,6 +38,10 @@ Route::prefix('v1')->group(function() { Route::middleware('auth:sanctum')->group(function () { + // Navigation + Route::get('navigations', [NavigationController::class, 'index']); + + Route::post('logout', [AuthController::class, 'logout'])->name('logout'); Route::get('/user', function (Request $request) { return $request->user(); @@ -66,6 +72,9 @@ Route::prefix('v1')->group(function() { //Set read notification Route::post('set-read-notification', 'setReadNotification'); }); + Route::get('get-prescription-orders',[ApotekController::class, 'index']); + Route::put('put-prescription-orders/{id}',[ApotekController::class, 'update']); + Route::put('put-driver-prescription-orders/{id}',[ApotekController::class, 'getDriver']); }); // Request Final LOG Route::controller(RequestLogController::class)->group(function () { diff --git a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php index 91d50556..ced1bee4 100644 --- a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php +++ b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php @@ -26,7 +26,14 @@ class PrescriptionController extends Controller { // return $request->toArray(); $prescription = Prescription::query() - ->with(['livechat', 'user', 'items']); + ->with(['livechat', 'user', 'items']) + ->join('tx_prescription_orders', 'tx_prescriptions.nID', '=', 'tx_prescription_orders.nIDPrescription') + ->select( + 'tx_prescriptions.*', + 'tx_prescription_orders.sStatus as status_prescription', + 'tx_prescription_orders.sAddress as kirim_ke', + 'tx_prescription_orders.sDeliveryMethod as delivery', + ); if ($request->has('search')) { $search = $request->search; $prescription->where(function ($query) use ($search) { @@ -34,13 +41,12 @@ class PrescriptionController extends Controller ->orWhere('sKodeResep', 'LIKE', '%' . $search . "%"); }); } - if (($request->has('prescription_start') || $request->has('prescription_end')) && !empty($request->prescription_start) && !empty($request->prescription_end) ) { - - + + $prescription = $prescription->where(function($q) use ($request) { $q->where('dTanggalResep', '>=', $request->prescription_start) ->where('dTanggalResep', '<=', $request->prescription_end); @@ -156,6 +162,7 @@ class PrescriptionController extends Controller 'Date Consultation', 'Patient', 'Doctor', + 'Status', 'Jenis Obat (Drugs)', 'Jumlah Obat (QTY)', 'Cara Minum Obat', @@ -178,7 +185,7 @@ class PrescriptionController extends Controller }); } - if ($request->has('prescription_start') && $request->has('prescription_end') && + if ($request->has('prescription_start') && $request->has('prescription_end') && !empty($request->prescription_start) && !empty($request->prescription_end)) { $prescriptionQuery->whereBetween('dTanggalResep', [$request->prescription_start, $request->prescription_end]); } diff --git a/Modules/Internal/Http/Controllers/Api/LivechatController.php b/Modules/Internal/Http/Controllers/Api/LivechatController.php index 541e8f2e..eedd0e3f 100755 --- a/Modules/Internal/Http/Controllers/Api/LivechatController.php +++ b/Modules/Internal/Http/Controllers/Api/LivechatController.php @@ -88,8 +88,8 @@ class LivechatController extends Controller } }) ->orderBy('nID', 'desc') - ->get(['nID', 'nIDUser', 'dRequestTime', 'dAcceptTime', 'dStartTime', 'dEndTime', 'nIDDokter', 'nIDHealthCare', 'nIDAppointment', 'sStatus', 'sMediaDokter', 'sMedia', 'dCreateOn']); - + ->get(['nID', 'nIDUser', 'nIDDokter', 'nIDHealthCare', 'nIDAppointment', 'sStatus', 'sMediaDokter', 'sMedia', 'dCreateOn']); + $headers = [ ['value' => 'No', 'cell' => 'A1', 'mergeCell' => true, 'mergeToCell' => 'A2'], ['value' => 'Kode TC', 'cell' => 'B1', 'mergeCell' => true, 'mergeToCell' => 'B2'], @@ -150,18 +150,18 @@ class LivechatController extends Controller $nIDUser = $liveChat->user->nIDUser ?? 0; // Principal or Dependent $paymentMethod = $liveChat->appointment ? Helper::sPaymentMethod($liveChat->appointment->sPaymentMethod) : 'N/A'; $fullNameDoctor = '-'; - if ($liveChat->doctor->user !== null) { + if (!empty($liveChat->doctor->user)) { $fullNameDoctor = ''; - + if ($liveChat->doctor->user->detail !== null) { if ($liveChat->doctor->user->detail->sTitlePrefix !== null) { $fullNameDoctor .= $liveChat->doctor->user->detail->sTitlePrefix . '. '; } - + if ($liveChat->doctor->user->full_name !== null) { $fullNameDoctor .= $liveChat->doctor->user->full_name . ' '; } - + if ($liveChat->doctor->user->detail->sTitleSuffix !== null) { $fullNameDoctor .= $liveChat->doctor->user->detail->sTitleSuffix; } @@ -171,7 +171,7 @@ class LivechatController extends Controller $recordType = 'P'; if ($nIDUser){ $recordType = 'D'; - } + } switch ($status) { case 0: $statusLivechat = "Request TC"; diff --git a/Modules/Internal/Http/Controllers/Api/NavigationController.php b/Modules/Internal/Http/Controllers/Api/NavigationController.php index 74b8e79f..cec2bb8e 100755 --- a/Modules/Internal/Http/Controllers/Api/NavigationController.php +++ b/Modules/Internal/Http/Controllers/Api/NavigationController.php @@ -54,6 +54,7 @@ class NavigationController extends Controller 'permission' => $child['permission'], ]; }, $navItem['children']), + 'icon' => $navItem['icon'], 'permission' => $navItem['permission'], ]; }, $navigationMaster) diff --git a/Modules/Internal/Http/Controllers/Api/OrganizationController.php b/Modules/Internal/Http/Controllers/Api/OrganizationController.php index cd4b33d7..7c2cbbd1 100755 --- a/Modules/Internal/Http/Controllers/Api/OrganizationController.php +++ b/Modules/Internal/Http/Controllers/Api/OrganizationController.php @@ -48,6 +48,8 @@ class OrganizationController extends Controller public function store(Request $request) { $organization = [ + 'phone' => $request->no_hp, + 'email' => $request->email, 'code' => $request->code, 'name' => $request->name, 'type' => 'hospital', @@ -119,6 +121,8 @@ class OrganizationController extends Controller $update_organization = Organization::find($id); $update_organization->update([ + 'phone' => $request->no_hp, + 'email' => $request->email, 'code' => $request->code, 'name' => $request->name, 'type' => 'hospital', @@ -152,7 +156,7 @@ class OrganizationController extends Controller 'lat' => $request->lat, 'lng' => $request->lng, ]); - + $update_organization->main_address_id = $newAddres->id; $update_organization->save(); diff --git a/Modules/Internal/Http/Controllers/Api/UserManagementController.php b/Modules/Internal/Http/Controllers/Api/UserManagementController.php index e2448a3e..9171edec 100755 --- a/Modules/Internal/Http/Controllers/Api/UserManagementController.php +++ b/Modules/Internal/Http/Controllers/Api/UserManagementController.php @@ -3,6 +3,8 @@ namespace Modules\Internal\Http\Controllers\Api; use App\Helpers\Helper; +use App\Models\Organization; +use App\Models\CorporateManager; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; use Illuminate\Routing\Controller; @@ -110,14 +112,30 @@ class UserManagementController extends Controller return response()->json($data); } + public function list_organization(Request $request) + { + $query = Organization::where('type', 'hospital')->get(); + $data = [ + 'data' => $query + ]; + return response()->json($data); + } + public function store_access(Request $request){ $user = User::create([ 'email' => $request->email, 'username' => $request->username, 'role_id' => $request->roles, + 'organization_id' => !empty($request->organizations) ? $request->organizations : null , 'password' => Hash::make($request->password), ]); + if ($request->corporates){ + CorporateManager::create([ + 'user_id' => $user->id, + 'corporate_id' => $request->corporates + ]); + } $person = Person::updateOrCreate( [ 'id' => $user->person_id @@ -164,6 +182,7 @@ class UserManagementController extends Controller $userAccess->email = $request->email; $userAccess->username = $request->username; $userAccess->role_id = $request->roles; + $userAccess->organization_id = $request->organizations; if ($request->password){ $userAccess->password = Hash::make($request->password); diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php index f64000c2..14d3c1a5 100755 --- a/Modules/Internal/Routes/api.php +++ b/Modules/Internal/Routes/api.php @@ -50,6 +50,7 @@ use Modules\Internal\Http\Controllers\Api\LaboratoriumResultController; use Modules\Internal\Http\Controllers\Api\CorporateManageController; use Modules\Internal\Http\Controllers\Api\UserManagementController; use Modules\Internal\Http\Controllers\ClaimEncounterController; +use Modules\Linksehat\Http\Controllers\Api\AutocompleteController; // Report use Modules\Internal\Http\Controllers\Api\ReportLogController; @@ -80,9 +81,12 @@ Route::prefix('internal')->group(function () { Route::get('diagnosis', [RequestLogController::class, 'diagnosis']); - Route::get('drugs', [DrugController::class, 'drugList']); - Route::get('units', [DrugController::class, 'unitList']); - Route::get('cekphp', [RequestLogController::class, 'cekphp']); + Route::get('drugs', [AutocompleteController::class, 'drugList']); + Route::get('units', [AutocompleteController::class, 'unitList']); + + + Route::get('signa', [AutocompleteController::class, 'signaList']); + Route::post('signa-add', [AutocompleteController::class, 'signaAdd']); @@ -395,6 +399,7 @@ Route::prefix('internal')->group(function () { Route::get('user/access/{id}', [UserManagementController::class, 'edit_access']); Route::put('user/access/{id}', [UserManagementController::class, 'update_access']); Route::get('role-list', [UserManagementController::class, 'list_role']); + Route::get('organization-list', [UserManagementController::class, 'list_organization']); // Navigation Route::get('navigations', [NavigationController::class, 'index']); diff --git a/Modules/Internal/Transformers/OrganizationResource.php b/Modules/Internal/Transformers/OrganizationResource.php index 72448ee3..6dbdb426 100755 --- a/Modules/Internal/Transformers/OrganizationResource.php +++ b/Modules/Internal/Transformers/OrganizationResource.php @@ -27,12 +27,14 @@ class OrganizationResource extends JsonResource } $corporatePartner = implode(', ', $corporateName); } - - } + + } $organization = [ 'id' => $this->id, 'name' => $this->name, 'type' => $this->type, + 'no_hp' => $this->phone, + 'email' => $this->email, 'code' => $this->code, 'description' => $this->description, 'kodeRs' => $this->meta->KodeRS ?? null, diff --git a/Modules/Internal/Transformers/ReportPrescriptionResource.php b/Modules/Internal/Transformers/ReportPrescriptionResource.php index baefd72f..89db32c9 100644 --- a/Modules/Internal/Transformers/ReportPrescriptionResource.php +++ b/Modules/Internal/Transformers/ReportPrescriptionResource.php @@ -16,7 +16,6 @@ class ReportPrescriptionResource extends JsonResource public function toArray($request) { $patientName = $this->user ? $this->user->sFirstName .' '. $this->user->sLastName : '-'; - $data = [ 'id' => $this->nID, 'patient_name' => $patientName, @@ -25,6 +24,7 @@ class ReportPrescriptionResource extends JsonResource 'date_consultation' => $this->dTanggalResep ? Carbon::parse($this->dTanggalResep)->format('Y-m-d H:i:s') : null, 'doctor_name' => $this->sDokterName ? $this->sDokterName : '-', 'items' => $this->items ? $this->items : [], + 'status_prescription' => $this->status_prescription ]; return $data; diff --git a/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php b/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php index 633d50e8..1cc18e34 100755 --- a/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php +++ b/Modules/Linksehat/Http/Controllers/Api/AutocompleteController.php @@ -111,18 +111,23 @@ class AutocompleteController extends Controller { return Helper::responseJson(data: $manipulatedIcds); } + public function drugList(Request $request){ + $drugs = Drug::query() ->where([ - 'atc_code' => 'lms', // ini untuk menggunakan list obat yang baru + 'atc_code' => $request->provider, // ini untuk menggunakan list obat yang baru ]) ->get(); $manipulatedDrugs = $drugs->map(function ($drug) { // Contoh manipulasi, tambahkan atau ubah properti sesuai kebutuhan return [ - 'value' => $drug->id, // Ganti dengan properti yang sesuai dari model Icd - 'label' => $drug->name, // Ganti dengan properti yang sesuai dari model Icd + 'value' => $drug->id, + 'label' => $drug->name, + 'code' => $drug->code, + 'price' => $drug->price, + 'unit' => $drug->unit, ]; }); return Helper::responseJson(data: $manipulatedDrugs); @@ -142,5 +147,38 @@ class AutocompleteController extends Controller { return Helper::responseJson(data: $manipulatedUnits); } + public function signaList(Request $request){ + $signa = DB::connection('oldlms')->table('tm_signa')->get()->toArray(); + $data = []; + + if ($signa){ + $temp = []; + foreach($signa as $d){ + $temp['id'] = $d->nID; + $temp['value'] = $d->signa; + $temp['label'] = $d->signa; + + array_push($data, $temp); + } + + } + return Helper::responseJson($data); + } + + public function signaAdd(Request $request){ + $validatedData = $request->validate([ + 'signa' => 'required|string|max:255', + ]); + + // Insert the new signa into the tm_signa table + DB::connection('oldlms')->table('tm_signa')->insert([ + 'sStatusPernikahan' => $validatedData['signa'] + ]); + + // Return a success response + return Helper::responseJson(['message' => 'Signa added successfully']); + } + + } diff --git a/app/Models/Organization.php b/app/Models/Organization.php index 6c3f7c73..5141d18a 100755 --- a/app/Models/Organization.php +++ b/app/Models/Organization.php @@ -21,6 +21,10 @@ class Organization extends Model 'corporate_id_partner', 'phone', 'email', + 'operational_day', + 'operational_hour', + 'operational_day_other', + 'operational_hour_other', ]; // public $with = [ diff --git a/app/Models/User.php b/app/Models/User.php index f20a4617..176e0671 100755 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -25,6 +25,7 @@ class User extends Authenticatable protected $connection = 'mysql'; protected $fillable = [ + 'organization_id', 'person_id', 'name', 'email', diff --git a/composer.lock b/composer.lock index efcff5c0..cb7014e3 100755 --- a/composer.lock +++ b/composer.lock @@ -1375,16 +1375,16 @@ }, { "name": "google/auth", - "version": "v1.41.0", + "version": "v1.40.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "1043ea18fe7f5dfbf5b208ce3ee6d6b6ab8cb038" + "reference": "bff9f2d01677e71a98394b5ac981b99523df5178" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/1043ea18fe7f5dfbf5b208ce3ee6d6b6ab8cb038", - "reference": "1043ea18fe7f5dfbf5b208ce3ee6d6b6ab8cb038", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/bff9f2d01677e71a98394b5ac981b99523df5178", + "reference": "bff9f2d01677e71a98394b5ac981b99523df5178", "shasum": "" }, "require": { @@ -1429,9 +1429,9 @@ "support": { "docs": "https://googleapis.github.io/google-auth-library-php/main/", "issues": "https://github.com/googleapis/google-auth-library-php/issues", - "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.41.0" + "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.40.0" }, - "time": "2024-07-10T15:21:07+00:00" + "time": "2024-05-31T19:16:15+00:00" }, { "name": "google/cloud-core", @@ -1756,11976 +1756,13 @@ }, { "name": "google/protobuf", - "version": "v4.27.2", + "version": "v4.27.1", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "1b9bfead0ea8108e6ab411258fc38417b62d4bf6" + "reference": "c471e2b3afe61bf41f22d1ca926b24e7ce96c598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/1b9bfead0ea8108e6ab411258fc38417b62d4bf6", - "reference": "1b9bfead0ea8108e6ab411258fc38417b62d4bf6", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": ">=5.0.0" - }, - "suggest": { - "ext-bcmath": "Need to support JSON deserialization" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Protobuf\\": "src/Google/Protobuf", - "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "proto library for PHP", - "homepage": "https://developers.google.com/protocol-buffers/", - "keywords": [ - "proto" - ], - "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.27.2" - }, - "time": "2024-06-25T19:14:44+00:00" - }, - { - "name": "graham-campbell/result-type", - "version": "v1.1.2", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2023-11-12T22:16:48+00:00" - }, - { - "name": "grpc/grpc", - "version": "1.57.0", - "source": { - "type": "git", - "url": "https://github.com/grpc/grpc-php.git", - "reference": "b610c42022ed3a22f831439cb93802f2a4502fdf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/grpc/grpc-php/zipball/b610c42022ed3a22f831439cb93802f2a4502fdf", - "reference": "b610c42022ed3a22f831439cb93802f2a4502fdf", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "google/auth": "^v1.3.0" - }, - "suggest": { - "ext-protobuf": "For better performance, install the protobuf C extension.", - "google/protobuf": "To get started using grpc quickly, install the native protobuf library." - }, - "type": "library", - "autoload": { - "psr-4": { - "Grpc\\": "src/lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "gRPC library for PHP", - "homepage": "https://grpc.io", - "keywords": [ - "rpc" - ], - "support": { - "source": "https://github.com/grpc/grpc-php/tree/v1.57.0" - }, - "time": "2023-08-14T23:57:54+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.9.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/84ac2b2afc44e40d3e8e658a45d68d6d20437612", - "reference": "84ac2b2afc44e40d3e8e658a45d68d6d20437612", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.3", - "guzzlehttp/psr7": "^2.7.0", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-curl": "*", - "guzzle/client-integration-tests": "3.0.2", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2024-07-18T11:52:56+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.39 || ^9.6.20" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2024-07-18T10:29:17+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.7.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", - "phpunit/phpunit": "^8.5.39 || ^9.6.20" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.7.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2024-07-18T11:15:46+00:00" - }, - { - "name": "guzzlehttp/uri-template", - "version": "v1.0.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", - "uri-template/tests": "1.0.0" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\UriTemplate\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - } - ], - "description": "A polyfill class for uri_template of PHP", - "keywords": [ - "guzzlehttp", - "uri-template" - ], - "support": { - "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", - "type": "tidelift" - } - ], - "time": "2023-12-03T19:50:20+00:00" - }, - { - "name": "h4cc/wkhtmltoimage-amd64", - "version": "0.12.4", - "source": { - "type": "git", - "url": "https://github.com/h4cc/wkhtmltoimage-amd64.git", - "reference": "c4e33f635207af89a704205b8902fb5715ca88be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/h4cc/wkhtmltoimage-amd64/zipball/c4e33f635207af89a704205b8902fb5715ca88be", - "reference": "c4e33f635207af89a704205b8902fb5715ca88be", - "shasum": "" - }, - "bin": [ - "bin/wkhtmltoimage-amd64" - ], - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL Version 3" - ], - "authors": [ - { - "name": "Julius Beckmann", - "email": "github@h4cc.de" - } - ], - "description": "Convert html to image using webkit (qtwebkit). Static linked linux binary for amd64 systems.", - "homepage": "http://wkhtmltopdf.org/", - "keywords": [ - "binary", - "convert", - "image", - "snapshot", - "thumbnail", - "wkhtmltoimage" - ], - "support": { - "issues": "https://github.com/h4cc/wkhtmltoimage-amd64/issues", - "source": "https://github.com/h4cc/wkhtmltoimage-amd64/tree/master" - }, - "time": "2018-01-15T07:23:40+00:00" - }, - { - "name": "h4cc/wkhtmltopdf-amd64", - "version": "0.12.4", - "source": { - "type": "git", - "url": "https://github.com/h4cc/wkhtmltopdf-amd64.git", - "reference": "4e2ab2d032a5d7fbe2a741de8b10b8989523c95b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/h4cc/wkhtmltopdf-amd64/zipball/4e2ab2d032a5d7fbe2a741de8b10b8989523c95b", - "reference": "4e2ab2d032a5d7fbe2a741de8b10b8989523c95b", - "shasum": "" - }, - "bin": [ - "bin/wkhtmltopdf-amd64" - ], - "type": "library", - "autoload": { - "psr-4": { - "h4cc\\WKHTMLToPDF\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL Version 3" - ], - "authors": [ - { - "name": "Julius Beckmann", - "email": "github@h4cc.de" - } - ], - "description": "Convert html to pdf using webkit (qtwebkit). Static linked linux binary for amd64 systems.", - "homepage": "http://wkhtmltopdf.org/", - "keywords": [ - "binary", - "convert", - "pdf", - "snapshot", - "thumbnail", - "wkhtmltopdf" - ], - "support": { - "issues": "https://github.com/h4cc/wkhtmltopdf-amd64/issues", - "source": "https://github.com/h4cc/wkhtmltopdf-amd64/tree/master" - }, - "time": "2018-01-15T06:57:33+00:00" - }, - { - "name": "intervention/image", - "version": "2.7.2", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "04be355f8d6734c826045d02a1079ad658322dad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", - "reference": "04be355f8d6734c826045d02a1079ad658322dad", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1 || ^2.0", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - }, - "laravel": { - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ], - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - } - } - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" - } - ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" - ], - "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/2.7.2" - }, - "funding": [ - { - "url": "https://paypal.me/interventionio", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - } - ], - "time": "2022-05-21T17:30:32+00:00" - }, - { - "name": "knplabs/knp-snappy", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/KnpLabs/snappy.git", - "reference": "98468898b50c09f26d56d905b79b0f52a2215da6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/snappy/zipball/98468898b50c09f26d56d905b79b0f52a2215da6", - "reference": "98468898b50c09f26d56d905b79b0f52a2215da6", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/log": "^2.0||^3.0", - "symfony/process": "^5.0||^6.0||^7.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.0", - "pedrotroller/php-cs-custom-fixer": "^2.19", - "phpstan/phpstan": "^1.0.0", - "phpstan/phpstan-phpunit": "^1.0.0", - "phpunit/phpunit": "^8.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Knp\\Snappy\\": "src/Knp/Snappy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KNP Labs Team", - "homepage": "http://knplabs.com" - }, - { - "name": "Symfony Community", - "homepage": "http://github.com/KnpLabs/snappy/contributors" - } - ], - "description": "PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Wrapper for wkhtmltopdf/wkhtmltoimage.", - "homepage": "http://github.com/KnpLabs/snappy", - "keywords": [ - "knp", - "knplabs", - "pdf", - "snapshot", - "thumbnail", - "wkhtmltopdf" - ], - "support": { - "issues": "https://github.com/KnpLabs/snappy/issues", - "source": "https://github.com/KnpLabs/snappy/tree/v1.5.0" - }, - "time": "2023-12-18T09:12:11+00:00" - }, - { - "name": "kreait/firebase-php", - "version": "6.9.6", - "source": { - "type": "git", - "url": "https://github.com/kreait/firebase-php.git", - "reference": "d6592be9b27a7c0b13f484f5af494e278901e441" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kreait/firebase-php/zipball/d6592be9b27a7c0b13f484f5af494e278901e441", - "reference": "d6592be9b27a7c0b13f484f5af494e278901e441", - "shasum": "" - }, - "require": { - "beste/clock": "^2.1", - "beste/json": "^1.0", - "ext-ctype": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "fig/http-message-util": "^1.1", - "google/auth": "^1.21", - "google/cloud-core": "^1.44.2", - "google/cloud-storage": "^1.26.2", - "guzzlehttp/guzzle": "^7.4.5", - "kreait/firebase-tokens": "^3.0", - "lcobucci/jwt": "^4.1", - "mtdowling/jmespath.php": "^2.6.1", - "php": "^7.4|^8.0", - "psr/cache": "^1.0.1|^2.0|^3.0", - "psr/log": "^1.1|^2.0|^3.0", - "riverline/multipart-parser": "^2.0.8", - "symfony/polyfill-php80": "^1.23", - "symfony/polyfill-php81": "^1.23" - }, - "require-dev": { - "google/cloud-firestore": "^1.25.1", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8.2", - "phpstan/phpstan-phpunit": "^1.1.1", - "phpunit/phpunit": "^9.5.22", - "symfony/var-dumper": "^5.4|^6.1.3" - }, - "suggest": { - "google/cloud-firestore": "^1.0 to use the Firestore component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-7.x": "7.x-dev", - "dev-6.x": "6.x-dev", - "dev-5.x": "5.x-dev", - "dev-4.x": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Kreait\\Firebase\\": "src/Firebase" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jérôme Gamez", - "homepage": "https://github.com/jeromegamez" - } - ], - "description": "Firebase Admin SDK", - "homepage": "https://github.com/kreait/firebase-php", - "keywords": [ - "api", - "database", - "firebase", - "google", - "sdk" - ], - "support": { - "docs": "https://firebase-php.readthedocs.io", - "issues": "https://github.com/kreait/firebase-php/issues", - "source": "https://github.com/kreait/firebase-php" - }, - "funding": [ - { - "url": "https://github.com/sponsors/jeromegamez", - "type": "github" - } - ], - "time": "2023-06-10T06:44:56+00:00" - }, - { - "name": "kreait/firebase-tokens", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/kreait/firebase-tokens-php.git", - "reference": "3f732ae04f6548f5130709daf06fcc1ca0561002" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kreait/firebase-tokens-php/zipball/3f732ae04f6548f5130709daf06fcc1ca0561002", - "reference": "3f732ae04f6548f5130709daf06fcc1ca0561002", - "shasum": "" - }, - "require": { - "beste/clock": "^2.0", - "ext-json": "*", - "ext-openssl": "*", - "fig/http-message-util": "^1.1.5", - "guzzlehttp/guzzle": "^7.4.5", - "lcobucci/jwt": "^4.1.5", - "php": "^7.4|^8.0", - "psr/cache": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.4", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5.10", - "rector/rector": "^0.12.9", - "symfony/cache": "^5.4|^6.0", - "symfony/var-dumper": "^5.3|^6.0" - }, - "suggest": { - "psr/cache-implementation": "to cache fetched remote public keys" - }, - "type": "library", - "autoload": { - "psr-4": { - "Kreait\\Firebase\\JWT\\": "src/JWT" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jérôme Gamez", - "homepage": "https://github.com/jeromegamez" - } - ], - "description": "A library to work with Firebase tokens", - "homepage": "https://github.com/kreait/firebase-token-php", - "keywords": [ - "Authentication", - "auth", - "firebase", - "google", - "token" - ], - "support": { - "issues": "https://github.com/kreait/firebase-tokens-php/issues", - "source": "https://github.com/kreait/firebase-tokens-php/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sponsors/jeromegamez", - "type": "github" - } - ], - "time": "2022-08-22T21:40:00+00:00" - }, - { - "name": "kreait/laravel-firebase", - "version": "4.2.0", - "source": { - "type": "git", - "url": "https://github.com/kreait/laravel-firebase.git", - "reference": "35bdebd32cde14735e4edaa13d6684becf6607b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kreait/laravel-firebase/zipball/35bdebd32cde14735e4edaa13d6684becf6607b4", - "reference": "35bdebd32cde14735e4edaa13d6684becf6607b4", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^8.0 || ^9.0", - "illuminate/support": "^8.0 || ^9.0", - "kreait/firebase-php": "^6.7", - "php": "^7.4 || ^8.0", - "symfony/cache": "^5.4 || ^6.1.2" - }, - "require-dev": { - "orchestra/testbench": "^6.0 || 7.0", - "symplify/easy-coding-standard": "^10.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, - "laravel": { - "providers": [ - "Kreait\\Laravel\\Firebase\\ServiceProvider" - ], - "aliases": { - "Firebase": "Kreait\\Laravel\\Firebase\\Facades\\Firebase" - } - } - }, - "autoload": { - "psr-4": { - "Kreait\\Laravel\\Firebase\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jérôme Gamez", - "email": "jerome@gamez.name" - } - ], - "description": "A Laravel package for the Firebase PHP Admin SDK", - "keywords": [ - "FCM", - "api", - "database", - "firebase", - "gcm", - "laravel", - "sdk" - ], - "support": { - "issues": "https://github.com/kreait/laravel-firebase/issues", - "source": "https://github.com/kreait/laravel-firebase/tree/4.2.0" - }, - "funding": [ - { - "url": "https://www.buymeacoffee.com/jeromegamez", - "type": "custom" - }, - { - "url": "https://www.paypal.me/jeromegamez", - "type": "custom" - }, - { - "url": "https://github.com/jeromegamez", - "type": "github" - }, - { - "url": "https://ko-fi.com/jeromegamez", - "type": "ko_fi" - }, - { - "url": "https://www.patreon.com/jeromegamez", - "type": "patreon" - } - ], - "time": "2022-07-28T18:03:37+00:00" - }, - { - "name": "laravel-notification-channels/fcm", - "version": "2.7.0", - "source": { - "type": "git", - "url": "https://github.com/laravel-notification-channels/fcm.git", - "reference": "e77f18d314d2d466cee76efe2c7ec051f2345286" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel-notification-channels/fcm/zipball/e77f18d314d2d466cee76efe2c7ec051f2345286", - "reference": "e77f18d314d2d466cee76efe2c7ec051f2345286", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.2 || ^7.0", - "illuminate/notifications": "~5.6 || ~6.0 || ~7.0 || ~8.0 || ~9.0|^10.0", - "illuminate/support": "~5.6 || ~6.0 || ~7.0 || ~8.0 || ~9.0|^10.0", - "kreait/laravel-firebase": "^1.3 || ^2.1 || ^3.0 || ^4.0|^1.0", - "php": ">=7.1.3", - "spatie/enum": "^2.3 || ^3.0" - }, - "require-dev": { - "mockery/mockery": "^1.5.1", - "phpunit/phpunit": "^9.5.10" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NotificationChannels\\Fcm\\FcmServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NotificationChannels\\Fcm\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Bautista", - "email": "chris.bautista@coreproc.ph", - "homepage": "https://coreproc.com", - "role": "Developer" - } - ], - "description": "FCM (Firebase Cloud Messaging) Notifications Driver for Laravel", - "homepage": "https://github.com/laravel-notification-channels/fcm", - "support": { - "issues": "https://github.com/laravel-notification-channels/fcm/issues", - "source": "https://github.com/laravel-notification-channels/fcm/tree/2.7.0" - }, - "time": "2023-01-31T23:52:17+00:00" - }, - { - "name": "laravel/framework", - "version": "v9.52.16", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "082345d76fc6a55b649572efe10b11b03e279d24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24", - "reference": "082345d76fc6a55b649572efe10b11b03e279d24", - "shasum": "" - }, - "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", - "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", - "egulias/email-validator": "^3.2.1|^4.0", - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "ext-session": "*", - "ext-tokenizer": "*", - "fruitcake/php-cors": "^1.2", - "guzzlehttp/uri-template": "^1.0", - "laravel/serializable-closure": "^1.2.2", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.62.1", - "nunomaduro/termwind": "^1.13", - "php": "^8.0.2", - "psr/container": "^1.1.1|^2.0.1", - "psr/log": "^1.0|^2.0|^3.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "ramsey/uuid": "^4.7", - "symfony/console": "^6.0.9", - "symfony/error-handler": "^6.0", - "symfony/finder": "^6.0", - "symfony/http-foundation": "^6.0", - "symfony/http-kernel": "^6.0", - "symfony/mailer": "^6.0", - "symfony/mime": "^6.0", - "symfony/process": "^6.0", - "symfony/routing": "^6.0", - "symfony/uid": "^6.0", - "symfony/var-dumper": "^6.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/collections": "self.version", - "illuminate/conditionable": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/macroable": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/testing": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", - "doctrine/dbal": "^2.13.3|^3.1.4", - "ext-gmp": "*", - "fakerphp/faker": "^1.21", - "guzzlehttp/guzzle": "^7.5", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^7.24", - "pda/pheanstalk": "^4.0", - "phpstan/phpdoc-parser": "^1.15", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^9.5.8", - "predis/predis": "^1.1.9|^2.0.2", - "symfony/cache": "^6.0", - "symfony/http-client": "^6.0" - }, - "suggest": { - "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", - "ext-apcu": "Required to use the APC cache driver.", - "ext-fileinfo": "Required to use the Filesystem class.", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", - "ext-pdo": "Required to use all database features.", - "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", - "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.5.1).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", - "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.2).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "files": [ - "src/Illuminate/Collections/helpers.php", - "src/Illuminate/Events/functions.php", - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/", - "Illuminate\\Support\\": [ - "src/Illuminate/Macroable/", - "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-10-03T13:02:30+00:00" - }, - { - "name": "laravel/sanctum", - "version": "v2.15.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/sanctum.git", - "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/sanctum/zipball/31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", - "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", - "shasum": "" - }, - "require": { - "ext-json": "*", - "illuminate/console": "^6.9|^7.0|^8.0|^9.0", - "illuminate/contracts": "^6.9|^7.0|^8.0|^9.0", - "illuminate/database": "^6.9|^7.0|^8.0|^9.0", - "illuminate/support": "^6.9|^7.0|^8.0|^9.0", - "php": "^7.2|^8.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0", - "phpunit/phpunit": "^8.0|^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Sanctum\\SanctumServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Sanctum\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", - "keywords": [ - "auth", - "laravel", - "sanctum" - ], - "support": { - "issues": "https://github.com/laravel/sanctum/issues", - "source": "https://github.com/laravel/sanctum" - }, - "time": "2022-04-08T13:39:49+00:00" - }, - { - "name": "laravel/serializable-closure", - "version": "v1.3.3", - "source": { - "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "nesbot/carbon": "^2.61", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Laravel\\SerializableClosure\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - }, - { - "name": "Nuno Maduro", - "email": "nuno@laravel.com" - } - ], - "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", - "keywords": [ - "closure", - "laravel", - "serializable" - ], - "support": { - "issues": "https://github.com/laravel/serializable-closure/issues", - "source": "https://github.com/laravel/serializable-closure" - }, - "time": "2023-11-08T14:08:06+00:00" - }, - { - "name": "laravel/socialite", - "version": "v5.15.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/socialite.git", - "reference": "cc02625f0bd1f95dc3688eb041cce0f1e709d029" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/cc02625f0bd1f95dc3688eb041cce0f1e709d029", - "reference": "cc02625f0bd1f95dc3688eb041cce0f1e709d029", - "shasum": "" - }, - "require": { - "ext-json": "*", - "firebase/php-jwt": "^6.4", - "guzzlehttp/guzzle": "^6.0|^7.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "league/oauth1-client": "^1.10.1", - "php": "^7.2|^8.0", - "phpseclib/phpseclib": "^3.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.0|^9.3|^10.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Socialite\\SocialiteServiceProvider" - ], - "aliases": { - "Socialite": "Laravel\\Socialite\\Facades\\Socialite" - } - } - }, - "autoload": { - "psr-4": { - "Laravel\\Socialite\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.", - "homepage": "https://laravel.com", - "keywords": [ - "laravel", - "oauth" - ], - "support": { - "issues": "https://github.com/laravel/socialite/issues", - "source": "https://github.com/laravel/socialite" - }, - "time": "2024-06-28T20:09:34+00:00" - }, - { - "name": "laravel/tinker", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "shasum": "" - }, - "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "php": "^7.2.5|^8.0", - "psy/psysh": "^0.11.1|^0.12.0", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" - }, - "require-dev": { - "mockery/mockery": "~1.3.3|^1.4.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], - "support": { - "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" - }, - "time": "2024-01-04T16:10:04+00:00" - }, - { - "name": "lcobucci/clock", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/clock.git", - "reference": "6f28b826ea01306b07980cb8320ab30b966cd715" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/6f28b826ea01306b07980cb8320ab30b966cd715", - "reference": "6f28b826ea01306b07980cb8320ab30b966cd715", - "shasum": "" - }, - "require": { - "php": "~8.2.0 || ~8.3.0", - "psr/clock": "^1.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "infection/infection": "^0.27", - "lcobucci/coding-standard": "^11.0.0", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.10.25", - "phpstan/phpstan-deprecation-rules": "^1.1.3", - "phpstan/phpstan-phpunit": "^1.3.13", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^10.2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com" - } - ], - "description": "Yet another clock abstraction", - "support": { - "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2023-11-17T17:00:27+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4", - "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4", - "shasum": "" - }, - "require": { - "ext-hash": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "ext-sodium": "*", - "lcobucci/clock": "^2.0 || ^3.0", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "infection/infection": "^0.21", - "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.3.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2023-01-02T13:28:00+00:00" - }, - { - "name": "league/commonmark", - "version": "2.4.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "league/config": "^1.1.1", - "php": "^7.4 || ^8.0", - "psr/event-dispatcher": "^1.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.3", - "commonmark/commonmark.js": "0.30.0", - "composer/package-versions-deprecated": "^1.8", - "embed/embed": "^4.4", - "erusev/parsedown": "^1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "^1.4 || ^2.0", - "nyholm/psr7": "^1.5", - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", - "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", - "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" - }, - "suggest": { - "symfony/yaml": "v2.3+ required if using the Front Matter extension" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "support": { - "docs": "https://commonmark.thephpleague.com/", - "forum": "https://github.com/thephpleague/commonmark/discussions", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2024-02-02T11:59:32+00:00" - }, - { - "name": "league/config", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/config.git", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", - "shasum": "" - }, - "require": { - "dflydev/dot-access-data": "^3.0.1", - "nette/schema": "^1.2", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.5", - "scrutinizer/ocular": "^1.8.1", - "unleashedtech/php-coding-standard": "^3.1", - "vimeo/psalm": "^4.7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Config\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Define configuration arrays with strict schemas and access values with dot notation", - "homepage": "https://config.thephpleague.com", - "keywords": [ - "array", - "config", - "configuration", - "dot", - "dot-access", - "nested", - "schema" - ], - "support": { - "docs": "https://config.thephpleague.com/", - "issues": "https://github.com/thephpleague/config/issues", - "rss": "https://github.com/thephpleague/config/releases.atom", - "source": "https://github.com/thephpleague/config" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - } - ], - "time": "2022-12-11T20:36:23+00:00" - }, - { - "name": "league/flysystem", - "version": "3.28.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", - "shasum": "" - }, - "require": { - "league/flysystem-local": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "async-aws/core": "<1.19.0", - "async-aws/s3": "<1.14.0", - "aws/aws-sdk-php": "3.209.31 || 3.210.0", - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1", - "phpseclib/phpseclib": "3.0.15", - "symfony/http-client": "<5.2" - }, - "require-dev": { - "async-aws/s3": "^1.5 || ^2.0", - "async-aws/simple-s3": "^1.1 || ^2.0", - "aws/aws-sdk-php": "^3.295.10", - "composer/semver": "^3.0", - "ext-fileinfo": "*", - "ext-ftp": "*", - "ext-mongodb": "^1.3", - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.5", - "google/cloud-storage": "^1.23", - "guzzlehttp/psr7": "^2.6", - "microsoft/azure-storage-blob": "^1.1", - "mongodb/mongodb": "^1.2", - "phpseclib/phpseclib": "^3.0.36", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5.11|^10.0", - "sabre/dav": "^4.6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "File storage abstraction for PHP", - "keywords": [ - "WebDAV", - "aws", - "cloud", - "file", - "files", - "filesystem", - "filesystems", - "ftp", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" - }, - "time": "2024-05-22T10:09:12+00:00" - }, - { - "name": "league/flysystem-local", - "version": "3.28.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/flysystem": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\Local\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Local filesystem adapter for Flysystem.", - "keywords": [ - "Flysystem", - "file", - "files", - "filesystem", - "local" - ], - "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" - }, - "time": "2024-05-06T20:05:52+00:00" - }, - { - "name": "league/glide", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/glide.git", - "reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/glide/zipball/2ff92c8f1edc80b74e2d3c5efccfc7223f74d407", - "reference": "2ff92c8f1edc80b74e2d3c5efccfc7223f74d407", - "shasum": "" - }, - "require": { - "intervention/image": "^2.7", - "league/flysystem": "^2.0|^3.0", - "php": "^7.2|^8.0", - "psr/http-message": "^1.0|^2.0" - }, - "require-dev": { - "mockery/mockery": "^1.3.3", - "phpunit/php-token-stream": "^3.1|^4.0", - "phpunit/phpunit": "^8.5|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Glide\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Reinink", - "email": "jonathan@reinink.ca", - "homepage": "http://reinink.ca" - }, - { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com", - "homepage": "https://titouangalopin.com" - } - ], - "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", - "homepage": "http://glide.thephpleague.com", - "keywords": [ - "ImageMagick", - "editing", - "gd", - "image", - "imagick", - "league", - "manipulation", - "processing" - ], - "support": { - "issues": "https://github.com/thephpleague/glide/issues", - "source": "https://github.com/thephpleague/glide/tree/2.3.0" - }, - "time": "2023-07-08T06:26:07+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.15.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2024-01-28T23:22:08+00:00" - }, - { - "name": "league/oauth1-client", - "version": "v1.10.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "d6365b901b5c287dd41f143033315e2f777e1167" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/d6365b901b5c287dd41f143033315e2f777e1167", - "reference": "d6365b901b5c287dd41f143033315e2f777e1167", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-openssl": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "guzzlehttp/psr7": "^1.7|^2.0", - "php": ">=7.1||>=8.0" - }, - "require-dev": { - "ext-simplexml": "*", - "friendsofphp/php-cs-fixer": "^2.17", - "mockery/mockery": "^1.3.3", - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5||9.5" - }, - "suggest": { - "ext-simplexml": "For decoding XML-based responses." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev", - "dev-develop": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\OAuth1\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "description": "OAuth 1.0 Client Library", - "keywords": [ - "Authentication", - "SSO", - "authorization", - "bitbucket", - "identity", - "idp", - "oauth", - "oauth1", - "single sign on", - "trello", - "tumblr", - "twitter" - ], - "support": { - "issues": "https://github.com/thephpleague/oauth1-client/issues", - "source": "https://github.com/thephpleague/oauth1-client/tree/v1.10.1" - }, - "time": "2022-04-15T14:02:14+00:00" - }, - { - "name": "maatwebsite/excel", - "version": "3.1.55", - "source": { - "type": "git", - "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260", - "reference": "6d9d791dcdb01a9b6fd6f48d46f0d5fff86e6260", - "shasum": "" - }, - "require": { - "composer/semver": "^3.3", - "ext-json": "*", - "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0", - "php": "^7.0||^8.0", - "phpoffice/phpspreadsheet": "^1.18", - "psr/simple-cache": "^1.0||^2.0||^3.0" - }, - "require-dev": { - "laravel/scout": "^7.0||^8.0||^9.0||^10.0", - "orchestra/testbench": "^6.0||^7.0||^8.0||^9.0", - "predis/predis": "^1.1" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Maatwebsite\\Excel\\ExcelServiceProvider" - ], - "aliases": { - "Excel": "Maatwebsite\\Excel\\Facades\\Excel" - } - } - }, - "autoload": { - "psr-4": { - "Maatwebsite\\Excel\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Patrick Brouwers", - "email": "patrick@spartner.nl" - } - ], - "description": "Supercharged Excel exports and imports in Laravel", - "keywords": [ - "PHPExcel", - "batch", - "csv", - "excel", - "export", - "import", - "laravel", - "php", - "phpspreadsheet" - ], - "support": { - "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.55" - }, - "funding": [ - { - "url": "https://laravel-excel.com/commercial-support", - "type": "custom" - }, - { - "url": "https://github.com/patrickbrouwers", - "type": "github" - } - ], - "time": "2024-02-20T08:27:10+00:00" - }, - { - "name": "maennchen/zipstream-php", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/b8174494eda667f7d13876b4a7bfef0f62a7c0d1", - "reference": "b8174494eda667f7d13876b4a7bfef0f62a7c0d1", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-zlib": "*", - "php-64bit": "^8.1" - }, - "require-dev": { - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.16", - "guzzlehttp/guzzle": "^7.5", - "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.5", - "phpunit/phpunit": "^10.0", - "vimeo/psalm": "^5.0" - }, - "suggest": { - "guzzlehttp/psr7": "^2.4", - "psr/http-message": "^2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "ZipStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paul Duncan", - "email": "pabs@pablotron.org" - }, - { - "name": "Jonatan Männchen", - "email": "jonatan@maennchen.ch" - }, - { - "name": "Jesse Donat", - "email": "donatj@gmail.com" - }, - { - "name": "András Kolesár", - "email": "kolesar@kolesar.hu" - } - ], - "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", - "keywords": [ - "stream", - "zip" - ], - "support": { - "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" - }, - "funding": [ - { - "url": "https://github.com/maennchen", - "type": "github" - }, - { - "url": "https://opencollective.com/zipstream", - "type": "open_collective" - } - ], - "time": "2023-06-21T14:59:35+00:00" - }, - { - "name": "markbaker/complex", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", - "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "phpcompatibility/php-compatibility": "^9.3", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "squizlabs/php_codesniffer": "^3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Complex\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@lange.demon.co.uk" - } - ], - "description": "PHP Class for working with complex numbers", - "homepage": "https://github.com/MarkBaker/PHPComplex", - "keywords": [ - "complex", - "mathematics" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPComplex/issues", - "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" - }, - "time": "2022-12-06T16:21:08+00:00" - }, - { - "name": "markbaker/matrix", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "728434227fe21be27ff6d86621a1b13107a2562c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", - "reference": "728434227fe21be27ff6d86621a1b13107a2562c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "phpcompatibility/php-compatibility": "^9.3", - "phpdocumentor/phpdocumentor": "2.*", - "phploc/phploc": "^4.0", - "phpmd/phpmd": "2.*", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "sebastian/phpcpd": "^4.0", - "squizlabs/php_codesniffer": "^3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Matrix\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@demon-angel.eu" - } - ], - "description": "PHP Class for working with matrices", - "homepage": "https://github.com/MarkBaker/PHPMatrix", - "keywords": [ - "mathematics", - "matrix", - "vector" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPMatrix/issues", - "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" - }, - "time": "2022-12-02T22:17:43+00:00" - }, - { - "name": "masterminds/html5", - "version": "2.9.0", - "source": { - "type": "git", - "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Masterminds\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matt Butcher", - "email": "technosophos@gmail.com" - }, - { - "name": "Matt Farina", - "email": "matt@mattfarina.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "An HTML5 parser and serializer.", - "homepage": "http://masterminds.github.io/html5-php", - "keywords": [ - "HTML5", - "dom", - "html", - "parser", - "querypath", - "serializer", - "xml" - ], - "support": { - "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" - }, - "time": "2024-03-31T07:05:07+00:00" - }, - { - "name": "mikehaertl/php-shellcommand", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-shellcommand.git", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-shellcommand/zipball/e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "reference": "e79ea528be155ffdec6f3bf1a4a46307bb49e545", - "shasum": "" - }, - "require": { - "php": ">= 5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <=9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\shellcommand\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "An object oriented interface to shell commands", - "keywords": [ - "shell" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-shellcommand/issues", - "source": "https://github.com/mikehaertl/php-shellcommand/tree/1.7.0" - }, - "time": "2023-04-19T08:25:22+00:00" - }, - { - "name": "mikehaertl/php-tmpfile", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/php-tmpfile.git", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/php-tmpfile/zipball/70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "reference": "70a5b70b17bc0d9666388e6a551ecc93d0b40a10", - "shasum": "" - }, - "require-dev": { - "php": ">=5.3.0", - "phpunit/phpunit": ">4.0 <=9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\tmp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Härtl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A convenience class for temporary files", - "keywords": [ - "files" - ], - "support": { - "issues": "https://github.com/mikehaertl/php-tmpfile/issues", - "source": "https://github.com/mikehaertl/php-tmpfile/tree/1.2.1" - }, - "time": "2021-03-01T18:26:25+00:00" - }, - { - "name": "mikehaertl/phpwkhtmltopdf", - "version": "2.5.0", - "source": { - "type": "git", - "url": "https://github.com/mikehaertl/phpwkhtmltopdf.git", - "reference": "17ee71341591415d942774eda2c98d8ba7ea9e90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mikehaertl/phpwkhtmltopdf/zipball/17ee71341591415d942774eda2c98d8ba7ea9e90", - "reference": "17ee71341591415d942774eda2c98d8ba7ea9e90", - "shasum": "" - }, - "require": { - "mikehaertl/php-shellcommand": "^1.5.0", - "mikehaertl/php-tmpfile": "^1.2.1", - "php": ">=5.0.0" - }, - "require-dev": { - "phpunit/phpunit": ">4.0 <9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "mikehaertl\\wkhtmlto\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Haertl", - "email": "haertl.mike@gmail.com" - } - ], - "description": "A slim PHP wrapper around wkhtmltopdf with an easy to use and clean OOP interface", - "homepage": "http://mikehaertl.github.com/phpwkhtmltopdf/", - "keywords": [ - "pdf", - "wkhtmltoimage", - "wkhtmltopdf" - ], - "support": { - "issues": "https://github.com/mikehaertl/phpwkhtmltopdf/issues", - "source": "https://github.com/mikehaertl/phpwkhtmltopdf/tree/2.5.0" - }, - "time": "2021-03-01T19:41:06+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.9.3", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "provide": { - "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7 || ^8", - "ext-json": "*", - "graylog2/gelf-php": "^1.4.2 || ^2@dev", - "guzzlehttp/guzzle": "^7.4", - "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.38 || ^9.6.19", - "predis/predis": "^1.1 || ^2.0", - "rollbar/rollbar": "^1.3 || ^2 || ^3", - "ruflin/elastica": "^7", - "swiftmailer/swiftmailer": "^5.3|^6.0", - "symfony/mailer": "^5.4 || ^6", - "symfony/mime": "^5.4 || ^6" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "ext-openssl": "Required to send log messages using SSL", - "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.3" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2024-04-12T20:52:51+00:00" - }, - { - "name": "mtdowling/jmespath.php", - "version": "2.7.0", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", - "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-mbstring": "^1.17" - }, - "require-dev": { - "composer/xdebug-handler": "^3.0.3", - "phpunit/phpunit": "^8.5.33" - }, - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "files": [ - "src/JmesPath.php" - ], - "psr-4": { - "JmesPath\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "support": { - "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" - }, - "time": "2023-08-25T10:54:48+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.72.5", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", - "shasum": "" - }, - "require": { - "carbonphp/carbon-doctrine-types": "*", - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "psr/clock": "^1.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://github.com/sponsors/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon#sponsor", - "type": "opencollective" - }, - { - "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", - "type": "tidelift" - } - ], - "time": "2024-06-03T19:18:41+00:00" - }, - { - "name": "nette/schema", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/nette/schema.git", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", - "shasum": "" - }, - "require": { - "nette/utils": "^4.0", - "php": "8.1 - 8.3" - }, - "require-dev": { - "nette/tester": "^2.4", - "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "📐 Nette Schema: validating data structures against a given Schema.", - "homepage": "https://nette.org", - "keywords": [ - "config", - "nette" - ], - "support": { - "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.0" - }, - "time": "2023-12-11T11:54:22+00:00" - }, - { - "name": "nette/utils", - "version": "v4.0.4", - "source": { - "type": "git", - "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "shasum": "" - }, - "require": { - "php": ">=8.0 <8.4" - }, - "conflict": { - "nette/finder": "<3", - "nette/schema": "<1.2.2" - }, - "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "^2.5", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.9" - }, - "suggest": { - "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", - "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", - "ext-json": "to use Nette\\Utils\\Json", - "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", - "homepage": "https://nette.org", - "keywords": [ - "array", - "core", - "datetime", - "images", - "json", - "nette", - "paginator", - "password", - "slugify", - "string", - "unicode", - "utf-8", - "utility", - "validation" - ], - "support": { - "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" - }, - "time": "2024-01-17T16:50:36+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.1.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" - }, - "time": "2024-07-01T20:03:41+00:00" - }, - { - "name": "nunomaduro/termwind", - "version": "v1.15.1", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" - }, - "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", - "thecodingmachine/phpstan-strict-rules": "^1.0.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Termwind\\Laravel\\TermwindServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/Functions.php" - ], - "psr-4": { - "Termwind\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Its like Tailwind CSS, but for the console.", - "keywords": [ - "cli", - "console", - "css", - "package", - "php", - "style" - ], - "support": { - "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://github.com/xiCO2k", - "type": "github" - } - ], - "time": "2023-02-08T01:06:31+00:00" - }, - { - "name": "nwidart/laravel-modules", - "version": "v9.0.6", - "source": { - "type": "git", - "url": "https://github.com/nWidart/laravel-modules.git", - "reference": "a31b003b9e1dd100d2bcf7da7e036a758d33986d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/a31b003b9e1dd100d2bcf7da7e036a758d33986d", - "reference": "a31b003b9e1dd100d2bcf7da7e036a758d33986d", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.6", - "laravel/framework": "^9.21", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^7.0", - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^9.5", - "spatie/phpunit-snapshot-assertions": "^4.2" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Nwidart\\Modules\\LaravelModulesServiceProvider" - ], - "aliases": { - "Module": "Nwidart\\Modules\\Facades\\Module" - } - }, - "branch-alias": { - "dev-master": "9.0-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Nwidart\\Modules\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Widart", - "email": "n.widart@gmail.com", - "homepage": "https://nicolaswidart.com", - "role": "Developer" - } - ], - "description": "Laravel Module management", - "keywords": [ - "laravel", - "module", - "modules", - "nwidart", - "rad" - ], - "support": { - "issues": "https://github.com/nWidart/laravel-modules/issues", - "source": "https://github.com/nWidart/laravel-modules/tree/v9.0.6" - }, - "funding": [ - { - "url": "https://github.com/nwidart", - "type": "github" - } - ], - "time": "2022-10-28T11:50:28+00:00" - }, - { - "name": "paragonie/constant_time_encoding", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", - "shasum": "" - }, - "require": { - "php": "^8" - }, - "require-dev": { - "phpunit/phpunit": "^9", - "vimeo/psalm": "^4|^5" - }, - "type": "library", - "autoload": { - "psr-4": { - "ParagonIE\\ConstantTime\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com", - "role": "Maintainer" - }, - { - "name": "Steve 'Sc00bz' Thomas", - "email": "steve@tobtu.com", - "homepage": "https://www.tobtu.com", - "role": "Original Developer" - } - ], - "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", - "keywords": [ - "base16", - "base32", - "base32_decode", - "base32_encode", - "base64", - "base64_decode", - "base64_encode", - "bin2hex", - "encoding", - "hex", - "hex2bin", - "rfc4648" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, - "time": "2024-05-08T12:36:18+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, - "time": "2020-10-15T08:29:30+00:00" - }, - { - "name": "paragonie/sodium_compat", - "version": "v1.21.1", - "source": { - "type": "git", - "url": "https://github.com/paragonie/sodium_compat.git", - "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/bb312875dcdd20680419564fe42ba1d9564b9e37", - "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37", - "shasum": "" - }, - "require": { - "paragonie/random_compat": ">=1", - "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" - }, - "require-dev": { - "phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9" - }, - "suggest": { - "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", - "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." - }, - "type": "library", - "autoload": { - "files": [ - "autoload.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com" - }, - { - "name": "Frank Denis", - "email": "jedisct1@pureftpd.org" - } - ], - "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", - "keywords": [ - "Authentication", - "BLAKE2b", - "ChaCha20", - "ChaCha20-Poly1305", - "Chapoly", - "Curve25519", - "Ed25519", - "EdDSA", - "Edwards-curve Digital Signature Algorithm", - "Elliptic Curve Diffie-Hellman", - "Poly1305", - "Pure-PHP cryptography", - "RFC 7748", - "RFC 8032", - "Salpoly", - "Salsa20", - "X25519", - "XChaCha20-Poly1305", - "XSalsa20-Poly1305", - "Xchacha20", - "Xsalsa20", - "aead", - "cryptography", - "ecdh", - "elliptic curve", - "elliptic curve cryptography", - "encryption", - "libsodium", - "php", - "public-key cryptography", - "secret-key cryptography", - "side-channel resistant" - ], - "support": { - "issues": "https://github.com/paragonie/sodium_compat/issues", - "source": "https://github.com/paragonie/sodium_compat/tree/v1.21.1" - }, - "time": "2024-04-22T22:05:04+00:00" - }, - { - "name": "phenx/php-font-lib", - "version": "0.5.6", - "source": { - "type": "git", - "url": "https://github.com/dompdf/php-font-lib.git", - "reference": "a1681e9793040740a405ac5b189275059e2a9863" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a1681e9793040740a405ac5b189275059e2a9863", - "reference": "a1681e9793040740a405ac5b189275059e2a9863", - "shasum": "" - }, - "require": { - "ext-mbstring": "*" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3 || ^4 || ^5 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "FontLib\\": "src/FontLib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", - "support": { - "issues": "https://github.com/dompdf/php-font-lib/issues", - "source": "https://github.com/dompdf/php-font-lib/tree/0.5.6" - }, - "time": "2024-01-29T14:45:26+00:00" - }, - { - "name": "phenx/php-svg-lib", - "version": "0.5.4", - "source": { - "type": "git", - "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/46b25da81613a9cf43c83b2a8c2c1bdab27df691", - "reference": "46b25da81613a9cf43c83b2a8c2c1bdab27df691", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0", - "sabberworm/php-css-parser": "^8.4" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Svg\\": "src/Svg" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", - "support": { - "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.4" - }, - "time": "2024-04-08T12:52:34+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v6.9.1", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.2", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2023-11-25T22:23:28+00:00" - }, - { - "name": "phpoffice/phpspreadsheet", - "version": "1.29.0", - "source": { - "type": "git", - "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fde2ccf55eaef7e86021ff1acce26479160a0fa0", - "reference": "fde2ccf55eaef7e86021ff1acce26479160a0fa0", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-fileinfo": "*", - "ext-gd": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "ext-zip": "*", - "ext-zlib": "*", - "ezyang/htmlpurifier": "^4.15", - "maennchen/zipstream-php": "^2.1 || ^3.0", - "markbaker/complex": "^3.0", - "markbaker/matrix": "^3.0", - "php": "^7.4 || ^8.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-main", - "dompdf/dompdf": "^1.0 || ^2.0", - "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.3", - "mpdf/mpdf": "^8.1.1", - "phpcompatibility/php-compatibility": "^9.3", - "phpstan/phpstan": "^1.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.0 || ^10.0", - "squizlabs/php_codesniffer": "^3.7", - "tecnickcom/tcpdf": "^6.5" - }, - "suggest": { - "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "ext-intl": "PHP Internationalization Functions", - "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", - "mpdf/mpdf": "Option for rendering PDF with PDF Writer", - "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maarten Balliauw", - "homepage": "https://blog.maartenballiauw.be" - }, - { - "name": "Mark Baker", - "homepage": "https://markbakeruk.net" - }, - { - "name": "Franck Lefevre", - "homepage": "https://rootslabs.net" - }, - { - "name": "Erik Tilt" - }, - { - "name": "Adrien Crivelli" - } - ], - "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", - "keywords": [ - "OpenXML", - "excel", - "gnumeric", - "ods", - "php", - "spreadsheet", - "xls", - "xlsx" - ], - "support": { - "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.0" - }, - "time": "2023-06-14T22:48:31+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.9.2", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2023-11-12T21:59:55+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "3.0.39", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "211ebc399c6e73c225a018435fe5ae209d1d1485" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/211ebc399c6e73c225a018435fe5ae209d1d1485", - "reference": "211ebc399c6e73c225a018435fe5ae209d1d1485", - "shasum": "" - }, - "require": { - "paragonie/constant_time_encoding": "^1|^2|^3", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" - }, - "require-dev": { - "phpunit/phpunit": "*" - }, - "suggest": { - "ext-dom": "Install the DOM extension to load XML formatted public keys.", - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib3\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.39" - }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2024-06-24T06:27:33+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory" - }, - "time": "2024-04-15T12:06:14+00:00" - }, - { - "name": "psr/http-message", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/2.0" - }, - "time": "2023-04-04T09:54:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" - }, - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.12.4", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "^5.0 || ^4.0", - "php": "^8.0 || ^7.4", - "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" - }, - "conflict": { - "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, - "bamarni-bin": { - "bin-links": false, - "forward-command": false - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" - }, - "time": "2024-06-10T01:18:23+00:00" - }, - { - "name": "pusher/pusher-php-server", - "version": "7.2.4", - "source": { - "type": "git", - "url": "https://github.com/pusher/pusher-http-php.git", - "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/de2f72296808f9cafa6a4462b15a768ff130cddb", - "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "guzzlehttp/guzzle": "^7.2", - "paragonie/sodium_compat": "^1.6", - "php": "^7.3|^8.0", - "psr/log": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "overtrue/phplint": "^2.3", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "Pusher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Library for interacting with the Pusher REST API", - "keywords": [ - "events", - "messaging", - "php-pusher-server", - "publish", - "push", - "pusher", - "real time", - "real-time", - "realtime", - "rest", - "trigger" - ], - "support": { - "issues": "https://github.com/pusher/pusher-http-php/issues", - "source": "https://github.com/pusher/pusher-http-php/tree/7.2.4" - }, - "time": "2023-12-15T10:58:53+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", - "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - }, - "ramsey/conventional-commits": { - "configFile": "conventional-commits.json" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.7.6", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", - "shasum": "" - }, - "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" - }, - { - "name": "riverline/multipart-parser", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/Riverline/multipart-parser.git", - "reference": "7a9f4646db5181516c61b8e0225a343189beedcd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Riverline/multipart-parser/zipball/7a9f4646db5181516c61b8e0225a343189beedcd", - "reference": "7a9f4646db5181516c61b8e0225a343189beedcd", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.6.0" - }, - "require-dev": { - "laminas/laminas-diactoros": "^1.8.7 || ^2.11.1", - "phpunit/phpunit": "^5.7 || ^9.0", - "psr/http-message": "^1.0", - "symfony/psr-http-message-bridge": "^1.1 || ^2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Riverline\\MultiPartParser\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Romain Cambien", - "email": "romain@cambien.net" - }, - { - "name": "Riverline", - "homepage": "http://www.riverline.fr" - } - ], - "description": "One class library to parse multipart content with encoding and charset support.", - "keywords": [ - "http", - "multipart", - "parser" - ], - "support": { - "issues": "https://github.com/Riverline/multipart-parser/issues", - "source": "https://github.com/Riverline/multipart-parser/tree/2.1.2" - }, - "time": "2024-03-12T16:46:05+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.6", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "34efe65c79710eed0883884f2285ae6d4a0aad19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/34efe65c79710eed0883884f2285ae6d4a0aad19", - "reference": "34efe65c79710eed0883884f2285ae6d4a0aad19", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8.36" - }, - "type": "library", - "autoload": { - "psr-4": { - "Rize\\": "src/Rize" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "support": { - "issues": "https://github.com/rize/UriTemplate/issues", - "source": "https://github.com/rize/UriTemplate/tree/0.3.6" - }, - "funding": [ - { - "url": "https://www.paypal.me/rezigned", - "type": "custom" - }, - { - "url": "https://github.com/rezigned", - "type": "github" - }, - { - "url": "https://opencollective.com/rize-uri-template", - "type": "open_collective" - } - ], - "time": "2024-03-10T08:07:49+00:00" - }, - { - "name": "sabberworm/php-css-parser", - "version": "v8.6.0", - "source": { - "type": "git", - "url": "https://github.com/MyIntervals/PHP-CSS-Parser.git", - "reference": "d2fb94a9641be84d79c7548c6d39bbebba6e9a70" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/d2fb94a9641be84d79c7548c6d39bbebba6e9a70", - "reference": "d2fb94a9641be84d79c7548c6d39bbebba6e9a70", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=5.6.20" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.27" - }, - "suggest": { - "ext-mbstring": "for parsing UTF-8 CSS" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "9.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Sabberworm\\CSS\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Schweikert" - }, - { - "name": "Oliver Klee", - "email": "github@oliverklee.de" - }, - { - "name": "Jake Hotson", - "email": "jake.github@qzdesign.co.uk" - } - ], - "description": "Parser for CSS Files written in PHP", - "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser", - "keywords": [ - "css", - "parser", - "stylesheet" - ], - "support": { - "issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues", - "source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v8.6.0" - }, - "time": "2024-07-01T07:33:21+00:00" - }, - { - "name": "spatie/browsershot", - "version": "3.61.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/browsershot.git", - "reference": "14d75679390b8b84a71b3a17dc5905928deeb887" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/browsershot/zipball/14d75679390b8b84a71b3a17dc5905928deeb887", - "reference": "14d75679390b8b84a71b3a17dc5905928deeb887", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^8.0", - "spatie/image": "^1.5.3|^2.0", - "spatie/temporary-directory": "^1.1|^2.0", - "symfony/process": "^4.2|^5.0|^6.0|^7.0" - }, - "require-dev": { - "pestphp/pest": "^1.20", - "spatie/phpunit-snapshot-assertions": "^4.2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Browsershot\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://github.com/freekmurze", - "role": "Developer" - } - ], - "description": "Convert a webpage to an image or pdf using headless Chrome", - "homepage": "https://github.com/spatie/browsershot", - "keywords": [ - "chrome", - "convert", - "headless", - "image", - "pdf", - "puppeteer", - "screenshot", - "webpage" - ], - "support": { - "source": "https://github.com/spatie/browsershot/tree/3.61.0" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2023-12-21T10:00:28+00:00" - }, - { - "name": "spatie/enum", - "version": "3.13.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/enum.git", - "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/enum/zipball/f1a0f464ba909491a53e60a955ce84ad7cd93a2c", - "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^8.0" - }, - "require-dev": { - "fakerphp/faker": "^1.9.1", - "larapack/dd": "^1.1", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "^4.3" - }, - "suggest": { - "fakerphp/faker": "To use the enum faker provider", - "phpunit/phpunit": "To use the enum assertions" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Enum\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brent Roose", - "email": "brent@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Tom Witkowski", - "email": "dev@gummibeer.de", - "homepage": "https://gummibeer.de", - "role": "Developer" - } - ], - "description": "PHP Enums", - "homepage": "https://github.com/spatie/enum", - "keywords": [ - "enum", - "enumerable", - "spatie" - ], - "support": { - "docs": "https://docs.spatie.be/enum", - "issues": "https://github.com/spatie/enum/issues", - "source": "https://github.com/spatie/enum" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-04-22T08:51:55+00:00" - }, - { - "name": "spatie/image", - "version": "2.2.7", - "source": { - "type": "git", - "url": "https://github.com/spatie/image.git", - "reference": "2f802853aab017aa615224daae1588054b5ab20e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/2f802853aab017aa615224daae1588054b5ab20e", - "reference": "2f802853aab017aa615224daae1588054b5ab20e", - "shasum": "" - }, - "require": { - "ext-exif": "*", - "ext-json": "*", - "ext-mbstring": "*", - "league/glide": "^2.2.2", - "php": "^8.0", - "spatie/image-optimizer": "^1.7", - "spatie/temporary-directory": "^1.0|^2.0", - "symfony/process": "^3.0|^4.0|^5.0|^6.0" - }, - "require-dev": { - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5", - "symfony/var-dumper": "^4.0|^5.0|^6.0", - "vimeo/psalm": "^4.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Image\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Manipulate images with an expressive API", - "homepage": "https://github.com/spatie/image", - "keywords": [ - "image", - "spatie" - ], - "support": { - "source": "https://github.com/spatie/image/tree/2.2.7" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2023-07-24T13:54:13+00:00" - }, - { - "name": "spatie/image-optimizer", - "version": "1.7.5", - "source": { - "type": "git", - "url": "https://github.com/spatie/image-optimizer.git", - "reference": "43aff6725cd87bb78ccd8532633cfa8bdc962505" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/43aff6725cd87bb78ccd8532633cfa8bdc962505", - "reference": "43aff6725cd87bb78ccd8532633cfa8bdc962505", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.3|^8.0", - "psr/log": "^1.0 | ^2.0 | ^3.0", - "symfony/process": "^4.2|^5.0|^6.0|^7.0" - }, - "require-dev": { - "pestphp/pest": "^1.21", - "phpunit/phpunit": "^8.5.21|^9.4.4", - "symfony/var-dumper": "^4.2|^5.0|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\ImageOptimizer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily optimize images using PHP", - "homepage": "https://github.com/spatie/image-optimizer", - "keywords": [ - "image-optimizer", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/image-optimizer/issues", - "source": "https://github.com/spatie/image-optimizer/tree/1.7.5" - }, - "time": "2024-05-16T08:48:33+00:00" - }, - { - "name": "spatie/laravel-permission", - "version": "5.11.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-permission.git", - "reference": "7090824cca57e693b880ce3aaf7ef78362e28bbd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/7090824cca57e693b880ce3aaf7ef78362e28bbd", - "reference": "7090824cca57e693b880ce3aaf7ef78362e28bbd", - "shasum": "" - }, - "require": { - "illuminate/auth": "^7.0|^8.0|^9.0|^10.0", - "illuminate/container": "^7.0|^8.0|^9.0|^10.0", - "illuminate/contracts": "^7.0|^8.0|^9.0|^10.0", - "illuminate/database": "^7.0|^8.0|^9.0|^10.0", - "php": "^7.3|^8.0" - }, - "require-dev": { - "orchestra/testbench": "^5.0|^6.0|^7.0|^8.0", - "phpunit/phpunit": "^9.4", - "predis/predis": "^1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.x-dev", - "dev-master": "5.x-dev" - }, - "laravel": { - "providers": [ - "Spatie\\Permission\\PermissionServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\Permission\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Permission handling for Laravel 6.0 and up", - "homepage": "https://github.com/spatie/laravel-permission", - "keywords": [ - "acl", - "laravel", - "permission", - "permissions", - "rbac", - "roles", - "security", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/5.11.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2023-10-25T05:12:01+00:00" - }, - { - "name": "spatie/temporary-directory", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\TemporaryDirectory\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily create, use and destroy temporary directories", - "homepage": "https://github.com/spatie/temporary-directory", - "keywords": [ - "php", - "spatie", - "temporary-directory" - ], - "support": { - "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2023-12-25T11:46:58+00:00" - }, - { - "name": "stella-maris/clock", - "version": "0.1.7", - "source": { - "type": "git", - "url": "https://github.com/stella-maris-solutions/clock.git", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", - "shasum": "" - }, - "require": { - "php": "^7.0|^8.0", - "psr/clock": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "StellaMaris\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Heigl", - "role": "Maintainer" - } - ], - "description": "A pre-release of the proposed PSR-20 Clock-Interface", - "homepage": "https://gitlab.com/stella-maris/clock", - "keywords": [ - "clock", - "datetime", - "point in time", - "psr20" - ], - "support": { - "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7" - }, - "time": "2022-11-25T16:15:06+00:00" - }, - { - "name": "symfony/cache", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "287142df5579ce223c485b3872df3efae8390984" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/287142df5579ce223c485b3872df3efae8390984", - "reference": "287142df5579ce223c485b3872df3efae8390984", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/cache": "^2.0|^3.0", - "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.3.6|^7.0" - }, - "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" - }, - "provide": { - "psr/cache-implementation": "2.0|3.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0", - "symfony/cache-implementation": "1.1|2.0|3.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "classmap": [ - "Traits/ValueWrapper.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", - "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], - "support": { - "source": "https://github.com/symfony/cache/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/cache-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache-contracts.git", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/cache": "^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Cache\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to caching", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/console", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", - "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T09:49:33+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v7.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c9b7cc075b3ab484239855622ca05cb0b99c13ec", - "reference": "c9b7cc075b3ab484239855622ca05cb0b99c13ec", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" - }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-21T16:04:15+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v7.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/finder", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", - "reference": "3ef977a43883215d560a2cecb82ec8e62131471c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "symfony/filesystem": "^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/27de8cc95e11db7a50b027e71caaab9024545947", - "reference": "27de8cc95e11db7a50b027e71caaab9024545947", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" - }, - "conflict": { - "symfony/cache": "<6.3" - }, - "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", - "reference": "cc4a9bec6e1bdd2405f40277a68a6ed1bb393005", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T11:48:06+00:00" - }, - { - "name": "symfony/mailer", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", - "psr/event-dispatcher": "^1", - "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", - "symfony/service-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" - }, - "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mailer\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Helps sending emails", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T07:59:05+00:00" - }, - { - "name": "symfony/mime", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "7d048964877324debdcb4e0549becfa064a20d43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", - "reference": "7d048964877324debdcb4e0549becfa064a20d43", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", - "symfony/serializer": "<6.4.3|>7.0,<7.0.3" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T09:49:33+00:00" - }, - { - "name": "symfony/polyfill-ctype", -<<<<<<< HEAD - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", -======= - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "10112722600777e02d2745716b70c5db4ca70442" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", - "reference": "10112722600777e02d2745716b70c5db4ca70442", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" -======= - "time": "2024-01-29T20:11:03+00:00" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", - "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-19T12:30:46+00:00" - }, - { - "name": "symfony/polyfill-php83", -<<<<<<< HEAD - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", -======= - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-06-19T12:35:24+00:00" - }, - { - "name": "symfony/polyfill-uuid", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", -======= - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-uuid", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-uuid": "*" - }, - "suggest": { - "ext-uuid": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Uuid\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for uuid functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "uuid" - ], - "support": { -<<<<<<< HEAD - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" -======= - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-05-31T15:07:36+00:00" -======= - "time": "2024-01-29T20:11:03+00:00" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - { - "name": "symfony/process", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/routing", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", - "reference": "8a40d0f9b01f0fbb80885d3ce0ad6714fb603a58", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/string", - "version": "v7.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8", - "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v7.1.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T09:27:18+00:00" - }, - { - "name": "symfony/translation", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/a002933b13989fc4bd0b58e04bf7eec5210e438a", - "reference": "a002933b13989fc4bd0b58e04bf7eec5210e438a", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5|^3.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" - }, - "provide": { - "symfony/translation-implementation": "2.3|3.0" - }, - "require-dev": { - "nikic/php-parser": "^4.18|^5.0", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/uid", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/uid.git", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-uuid": "^1.15" - }, - "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Uid\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to generate and represent UIDs", - "homepage": "https://symfony.com", - "keywords": [ - "UID", - "ulid", - "uuid" - ], - "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v6.4.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c31566e4ca944271cc8d8ac6887cbf31b8c6a172", - "reference": "c31566e4ca944271cc8d8ac6887cbf31b8c6a172", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/console": "<5.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.9" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-27T13:23:14+00:00" - }, - { - "name": "symfony/var-exporter", - "version": "v7.1.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.1.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-28T08:00:31+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" - }, - "time": "2023-12-08T13:03:43+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.6.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.2", - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-filter": "*", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, - "branch-alias": { - "dev-master": "5.6-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2023-11-12T22:43:29+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2022-03-08T17:03:00+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" - } - ], - "packages-dev": [ - { - "name": "barryvdh/laravel-debugbar", - "version": "v3.13.5", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/92d86be45ee54edff735e46856f64f14b6a8bb07", - "reference": "92d86be45ee54edff735e46856f64f14b6a8bb07", - "shasum": "" - }, - "require": { - "illuminate/routing": "^9|^10|^11", - "illuminate/session": "^9|^10|^11", - "illuminate/support": "^9|^10|^11", - "maximebf/debugbar": "~1.22.0", - "php": "^8.0", - "symfony/finder": "^6|^7" - }, - "require-dev": { - "mockery/mockery": "^1.3.3", - "orchestra/testbench-dusk": "^5|^6|^7|^8|^9", - "phpunit/phpunit": "^9.6|^10.5", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.13-dev" - }, - "laravel": { - "providers": [ - "Barryvdh\\Debugbar\\ServiceProvider" - ], - "aliases": { - "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Barryvdh\\Debugbar\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "PHP Debugbar integration for Laravel", - "keywords": [ - "debug", - "debugbar", - "laravel", - "profiler", - "webprofiler" - ], - "support": { - "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.13.5" - }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2024-04-12T11:20:37+00:00" - }, - { - "name": "barryvdh/laravel-ide-helper", - "version": "v2.15.1", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/77831852bb7bc54f287246d32eb91274eaf87f8b", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b", - "shasum": "" - }, - "require": { - "barryvdh/reflection-docblock": "^2.0.6", - "composer/class-map-generator": "^1.0", - "doctrine/dbal": "^2.6 || ^3.1.4", - "ext-json": "*", - "illuminate/console": "^9 || ^10", - "illuminate/filesystem": "^9 || ^10", - "illuminate/support": "^9 || ^10", - "nikic/php-parser": "^4.18 || ^5", - "php": "^8.0", - "phpdocumentor/type-resolver": "^1.1.0" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "friendsofphp/php-cs-fixer": "^3", - "illuminate/config": "^9 || ^10", - "illuminate/view": "^9 || ^10", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^7 || ^8", - "phpunit/phpunit": "^9", - "spatie/phpunit-snapshot-assertions": "^4", - "vimeo/psalm": "^5.4" - }, - "suggest": { - "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.15-dev" - }, - "laravel": { - "providers": [ - "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", - "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" - ], - "support": { - "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.15.1" - }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2024-02-15T14:23:20+00:00" - }, - { - "name": "barryvdh/reflection-docblock", - "version": "v2.1.1", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.14|^9" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Barryvdh": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "support": { - "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1" - }, - "time": "2023-06-14T05:06:27+00:00" - }, - { - "name": "composer/class-map-generator", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3", - "reference": "b1b3fd0b4eaf3ddf3ee230bc340bf3fff454a1a3", - "shasum": "" - }, - "require": { - "composer/pcre": "^2.1 || ^3.1", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], - "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.3.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-06-12T14:13:04+00:00" - }, - { - "name": "composer/pcre", - "version": "3.1.4", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "04229f163664973f68f38f6f73d917799168ef24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", - "reference": "04229f163664973f68f38f6f73d917799168ef24", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-05-27T13:40:54+00:00" - }, - { - "name": "doctrine/cache", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], - "time": "2022-05-20T20:07:39+00:00" - }, - { - "name": "doctrine/dbal", -<<<<<<< HEAD - "version": "3.8.6", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1", - "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1", -======= - "version": "3.8.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0e3536ba088a749985c8801105b6b3ac6c1280b6", - "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "require-dev": { - "doctrine/coding-standard": "12.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", -<<<<<<< HEAD - "phpstan/phpstan": "1.11.5", -======= - "phpstan/phpstan": "1.11.1", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "9.6.19", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", -<<<<<<< HEAD - "squizlabs/php_codesniffer": "3.10.1", -======= - "squizlabs/php_codesniffer": "3.9.2", ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", -<<<<<<< HEAD - "source": "https://github.com/doctrine/dbal/tree/3.8.6" -======= - "source": "https://github.com/doctrine/dbal/tree/3.8.5" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], -<<<<<<< HEAD - "time": "2024-06-19T10:38:17+00:00" -======= - "time": "2024-06-08T17:49:56+00:00" ->>>>>>> bfa21b97e4b6c760edac77fc973d86fa3f3fc327 - }, - { - "name": "doctrine/deprecations", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" - }, - "time": "2024-01-30T19:34:25+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "^5.24" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2024-05-22T20:47:39+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "fakerphp/faker", - "version": "v1.23.1", - "source": { - "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "conflict": { - "fzaninotto/faker": "*" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" - }, - "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "ext-curl": "Required by Faker\\Provider\\Image to download images.", - "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", - "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", - "ext-mbstring": "Required for multibyte Unicode string functionality." - }, - "type": "library", - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" - }, - "time": "2024-01-02T13:46:09+00:00" - }, - { - "name": "filp/whoops", - "version": "2.15.4", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" - }, - "funding": [ - { - "url": "https://github.com/denis-sokolov", - "type": "github" - } - ], - "time": "2023-11-03T12:00:00+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "support": { - "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" - }, - "time": "2020-07-09T08:09:16+00:00" - }, - { - "name": "laravel/sail", - "version": "v1.30.2", - "source": { - "type": "git", - "url": "https://github.com/laravel/sail.git", - "reference": "f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887", - "reference": "f5a9699a1001e15de1aa5e7cb5c9f50a3f63f887", - "shasum": "" - }, - "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0", - "illuminate/support": "^9.52.16|^10.0|^11.0", - "php": "^8.0", - "symfony/console": "^6.0|^7.0", - "symfony/yaml": "^6.0|^7.0" - }, - "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", - "phpstan/phpstan": "^1.10" - }, - "bin": [ - "bin/sail" - ], - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laravel\\Sail\\SailServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Sail\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Docker files for running a basic Laravel application.", - "keywords": [ - "docker", - "laravel" - ], - "support": { - "issues": "https://github.com/laravel/sail/issues", - "source": "https://github.com/laravel/sail" - }, - "time": "2024-07-05T16:01:51+00:00" - }, - { - "name": "maximebf/debugbar", - "version": "v1.22.3", - "source": { - "type": "git", - "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96", - "reference": "7aa9a27a0b1158ed5ad4e7175e8d3aee9a818b96", - "shasum": "" - }, - "require": { - "php": "^7.2|^8", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4|^5|^6|^7" - }, - "require-dev": { - "dbrekelmans/bdi": "^1", - "phpunit/phpunit": "^8|^9", - "symfony/panther": "^1|^2.1", - "twig/twig": "^1.38|^2.7|^3.0" - }, - "suggest": { - "kriswallsmith/assetic": "The best way to manage assets", - "monolog/monolog": "Log using Monolog", - "predis/predis": "Redis storage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.22-dev" - } - }, - "autoload": { - "psr-4": { - "DebugBar\\": "src/DebugBar/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maxime Bouroumeau-Fuseau", - "email": "maxime.bouroumeau@gmail.com", - "homepage": "http://maximebf.com" - }, - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "Debug bar in the browser for php application", - "homepage": "https://github.com/maximebf/php-debugbar", - "keywords": [ - "debug", - "debugbar" - ], - "support": { - "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.22.3" - }, - "time": "2024-04-03T19:39:26+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.6.12", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "^2.0.1", - "lib-pcre": ">=7.0", - "php": ">=7.3" - }, - "conflict": { - "phpunit/phpunit": "<8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.17", - "symplify/easy-coding-standard": "^12.1.14" - }, - "type": "library", - "autoload": { - "files": [ - "library/helpers.php", - "library/Mockery.php" - ], - "psr-4": { - "Mockery\\": "library/Mockery" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "https://github.com/padraic", - "role": "Author" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "https://davedevelopment.co.uk", - "role": "Developer" - }, - { - "name": "Nathanael Esayeas", - "email": "nathanael.esayeas@protonmail.com", - "homepage": "https://github.com/ghostwriter", - "role": "Lead Developer" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "support": { - "docs": "https://docs.mockery.io/", - "issues": "https://github.com/mockery/mockery/issues", - "rss": "https://github.com/mockery/mockery/releases.atom", - "security": "https://github.com/mockery/mockery/security/advisories", - "source": "https://github.com/mockery/mockery" - }, - "time": "2024-05-16T03:13:13+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.12.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2024-06-12T14:39:25+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "f05978827b9343cba381ca05b8c7deee346b6015" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015", - "reference": "f05978827b9343cba381ca05b8c7deee346b6015", - "shasum": "" - }, - "require": { - "filp/whoops": "^2.14.5", - "php": "^8.0.0", - "symfony/console": "^6.0.2" - }, - "require-dev": { - "brianium/paratest": "^6.4.1", - "laravel/framework": "^9.26.1", - "laravel/pint": "^1.1.1", - "nunomaduro/larastan": "^1.0.3", - "nunomaduro/mock-final-classes": "^1.1.0", - "orchestra/testbench": "^7.7", - "phpunit/phpunit": "^9.5.23", - "spatie/ignition": "^1.4.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "6.x-dev" - }, - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2023-01-03T12:54:54+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.3 || ^8.0", - "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" - }, - "time": "2024-02-23T11:10:43+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "1.29.1", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1" - }, - "time": "2024-05-31T08:52:43+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.31", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:37:42+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.20", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "49d7820565836236411f5dc002d16dd689cde42f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", - "reference": "49d7820565836236411f5dc002d16dd689cde42f", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.5.0 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.31", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.4", - "phpunit/php-timer": "^5.0.3", - "sebastian/cli-parser": "^1.0.2", - "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.6", - "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.6", - "sebastian/global-state": "^5.0.7", - "sebastian/object-enumerator": "^4.0.4", - "sebastian/resource-operations": "^3.0.4", - "sebastian/type": "^3.2.1", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.20" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2024-07-10T11:45:39+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:33:00+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:35:11+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-14T16:00:52+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "spatie/backtrace", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/backtrace.git", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8373b9d51638292e3bfd736a9c19a654111b4a23", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "ext-json": "*", - "laravel/serializable-closure": "^1.3", - "phpunit/phpunit": "^9.3", - "spatie/phpunit-snapshot-assertions": "^4.2", - "symfony/var-dumper": "^5.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Backtrace\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van de Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A better backtrace", - "homepage": "https://github.com/spatie/backtrace", - "keywords": [ - "Backtrace", - "spatie" - ], - "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.1" - }, - "funding": [ - { - "url": "https://github.com/sponsors/spatie", - "type": "github" - }, - { - "url": "https://spatie.be/open-source/support-us", - "type": "other" - } - ], - "time": "2024-04-24T13:22:11+00:00" - }, - { - "name": "spatie/flare-client-php", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/flare-client-php.git", - "reference": "097040ff51e660e0f6fc863684ac4b02c93fa234" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/097040ff51e660e0f6fc863684ac4b02c93fa234", - "reference": "097040ff51e660e0f6fc863684ac4b02c93fa234", - "shasum": "" - }, - "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", - "php": "^8.0", - "spatie/backtrace": "^1.6.1", - "symfony/http-foundation": "^5.2|^6.0|^7.0", - "symfony/mime": "^5.2|^6.0|^7.0", - "symfony/process": "^5.2|^6.0|^7.0", - "symfony/var-dumper": "^5.2|^6.0|^7.0" - }, - "require-dev": { - "dms/phpunit-arraysubset-asserts": "^0.5.0", - "pestphp/pest": "^1.20|^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.3.x-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\FlareClient\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/spatie/flare-client-php", - "keywords": [ - "exception", - "flare", - "reporting", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.7.0" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2024-06-12T14:39:14+00:00" - }, - { - "name": "spatie/ignition", - "version": "1.14.2", - "source": { - "type": "git", - "url": "https://github.com/spatie/ignition.git", - "reference": "5e11c11f675bb5251f061491a493e04a1a571532" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/5e11c11f675bb5251f061491a493e04a1a571532", - "reference": "5e11c11f675bb5251f061491a493e04a1a571532", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^8.0", - "spatie/backtrace": "^1.5.3", - "spatie/flare-client-php": "^1.4.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0", - "mockery/mockery": "^1.4", - "pestphp/pest": "^1.20|^2.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "psr/simple-cache-implementation": "*", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "vlucas/phpdotenv": "^5.5" - }, - "suggest": { - "openai-php/client": "Require get solutions from OpenAI", - "simple-cache-implementation": "To cache solutions from OpenAI" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.5.x-dev" - } - }, - "autoload": { - "psr-4": { - "Spatie\\Ignition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Spatie", - "email": "info@spatie.be", - "role": "Developer" - } - ], - "description": "A beautiful error page for PHP applications.", - "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/spatie/ignition/issues", - "source": "https://github.com/spatie/ignition" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2024-05-29T08:10:20+00:00" - }, - { - "name": "spatie/laravel-ignition", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "b6d5c33cf0b8260d6540572af2d9bcf9182fe5fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/b6d5c33cf0b8260d6540572af2d9bcf9182fe5fb", - "reference": "b6d5c33cf0b8260d6540572af2d9bcf9182fe5fb", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "illuminate/support": "^8.77|^9.27", - "monolog/monolog": "^2.3", - "php": "^8.0", - "spatie/flare-client-php": "^1.0.1", - "spatie/ignition": "<= 1.14.2", - "symfony/console": "^5.0|^6.0", - "symfony/var-dumper": "^5.0|^6.0" - }, - "require-dev": { - "filp/whoops": "^2.14", - "livewire/livewire": "^2.8|dev-develop", - "mockery/mockery": "^1.4", - "nunomaduro/larastan": "^1.0", - "orchestra/testbench": "^6.23|^7.0", - "pestphp/pest": "^1.20", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "spatie/laravel-ray": "^1.27" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\LaravelIgnition\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Spatie", - "email": "info@spatie.be", - "role": "Developer" - } - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/spatie/laravel-ignition/issues", - "source": "https://github.com/spatie/laravel-ignition" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2024-06-13T07:21:06+00:00" - }, - { - "name": "symfony/yaml", - "version": "v7.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:36:25+00:00" - } - ], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": { - "duitkupg/duitku-php": 20 - }, - "prefer-stable": true, - "prefer-lowest": false, - "platform": { - "php": "^8.0.2" - }, - "platform-dev": [], - "plugin-api-version": "2.6.0" -} + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/c471e2b3afe61bf41f22d1ca926b24e7ce96c598", + "reference": "c471e2b3afe61bf41f22d1ca926b24e7ce96c598", diff --git a/config/fcm.php b/config/fcm.php deleted file mode 100755 index 79133a66..00000000 --- a/config/fcm.php +++ /dev/null @@ -1,5 +0,0 @@ - env('FCM_SERVER_KEY'), -]; \ No newline at end of file diff --git a/database/seeders/NavigationSeeder.php b/database/seeders/NavigationSeeder.php index 8581a634..4a4610d0 100755 --- a/database/seeders/NavigationSeeder.php +++ b/database/seeders/NavigationSeeder.php @@ -281,7 +281,27 @@ class NavigationSeeder extends Seeder ] ], 'permission' => 'user-management-client-portal' - ] + ], + ####################### HOSPITAL PORTAL ######################### + [ + 'title' => 'Dashboard', + 'path' => '/dashboard', + 'icon' => 'dashboard', + 'permission' => 'dashboard-hospital-portal' + ], + [ + 'title' => 'Claim', + 'path' => '/claim', + 'icon' => 'ic_booking', + 'permission' => 'dashboard-claim-hospital-portal' + ], + ####################### CS LMS & APOTEK PORTAL ######################### + [ + 'title' => 'Dashboard', + 'path' => '/prescription-orders', + 'icon' => 'dashboard', + 'permission' => 'dashboard-apotek-portal' + ], ]; foreach ($menuItems as $menuItemData) { @@ -292,6 +312,7 @@ class NavigationSeeder extends Seeder [ 'title' => $menuItemData['title'], 'path' => $menuItemData['path'] ?? null, + 'icon' => $menuItemData['icon'] ?? null, 'permission' => $menuItemData['permission'] ?? null ]); @@ -304,6 +325,7 @@ class NavigationSeeder extends Seeder [ 'title' => $childData['title'], 'path' => $childData['path'] ?? null, + 'icon' => $childData['icon'] ?? null, 'parent_id' => $menuItem->id, 'permission' => $childData['permission'] ?? null ]); diff --git a/database/seeders/PermissionTableSeeder.php b/database/seeders/PermissionTableSeeder.php index 232d8e91..51a8bbc4 100755 --- a/database/seeders/PermissionTableSeeder.php +++ b/database/seeders/PermissionTableSeeder.php @@ -89,14 +89,27 @@ class PermissionTableSeeder extends Seeder 'service-monitoring-limit-client-portal', 'user-management-client-portal', 'user-role-list-client-portal', - 'user-access-list-client-portal' + 'user-access-list-client-portal', + 'file-billing-client-portal', + 'file-diagnosis-client-portal', + 'file-pendukung-medis-client-portal', + 'benefit-client-portal', ] - ] + ], + ####################### HOSPITAL PORTAL ######################### + [ + 'type' => 'hospital-portal', + 'datas' => [ + 'dashboard-hospital-portal', + 'dashboard-claim-hospital-portal', + 'dashboard-apotek-portal', + ] + ], ]; foreach ($permissions as $values) { foreach ($values['datas'] as $value) { - Permission::updateOrCreate(['name' => $value], + Permission::updateOrCreate(['name' => $value, 'guard_name' => $values['type']], [ 'name' => $value, 'guard_name' => $values['type'] diff --git a/frontend/client-portal/.env.development b/frontend/client-portal/.env.development index 1292c8a9..91cbcee5 100755 --- a/frontend/client-portal/.env.development +++ b/frontend/client-portal/.env.development @@ -5,5 +5,5 @@ PORT=8083 REACT_APP_HOST_API_URL="https://aso-api.linksehat.dev/api/client" # VITE_API_URL="https://aso-api.linksehat.dev/api/client" -VITE_API_URL="http://localhost:8000/api/client" +VITE_API_URL="https://aso-api.linksehat.dev/api/client" diff --git a/frontend/client-portal/.env.production b/frontend/client-portal/.env.production index 19484cbc..565298f4 100755 --- a/frontend/client-portal/.env.production +++ b/frontend/client-portal/.env.production @@ -1,3 +1,3 @@ GENERATE_SOURCEMAP=false -VITE_API_URL="https://primecenter-api.linksehat.com/api/client" +VITE_API_URL="https://aso-api.linksehat.dev/api/client" diff --git a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx index 3bb6efc5..603ece1f 100755 --- a/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx +++ b/frontend/client-portal/src/pages/AlarmCenter/ServiceMonitoring.tsx @@ -219,7 +219,16 @@ export default function ServiceMonitoring() { }; const nameToCheck = 'service-monitoring-limit-client-portal'; + const fileBillingCheck = 'file-billing-client-portal'; + const fileDiagnosisCheck = 'file-diagnosis-client-portal'; + const filePendukungCheck = 'file-pendukung-medis-client-portal'; + const benefitCheck = 'benefit-client-portal'; + const doesNameExist = checkIfNameExists(nameToCheck); + const viewfileBilling = checkIfNameExists(fileBillingCheck); + const viewfileDiagnosis = checkIfNameExists(fileDiagnosisCheck); + const viewfilePendukungCheck = checkIfNameExists(filePendukungCheck); + const viewBenefitCheck = checkIfNameExists(benefitCheck); const navigate = useNavigate(); const controller = new AbortController(); @@ -283,6 +292,8 @@ export default function ServiceMonitoring() { const formatNumber = (number) => { return new Intl.NumberFormat('id-ID').format(number); }; + + console.log(viewfileBilling, 'test') const LimitPlanCard = ({ title, current, total }) => ( @@ -581,6 +592,37 @@ export default function ServiceMonitoring() { ( data.files.result.map((file, index) => ( + file.type == 'final-log-result' && viewfilePendukungCheck ? + ( + + + + {file.original_name ? file.original_name : '-'} + + + + ) : + file.type == 'final-log-diagnosis' && viewfileDiagnosis ? + ( + + + + {file.original_name ? file.original_name : '-'} + + + + ) : + file.type == 'final-log-kondisi' && viewfileBilling ? ( @@ -595,6 +637,7 @@ export default function ServiceMonitoring() { ) + : '' ) ) ) : ( @@ -749,163 +792,171 @@ export default function ServiceMonitoring() { - - - - {loading ? : 'Benefits'} - - - + {viewBenefitCheck ? ( + - {loading ? ( - - ) : data && data.benefits && data.benefits.length > 0 ? ( - data.benefits.map((benefitValue, benefitIndex) => ( - - - {benefitIndex + 1 + `. ` + benefitValue.name} - - - } - key={benefitIndex} - > - - - - - Amount Incurred : Rp. {fSplit(benefitValue.amountIncurred)} - - - - - - - - Amount Approved : Rp {fSplit(benefitValue.amountApproved)} - - - - - - - - Amount Not Approved : Rp {fSplit(benefitValue.amountNotAprroved)} - - - - - - - - Excess Paid : Rp {fSplit(benefitValue.excessPaid)} - - - - - - - - Description : {benefitValue.description} - - - - - )) - ) : ( - - - - - )} + + {loading ? : 'Benefits'} + + + + + {loading ? ( + + ) : data && data.benefits && data.benefits.length > 0 ? ( + data.benefits.map((benefitValue, benefitIndex) => ( + + + {benefitIndex + 1 + `. ` + benefitValue.name} + + + } + key={benefitIndex} + > + + + + + Amount Incurred : Rp {fSplit(benefitValue.amountApproved)} + + + + + + + + Amount Approved : Rp {fSplit(benefitValue.amountApproved)} + + + + + + + + Amount Not Approved : Rp {fSplit(benefitValue.amountNotAprroved)} + + + + + + + + Excess Paid : Rp {fSplit(benefitValue.excessPaid)} + + + + + + + + Description : {benefitValue.description} + + + + + )) + ) : ( + + - + + )} + - - - - - {loading ? : 'Benefits Total'} - + + ) : ('') + } + + {viewBenefitCheck ? ( + + + + {loading ? : 'Benefits Total'} + + + + + {loading ? : 'Total Incurred : Rp. '} + {loading ? ( + + ) : data && data.benefitTotal ? ( + fSplit(data.benefitTotal.totalIncurred) + ) : ( + '-' + )} + + + {loading ? : 'Total Approve : Rp. '} + {loading ? ( + + ) : data && data.benefitTotal ? ( + fSplit(data.benefitTotal.totalApprove) + ) : ( + '-' + )} + + + {loading ? : 'Total Not Approve : Rp.'} + {loading ? ( + + ) : data && data.benefitTotal ? ( + fSplit(data.benefitTotal.totalNotApprove) + ) : ( + '-' + )} + + + {loading ? : 'Total Excess : Rp.'} + {loading ? ( + + ) : data && data.benefitTotal ? ( + fSplit(data.benefitTotal.totalExcess) + ) : ( + '-' + )} + + - - - {loading ? : 'Total Incurred : Rp. '} - {loading ? ( - - ) : data && data.benefitTotal ? ( - fSplit(data.benefitTotal.totalIncurred) - ) : ( - '-' - )} - - - {loading ? : 'Total Approve : Rp. '} - {loading ? ( - - ) : data && data.benefitTotal ? ( - fSplit(data.benefitTotal.totalApprove) - ) : ( - '-' - )} - - - {loading ? : 'Total Not Approve : Rp.'} - {loading ? ( - - ) : data && data.benefitTotal ? ( - fSplit(data.benefitTotal.totalNotApprove) - ) : ( - '-' - )} - - - {loading ? : 'Total Excess : Rp.'} - {loading ? ( - - ) : data && data.benefitTotal ? ( - fSplit(data.benefitTotal.totalExcess) - ) : ( - '-' - )} - - - - + ) : ('')} + + {loading ? : 'Hospital'} diff --git a/frontend/dashboard/src/@types/organization.tsx b/frontend/dashboard/src/@types/organization.tsx index 1af7adcd..39b31e3c 100755 --- a/frontend/dashboard/src/@types/organization.tsx +++ b/frontend/dashboard/src/@types/organization.tsx @@ -1,6 +1,8 @@ export type Organizations = { id: number; code: string; + no_hp: number; + email: string; name: string; address: string; type: string; diff --git a/frontend/dashboard/src/@types/user.ts b/frontend/dashboard/src/@types/user.ts index 1f1faa8b..d7d75203 100755 --- a/frontend/dashboard/src/@types/user.ts +++ b/frontend/dashboard/src/@types/user.ts @@ -134,6 +134,16 @@ export type Role = { permissions: number[] }; +export type Organization = { + id: number; + name: string; + }; + + export type Corporate = { + id: number; + name: string; + }; + export type Permisions = { name: string; guard_name: string; @@ -146,6 +156,8 @@ export type UserAccess = { email: string; person: Person; role: Role; + organization_id: Organization; + corporate_id: Corporate; } export type Person = { diff --git a/frontend/dashboard/src/pages/Master/Hospitals/Form.tsx b/frontend/dashboard/src/pages/Master/Hospitals/Form.tsx index 81084fa0..145afc23 100755 --- a/frontend/dashboard/src/pages/Master/Hospitals/Form.tsx +++ b/frontend/dashboard/src/pages/Master/Hospitals/Form.tsx @@ -116,6 +116,8 @@ export default function OrganizationsForm({ isEdit, currentOrganizations }: Prop name: currentOrganizations?.name || '', code: currentOrganizations?.code || '', phone: currentOrganizations?.phone || '', + no_hp: currentOrganizations?.no_hp || '', + email: currentOrganizations?.email || '', lat: currentOrganizations?.lat || '', lng: currentOrganizations?.lng || '', address: currentOrganizations?.address || '', @@ -185,6 +187,8 @@ export default function OrganizationsForm({ isEdit, currentOrganizations }: Prop formData.append('name', data.name); formData.append('code', data.code); formData.append('phone', data.phone); + formData.append('no_hp', data.no_hp); + formData.append('email', data.email); formData.append('lat', data.lat); formData.append('lng', data.lng); formData.append('address', data.address); @@ -361,7 +365,7 @@ export default function OrganizationsForm({ isEdit, currentOrganizations }: Prop const findValueCorporate = selectedCorporatID.find( (item: any) => item.value === currentOrganizations?.corporate_id_partner ); - + return ( @@ -391,6 +395,14 @@ export default function OrganizationsForm({ isEdit, currentOrganizations }: Prop Nomor IGD + + No. HP + + + + Email + + Alamat diff --git a/frontend/dashboard/src/pages/Master/Hospitals/List.tsx b/frontend/dashboard/src/pages/Master/Hospitals/List.tsx index 1ceffab9..96b49d12 100755 --- a/frontend/dashboard/src/pages/Master/Hospitals/List.tsx +++ b/frontend/dashboard/src/pages/Master/Hospitals/List.tsx @@ -301,9 +301,21 @@ export default function List() { : {row.code ? row.code : '-'} + + No. HP + + + : {row.no_hp ? row.no_hp : '-'} + + + Email + + + : {row.email ? row.email : '-'} + - Rekanan + Rekanan : {row.corporate_name ? row.corporate_name : '-'} diff --git a/frontend/dashboard/src/pages/Report/Prescription/List.tsx b/frontend/dashboard/src/pages/Report/Prescription/List.tsx index 7ea1d96e..d15009e1 100755 --- a/frontend/dashboard/src/pages/Report/Prescription/List.tsx +++ b/frontend/dashboard/src/pages/Report/Prescription/List.tsx @@ -158,7 +158,6 @@ export default function List() { setSearchText(searchParams.get('search') ?? ''); }, []); - return (
@@ -337,6 +336,7 @@ export default function List() { {row.date_consultation ? fDateTime(row.date_consultation) : '-'} {row.patient_name ?? '-'} {row.doctor_name ?? '-'} + {row.status_prescription ?? '-'} {/* @@ -390,7 +390,7 @@ export default function List() { - + {/* END COLLAPSIBLE ROW */} Doctor + + Status + {/* Aksi */} diff --git a/frontend/dashboard/src/pages/Report/Prescription/listnya b/frontend/dashboard/src/pages/Report/Prescription/listnya deleted file mode 100755 index e69de29b..00000000 diff --git a/frontend/dashboard/src/pages/UserManagement/UserAccess/CreateUpdate.tsx b/frontend/dashboard/src/pages/UserManagement/UserAccess/CreateUpdate.tsx index 44498f35..83bc8d68 100755 --- a/frontend/dashboard/src/pages/UserManagement/UserAccess/CreateUpdate.tsx +++ b/frontend/dashboard/src/pages/UserManagement/UserAccess/CreateUpdate.tsx @@ -6,6 +6,7 @@ import {useContext, useEffect, useMemo, useState } from 'react'; import axios from '../../../utils/axios'; import UserAccessForm from './Form'; import { Role, UserAccess } from '../../../@types/user'; +import Organizations from "@/pages/Master/Hospitals/Index"; @@ -13,6 +14,8 @@ export default function UserAccessCreate() { const { id } = useParams(); const [ currentUserAccess, setCurrentUserAccess ] = useState(); const [ roles, setRole ] = useState(); + const [ corporate, setCorporate ] = useState(); + const [ organizations, setOrganization ] = useState(); const navigate = useNavigate(); @@ -40,9 +43,30 @@ export default function UserAccessCreate() { navigate('/404'); } }) + axios.get('/organization-list') + .then((res)=> { + setOrganization(res.data) + }) + .catch((err) => { + if (err.response.status === 404) { + navigate('/404'); + } + }) + + axios.get('/corporates') + .then((res)=> { + setCorporate(res.data) + }) + .catch((err) => { + if (err.response.status === 404) { + navigate('/404'); + } + }) }, [id]); + console.log(corporate, 'test') + return ( @@ -57,7 +81,7 @@ export default function UserAccessCreate() { ]} /> - + ); } diff --git a/frontend/dashboard/src/pages/UserManagement/UserAccess/Form.tsx b/frontend/dashboard/src/pages/UserManagement/UserAccess/Form.tsx index 015f3cc4..5116c140 100755 --- a/frontend/dashboard/src/pages/UserManagement/UserAccess/Form.tsx +++ b/frontend/dashboard/src/pages/UserManagement/UserAccess/Form.tsx @@ -1,23 +1,26 @@ import * as Yup from 'yup'; import { LoadingButton } from "@mui/lab"; import { Box, Card, Grid, Stack, Typography } from "@mui/material"; -import { Role, UserAccess } from "../../../@types/user"; -import { FormProvider, RHFSelect, RHFSwitch, RHFTextField } from "../../../components/hook-form"; -import { useEffect, useMemo } from 'react'; +import { Role, UserAccess, Organization } from "../../../@types/user"; +import { FormProvider, RHFSelect, RHFTextField } from "../../../components/hook-form"; +import { useEffect, useMemo, useState } from 'react'; import { useForm } from 'react-hook-form'; import { yupResolver } from '@hookform/resolvers/yup'; import { useSnackbar } from 'notistack'; import { useNavigate, useParams } from 'react-router-dom'; import axios from '../../../utils/axios'; import palette from '@/theme/palette'; +import { Corporate } from '@/@types/corporates'; type Props = { isEdit: boolean; currentUserAccess?: UserAccess; - roles: Role + roles: Role; + organizations: Organization; + corporate: Corporate; }; -export default function AccsessForm({ isEdit, currentUserAccess, roles }: Props) { +export default function AccessForm({ isEdit, currentUserAccess, roles, organizations, corporate }: Props) { const { enqueueSnackbar } = useSnackbar(); const navigate = useNavigate(); @@ -27,13 +30,14 @@ export default function AccsessForm({ isEdit, currentUserAccess, roles }: Props) name: Yup.string().required('Name is required'), }); - console.log(currentUserAccess, 'test') const defaultValues = useMemo( () => ({ name: currentUserAccess?.person?.name || '', - username: currentUserAccess?.username || '', + username: currentUserAccess?.username || '', email: currentUserAccess?.email || '', - roles: currentUserAccess?.role?.id || [], + roles: currentUserAccess?.role?.id || '', + organizations: currentUserAccess?.organization_id || '', + corporates: currentUserAccess?.corporate_id || '', password: '', }), [currentUserAccess] @@ -56,92 +60,119 @@ export default function AccsessForm({ isEdit, currentUserAccess, roles }: Props) const { reset, watch, - control, - setValue, - getValues, - setError, handleSubmit, + setError, formState: { isSubmitting }, } = methods; + // Watch 'roles' field to conditionally render other fields + const selectedRole = watch('roles'); const onSubmit = async (data: any) => { - - console.log(data); + console.log(data, 'test123'); if (!isEdit) { await axios - .post('/user/access', data) - .then((res) => { - enqueueSnackbar('User created successfully', { variant: 'success' }); - }) - .then((res) => { - navigate('/user-access', { replace: true }); - }) - .catch(({ response }) => { - if (response.status === 422) { - for (const [key, value] of Object.entries(response.data.errors)) { - setError(key, { message: value[0] }); - enqueueSnackbar(value[0] ?? 'Failed Processing Request', { variant: 'error' }); + .post('/user/access', data) + .then((res) => { + enqueueSnackbar('User created successfully', { variant: 'success' }); + navigate('/user-access', { replace: true }); + }) + .catch(({ response }) => { + if (response.status === 422) { + for (const [key, value] of Object.entries(response.data.errors)) { + setError(key, { message: value[0] }); + enqueueSnackbar(value[0] ?? 'Failed Processing Request', { variant: 'error' }); + } + } else { + enqueueSnackbar('Create Failed : ' + response.data.message, { variant: 'error' }); } - } - else { - enqueueSnackbar('Create Failed : '+ response.data.message, { variant: 'error' }); - } - }); + }); } else { await axios .put('/user/access/' + currentUserAccess?.id, data) .then((res) => { enqueueSnackbar('User updated successfully', { variant: 'success' }); - }) - .then((res) => { - navigate('/user-access' , { replace: true }); + navigate('/user-access', { replace: true }); }) .catch(({ response }) => { - enqueueSnackbar('Update Failed : '+ response.data.message, { variant: 'error' }); + enqueueSnackbar('Update Failed : ' + response.data.message, { variant: 'error' }); }); } }; - const optionsRoles = roles?.data?.map(item => ({ + // Map role, organization, and corporate options + const optionsRoles = roles?.data?.map((item) => ({ value: item.id, - label: item.name + label: item.name, + })) ?? []; + + const optionsOrganization = organizations?.data?.map((item) => ({ + value: item.id, + label: item.name, + })) ?? []; + + const optionsCorporate = corporate?.data?.map((item) => ({ + value: item.id, + label: item.name, })) ?? []; - - if (optionsRoles.length > 0) { - optionsRoles.unshift({ value: '', label: '' }); - } return ( - - - - - - User Access - - - - - - {optionsRoles.map((option, index) => ( - - ))} - + + + + + + + User Access + + + + + + {/* Select for roles */} + + {optionsRoles.map((option, index) => ( + + ))} + - - { isEdit? 'Update' : 'Create' } - + {/* Conditional rendering based on selectedRole */} + {selectedRole && (['8'].includes(selectedRole) ? ( + + {optionsOrganization.map((option, index) => ( + + ))} + + ) : ['2'].includes(selectedRole) ? ( + + {optionsCorporate.map((option, index) => ( + + ))} + + ) : null)} - - - - - - + + {isEdit ? 'Update' : 'Create'} + + + + + + + ); } diff --git a/frontend/hospital-portal/public/lang/en-US.json b/frontend/hospital-portal/public/lang/en-US.json index 2f260eca..0465c907 100755 --- a/frontend/hospital-portal/public/lang/en-US.json +++ b/frontend/hospital-portal/public/lang/en-US.json @@ -33,6 +33,7 @@ "txtSubmissionDate" : "Admission Date", "txtDataNotFound" : "Data Not Found", "txtConditionDocument" : "Condition Document", + "txtBillingDocument" : "Billing Document", "txtDiagnosisDokument" : "Diagnosis Dokument", "txtSupportingResultDocument" : "Supporting Result Document", "txtAddResult" : "Add Result", diff --git a/frontend/hospital-portal/public/lang/id-ID.json b/frontend/hospital-portal/public/lang/id-ID.json index 52ea72a6..6de2c0b0 100755 --- a/frontend/hospital-portal/public/lang/id-ID.json +++ b/frontend/hospital-portal/public/lang/id-ID.json @@ -33,8 +33,9 @@ "txtSubmissionDate" : "Tanggal Masuk", "txtDataNotFound" : "Data Tidak Ditemukan", "txtConditionDocument" : "Dokumen Kondisi", + "txtBillingDocument" : "Dokumen Billing", "txtDiagnosisDokument" : "Dokumen Diagnosis", - "txtSupportingResultDocument" : "Dokumen Pendukung", + "txtSupportingResultDocument" : "Dokumen Pendukung Medis", "txtAddResult" : "Tambah Hasil", "txtServiceType" : "Tipe Layanan", "txtAdditionalDocuments" : "Dokumen Tambahan", diff --git a/frontend/hospital-portal/src/components/Logo.tsx b/frontend/hospital-portal/src/components/Logo.tsx index de8e5831..8d76167d 100755 --- a/frontend/hospital-portal/src/components/Logo.tsx +++ b/frontend/hospital-portal/src/components/Logo.tsx @@ -25,5 +25,5 @@ export default function Logo({ disabledLink = false, sx }: Props) { return <>{logo}; } - return {logo}; + return {logo}; } diff --git a/frontend/hospital-portal/src/components/Table.tsx b/frontend/hospital-portal/src/components/Table.tsx index d1df63f1..99aa7d91 100755 --- a/frontend/hospital-portal/src/components/Table.tsx +++ b/frontend/hospital-portal/src/components/Table.tsx @@ -24,12 +24,21 @@ import { Typography, LinearProgress, linearProgressClasses, + Collapse, + Divider, + IconButton, + Modal, + CircularProgress } from '@mui/material'; + +import { Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material'; import { visuallyHidden } from '@mui/utils'; import { DatePicker, LocalizationProvider, MobileDatePicker } from '@mui/x-date-pickers'; import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; + +import { fDate, fDateSuffix, fDateTime, fDateTimeWithAge } from '../utils/formatTime'; /* ---------------------------------- axios --------------------------------- */ import axios from '../utils/axios'; /* ---------------------------------- react --------------------------------- */ @@ -50,6 +59,10 @@ import GetAppIcon from '@mui/icons-material/GetApp'; import { LanguageContext } from '@/contexts/LanguageContext'; import CancelIcon from '@mui/icons-material/Cancel'; import CheckCircleIcon from '@mui/icons-material/CheckCircle'; +import CloseIcon from '@mui/icons-material/Close'; +import InfoIcon from '@mui/icons-material/Info'; +import { enqueueSnackbar } from 'notistack'; +import useAuth from '@/hooks/useAuth'; /* --------------------------------- styled --------------------------------- */ const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({ @@ -79,6 +92,9 @@ export default function Table({ searchs, exportReport, selected, + openRowId, // Receive the currently opened row ID + setOpenRowId, // Receive the function to set the opened row ID + reloadData, }: TableListProps) { /* ------------------------------- handle sort ------------------------------ */ const handleRequestSort = async (event: React.MouseEvent, property: string) => { @@ -209,6 +225,114 @@ export default function Table({ params.setAppliedParams(parameters); }; /* -------------------------------------------------------------------------- */ + //============================== APOTEK =======================================// + const {user} = useAuth(); + const formattedRoleName = user?.role.name; + // List of statuses for 'apotek' +const allowedStatusesForApotek = ['waiting_pharmacy', 'order_prepared']; +const allowedStatusesForCSLMS = ['waiting_pharmacy', 'order_prepared', 'ready', 'waiting_for_courir', 'package_picked_up', 'package_on_delivery', 'failed']; + + const [open, setOpen] = useState(false); + const [loading, setLoading] = useState(true); + + const handleClick = () => { + // handleClickKonfirmasi(row); // Call the function passed from parent + setOpen(true); // Show modal + setLoading(true); // Show loading animation + + // Simulate finding driver (3 seconds delay) + setTimeout(() => { + setLoading(false); // Hide loading after 3 seconds + }, 3000); + }; + + + + const [openDialogStatus, setOpenDialogStatus] = useState(false); + const [dialogIDRow, setDialogIDRow] = useState(null); + const [dialogIDRowDriver, setDialogIDRowDriver] = useState(null); + const [txtStatusDriver, setTxtStatusDriver] = useState(''); + const [txtIDDriver, setTxtIDDriver] = useState(''); + const handleClose = (row:any) => { + setDialogIDRowDriver(row.id === dialogIDRowDriver ? null : row.id); + if (reloadData) { + reloadData(); + } + }; + const handleCloseDialogUpdate = () => { + setOpenDialogStatus(false); + } + const handleEditDataStatus = (data: any) => { + setOpenDialogStatus(true); + } + const [isDisabled, setIsDisabled] = useState(false); + const handleClickKonfirmasi = (row: any) => { + setTxtStatusDriver(''); + setTxtIDDriver(''); + if(row.sStatus === 'ready' || row.sStatus === 'failed') + { + //close + setDialogIDRow(row.id === dialogIDRow ? null : row.id); + //get driver + setDialogIDRowDriver(row.id === dialogIDRowDriver ? null : row.id); + // setOpen(true); // Show modal + setLoading(true); // Show loading animation + + // Simulate finding driver (3 seconds delay) + // setTimeout(() => { + // setLoading(false); // Hide loading after 3 seconds + // }, 3000); + + const updateData = { + sStatus: row.sStatus + }; + + axios + .put(`/put-driver-prescription-orders/${row.nID_orders}`, updateData) + .then((response) => { + setTxtStatusDriver(response?.data?.data?.status); + setTxtIDDriver(response?.data?.data?.deliveryID); + setLoading(false); + // enqueueSnackbar(response?.data?.meta?.message, { variant: 'success' }); + + // Call reloadData to refresh the table + + }) + .catch((error) => { + const errorMessage = error.response?.data?.meta?.message || 'Failed to update status'; + enqueueSnackbar(errorMessage, { variant: 'error' }); + setLoading(false); + setIsDisabled(false); // Re-enable the button after success + }); + } + else + { + putPrescriptionOrders(row); + } + } + const putPrescriptionOrders = (row: any) => { + setIsDisabled(true); // Disable button after clicking + const updateData = { + sStatus: row.sStatus + }; + axios + .put(`/put-prescription-orders/${row.nID_orders}`, updateData) + .then((response) => { + enqueueSnackbar(response?.data?.meta?.message, { variant: 'success' }); + setDialogIDRow(row.id === dialogIDRow ? null : row.id); + setIsDisabled(false); // Re-enable the button after success + + // Call reloadData to refresh the table + if (reloadData) { + reloadData(); + } + }) + .catch((error) => { + const errorMessage = error.response?.data?.meta?.message || 'Failed to update status'; + enqueueSnackbar(errorMessage, { variant: 'error' }); + setIsDisabled(false); // Re-enable the button after success + }); + } return ( // @@ -416,6 +540,7 @@ export default function Table({ ) : rows && rows.length >= 1 ? ( rows.map((row, rowIndex) => ( + <> {!selected.useSelected ? ( '' @@ -440,6 +565,378 @@ export default function Table({ ))} + {/* COLLAPSIBLE ROW */} + + + + + {/* Icon inside a Box for spacing and alignment */} + + + + {/* Adjust size and color */} + + + {row.status} + + + + {row.nDeliveryID && ( + + + Grab Delivery ID: {row.nDeliveryID} + + + )} + + + {setOpenRowId(openRowId === row.id ? null : row.id);}} sx={{ padding: '20px', maxWidth: '1200px', margin: '0 auto', backgroundColor: '#ffffff', borderRadius: '8px' }}> + + + {/* Row 1 */} + + {localeData.txtProviderDoctorInformation} + + + {localeData.txtNamaDokter} : + + + {row.nama_dokter} + + + {localeData.txtSpesialisasiDokter} : + + + {row.spesialis} + + + SIP : + + + {row.sip} + + + {localeData.txtNoPonsel} : + + + {row.no_ponsel_dokter} + + + + + + {localeData.txtInformasiPasien} + + + {localeData.txtNamaPasien} : + + + {row.pasien} + + + {localeData.txtTanggalLahirUmur} : + + + {row.tgl_lahir_pasien && row.tgl_lahir_pasien !=='0000-00-00' ? fDateTimeWithAge(row.tgl_lahir_pasien) : ''} + + + {localeData.txtJenisKelamin} : + + + {row.jenis_kelamin_pasien} + + + {localeData.txtTinggi} : + + + {row.tinggi_berat} + + + + + {/* Divider */} + + + + + + {localeData.txtInformasiAsuransi} + + + {localeData.txtNomorKartu} : + + + {row.no_polis} + + + {localeData.txtAsuransi} : + + + {row.perusahaan_asuransi} + + + {localeData.txtPerusahaan} : + + + {row.nama_perusahaan} + + + {localeData.txtTipeAsuransi} : + + + {row.kode_produk} + + + {localeData.txtKelasAsuransi} : + + + {row.kelas_asuransi} + + + {localeData.txtTipeMember} : + + + {row.tipe_member} + + + + + + {localeData.txtInformasiOrder} + + + {localeData.txtNamaPenerima} : + + + {row.pasien} + + + {localeData.txtAlamatPenerima} : + + + {row.alamat_penerima} + + + {localeData.txtPengiriman} : + + + {row.pengiriman} + + + {localeData.txtTotal} : + + + {row.total_kirim} + + + + + {/* Divider */} + + + + + {/* Row 2 */} + + {localeData.txtInformasiResep} + + + {localeData.txtNomorResep} : + + + {row.no_resep} + + + {localeData.txtNomorRefDokter} : + + + {row.noref_dokter} + + + {localeData.txtTanggalTerbitResep} : + + + {row.tanggal} + + + {localeData.txtTanggalKedaluwarsa} : + + + {row.valid_tanggal} + + + + + + {localeData.txtInformasiKonsultasi} + + + {localeData.txtNomorPenjamin} : + + + {row.nomor_penjamin} + + + {localeData.txtTanggalKonsultasi} : + + + {row.tgl_livechat} + + + {localeData.txtAlergi} : + + + {row.alergi_desc} + + + {localeData.txtDiagnosis} : + + + {row.diagnosa} + + + + + + + + {setOpenRowId(openRowId === row.id ? null : row.id);}} sx={{ padding: '20px', maxWidth: '1200px', margin: '20px auto', backgroundColor: '#ffffff', borderRadius: '8px' }}> + + + {localeData.txtObat} + {localeData.txtSigna} + {localeData.txtWaktu} + {localeData.txtDurasi} + {localeData.txtJumlah} + {localeData.txtCatatanObat} + + + + {row.prescription_items ? + ( + row.prescription_items.map((row : any, rowIndex: any) => ( + + {row.sItemName} + {row.sSigna} + {row.sTiming} + {row.sDuration} + {row.nQty} + {row.sNote} + + )) + ) : ( + + + {localeData.txtDataNotFound} + + + )} + + + + + {/* Close Button on the Left */} + + {/* Accept Button on the Right */} + {row.button_accept && formattedRoleName === 'admin-apotek' && allowedStatusesForApotek.includes(row.sStatus) ? ( + + ) : ''} + {row.button_accept && formattedRoleName === 'cs-lms' && allowedStatusesForCSLMS.includes(row.sStatus) ? ( + + ) : ''} + + + + + {/* Dialog Update Status */} + + + + + {localeData.txtConfirmation} + + setDialogIDRow(row.id === dialogIDRow ? null : row.id)}> + + + + + + + {localeData.txtDialogConfirmation} + + + {localeData.txtNomorResep} + {row.no_resep} + + + {localeData.txtTanggalTerbitResep} + {row.tanggal} + + + + + + + + + {/* Modal for fullscreen display */} + handleClose(row)}> + + {loading ? ( + <> + + + {localeData.txtFindingDriver} + + + ) : ( + <> + Info! + + {txtIDDriver ? ( + `${localeData.txtDriverFound} ${txtIDDriver} status ${txtStatusDriver}.` + ) : ( + // You can add an alternative UI or message here, or leave it empty + `Failed to get driver, please check the message info.` + )} + + + + + + )} + + + + + + + )) ) : ( diff --git a/frontend/hospital-portal/src/components/nav-section/vertical/index.tsx b/frontend/hospital-portal/src/components/nav-section/vertical/index.tsx index de247933..de4b13e3 100755 --- a/frontend/hospital-portal/src/components/nav-section/vertical/index.tsx +++ b/frontend/hospital-portal/src/components/nav-section/vertical/index.tsx @@ -28,26 +28,42 @@ export default function NavSectionVertical({ isCollapse = false, ...other }: NavSectionProps) { - return ( - - {navConfig.map((group, index) => ( - - - {group.subheader} - + return ( + + {navConfig.length === 0 ? ( // Check if navConfig is empty + + + {/* Optional: You can put a title or leave it empty */} + + +
Loading...
{/* Adjust marginTop as needed */} +
+ ) : ( + navConfig.map((group, index) => ( + + + {group.subheader} + + + {group.items.map((list) => ( + + ))} + + )) + )} +
+ ); - {group.items.map((list) => ( - - ))} -
- ))} -
- ); } diff --git a/frontend/hospital-portal/src/guards/GuestGuard.tsx b/frontend/hospital-portal/src/guards/GuestGuard.tsx index 9446f89e..e312cc44 100755 --- a/frontend/hospital-portal/src/guards/GuestGuard.tsx +++ b/frontend/hospital-portal/src/guards/GuestGuard.tsx @@ -13,8 +13,14 @@ type GuestGuardProps = { export default function GuestGuard({ children }: GuestGuardProps) { const { isAuthenticated } = useAuth(); - - if (isAuthenticated) { + const {user} = useAuth(); + const formattedRoleName = user?.role.name; + if((formattedRoleName === 'admin-apotek' || formattedRoleName === 'cs-lms') && isAuthenticated) + { + return ; + } + if(formattedRoleName === 'hospital-admin') + { return ; } diff --git a/frontend/hospital-portal/src/guards/RoleBasedGuard.tsx b/frontend/hospital-portal/src/guards/RoleBasedGuard.tsx index ebc6a9fe..4db3314b 100755 --- a/frontend/hospital-portal/src/guards/RoleBasedGuard.tsx +++ b/frontend/hospital-portal/src/guards/RoleBasedGuard.tsx @@ -1,5 +1,7 @@ import { ReactNode } from 'react'; import { Container, Alert, AlertTitle } from '@mui/material'; +import useAuth from '@/hooks/useAuth'; +import Page404 from '@/pages/Page404'; // ---------------------------------------------------------------------- @@ -9,9 +11,10 @@ type RoleBasedGuardProp = { }; const useCurrentRole = () => { - // Logic here to get current user role - const role = 'admin'; - return role; + // Fetch the role from useAuth + const { user } = useAuth(); + const formattedRoleName = user?.role.name || ''; // Default to empty string if role is undefined + return formattedRoleName; }; export default function RoleBasedGuard({ accessibleRoles, children }: RoleBasedGuardProp) { diff --git a/frontend/hospital-portal/src/lang/en-US.json b/frontend/hospital-portal/src/lang/en-US.json index 2f260eca..1e0de623 100755 --- a/frontend/hospital-portal/src/lang/en-US.json +++ b/frontend/hospital-portal/src/lang/en-US.json @@ -2,7 +2,7 @@ "greeting": "Hello", "buttonText": "Click Me", "infoLogin": "Enter the registered account", - "txtLogin1" : "Sign in to Hospital Portal", + "txtLogin1" : "Sign in", "txtLogin2" : "Enter your details below", "txtCardSearchMember1" : "Membership Query", "txtCardSearchMember2" : "Search Member", @@ -28,11 +28,12 @@ "txtRequestCode" : "Request Code", "txtName" : "Name", "txtStatus" : "Status", - "txtSearch" : "Search Name or Member ID...", + "txtSearch" : "Search...", "txtAll" : "All", "txtSubmissionDate" : "Admission Date", "txtDataNotFound" : "Data Not Found", "txtConditionDocument" : "Condition Document", + "txtBillingDocument" : "Billing Document", "txtDiagnosisDokument" : "Diagnosis Dokument", "txtSupportingResultDocument" : "Supporting Result Document", "txtAddResult" : "Add Result", @@ -77,6 +78,63 @@ "txtSecond": "Second", "txtPleaseInput": "Please enter your new password.", "txtNewPassword": "New Password", - "txtConfPassword": "Confirm Kata Sandi" + "txtConfPassword": "Confirm Kata Sandi", + "txtPrescriptionNumber" : "Prescription Number", + "txtPrescriptionDate" : "Date", + "txtPrescriptionPatient" : "Patient", + "txtPrescriptionPharmacy" : "Pharmacy", + "txtPrescriptionDetail" : "Detail", + "txtPrescriptionDownload" : "Download Prescription", + "txtProviderDoctorInformation" : "Provider & Doctor Information", + "txtInformasiPasien" : "Patient Information", + "txtNamaDokter" : "Doctor's Name", + "txtSpesialisasiDokter" : "Doctor's Specialization", + "txtNoPonsel" : "Mobile No.", + "txtInformasiAsuransi": "Insurance Information", + "txtNomorKartu": "Card Number", + "txtAsuransi": "Insurance", + "txtPerusahaan": "Company", + "txtTipeAsuransi": "Insurance Type", + "txtKelasAsuransi": "Insurance Class", + "txtTipeMember": "Member Type", + "txtInformasiOrder": "Order Information", + "txtNamaPenerima": "Recipient Name", + "txtAlamatPenerima": "Recipient Address", + "txtPengiriman": "Delivery", + "txtTotal": "Total", + "txtInformasiResep": "Prescription Information", + "txtNomorResep": "Prescription Number", + "txtNomorRefDokter": "Doctor's Reference Number", + "txtTanggalTerbitResep": "Prescription Issue Date", + "txtTanggalKedaluwarsa": "Expiration Date", + "txtInformasiKonsultasi": "Consultation Information", + "txtNomorPenjamin": "Guarantor Number", + "txtTanggalKonsultasi": "Consultation Date", + "txtAlergi": "Allergy", + "txtDiagnosis": "Diagnosis", + "txtObat": "Medicine", + "txtSigna": "Signa", + "txtWaktu": "Time", + "txtDurasi": "Duration", + "txtJumlah": "Quantity", + "txtCatatanObat": "Medicine Notes", + "txtDiterima": "Received", + "txtNamaPasien": "Patient Name", + "txtTanggalLahirUmur": "Date of Birth / Age", + "txtJenisKelamin": "Gender", + "txtTinggi" : "Height / Weight", + "txtLabelNew": "New", + "txtLabelAccepted": "Accepted", + "txtLabelReady": "Ready", + "txtLabelWaitingCourir": "Waiting Courir", + "txtLabelPackagePickedUp": "Package Picked Up", + "txtLabelPackageOnDelivery": "Package On Delivery", + "txtLabelPackageDelivered": "Package Delivered", + "txtLabelWaitingForPayment": "Waiting For Payment", + "txtOK": "Yes", + "txtFindingDriver": "Finding a driver...", + "txtDriverFound": "The driver’s been grabbed with the ID", + "txtButtonClose": "Close", + "txtLabelFailed": "Failed" } diff --git a/frontend/hospital-portal/src/lang/id-ID.json b/frontend/hospital-portal/src/lang/id-ID.json index 52ea72a6..956c82fa 100755 --- a/frontend/hospital-portal/src/lang/id-ID.json +++ b/frontend/hospital-portal/src/lang/id-ID.json @@ -2,7 +2,7 @@ "greeting": "Halo", "buttonText": "Klik Saya", "infoLogin": "Masukan akun yang telah terdaftar", - "txtLogin1" : "Masuk ke Hospital Portal", + "txtLogin1" : "Sign in", "txtLogin2" : "Masukkan detail Anda di bawah ini", "txtCardSearchMember1" : "Pengajuan Jaminan", "txtCardSearchMember2" : "Cari Anggota", @@ -28,13 +28,14 @@ "txtRequestCode" : "Kode Pengajuan", "txtName" : "Nama", "txtStatus" : "Status", - "txtSearch" : "Cari Nama atau ID Anggota...", + "txtSearch" : "Cari...", "txtAll" : "Semua", "txtSubmissionDate" : "Tanggal Masuk", "txtDataNotFound" : "Data Tidak Ditemukan", "txtConditionDocument" : "Dokumen Kondisi", + "txtBillingDocument" : "Dokumen Billing", "txtDiagnosisDokument" : "Dokumen Diagnosis", - "txtSupportingResultDocument" : "Dokumen Pendukung", + "txtSupportingResultDocument" : "Dokumen Pendukung Medis", "txtAddResult" : "Tambah Hasil", "txtServiceType" : "Tipe Layanan", "txtAdditionalDocuments" : "Dokumen Tambahan", @@ -77,5 +78,62 @@ "txtSecond": "Detik", "txtPleaseInput": "Mohon masukan kata sandi baru Anda.", "txtNewPassword": "Kata Sandi Baru", - "txtConfPassword": "Konfirmasi Kata Sandi" + "txtConfPassword": "Konfirmasi Kata Sandi", + "txtPrescriptionNumber" : "No Resep", + "txtPrescriptionDate" : "Tanggal", + "txtPrescriptionPatient" : "Pasien", + "txtPrescriptionPharmacy" : "Apotek", + "txtPrescriptionDetail" : "Detail", + "txtPrescriptionDownload" : "Download Resep", + "txtProviderDoctorInformation" : "Informasi Provider & Dokter", + "txtInformasiPasien" : "Informasi Pasien", + "txtNamaDokter" : "Nama Dokter", + "txtSpesialisasiDokter" : "Spesialisasi Dokter", + "txtNoPonsel" : "No Ponsel", + "txtInformasiAsuransi": "Informasi Asuransi", + "txtNomorKartu": "Nomor Kartu", + "txtAsuransi": "Asuransi", + "txtPerusahaan": "Perusahaan", + "txtTipeAsuransi": "Tipe Asuransi", + "txtKelasAsuransi": "Kelas Asuransi", + "txtTipeMember": "Tipe Member", + "txtInformasiOrder": "Informasi Order", + "txtNamaPenerima": "Nama Penerima", + "txtAlamatPenerima": "Alamat Penerima", + "txtPengiriman": "Pengiriman", + "txtTotal": "Total", + "txtInformasiResep": "Informasi Resep", + "txtNomorResep": "Nomor Resep", + "txtNomorRefDokter": "Nomor Ref Dokter", + "txtTanggalTerbitResep": "Tanggal Terbit Resep", + "txtTanggalKedaluwarsa": "Tanggal Kedaluwarsa", + "txtInformasiKonsultasi": "Informasi Konsultasi", + "txtNomorPenjamin": "Nomor Penjamin", + "txtTanggalKonsultasi": "Tanggal Konsultasi", + "txtAlergi": "Alergi", + "txtDiagnosis": "Diagnosis", + "txtObat": "Obat", + "txtSigna": "Signa", + "txtWaktu": "Waktu", + "txtDurasi": "Durasi", + "txtJumlah": "Jumlah", + "txtCatatanObat": "Catatan Obat", + "txtDiterima": "Diterima", + "txtNamaPasien": "Nama Pasien", + "txtTanggalLahirUmur": "Tanggal Lahir / Umur", + "txtJenisKelamin": "Jenis Kelamin", + "txtTinggi" : "Tinggi / Berat", + "txtLabelNew": "Baru", + "txtLabelAccepted": "Diterima Apotek", + "txtLabelReady": "Pesanan Siap Diambil", + "txtLabelWaitingCourir": "Menunggu Kurir", + "txtLabelPackagePickedUp": "Paket Sudah Diambil", + "txtLabelPackageOnDelivery": "Sedang Diantar ke Alamat Tujuan", + "txtLabelPackageDelivered": "Sudah diterima Pasien", + "txtLabelWaitingForPayment": "Menunggu Pembayaran", + "txtOK": "Ya", + "txtFindingDriver" : "Sedang mencari driver...", + "txtDriverFound" : "Driver sudah didapat dengan ID", + "txtButtonClose": "Tutup", + "txtLabelFailed": "Gagal Pengiriman" } diff --git a/frontend/hospital-portal/src/layouts/dashboard/header/AccountPopover.tsx b/frontend/hospital-portal/src/layouts/dashboard/header/AccountPopover.tsx index 12042b0f..79dafb6c 100755 --- a/frontend/hospital-portal/src/layouts/dashboard/header/AccountPopover.tsx +++ b/frontend/hospital-portal/src/layouts/dashboard/header/AccountPopover.tsx @@ -10,6 +10,8 @@ import useAuth from '@/hooks/useAuth'; import { getUser } from '@/utils/token'; + // Join the words with a space + // ---------------------------------------------------------------------- const MENU_OPTIONS = [ @@ -34,6 +36,12 @@ export default function AccountPopover() { const navigate = useNavigate(); const { logout } = useAuth(); + const {user} = useAuth(); + const formattedRoleName = user?.role.name + .split('-') // Split the string by '-' + .map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize the first letter of each word + .join(' '); + const handleOpen = (event: React.MouseEvent) => { setOpen(event.currentTarget); }; @@ -70,7 +78,7 @@ export default function AccountPopover() { > @@ -90,7 +98,7 @@ export default function AccountPopover() { > - Hospital Admin + {formattedRoleName} {storedUser?.email} @@ -99,7 +107,7 @@ export default function AccountPopover() { - + {/* {MENU_OPTIONS.map((option) => ( ))} - + */} diff --git a/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx b/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx index 4800a2b7..dcf36de8 100755 --- a/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx +++ b/frontend/hospital-portal/src/layouts/dashboard/header/NotificationsPopover.tsx @@ -29,15 +29,18 @@ import axios from '@/utils/axios'; import { useSnackbar } from 'notistack'; import { LanguageContext } from '@/contexts/LanguageContext'; +import useAuth from '@/hooks/useAuth'; + // ---------------------------------------------------------------------- export default function NotificationsPopover() { const { localeData }: any = useContext(LanguageContext); const [notifications, setNotifications] = useState([]); + const {user} = useAuth(); const {enqueueSnackbar} = useSnackbar(); const getDataNotifications = async () => { axios - .get('notifications/1') + .get('notifications/'+user?.id) .then((response) => { setNotifications(response.data.data.notifications); }) @@ -47,7 +50,7 @@ export default function NotificationsPopover() { }; useEffect(() => { getDataNotifications(); - }, []); + }, []); const totalUnRead = notifications.filter((item) => item.isUnRead === 1).length; @@ -137,7 +140,7 @@ export default function NotificationsPopover() { ): ''} - + @@ -256,12 +259,12 @@ function renderContent(notification: NotificationItemProps) { title, }; } - if (notification.type === 'mail' || notification.type === 'request_document') { + if (notification.type === 'mail' || notification.type === 'request_document' || notification.type === 'grab_status') { return { avatar: ( {notification.title} ), title, diff --git a/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarVertical.tsx b/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarVertical.tsx index 35a449d5..32928bc5 100755 --- a/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarVertical.tsx +++ b/frontend/hospital-portal/src/layouts/dashboard/navbar/NavbarVertical.tsx @@ -1,4 +1,4 @@ -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { useLocation } from 'react-router-dom'; // @mui import { styled, useTheme } from '@mui/material/styles'; @@ -15,10 +15,26 @@ import Logo from '@/components/Logo'; import Scrollbar from '@/components/Scrollbar'; import { NavSectionVertical } from '@/components/nav-section'; // -import navConfig from './NavConfig'; +// import navConfig from './NavConfig'; import NavbarDocs from './NavbarDocs'; +import useAuth from '@/hooks/useAuth'; import NavbarAccount from './NavbarAccount'; import CollapseButton from './CollapseButton'; +import axios from '@/utils/axios'; +import SvgIconStyle from '@/components/SvgIconStyle'; + + +const getIcon = (name: string) => ( + + ); + + const ICONS = { + user: getIcon('ic_user'), + ecommerce: getIcon('ic_ecommerce'), + analytics: getIcon('ic_analytics'), + dashboard: getIcon('ic_dashboard'), + ic_booking: getIcon('ic_booking'), + }; // ---------------------------------------------------------------------- @@ -43,11 +59,76 @@ export default function NavbarVertical({ isOpenSidebar, onCloseSidebar }: Props) const { pathname } = useLocation(); + const {user} = useAuth(); + const formattedRoleName = user?.full_name + .split('-') // Split the string by '-' + .map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize the first letter of each word + .join(' '); // Join the words with a space + const isDesktop = useResponsive('up', 'lg'); const { isCollapse, collapseClick, collapseHover, onToggleCollapse, onHoverEnter, onHoverLeave } = useCollapseDrawer(); + const [navConfig, setNavConfig] = useState([]); + // console.log(navConfig); + useEffect(() => { + const fetchNavConfig = async () => { + try { + const response = await axios.get('/navigations'); + const data = response.data.items; + // console.log(data); + + // Pastikan user dan user.permissions terdefinisi dan merupakan array + const userPermissions = user?.permissions?.map(permission => permission.name) || []; + + // Fungsi untuk memeriksa apakah pengguna memiliki izin untuk item tertentu + const hasPermission = (permission) => { + return userPermissions.includes(permission); + }; + + // Filter data berdasarkan izin pengguna + const filteredNavConfig = data.map(section => { + if (section.children && section.children.length > 0) { + // Cek apakah ada satu atau lebih children yang memiliki izin + const filteredChildren = section.children.filter(child => hasPermission(child.permission)); + + if (filteredChildren.length > 0) { + return { + ...section, + children: filteredChildren + }; + } else { + return null; // Lewati bagian yang tidak memiliki children dengan izin + } + } + // Jika tidak ada children, cek izin untuk section itu sendiri + // console.log(section.permission); + return hasPermission(section.permission) ? section : null; + }).filter(section => section !== null); + + // console.log(filteredNavConfig); + + const formattedNavConfig = filteredNavConfig.map(item => ({ + + items: [{ + title: item.title, + path: item.path, + icon: ICONS[item.icon] + }] + })); + + setNavConfig(formattedNavConfig); + + } catch (error) { + console.error('Gagal mengambil konfigurasi navigasi:', error); + } + }; + + fetchNavConfig(); + }, [user]); + console.log(navConfig); + useEffect(() => { if (isOpenSidebar) { onCloseSidebar(); @@ -76,10 +157,10 @@ export default function NavbarVertical({ isOpenSidebar, onCloseSidebar }: Props) - Hospital Portal + {formattedRoleName} - ) + ) : ( diff --git a/frontend/hospital-portal/src/pages/DashboardApotek.tsx b/frontend/hospital-portal/src/pages/DashboardApotek.tsx new file mode 100644 index 00000000..957ef386 --- /dev/null +++ b/frontend/hospital-portal/src/pages/DashboardApotek.tsx @@ -0,0 +1,119 @@ +// @mui +import { Typography, Container, Grid, Card } from '@mui/material'; +// hooks +import useSettings from '@/hooks/useSettings'; +// components +import Page from '@/components/Page'; +// theme +import CardNotification from '@/sections/dashboard/CardNotification'; +import CardSearchMember from '@/sections/dashboard/CardSearchMember' +import { useContext, useEffect, useState } from 'react'; +import axios from '@/utils/axios'; +import { Stack } from '@mui/system'; +import { Input } from '@mui/material'; +//sections +import TableList from '@/sections/dashboardApotek/TableList'; +import { fDate } from '@/utils/formatTime'; +import DialogDetailClaim from '@/components/dialogs/DialogDetailClaim'; +import HeaderBreadcrumbs from "@/components/HeaderBreadcrumbs"; + +// ---------------------------------------------------------------------- + +// const [notifications, setNotifications] = useState([]) + +const itemList = [ + { info: 'Mohon lengkapi dokumen Mahen sadarsa', date: 'Selasa, 20 April 22', time: '08:00 WIB' }, + { info: 'Mohon lengkapi dokumen Mahen sadarsa', date: 'Selasa, 20 April 22', time: '09:00 WIB' }, + { info: 'Mohon lengkapi dokumen Mahen sadarsa', date: 'Selasa, 20 April 22', time: '10:00 WIB' }, + { info: 'Mohon lengkapi dokumen Mahen sadarsa', date: 'Selasa, 20 April 22', time: '11:00 WIB' }, +]; + +// ---------------------------------------------------------------------- + +/* ---------------------------------- types --------------------------------- */ + +type PolicyProps = { + myLimit: { + balance: number; + total: number; + percentage: number; + }; + lockLimit: { + balance: number; + percentage: number; + }; +}; + +/* -------------------------------------------------------------------------- */ + +/* ------------------------------ default data ------------------------------ */ +const defaultPolicyData = { + myLimit: { + balance: 0, + total: 0, + percentage: 0, + }, + lockLimit: { + balance: 0, + percentage: 0, + }, +}; +/* -------------------------------------------------------------------------- */ + +export default function Claim() { + const { themeStretch } = useSettings(); + + // const [tableData, setTableData] = useState([]); + const [policyData, setPolicyData] = useState(defaultPolicyData); + + // TODO Remove This + //const [itemList, setItemList] = useState([]); + function handleDataLoaded(dataTable:any) { + let dummyData = []; + dataTable.map(function(data:any) { + if (data.status == 'approved') { + dummyData.push({ + info: `LOG Approved for member ${data.member.full_name}`, + date: fDate(data.created_at, "dd MMMM"), + time: fDate(data.created_at, "HH:mm") + }) + } + }) + + //setItemList(dummyData); + } + + return ( + + + + {/* + + */} + {/* + + */} + + {/* */} + + + + + + + + + ); +} diff --git a/frontend/hospital-portal/src/routes/index.tsx b/frontend/hospital-portal/src/routes/index.tsx index 2bcb583b..392871a2 100755 --- a/frontend/hospital-portal/src/routes/index.tsx +++ b/frontend/hospital-portal/src/routes/index.tsx @@ -11,12 +11,16 @@ import Register from '@/pages/auth/Register'; import VerifyCode from '@/pages/auth/VerifyCode'; import { AuthProvider } from '@/contexts/LaravelAuthContext'; import AuthGuard from '@/guards/AuthGuard'; +import useAuth from '@/hooks/useAuth'; +import RoleBasedGuard from '@/guards/RoleBasedGuard'; // ---------------------------------------------------------------------- const Loadable = (Component: ElementType) => (props: any) => { // eslint-disable-next-line react-hooks/rules-of-hooks const { pathname } = useLocation(); + const {user} = useAuth(); + const formattedRoleName = user?.role.name; return ( }> @@ -50,11 +54,35 @@ export default function Router() { ), }, + { + path: 'reset-password', + element: ( + + + + ), + }, + { + path: 'forget-password', + element: ( + + + + ), + }, + { + path: 'verify', + element: ( + + + + ), + }, // { path: 'login-unprotected', element: }, // { path: 'register-unprotected', element: }, - { path: 'reset-password', element: }, - { path: 'forget-password', element: }, - { path: 'verify', element: }, + // { path: 'reset-password', element: }, + // { path: 'forget-password', element: }, + // { path: 'verify', element: }, ], }, // { @@ -74,11 +102,19 @@ export default function Router() { { element: , index: true }, { path: 'dashboard', - element: , + element: ( + + + + ), }, { path: '/detail/:id', - element: , + element: ( + + + + ), }, ], }, @@ -95,18 +131,54 @@ export default function Router() { { element: , index: true }, { path: 'claim', - element: , + element: ( + + + + ), }, { path: '/claim/detail/:id', - element: , + element: ( + + + + ), }, ], }, + { + path: '/', + element: ( + + + + + + ), + children: [ + { element: , index: true }, + { + path: 'prescription-orders', + element: ( + + + + ), + }, + ], + }, + { path: '*', - element: , + element: ( + + + + + + ), children: [ { path: '404', element: }, { path: '*', element: }, @@ -123,6 +195,7 @@ const ForgetPassword = Loadable(lazy(() => import('@/pages/auth/ForgetPassword') // Dashboard const Dashboard = Loadable(lazy(() => import('@/pages/Dashboard'))); const Claim = Loadable(lazy(() => import('@/pages/Claim'))); +const DashboardApotek = Loadable(lazy(() => import('@/pages/DashboardApotek'))); const NotFound = Loadable(lazy(() => import('@/pages/Page404'))); const DetailClaimReport = Loadable(lazy(()=> import('@/sections/dashboard/Detail'))); diff --git a/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx b/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx index ad566dde..79fe4de6 100755 --- a/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx +++ b/frontend/hospital-portal/src/sections/dashboard/DialogFinalLog.tsx @@ -148,7 +148,7 @@ export default function DialogFinalLog({ member, getData, onClose, handleSubmitS {/* -------------------------------Upload Dokumen Kondisi------------------------------- */} - {localeData.txtConditionDocument} + {localeData.txtBillingDocument} {/* Hasil Lab, */} ('desc'); + const [orderBy, setOrderBy] = useState('dTanggalresep'); + + const orders = { + order: order, + setOrder: setOrder, + orderBy: orderBy, + setOrderBy: setOrderBy, + }; + /* -------------------------------------------------------------------------- */ + + /* ---------------------------- handle pagination --------------------------- */ + const [page, setPage] = useState(0); + const [rowsPerPage, setRowsPerPage] = useState(10); + + const [paginationTable, setPaginationTable] = useState({ + current_page: 0, + from: 0, + last_page: 0, + links: [], + path: '', + per_page: 0, + to: 0, + total: 0, + }); + + const paginations = { + page: page, + setPage: setPage, + rowsPerPage: rowsPerPage, + setRowsPerPage: setRowsPerPage, + paginationTable: paginationTable, + setPaginationTable: setPaginationTable, + }; + + /* -------------------------------------------------------------------------- */ + + // ----------------------------------------- handle selected --------------------- + const [selectAll, setSelectAll] = useState(false); + const [selectedRows, setSelectedRows] = useState([]); + const [dataTableData, setDataTableData] = useState(); + const handleSelectAll = () => { + setSelectAll(!selectAll); + if (!selectAll) { + const requestedIds = dataTableData?.data + .filter((row: { status: string, check_claim:any }) => row.status === 'approved' && !row.check_claim) + .map((row: { id: any }) => row.id); + setSelectedRows(requestedIds); + } else { + setSelectedRows([]); + } + }; + + const handleCheckboxChange = (id: any) => { + setSelectedRows(prevSelectedRows => { + const isSelected = prevSelectedRows.includes(id); + if (isSelected) { + return prevSelectedRows.filter(rowId => rowId !== id); + } else { + return [...prevSelectedRows, id]; + } + }); + }; + + const [openDialogSubmit, setOpenDialogSubmit] = useState(false); + const handleCloseDialogSubmit = () => { + setOpenDialogSubmit(false); + } + const [valDialog, setValDialog] = useState(''); + const [reasonDecline, setReasonDecline] = useState(''); + const handleReasonDeclineChange = (event: { target: { value: SetStateAction; }; }) => { + setReasonDecline(event.target.value); +}; + + const selected = { + useSelected: false, + selectAll: selectAll, + handleSelectAll: handleSelectAll, + selectedRows: selectedRows, + handleCheckboxChange : handleCheckboxChange, + totRows: 9, + useDecline: false, + txtDecline: 'Decline', + useApprove:true, + txtApprove: 'Submit Claim', + setOpenDialogSubmit: setOpenDialogSubmit, + setValDialog: setValDialog + }; + + /* ------------------------------ handle search ----------------------------- */ + const [searchText, setSearchText] = useState(''); + + const handleSearchSubmit = async (event: React.FormEvent) => { + event.preventDefault(); + + if (searchText === '') { + searchParams.delete('search'); + const params = Object.fromEntries([...searchParams.entries()]); + setAppliedParams(params); + } else { + const params = Object.fromEntries([...searchParams.entries(), ['search', searchText]]); + setAppliedParams(params); + } + }; + + const searchs = { + useSearchs: true, + searchText: searchText, + setSearchText: setSearchText, + handleSearchSubmit: handleSearchSubmit, + }; + + /* ------------------------------ handle filter ----------------------------- */ + const [statusValue, setStatusValue] = useState('all'); + const [filterData, setStatusData] = useState([]); + + // handle status + const handleStatusChanges = (event: SelectChangeEvent) => { + setStatusValue(event.target.value as string); + + if (event.target.value === 'all') { + searchParams.delete('status'); + const params = Object.fromEntries([...searchParams.entries()]); + setAppliedParams(params); + } else { + const params = Object.fromEntries([ + ...searchParams.entries(), + ['status', event.target.value as string], + ]); + setAppliedParams(params); + } + }; + + const filterStatus = { + useFilter: true, + config: { + label: 'Status', + statusValue: statusValue, + filterData: filterData, + handleStatusChange: handleStatusChanges, + }, + }; + + // handle start date + const [startDateValue, setStartDateValue] = useState(''); + + const handleStartDateChanges = async (event: React.FormEvent) => { + event.preventDefault(); + const newStartDateValue = event.currentTarget.elements['date-input'].value; + setStartDateValue(newStartDateValue); + if (newStartDateValue === '') { + searchParams.delete('start_date'); + const params = Object.fromEntries([...searchParams.entries()]); + setAppliedParams(params); + } else { + const params = Object.fromEntries([...searchParams.entries(), ['start_date', newStartDateValue]]); + setAppliedParams(params); + } + }; + + const filterStartDate = { + useFilter: true, + startDate: startDateValue, + setStartDate: setStartDateValue, + handleStartDateChange: handleStartDateChanges, + }; + + // handle end date + const [endDateValue, setEndDateValue] = useState(''); + + const handleEndDateChanges = async (event: React.FormEvent) => { + event.preventDefault(); + const newEndDateValue = event.currentTarget.elements['date-input'].value; + setEndDateValue(newEndDateValue); + if (newEndDateValue === '') { + searchParams.delete('end_date'); + const params = Object.fromEntries([...searchParams.entries()]); + setAppliedParams(params); + } else { + const params = Object.fromEntries([...searchParams.entries(), ['end_date', newEndDateValue]]); + setAppliedParams(params); + } + }; + + const filterEndDate = { + useFilter: true, + endDate: endDateValue, + setEndDate: setEndDateValue, + handleEndDateChange: handleEndDateChanges, + }; + + /* -------------------------------- headCell Claim -------------------------------- */ + const headCells: HeadCell[] = [ + { + id: 'no_resep', + align: 'left', + label: localeData.txtPrescriptionNumber, + isSort: true, + }, + { + id: 'tanggal', + align: 'left', + label: localeData.txtPrescriptionDate, + isSort: true, + }, + { + id: 'pasien', + align: 'center', + label: localeData.txtPrescriptionPatient, + isSort: true, + }, + { + id: 'apotek', + align: 'center', + label: localeData.txtPrescriptionPharmacy, + isSort: true, + }, + { + id: 'status', + align: 'center', + label: localeData.txtStatus, + isSort: true, + }, + { + id: 'action', + align: 'right', + label: '', + isSort: false, + }, + ]; + + + useEffect(() => { + getData(); + }, [appliedParams, searchParams, order, orderBy, setSearchParams]); + const [openRowId, setOpenRowId] = useState(null); + function getData() + { + (async () => { + setIsLoading(true); + + await new Promise((resolve) => setTimeout(resolve, 250)); + + const parameters = + Object.keys(appliedParams).length !== 0 + ? appliedParams + : Object.fromEntries([...searchParams.entries(), ['order', order], ['orderBy', orderBy]]); + + const response = await axios.get(`/get-prescription-orders`, { + params: { ...parameters, type: 'prescription-orders' }, + }); + setDataTableData(response.data); + setData( + response.data.data.map((obj: any) => ({ + ...obj, + status: + obj.status === 'waiting_pharmacy' ? ( + + ) : obj.status === 'order_prepared' ? ( + + ) : obj.status === 'ready' ? ( + + ) : obj.status === 'waiting_for_courir' ? ( + + ) : obj.status === 'package_picked_up' ? ( + + ) : obj.status === 'package_on_delivery' ? ( + + ) : obj.status === 'package_delivered' ? ( + + ) : obj.status === 'waiting_for_payment' ? ( + + ): obj.status === 'failed' ? ( + + ) : ( + + ), + tanggal: + + , + valid_tanggal: + + , + action: + + setOpenRowId(obj.id === openRowId ? null : obj.id)}> + + {localeData.txtPrescriptionDetail} + + handleDownloadPrescription(obj.link_download)}> + + {localeData.txtPrescriptionDownload} + + + } /> + })) + ); + + setPaginationTable(response.data); + setRowsPerPage(response.data.per_page); + + if (searchParams.get('page')) { + //@ts-ignore + const currentPage = parseInt(searchParams.get('page')) - 1; + + paginationTable.current_page = currentPage; + setPage(currentPage); + } + + const status:any = [ + {"id": "waiting_for_payment", "name": localeData.txtLabelWaitingForPayment }, + {"id": "waiting_pharmacy", "name": localeData.txtLabelNew }, + {"id": "order_prepared", "name": localeData.txtLabelAccepted }, + {"id": "ready", "name": localeData.txtLabelReady }, + {"id": "waiting_for_courir", "name": localeData.txtLabelWaitingCourir }, + {"id": "package_picked_up", "name": localeData.txtLabelPackagePickedUp }, + {"id": "package_on_delivery", "name": localeData.txtLabelPackageOnDelivery }, + {"id": "package_delivered", "name": localeData.txtLabelPackageDelivered }, + {"id": "failed", "name": localeData.txtLabelFailed }, + ]; + setStatusData(status) + + setIsLoading(false); + })(); + } + + + return ( + <> + + + ); +} diff --git a/frontend/hospital-portal/src/utils/formatTime.ts b/frontend/hospital-portal/src/utils/formatTime.ts index a9fc9250..fea72e17 100755 --- a/frontend/hospital-portal/src/utils/formatTime.ts +++ b/frontend/hospital-portal/src/utils/formatTime.ts @@ -11,6 +11,40 @@ export function fDateTime(date: Date | string | number) { return format(new Date(date), 'dd MMM yyyy HH:mm'); } +// Function to calculate the age from the birthdate +function calculateAge(birthDate: Date): number { + const today = new Date(); + const age = today.getFullYear() - birthDate.getFullYear(); + const monthDifference = today.getMonth() - birthDate.getMonth(); + const dayDifference = today.getDate() - birthDate.getDate(); + + // Adjust age if birthday hasn't occurred yet this year + if (monthDifference < 0 || (monthDifference === 0 && dayDifference < 0)) { + return age - 1; + } + + return age; +} + +// Extended function to format the date and include the age if it's a birthdate +export function fDateTimeWithAge(date: Date | string | number): string { + const birthDate = new Date(date); + const formattedDate = format(birthDate, 'dd MMM yyyy'); + const age = calculateAge(birthDate); + + // If the age is 0, the output should be months instead of years + let ageText = age > 0 ? `${age} years old` : ''; + + if (age === 0) { + const monthsOld = new Date().getMonth() - birthDate.getMonth() + + (12 * (new Date().getFullYear() - birthDate.getFullYear())); + ageText = `${monthsOld} months old`; + } + + return `${formattedDate} / ${ageText}`; +} + + export function fTimestamp(date: Date | string | number) { return getTime(new Date(date)); } diff --git a/public/client-portal/assets/ArrowBackIos.b2aa057a.js b/public/client-portal/assets/ArrowBackIos.b2aa057a.js deleted file mode 100644 index e0e18938..00000000 --- a/public/client-portal/assets/ArrowBackIos.b2aa057a.js +++ /dev/null @@ -1 +0,0 @@ -import{r,i as a,a as t}from"./jsx-runtime_commonjs-proxy.b87625c0.js";var e={},o=a.exports;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(r()),d=t,l=(0,i.default)((0,d.jsx)("path",{d:"M11.67 3.87 9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z"}),"ArrowBackIos");u=e.default=l;export{u as d}; diff --git a/public/client-portal/assets/Card.a4168b31.js b/public/client-portal/assets/Card.a4168b31.js deleted file mode 100644 index edb192e1..00000000 --- a/public/client-portal/assets/Card.a4168b31.js +++ /dev/null @@ -1 +0,0 @@ -import{a as d,g as u,s as C,P as p,r as f,u as m,e as x,_ as n,j as h,h as y,i as g}from"./index.b0a49137.js";function v(s){return d("MuiCard",s)}u("MuiCard",["root"]);const w=["className","raised"],M=s=>{const{classes:e}=s;return g({root:["root"]},v,e)},P=C(p,{name:"MuiCard",slot:"Root",overridesResolver:(s,e)=>e.root})(()=>({overflow:"hidden"})),R=f.exports.forwardRef(function(e,t){const o=m({props:e,name:"MuiCard"}),{className:i,raised:r=!1}=o,l=x(o,w),a=n({},o,{raised:r}),c=M(a);return h(P,n({className:y(c.root,i),elevation:r?8:void 0,ref:t,ownerState:a},l))}),_=R;export{_ as C}; diff --git a/public/client-portal/assets/Checkbox.362ad1e0.js b/public/client-portal/assets/Checkbox.362ad1e0.js deleted file mode 100644 index 8e0a4d8d..00000000 --- a/public/client-portal/assets/Checkbox.362ad1e0.js +++ /dev/null @@ -1 +0,0 @@ -import{c as h,j as t,g as P,a as B,s as g,aQ as S,b as v,_ as n,a6 as M,r as d,u as _,e as H,h as R,i as O}from"./index.b0a49137.js";import{S as U}from"./SwitchBase.6ffeba1b.js";const V=h(t("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),j=h(t("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),L=h(t("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function N(o){return B("MuiCheckbox",o)}const w=P("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),p=w,E=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],F=o=>{const{classes:e,indeterminate:c,color:s}=o,r={root:["root",c&&"indeterminate",`color${v(s)}`]},a=O(r,N,e);return n({},e,a)},Q=g(U,{shouldForwardProp:o=>S(o)||o==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(o,e)=>{const{ownerState:c}=o;return[e.root,c.indeterminate&&e.indeterminate,c.color!=="default"&&e[`color${v(c.color)}`]]}})(({theme:o,ownerState:e})=>n({color:(o.vars||o).palette.text.secondary},!e.disableRipple&&{"&:hover":{backgroundColor:o.vars?`rgba(${e.color==="default"?o.vars.palette.action.activeChannel:o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.hoverOpacity})`:M(e.color==="default"?o.palette.action.active:o.palette[e.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},e.color!=="default"&&{[`&.${p.checked}, &.${p.indeterminate}`]:{color:(o.vars||o).palette[e.color].main},[`&.${p.disabled}`]:{color:(o.vars||o).palette.action.disabled}})),T=t(j,{}),W=t(V,{}),q=t(L,{}),A=d.exports.forwardRef(function(e,c){var s,r;const a=_({props:e,name:"MuiCheckbox"}),{checkedIcon:b=T,color:f="primary",icon:I=W,indeterminate:i=!1,indeterminateIcon:u=q,inputProps:z,size:l="medium",className:$}=a,y=H(a,E),m=i?u:I,C=i?u:b,k=n({},a,{color:f,indeterminate:i,size:l}),x=F(k);return t(Q,n({type:"checkbox",inputProps:n({"data-indeterminate":i},z),icon:d.exports.cloneElement(m,{fontSize:(s=m.props.fontSize)!=null?s:l}),checkedIcon:d.exports.cloneElement(C,{fontSize:(r=C.props.fontSize)!=null?r:l}),ownerState:k,ref:c,className:R(x.root,$)},y,{classes:x}))}),J=A;export{J as C}; diff --git a/public/client-portal/assets/Close.6dbec378.js b/public/client-portal/assets/Close.6dbec378.js deleted file mode 100644 index f9cff3ec..00000000 --- a/public/client-portal/assets/Close.6dbec378.js +++ /dev/null @@ -1 +0,0 @@ -import{g as k,a as y,r as p,s as u,aM as V,aN as G,b as d,_ as r,P as _,u as $,v as J,e as M,j as c,h as m,i as P,aH as Q,T as Z}from"./index.b0a49137.js";import{u as oo}from"./useId.c3f149cd.js";import{r as eo,i as ao,a as to}from"./jsx-runtime_commonjs-proxy.b87625c0.js";function ro(o){return y("MuiDialog",o)}const io=k("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),W=io,so=p.exports.createContext({}),F=so,lo=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],no=u(V,{name:"MuiDialog",slot:"Backdrop",overrides:(o,e)=>e.backdrop})({zIndex:-1}),co=o=>{const{classes:e,scroll:a,maxWidth:t,fullWidth:s,fullScreen:i}=o,l={root:["root"],container:["container",`scroll${d(a)}`],paper:["paper",`paperScroll${d(a)}`,`paperWidth${d(String(t))}`,s&&"paperFullWidth",i&&"paperFullScreen"]};return P(l,ro,e)},po=u(G,{name:"MuiDialog",slot:"Root",overridesResolver:(o,e)=>e.root})({"@media print":{position:"absolute !important"}}),uo=u("div",{name:"MuiDialog",slot:"Container",overridesResolver:(o,e)=>{const{ownerState:a}=o;return[e.container,e[`scroll${d(a.scroll)}`]]}})(({ownerState:o})=>r({height:"100%","@media print":{height:"auto"},outline:0},o.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},o.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&:after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),go=u(_,{name:"MuiDialog",slot:"Paper",overridesResolver:(o,e)=>{const{ownerState:a}=o;return[e.paper,e[`scrollPaper${d(a.scroll)}`],e[`paperWidth${d(String(a.maxWidth))}`],a.fullWidth&&e.paperFullWidth,a.fullScreen&&e.paperFullScreen]}})(({theme:o,ownerState:e})=>r({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},e.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},e.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!e.maxWidth&&{maxWidth:"calc(100% - 64px)"},e.maxWidth==="xs"&&{maxWidth:o.breakpoints.unit==="px"?Math.max(o.breakpoints.values.xs,444):`${o.breakpoints.values.xs}${o.breakpoints.unit}`,[`&.${W.paperScrollBody}`]:{[o.breakpoints.down(Math.max(o.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},e.maxWidth&&e.maxWidth!=="xs"&&{maxWidth:`${o.breakpoints.values[e.maxWidth]}${o.breakpoints.unit}`,[`&.${W.paperScrollBody}`]:{[o.breakpoints.down(o.breakpoints.values[e.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},e.fullWidth&&{width:"calc(100% - 64px)"},e.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${W.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),xo=p.exports.forwardRef(function(e,a){const t=$({props:e,name:"MuiDialog"}),s=J(),i={enter:s.transitions.duration.enteringScreen,exit:s.transitions.duration.leavingScreen},{"aria-describedby":l,"aria-labelledby":n,BackdropComponent:g,BackdropProps:h,children:U,className:j,disableEscapeKeyDown:T=!1,fullScreen:I=!1,fullWidth:A=!1,maxWidth:q="sm",onBackdropClick:w,onClose:v,open:R,PaperComponent:L=_,PaperProps:B={},scroll:Y="paper",TransitionComponent:z=Q,transitionDuration:N=i,TransitionProps:E}=t,H=M(t,lo),f=r({},t,{disableEscapeKeyDown:T,fullScreen:I,fullWidth:A,maxWidth:q,scroll:Y}),b=co(f),C=p.exports.useRef(),K=x=>{C.current=x.target===x.currentTarget},X=x=>{!C.current||(C.current=null,w&&w(x),v&&v(x,"backdropClick"))},D=oo(n),O=p.exports.useMemo(()=>({titleId:D}),[D]);return c(po,r({className:m(b.root,j),closeAfterTransition:!0,components:{Backdrop:no},componentsProps:{backdrop:r({transitionDuration:N,as:g},h)},disableEscapeKeyDown:T,onClose:v,open:R,ref:a,onClick:X,ownerState:f},H,{children:c(z,r({appear:!0,in:R,timeout:N,role:"presentation"},E,{children:c(uo,{className:m(b.container),onMouseDown:K,ownerState:f,children:c(go,r({as:L,elevation:24,role:"dialog","aria-describedby":l,"aria-labelledby":D},B,{className:m(b.paper,B.className),ownerState:f,children:c(F.Provider,{value:O,children:U})}))})}))}))}),Fo=xo;function mo(o){return y("MuiDialogContent",o)}k("MuiDialogContent",["root","dividers"]);function fo(o){return y("MuiDialogTitle",o)}const ho=k("MuiDialogTitle",["root"]),vo=ho,bo=["className","dividers"],Co=o=>{const{classes:e,dividers:a}=o;return P({root:["root",a&&"dividers"]},mo,e)},Do=u("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(o,e)=>{const{ownerState:a}=o;return[e.root,a.dividers&&e.dividers]}})(({theme:o,ownerState:e})=>r({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},e.dividers?{padding:"16px 24px",borderTop:`1px solid ${(o.vars||o).palette.divider}`,borderBottom:`1px solid ${(o.vars||o).palette.divider}`}:{[`.${vo.root} + &`]:{paddingTop:0}})),Wo=p.exports.forwardRef(function(e,a){const t=$({props:e,name:"MuiDialogContent"}),{className:s,dividers:i=!1}=t,l=M(t,bo),n=r({},t,{dividers:i}),g=Co(n);return c(Do,r({className:m(g.root,s),ownerState:n,ref:a},l))}),Uo=Wo,ko=["className","id"],yo=o=>{const{classes:e}=o;return P({root:["root"]},fo,e)},$o=u(Z,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(o,e)=>e.root})({padding:"16px 24px",flex:"0 0 auto"}),Mo=p.exports.forwardRef(function(e,a){const t=$({props:e,name:"MuiDialogTitle"}),{className:s,id:i}=t,l=M(t,ko),n=t,g=yo(n),{titleId:h=i}=p.exports.useContext(F);return c($o,r({component:"h2",className:m(g.root,s),ownerState:n,ref:a,variant:"h6",id:i!=null?i:h},l))}),jo=Mo;var S={},Po=ao.exports;Object.defineProperty(S,"__esModule",{value:!0});var So=S.default=void 0,To=Po(eo()),wo=to,Ro=(0,To.default)((0,wo.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");So=S.default=Ro;export{Fo as D,Uo as a,jo as b,So as c,W as d}; diff --git a/public/client-portal/assets/Detail.2294ea3c.js b/public/client-portal/assets/Detail.2294ea3c.js deleted file mode 100644 index 9b97742f..00000000 --- a/public/client-portal/assets/Detail.2294ea3c.js +++ /dev/null @@ -1 +0,0 @@ -import{P as se}from"./Page.e9d8cc16.js";import{r as m,Z as O,au as K,j as e,F as P,f as n,T as p,S as d,D as R,q as B,a3 as _,B as D,s as V,P as T,a0 as Y,m as le,n as ce,Y as de,a2 as ue}from"./index.b0a49137.js";import{r as I,i as A,a as j}from"./jsx-runtime_commonjs-proxy.b87625c0.js";import{i as pe,a as me}from"./isObject.095d1ac4.js";import{T as fe,t as ge,a as he,b as xe,c as ve,d as be,e as Be}from"./TimelineSeparator.77b9b667.js";import{f as w}from"./index.49ea62c1.js";import{C as N}from"./Card.a4168b31.js";import{L as ye}from"./LoadingButton.6a53b4e1.js";import{S as Ce,a as Se,b as De}from"./Stepper.49691c4e.js";import{d as Re}from"./ArrowBackIos.b2aa057a.js";import{G as k}from"./Grid.97ae8bc1.js";import"./useId.c3f149cd.js";import"./generateUtilityClasses.06032f54.js";var $={},_e=A.exports;Object.defineProperty($,"__esModule",{value:!0});var S=$.default=void 0,ke=_e(I()),we=j,Ie=(0,ke.default)((0,we.jsx)("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"}),"InsertDriveFile");S=$.default=Ie;var L={},Ae=A.exports;Object.defineProperty(L,"__esModule",{value:!0});var G=L.default=void 0,je=Ae(I()),$e=j,Le=(0,je.default)((0,$e.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"}),"Description");G=L.default=Le;var ze=function t(a,o,s,h){var u=h||"";(function(r){return r===null})(a)||function(r){return r===void 0}(a)?o.excludeNull||s.append(u,""):function(r){return r instanceof File}(a)||function(r){return r instanceof Blob}(a)?s.append(u,a):pe(a)?a.forEach(function(r,v){var g=u;o.useBrackets&&(g+="["+(o.arrayIndexes?v:"")+"]"),t(r,o,s,g)}):me(a)?Object.entries(a).forEach(function(r){var v=r[0],g=v;h&&(g=o.useDotSeparator?h+"."+v:h+"["+v+"]"),t(r[1],o,s,g)}):function(r){return typeof r=="boolean"}(a)?s.append(u,o.booleanAsNumbers?""+Number(a):a?"true":"false"):s.append(u,a)},Fe={arrayIndexes:!0,excludeNull:!0,useDotSeparator:!1,useBrackets:!0,booleanAsNumbers:!1},qe=function(t,a,o){return a===void 0&&(a={}),o===void 0&&(o=new FormData),t&&(a=Object.assign({},Fe,a),ze(t,a,o)),o};function Me(t){return qe(t)}const We=V(T)(({theme:t})=>({...t.typography.body2,padding:t.spacing(1),textAlign:"center",backgroundColor:"#919EAB29",color:"#637381",width:"fit-content",marginRight:"auto"})),Ee=V(T)(({theme:t})=>({backgroundColor:t.palette.mode==="dark"?"#1A2027":"#fff",...t.typography.body2,padding:t.spacing(1),textAlign:"center",color:t.palette.text.secondary,width:"fit-content",marginLeft:"auto"}));function He({data:t}){const[a,o]=m.exports.useState(null),[s,h]=m.exports.useState(null),[u,r]=m.exports.useState(null);m.exports.useEffect(()=>{t&&t.data&&(o(t.data.timeline),h(t.data.request_files),r(t.data.documents))},[t]);const v=m.exports.useRef(null),[g,F]=m.exports.useState([]),Z=i=>{i.target.files[0]&&F([...g,...i.target.files])},J=(i,x)=>{F(i.filter((c,f)=>f!=x))},q=m.exports.useRef(null),[y,M]=m.exports.useState([]),Q=i=>{i.target.files[0]&&M([...y,...i.target.files])},X=(i,x)=>{M(i.filter((c,f)=>f!=x))},W=m.exports.useRef(null),[C,E]=m.exports.useState([]),ee=i=>{i.target.files[0]&&E([...C,...i.target.files])},te=(i,x)=>{E(i.filter((c,f)=>f!=x))},{corporateValue:re}=m.exports.useContext(O),{id:ne}=K(),[ie,oe]=m.exports.useState(!1),ae=()=>{oe(!0);const i=Me({fileDiagnosis:g,fileKondisis:y,fileResults:C});Y.post(re+"/claim-report/"+ne+"/request-files",i).then(x=>{window.location.reload()}).catch(({response:x})=>{var c;le((c=x.data.message)!=null?c:"Something Went Wrong",{variant:"error"})})},H=s==null?void 0:s.find(i=>i.check_files===null);return e(P,{children:a==null?void 0:a.map((i,x)=>n(fe,{sx:{[`& .${ge.root}:before`]:{flex:0,padding:0}},children:[e(p,{variant:"body2",gutterBottom:!0,fontWeight:"bold",children:i.date?w(new Date(i.date),"d MMM yyyy"):""}),n(he,{children:[n(xe,{children:[e(ve,{}),e(be,{})]}),n(Be,{spacing:3,children:[e(N,{sx:{borderRadius:"6px",paddingY:2},children:n(d,{sx:{marginLeft:2,marginRight:2,marginTop:2},children:[n(d,{direction:"row",sx:{marginBottom:2,paddingBottom:2,borderBottom:"1px solid #919EAB52"},children:[e(We,{children:i.date?w(new Date(i.date),"HH : mm"):""}),e(Ee,{sx:{backgroundColor:i.txt_status_backgroundColor,color:i.txt_status_color},children:i.txt_status})]}),n(d,{direction:"row",spacing:2,sx:{marginBottom:2},children:[e(p,{variant:"body2",gutterBottom:!0,children:"Detail:"}),e(p,{variant:"body2",gutterBottom:!0,children:i.description})]}),i.status==="reviewed"&&s?n(P,{children:[H?e(p,{variant:"body2",gutterBottom:!0,children:"Request Document"}):e(p,{sx:{color:"#19BBBB"},variant:"body2",gutterBottom:!0,children:"Request Document Success Uploaded"}),s==null?void 0:s.map((c,f)=>c.type!=="claim-diagnosis"||c.check_files!==null?null:n(d,{spacing:2,sx:{marginBottom:2},children:[e(p,{variant:"body2",gutterBottom:!0,fontWeight:"bold",children:"Diagnosis"}),e(d,{divider:e(R,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:g&&g.map((l,b)=>n(d,{direction:"row",justifyContent:"space-between",children:[n(d,{direction:"row",spacing:1,sx:{color:"#19BBBB"},children:[e(S,{}),e(p,{variant:"body2",gutterBottom:!0,children:l.name?l.name:"-"})]}),e(B,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{J(g,b)},sx:{cursor:"pointer"}})]},b))}),n(_,{sx:{p:4,border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",width:"100%",height:"60px"},onClick:()=>{var l;return(l=v.current)==null?void 0:l.click()},children:[n(D,{sx:{display:"flex",placeItems:"center",gap:1,placeContent:"center"},children:[e(B,{icon:"icon-park-outline:upload-one",fontSize:"3em"}),e(p,{variant:"body1",fontWeight:"bold",children:"Add Result"})]}),e("input",{type:"file",id:`file-${f}`,ref:v,style:{display:"none"},multiple:!0,onChange:l=>Z(l),accept:".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/plain, application/pdf"})]})]},f)),s==null?void 0:s.map((c,f)=>c.type!=="claim-kondisi"||c.check_files!==null?null:n(d,{spacing:2,sx:{marginBottom:2},children:[e(p,{variant:"body2",gutterBottom:!0,fontWeight:"bold",children:"Condition"}),e(d,{divider:e(R,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:y&&y.map((l,b)=>n(d,{direction:"row",justifyContent:"space-between",children:[n(d,{direction:"row",spacing:1,sx:{color:"#19BBBB"},children:[e(S,{}),e(p,{variant:"body2",gutterBottom:!0,children:l.name?l.name:"-"})]}),e(B,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{X(y,b)},sx:{cursor:"pointer"}})]},b))}),n(_,{sx:{p:4,border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",width:"100%",height:"60px"},onClick:()=>{var l;return(l=q.current)==null?void 0:l.click()},children:[n(D,{sx:{display:"flex",placeItems:"center",gap:1,placeContent:"center"},children:[e(B,{icon:"icon-park-outline:upload-one",fontSize:"3em"}),e(p,{variant:"body1",fontWeight:"bold",children:"Add Result"})]}),e("input",{type:"file",id:`file-${f}`,ref:q,style:{display:"none"},multiple:!0,onChange:l=>Q(l),accept:".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/plain, application/pdf"})]})]},f)),s==null?void 0:s.map((c,f)=>c.type!=="claim-result"||c.check_files!==null?null:n(d,{spacing:2,sx:{marginBottom:2},children:[e(p,{variant:"body2",gutterBottom:!0,fontWeight:"bold",children:"Supporting Result"}),e(d,{divider:e(R,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:C&&C.map((l,b)=>n(d,{direction:"row",justifyContent:"space-between",children:[n(d,{direction:"row",spacing:1,sx:{color:"#19BBBB"},children:[e(S,{}),e(p,{variant:"body2",gutterBottom:!0,children:l.name?l.name:"-"})]}),e(B,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{te(C,b)},sx:{cursor:"pointer"}})]},b))}),n(_,{sx:{p:4,border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",width:"100%",height:"60px"},onClick:()=>{var l;return(l=W.current)==null?void 0:l.click()},children:[n(D,{sx:{display:"flex",placeItems:"center",gap:1,placeContent:"center"},children:[e(B,{icon:"icon-park-outline:upload-one",fontSize:"3em"}),e(p,{variant:"body1",fontWeight:"bold",children:"Add Result"})]}),e("input",{type:"file",id:`file-${f}`,ref:W,style:{display:"none"},multiple:!0,onChange:l=>ee(l),accept:".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/plain, application/pdf"})]})]},f)),H?e(ye,{variant:"contained",sx:{marginTop:2,p:2,backgroundColor:"#19BBBB"},onClick:()=>{ae()},loading:ie,children:"Submit"}):""]}):""]})}),i.status==="requested"?e(N,{sx:{marginTop:2},children:n(d,{sx:{marginLeft:2,marginRight:2,marginTop:2},children:[n(d,{direction:"row",spacing:2,sx:{marginBottom:2,paddingBottom:2,borderBottom:"1px solid #919EAB52"},alignItems:"center",children:[e(G,{}),e(p,{variant:"Subtitle2",sx:{fontWeight:"bold"},children:"Documents"})]}),e(d,{direction:"column",spacing:2,sx:{marginBottom:2},children:u==null?void 0:u.map((c,f)=>n(d,{direction:"column",spacing:2,children:[e(p,{variant:"Subtitle2",gutterBottom:!0,children:c.type==="claim-diagnosis"?"Diagnosis":c.type==="claim-kondisi"?"Condition":c.type==="claim-result"?"Supporting Result":c.type==="claim-invoice"?"Invoice":""}),n(d,{direction:"row",spacing:1,sx:{color:"#19BBBB"},children:[e(S,{}),e("a",{href:c.path,style:{cursor:"pointer",textDecoration:"underline",color:"#19BBBB"},target:"_blank",children:e(p,{variant:"body2",gutterBottom:!0,children:c.original_name?c.original_name:"-"})})]})]},f))})]})}):""]})]})]},x))})}var z={},Pe=A.exports;Object.defineProperty(z,"__esModule",{value:!0});var U=z.default=void 0,Ne=Pe(I()),Oe=j,Ke=(0,Ne.default)((0,Oe.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");U=z.default=Ke;const Ve=["Request","Review","Approval","Decline"];function Te({data:t}){const[a,o]=m.exports.useState(0),[s,h]=m.exports.useState(null);let u=[...Ve];return m.exports.useEffect(()=>{t&&t.data&&(t.data.status.status==="requested"?(o(1),u=u.filter(r=>r!=="Decline")):t.data.status.status==="reviewed"?(o(2),u=u.filter(r=>r!=="Decline")):t.data.status.status==="approved"?(o(3),u=u.filter(r=>r!=="Decline")):t.data.status.status==="declined"&&(o(4),u=u.filter(r=>r!=="Approval"))),h(u)},[t]),e(D,{sx:{width:"100%",marginBottom:2},children:e(Ce,{activeStep:a,alternativeLabel:!0,children:s==null?void 0:s.map(r=>e(Se,{children:e(De,{icon:r==="Decline"?e(U,{sx:{color:"white",backgroundColor:"red",borderRadius:"50%"}}):"",children:r})},r))})})}function at(){const t=ce(),{themeStretch:a}=de(),[o,s]=m.exports.useState(),{corporateValue:h}=m.exports.useContext(O),{id:u}=K();return m.exports.useEffect(()=>{Y.get(h+"/claim-report/detail/"+u).then(r=>{s(r.data)}).catch(r=>{console.error(r)})},[]),e(se,{title:"Detail",children:n(ue,{maxWidth:a?!1:"xl",children:[n(d,{direction:"row",alignItems:"center",sx:{marginBottom:3},children:[e(Re,{onClick:()=>t(-1),sx:{cursor:"pointer"}}),e(p,{variant:"h5",sx:{marginLeft:2},children:"Detail"}),o?n(d,{direction:"row",spacing:2,ml:"auto",children:[e(p,{variant:"body2",sx:{color:"#757575"},children:"Submission Date"}),e(p,{variant:"body2",fontWeight:"bold",children:o&&o.data?w(new Date(o.data.status.submission_date),"d MMM yyyy"):""})]}):""]}),o?n(k,{container:!0,spacing:2,children:[e(k,{item:!0,xs:12,md:12,children:e(Te,{data:o})}),e(k,{item:!0,xs:12,md:12,children:e(He,{data:o})})]}):""]})})}export{at as default}; diff --git a/public/client-portal/assets/DetailHistory.a6f310d0.js b/public/client-portal/assets/DetailHistory.a6f310d0.js deleted file mode 100644 index f12f9073..00000000 --- a/public/client-portal/assets/DetailHistory.a6f310d0.js +++ /dev/null @@ -1 +0,0 @@ -import{P as C}from"./Page.e9d8cc16.js";import{n as B,Y as T,r as s,Z as k,au as R,a0 as W,j as i,f as t,a2 as D,S as o,T as e}from"./index.b0a49137.js";import{d as S}from"./ArrowBackIos.b2aa057a.js";import{a as d}from"./formatNumber.0b88db94.js";import{G as c}from"./Grid.97ae8bc1.js";import{T as b}from"./TableContainer.58606ed5.js";import{T as x,b as n,c as a,a as p}from"./TableRow.41459f01.js";import{T as N}from"./TableHead.c7022a42.js";import{f as j}from"./index.49ea62c1.js";import"./jsx-runtime_commonjs-proxy.b87625c0.js";import"./useId.c3f149cd.js";function U(){var h,m,g;const y=B(),{themeStretch:v}=T(),[l,w]=s.exports.useState(),{corporateValue:u}=s.exports.useContext(k),{id:_}=R();return s.exports.useEffect(()=>{W.get(u+"/claim-report/detail-history/"+_).then(r=>{w(r.data)}).catch(r=>{console.error(r)})},[]),i(C,{title:"Detail",children:t(D,{maxWidth:v?!1:"xl",children:[t(o,{direction:"row",alignItems:"center",sx:{marginBottom:3},children:[i(S,{onClick:()=>y(-1),sx:{cursor:"pointer"}}),i(e,{variant:"h5",sx:{marginLeft:2},children:"History"})]}),l?t(c,{container:!0,spacing:3,children:[t(c,{item:!0,xs:12,md:12,children:[t(o,{direction:"row",sx:{marginBottom:2},children:[i(e,{variant:"body2",sx:{color:"#637381",marginRight:1,flexBasis:"10%"},children:"Name"}),i(e,{variant:"body2",sx:{fontWeight:"bold"},children:l.data.member.name})]}),t(o,{direction:"row",sx:{marginBottom:2},children:[i(e,{variant:"body2",sx:{color:"#637381",marginRight:1,flexBasis:"10%"},children:"Member ID"}),i(e,{variant:"body2",sx:{fontWeight:"bold"},children:l.data.member.member_id})]}),t(o,{direction:"row",sx:{marginBottom:2},children:[i(e,{variant:"body2",sx:{color:"#637381",marginRight:1,flexBasis:"10%"},children:"Claim Code"}),i(e,{variant:"body2",sx:{fontWeight:"bold"},children:l.data.member.code})]})]}),i(c,{item:!0,xs:12,md:12,children:i(b,{children:t(x,{"aria-label":"collapsible table",size:"small",children:[i(N,{children:t(n,{children:[i(a,{align:"left",sx:{padding:2},width:"5%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"No"})}),i(a,{align:"left",sx:{padding:2},width:"15%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Date"})}),i(a,{align:"left",sx:{padding:2},width:"20%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Requirment"})}),i(a,{align:"left",sx:{padding:2},width:"20%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Request Claim"})}),i(a,{align:"left",sx:{padding:2},width:"20%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Approval Claim"})})]})}),i(p,{children:((m=(h=l==null?void 0:l.data)==null?void 0:h.claim_item)==null?void 0:m.length)===0?i(n,{children:i(a,{colSpan:5,align:"center",children:i(e,{variant:"body2",children:"No data available"})})}):(g=l.data.claim_item)==null?void 0:g.map((r,f)=>t(n,{children:[i(a,{align:"left",children:i(e,{variant:"body2",children:parseInt(f)+1})}),i(a,{align:"center",children:i(e,{sx:{backgroundColor:"#919EAB29",color:"#637381",borderRadius:"4px",width:"70%"},variant:"body2",children:j(new Date(r.submission_date),"d MMM yyyy")})}),i(a,{align:"left",children:r.description}),i(a,{align:"left",children:d(r.nominal_ditagihkan)}),i(a,{align:"left",children:d(r.nominal_dicover)})]},f))})]})})}),l.data.tot_claim_item?t(c,{item:!0,xs:12,md:12,children:[i(b,{children:i(x,{"aria-label":"collapsible table",size:"small",children:t(p,{children:[t(n,{sx:{borderBottom:0},children:[i(a,{align:"left",width:"5%"}),i(a,{align:"left",width:"15%"}),i(a,{align:"left",width:"20%"}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Request Claim"})}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{fontWeight:"bold"},children:l.data.tot_claim_item.nominal_ditagihkan?d(l.data.tot_claim_item.nominal_ditagihkan):"-"})})]}),t(n,{sx:{borderBottom:0},children:[i(a,{align:"left",width:"5%"}),i(a,{align:"left",width:"15%"}),i(a,{align:"left",width:"20%"}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{color:"#637381"},children:"Approval Claim"})}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{fontWeight:"bold",color:"#FF4842"},children:l.data.tot_claim_item.nominal_dicover?d(l.data.tot_claim_item.nominal_dicover):"-"})})]}),t(n,{sx:{borderBottom:0},children:[i(a,{align:"left",width:"5%"}),i(a,{align:"left",width:"15%"}),i(a,{align:"left",width:"20%"}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{fontWeight:"bold"},children:"Difference"})}),i(a,{align:"left",width:"20%",children:i(e,{variant:"body2",sx:{fontWeight:"bold"},children:l.data.tot_claim_item.difference?d(l.data.tot_claim_item.difference):"-"})})]})]})})}),t(o,{direction:"row",justifyContent:"flex-end",alignItems:"flex-end",sx:{marginTop:15,padding:2},spacing:1,children:[i(e,{variant:"body2",sx:{fontStyle:"italic",color:"#637381"},children:"Note : Apabila terdapat perbedaan nominal silahkan hubungi kami "}),i("img",{alt:"Gmail Icon",sx:{height:32,width:30},src:"/images/gmail.png"})]})]}):""]}):""]})})}export{U as default}; diff --git a/public/client-portal/assets/DialogDetailClaim.42799191.js b/public/client-portal/assets/DialogDetailClaim.42799191.js deleted file mode 100644 index 5e92ee83..00000000 --- a/public/client-portal/assets/DialogDetailClaim.42799191.js +++ /dev/null @@ -1 +0,0 @@ -import{au as x,n as g,r as l,Z as b,a0 as v,f as i,F as y,S as n,T as a,j as e,B as w,D as s,q as D}from"./index.b0a49137.js";import{c as d,b as C}from"./formatTime.0646b9d0.js";import{S,a as j,b as I}from"./Stepper.49691c4e.js";import{C as p}from"./Card.a4168b31.js";import"./index.49ea62c1.js";const Y=["Review","Approval","Disbursement"],U=()=>{const{id:h}=x(),m=g(),{corporateValue:c}=l.exports.useContext(b),[f,k]=l.exports.useState(c),[t,u]=l.exports.useState(null);return l.exports.useEffect(()=>{v.get(`${c}/claim-report/${h}`).then(r=>{u(r.data.data)}).catch(r=>{console.error("Terjadi kesalahan:",r)})},[]),l.exports.useEffect(()=>{f!==c&&m("/claim-report")},[c]),i(y,{children:[i(n,{alignItems:"center",justifyContent:"space-between",direction:"row",sx:{marginTop:1},children:[i(a,{variant:"subtitle1",sx:{height:"max-content"},children:["Claim Request for ",t==null?void 0:t.fullName]}),i(n,{children:[e(a,{variant:"caption",children:"Submission date"}),e(a,{variant:"caption",children:d(t?t.submissionDate:new Date,"dd / MM / yyyy")})]})]}),e(w,{sx:{width:"100%",marginTop:2},children:e(S,{activeStep:(t==null?void 0:t.status)==="approved"?1:(t==null?void 0:t.status)==="requested"?0:2,alternativeLabel:!0,children:Y.map(r=>e(j,{children:e(I,{children:r})},r))})}),e(n,{marginTop:2,children:e(a,{variant:"subtitle1",paddingY:2,children:C(t?t==null?void 0:t.histories[0].created_at:new Date)})}),i(n,{direction:"row",spacing:2,children:[e(s,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed"}}),i(n,{spacing:2,sx:{flex:1,maxWidth:"100%"},children:[t==null?void 0:t.histories.map((r,o)=>i(p,{sx:{paddingY:2,paddingX:3},children:[e(n,{direction:"row",justifyContent:"space-between",alignItems:"center",children:i(a,{variant:"body1",children:[d(r.created_at,"HH:mm")," WIB"]})}),e(s,{sx:{marginY:2}}),i(n,{children:[i(a,{variant:"subtitle2",color:"#404040",children:["Details : ",r.description]}),e(a,{variant:"caption",color:"#757575",sx:{marginTop:2,marginBottom:1},children:r.title})]})]},`${r.title}-${o}`)),i(p,{sx:{paddingY:2,paddingX:3},children:[e(n,{direction:"row",justifyContent:"space-between",alignItems:"center",children:i(a,{variant:"body1",fontWeight:600,children:[e(D,{icon:"eva:file-text-fill"})," Dokumen Kelengkapan"]})}),e(s,{sx:{marginY:2}}),e(a,{fontWeight:"600",children:"Kondisi"}),i(n,{children:[e(n,{divider:e(s,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:t&&t.files.claimConditions.map((r,o)=>e(n,{direction:"row",justifyContent:"space-between",children:e("a",{href:r.fileUrl,target:"_blank",style:{textDecoration:"none"},rel:"noreferrer",children:i(a,{sx:{color:"text.secondary"},variant:"subtitle2",children:["- ",r.fileName]})})},o))}),e(a,{fontWeight:"600",children:"Diagnosa"}),e(n,{divider:e(s,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:t&&t.files.claimDiagnosis.map((r,o)=>e(n,{direction:"row",justifyContent:"space-between",children:e("a",{href:r.fileUrl,target:"_blank",style:{textDecoration:"none"},rel:"noreferrer",children:i(a,{sx:{color:"text.secondary"},variant:"subtitle2",children:["- ",r.fileName]})})},o))}),e(a,{fontWeight:"600",children:"Hasil"}),e(n,{divider:e(s,{orientation:"horizontal",flexItem:!0}),spacing:1,sx:{marginY:2},children:t&&t.files.claimResults.map((r,o)=>e(n,{direction:"row",justifyContent:"space-between",children:e("a",{href:r.fileUrl,target:"_blank",style:{textDecoration:"none"},rel:"noreferrer",children:i(a,{sx:{color:"text.secondary"},variant:"subtitle2",children:["- ",r.fileName]})})},o))})]})]})]})]})]})};export{U as default}; diff --git a/public/client-portal/assets/DialogDetailClaim.e074ae9e.js b/public/client-portal/assets/DialogDetailClaim.e074ae9e.js deleted file mode 100644 index 4f7818ce..00000000 --- a/public/client-portal/assets/DialogDetailClaim.e074ae9e.js +++ /dev/null @@ -1 +0,0 @@ -import{d as $}from"./ArrowBackIos.b2aa057a.js";import{s as L,n as j,o as T,r as g,aV as G,j as e,F as N,f as s,S as f,T as c,G as O,q as b,B as y,a3 as W,a0 as q}from"./index.b0a49137.js";import{c as M}from"./formatTime.0646b9d0.js";import{L as X,l as S}from"./LinearProgress.c8f69e54.js";import{G as i}from"./Grid.97ae8bc1.js";import{C as Y}from"./Card.a4168b31.js";import{L as z}from"./LoadingButton.6a53b4e1.js";import"./jsx-runtime_commonjs-proxy.b87625c0.js";import"./useId.c3f149cd.js";import"./index.49ea62c1.js";import"./generateUtilityClasses.06032f54.js";L(X)(({theme:p})=>({height:10,borderRadius:6,[`&.${S.colorPrimary}`]:{backgroundColor:p.palette.grey[p.palette.mode==="light"?300:800]},[`& .${S.bar}`]:{borderRadius:6,background:"linear-gradient(270deg, #19BBBB 38.42%, #FF9565 76.21%, #FE7253 104.02%)"}}));const ne=({title:p,openDialog:F,setOpenDialog:v,data:D})=>{const d=j(),{enqueueSnackbar:k}=T(),[A,P]=g.exports.useState(!1),I=G(r=>r.claims.data),[u,x]=g.exports.useState([]);g.exports.useEffect(()=>{if(I.length>0){let r=I.map(o=>({id:o.id,avatar:{url:""},limit:o.limit,personID:o.memberId,personName:o.fullName,typePatient:"IP",service_type:o.service_type,anotherDocument:[],fileRealInvoice:[],laboratoryResult:[]}));x(r)}else d("/claim-submit",{replace:!0})},[I]);const _=(r,o)=>{let a=u.map(t=>t.personID===r.personID?{...t,typePatient:t.typePatient==="IP"?"OP":"IP"}:t);x(a)},C=(r,o,a)=>{if(r.target.files[0]){let t=u.map(n=>n.personID===o.personID?a==="invoice"?{...n,fileRealInvoice:[...n.fileRealInvoice,r.target.files[0]]}:a==="another"?{...n,anotherDocument:[...n.anotherDocument,r.target.files[0]]}:{...n,laboratoryResult:[...n.laboratoryResult,r.target.files[0]]}:n);x(t)}else console.log("NO FILE")},R=(r,o,a)=>{let t=u.map(n=>n.personID===r.personID?o==="invoice"?{...n,fileRealInvoice:n.fileRealInvoice.filter((h,l)=>l!=a)}:o==="another"?{...n,anotherDocument:n.anotherDocument.filter((h,l)=>l!=a)}:{...n,laboratoryResult:n.laboratoryResult.filter((h,l)=>l!=a)}:n);x(t)},E=()=>{P(!0);const o=(a=>{const t=new FormData;return a.forEach((n,h)=>{t.append(`member_id[${h}]`,n.id.toString()),t.append(`service_code[${h}]`,n.typePatient),n.laboratoryResult.forEach((l,m)=>{t.append(`laboratorium[member_${n.id}][${m}]`,l)}),n.anotherDocument.forEach((l,m)=>{t.append(`prescription[member_${n.id}][${m}]`,l)}),n.fileRealInvoice.forEach((l,m)=>{t.append(`invoice[member_${n.id}][${m}]`,l)})}),t})(u);q.post("/claim-requests",o).then(a=>{var t;k((t=a.data.message)!=null?t:"Berhasil membuat data",{variant:"success"}),d("/claim-submit",{replace:!0})}).catch(({response:a})=>{var t;k((t=a.data.message)!=null?t:"Something Went Wrong",{variant:"error"})}).finally(()=>{P(!1)})};return e(N,{children:s(i,{container:!0,spacing:8,children:[e(i,{item:!0,xs:12,paddingX:"24px",paddingY:"20px",children:s(f,{direction:"row",alignItems:"center",children:[e($,{onClick:()=>d("/claim-submit"),sx:{cursor:"pointer"}}),s(c,{variant:"h5",sx:{flexGrow:1},children:["Claim Submission"," "]}),s(c,{variant:"inherit",sx:{textAlign:"center",flexBasis:"15%"},children:["Submission Date"," "]}),e(c,{textAlign:"right",variant:"h6",sx:{textAlign:"right"},children:M(new Date,"dd MMM yyyy")})]})}),u.map((r,o)=>e(i,{item:!0,xs:12,children:e(Y,{sx:{p:3},children:s(i,{container:!0,spacing:4,children:[e(i,{item:!0,xs:12,paddingX:"24px",paddingY:"20px",children:e(f,{direction:"row",spacing:4,children:r.service_type.map((a,t)=>e(O,{sx:{padding:2,width:"50%",border:r.typePatient===a.service_code?"1px solid #919EAB52":"1px solid #19BBBB"},variant:"outlined",color:r.typePatient===a.service_code?"primary":"inherit",onClick:()=>{_(r)},children:a.service_code=="IP"?"Inpatient":"Outpatient"}))})}),e(i,{item:!0,xs:12,children:s(i,{container:!0,spacing:2,children:[e(i,{item:!0,xs:12,children:e(c,{variant:"h6",children:"Real Invoice"})}),r.fileRealInvoice&&r.fileRealInvoice.map((a,t)=>e(i,{item:!0,xs:12,children:s(f,{direction:"row",justifyContent:"space-between",children:[e(c,{sx:{color:"text.secondary"},children:a.name}),e(b,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{R(r,"invoice",t)}})]})},t)),e(i,{item:!0,xs:12,children:e(y,{sx:{display:"flex",placeContent:"center",placeItems:"center",border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",p:0},children:e(B,{handle:C,row:r,type:"invoice"})})})]})}),e(i,{item:!0,xs:12,children:s(i,{container:!0,spacing:2,children:[e(i,{item:!0,xs:12,children:e(c,{variant:"h6",children:"Doctor's Prescription and Another Documents"})}),r.anotherDocument&&r.anotherDocument.map((a,t)=>e(i,{item:!0,xs:12,children:s(f,{direction:"row",justifyContent:"space-between",children:[e(c,{sx:{color:"text.secondary"},children:a.name}),e(b,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{R(r,"another",t)}})]})},t)),e(i,{item:!0,xs:12,children:e(y,{sx:{display:"flex",placeContent:"center",placeItems:"center",border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",p:0},children:e(B,{handle:C,row:r,type:"another"})})})]})}),s(i,{item:!0,xs:12,children:[s(i,{container:!0,spacing:2,children:[e(i,{item:!0,xs:12,children:e(c,{variant:"h6",children:"Laboraroty Results"})}),r.laboratoryResult&&r.laboratoryResult.map((a,t)=>e(i,{item:!0,xs:12,children:s(f,{direction:"row",justifyContent:"space-between",children:[e(c,{sx:{color:"text.secondary"},children:a.name}),e(b,{icon:"eva:trash-2-outline",color:"darkred",onClick:()=>{R(r,"lab",t)}})]})},t))]}),e(i,{item:!0,xs:12,children:e(y,{sx:{display:"flex",placeContent:"center",placeItems:"center",border:"2px dashed #F9FAFB",bgcolor:"#919EAB52",borderRadius:"8px",p:0},children:e(B,{handle:C,row:r,type:"lab"})})})]})]},o)})},o)),e(i,{item:!0,xs:12,children:e(z,{variant:"contained",sx:{marginTop:2,p:2,margin:"10px"},fullWidth:!0,onClick:E,loading:A,children:"Claim Submit"})})]})})},B=({handle:p,row:F,type:v})=>{const D=g.exports.useRef(null);return s(W,{sx:{p:4},onClick:()=>{var d;return(d=D.current)==null?void 0:d.click()},children:[s(y,{sx:{display:"flex",placeItems:"center",gap:1,placeContent:"center"},children:[e(b,{icon:"icon-park-outline:upload-one",fontSize:"3em"}),s(c,{variant:"body1",fontWeight:"bold",children:["Add ",v]})]}),e("input",{ref:D,hidden:!0,accept:"application/pdf",type:"file",name:"file",multiple:!0,onChange:d=>p(d,F,v)})]})};export{ne as default}; diff --git a/public/client-portal/assets/Form.7231f39a.js b/public/client-portal/assets/Form.7231f39a.js deleted file mode 100644 index 061adcca..00000000 --- a/public/client-portal/assets/Form.7231f39a.js +++ /dev/null @@ -1,5 +0,0 @@ -import{b as cn,C as un,E as On,c as En,a as jn,u as Sn,o as Pn,F as kn,R as je}from"./RHFTextField.dd20c932.js";import{aX as V,aY as Z,aZ as Ge,a_ as qe,a$ as d,r as u,j as c,F as Tn,s as he,f as L,q as Ye,T as j,n as In,Z as Rn,o as zn,a0 as Ve,S as U,G as Ln}from"./index.b0a49137.js";import{T as Mn,F as $n}from"./TextField.08c1cc6c.js";import{G as ne}from"./Grid.97ae8bc1.js";import{C as Ze}from"./Card.a4168b31.js";import{L as Kn}from"./LoadingButton.6a53b4e1.js";import"./isObject.095d1ac4.js";import"./formatNumber.0b88db94.js";import"./useId.c3f149cd.js";import"./generateUtilityClasses.06032f54.js";var Bn=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function ie(e,n){var t=Hn(e);if(typeof t.path!="string"){var i=e.webkitRelativePath;Object.defineProperty(t,"path",{value:typeof n=="string"?n:typeof i=="string"&&i.length>0?i:e.name,writable:!1,configurable:!1,enumerable:!0})}return t}function Hn(e){var n=e.name,t=n&&n.lastIndexOf(".")!==-1;if(t&&!e.type){var i=n.split(".").pop().toLowerCase(),o=Bn.get(i);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var Un=[".DS_Store","Thumbs.db"];function Wn(e){return V(this,void 0,void 0,function(){return Z(this,function(n){return ye(e)&&Nn(e.dataTransfer)?[2,Vn(e.dataTransfer,e.type)]:Gn(e)?[2,qn(e)]:Array.isArray(e)&&e.every(function(t){return"getFile"in t&&typeof t.getFile=="function"})?[2,Yn(e)]:[2,[]]})})}function Nn(e){return ye(e)}function Gn(e){return ye(e)&&ye(e.target)}function ye(e){return typeof e=="object"&&e!==null}function qn(e){return Pe(e.target.files).map(function(n){return ie(n)})}function Yn(e){return V(this,void 0,void 0,function(){var n;return Z(this,function(t){switch(t.label){case 0:return[4,Promise.all(e.map(function(i){return i.getFile()}))];case 1:return n=t.sent(),[2,n.map(function(i){return ie(i)})]}})})}function Vn(e,n){return V(this,void 0,void 0,function(){var t,i;return Z(this,function(o){switch(o.label){case 0:return e.items?(t=Pe(e.items).filter(function(s){return s.kind==="file"}),n!=="drop"?[2,t]:[4,Promise.all(t.map(Zn))]):[3,2];case 1:return i=o.sent(),[2,Je(pn(i))];case 2:return[2,Je(Pe(e.files).map(function(s){return ie(s)}))]}})})}function Je(e){return e.filter(function(n){return Un.indexOf(n.name)===-1})}function Pe(e){if(e===null)return[];for(var n=[],t=0;te.length)&&(n=e.length);for(var t=0,i=new Array(n);tt)return[!1,nn(t)];if(e.sizet)return[!1,nn(t)]}return[!0,null]}function W(e){return e!=null}function pt(e){var n=e.files,t=e.accept,i=e.minSize,o=e.maxSize,s=e.multiple,f=e.maxFiles,p=e.validator;return!s&&n.length>1||s&&f>=1&&n.length>f?!1:n.every(function(v){var O=gn(v,t),S=te(O,1),w=S[0],A=yn(v,i,o),P=te(A,1),$=P[0],k=p?p(v):null;return w&&$&&!k})}function ve(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function ge(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(n){return n==="Files"||n==="application/x-moz-file"}):!!e.target&&!!e.target.files}function rn(e){e.preventDefault()}function ft(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function dt(e){return e.indexOf("Edge/")!==-1}function mt(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ft(e)||dt(e)}function z(){for(var e=arguments.length,n=new Array(e),t=0;t1?o-1:0),f=1;fe.length)&&(n=e.length);for(var t=0,i=new Array(n);t=0)&&(!Object.prototype.propertyIsEnumerable.call(e,i)||(t[i]=e[i]))}return t}function kt(e,n){if(e==null)return{};var t={},i=Object.keys(e),o,s;for(s=0;s=0)&&(t[o]=e[o]);return t}var ze=u.exports.forwardRef(function(e,n){var t=e.children,i=_e(e,bt),o=xn(i),s=o.open,f=_e(o,xt);return u.exports.useImperativeHandle(n,function(){return{open:s}},[s]),c(Tn,{children:t(y(y({},f),{},{open:s}))})});ze.displayName="Dropzone";var bn={disabled:!1,getFilesFromEvent:Wn,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0,autoFocus:!1};ze.defaultProps=bn;ze.propTypes={children:d.exports.func,accept:d.exports.objectOf(d.exports.arrayOf(d.exports.string)),multiple:d.exports.bool,preventDropOnDocument:d.exports.bool,noClick:d.exports.bool,noKeyboard:d.exports.bool,noDrag:d.exports.bool,noDragEventsBubbling:d.exports.bool,minSize:d.exports.number,maxSize:d.exports.number,maxFiles:d.exports.number,disabled:d.exports.bool,getFilesFromEvent:d.exports.func,onFileDialogCancel:d.exports.func,onFileDialogOpen:d.exports.func,useFsAccessApi:d.exports.bool,autoFocus:d.exports.bool,onDragEnter:d.exports.func,onDragLeave:d.exports.func,onDragOver:d.exports.func,onDrop:d.exports.func,onDropAccepted:d.exports.func,onDropRejected:d.exports.func,onError:d.exports.func,validator:d.exports.func};var Re={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function xn(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=y(y({},bn),e),t=n.accept,i=n.disabled,o=n.getFilesFromEvent,s=n.maxSize,f=n.minSize,p=n.multiple,v=n.maxFiles,O=n.onDragEnter,S=n.onDragLeave,w=n.onDragOver,A=n.onDrop,P=n.onDropAccepted,$=n.onDropRejected,k=n.onFileDialogCancel,J=n.onFileDialogOpen,R=n.useFsAccessApi,re=n.autoFocus,X=n.preventDropOnDocument,oe=n.noClick,Q=n.noKeyboard,ae=n.noDrag,T=n.noDragEventsBubbling,se=n.onError,m=n.validator,r=u.exports.useMemo(function(){return vt(t)},[t]),g=u.exports.useMemo(function(){return yt(t)},[t]),I=u.exports.useMemo(function(){return typeof J=="function"?J:an},[J]),F=u.exports.useMemo(function(){return typeof k=="function"?k:an},[k]),_=u.exports.useRef(null),x=u.exports.useRef(null),B=u.exports.useReducer(Tt,Re),K=Se(B,2),M=K[0],b=K[1],le=M.isFocused,C=M.isFileDialogActive,ce=u.exports.useRef(typeof window<"u"&&window.isSecureContext&&R&>()),Le=function(){!ce.current&&C&&setTimeout(function(){if(x.current){var l=x.current.files;l.length||(b({type:"closeDialog"}),F())}},300)};u.exports.useEffect(function(){return window.addEventListener("focus",Le,!1),function(){window.removeEventListener("focus",Le,!1)}},[x,C,F,ce]);var N=u.exports.useRef([]),Me=function(l){_.current&&_.current.contains(l.target)||(l.preventDefault(),N.current=[])};u.exports.useEffect(function(){return X&&(document.addEventListener("dragover",rn,!1),document.addEventListener("drop",Me,!1)),function(){X&&(document.removeEventListener("dragover",rn),document.removeEventListener("drop",Me))}},[_,X]),u.exports.useEffect(function(){return!i&&re&&_.current&&_.current.focus(),function(){}},[_,re,i]);var H=u.exports.useCallback(function(a){se?se(a):console.error(a)},[se]),$e=u.exports.useCallback(function(a){a.preventDefault(),a.persist(),de(a),N.current=[].concat(At(N.current),[a.target]),ge(a)&&Promise.resolve(o(a)).then(function(l){if(!(ve(a)&&!T)){var h=l.length,D=h>0&&pt({files:l,accept:r,minSize:f,maxSize:s,multiple:p,maxFiles:v,validator:m}),E=h>0&&!D;b({isDragAccept:D,isDragReject:E,isDragActive:!0,type:"setDraggedFiles"}),O&&O(a)}}).catch(function(l){return H(l)})},[o,O,H,T,r,f,s,p,v,m]),Ke=u.exports.useCallback(function(a){a.preventDefault(),a.persist(),de(a);var l=ge(a);if(l&&a.dataTransfer)try{a.dataTransfer.dropEffect="copy"}catch{}return l&&w&&w(a),!1},[w,T]),Be=u.exports.useCallback(function(a){a.preventDefault(),a.persist(),de(a);var l=N.current.filter(function(D){return _.current&&_.current.contains(D)}),h=l.indexOf(a.target);h!==-1&&l.splice(h,1),N.current=l,!(l.length>0)&&(b({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),ge(a)&&S&&S(a))},[_,S,T]),ue=u.exports.useCallback(function(a,l){var h=[],D=[];a.forEach(function(E){var ee=gn(E,r),Y=Se(ee,2),xe=Y[0],De=Y[1],we=yn(E,f,s),me=Se(we,2),Ae=me[0],Fe=me[1],Oe=m?m(E):null;if(xe&&Ae&&!Oe)h.push(E);else{var Ee=[De,Fe];Oe&&(Ee=Ee.concat(Oe)),D.push({file:E,errors:Ee.filter(function(Fn){return Fn})})}}),(!p&&h.length>1||p&&v>=1&&h.length>v)&&(h.forEach(function(E){D.push({file:E,errors:[ut]})}),h.splice(0)),b({acceptedFiles:h,fileRejections:D,type:"setFiles"}),A&&A(h,D,l),D.length>0&&$&&$(D,l),h.length>0&&P&&P(h,l)},[b,p,r,f,s,v,A,P,$,m]),pe=u.exports.useCallback(function(a){a.preventDefault(),a.persist(),de(a),N.current=[],ge(a)&&Promise.resolve(o(a)).then(function(l){ve(a)&&!T||ue(l,a)}).catch(function(l){return H(l)}),b({type:"reset"})},[o,ue,H,T]),G=u.exports.useCallback(function(){if(ce.current){b({type:"openDialog"}),I();var a={multiple:p,types:g};window.showOpenFilePicker(a).then(function(l){return o(l)}).then(function(l){ue(l,null),b({type:"closeDialog"})}).catch(function(l){_t(l)?(F(l),b({type:"closeDialog"})):ht(l)?(ce.current=!1,x.current?(x.current.value=null,x.current.click()):H(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):H(l)});return}x.current&&(b({type:"openDialog"}),I(),x.current.value=null,x.current.click())},[b,I,F,R,ue,H,g,p]),He=u.exports.useCallback(function(a){!_.current||!_.current.isEqualNode(a.target)||(a.key===" "||a.key==="Enter"||a.keyCode===32||a.keyCode===13)&&(a.preventDefault(),G())},[_,G]),Ue=u.exports.useCallback(function(){b({type:"focus"})},[]),We=u.exports.useCallback(function(){b({type:"blur"})},[]),Ne=u.exports.useCallback(function(){oe||(mt()?setTimeout(G,0):G())},[oe,G]),q=function(l){return i?null:l},be=function(l){return Q?null:q(l)},fe=function(l){return ae?null:q(l)},de=function(l){T&&l.stopPropagation()},Dn=u.exports.useMemo(function(){return function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=a.refKey,h=l===void 0?"ref":l,D=a.role,E=a.onKeyDown,ee=a.onFocus,Y=a.onBlur,xe=a.onClick,De=a.onDragEnter,we=a.onDragOver,me=a.onDragLeave,Ae=a.onDrop,Fe=_e(a,Dt);return y(y(Ie({onKeyDown:be(z(E,He)),onFocus:be(z(ee,Ue)),onBlur:be(z(Y,We)),onClick:q(z(xe,Ne)),onDragEnter:fe(z(De,$e)),onDragOver:fe(z(we,Ke)),onDragLeave:fe(z(me,Be)),onDrop:fe(z(Ae,pe)),role:typeof D=="string"&&D!==""?D:"presentation"},h,_),!i&&!Q?{tabIndex:0}:{}),Fe)}},[_,He,Ue,We,Ne,$e,Ke,Be,pe,Q,ae,i]),wn=u.exports.useCallback(function(a){a.stopPropagation()},[]),An=u.exports.useMemo(function(){return function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=a.refKey,h=l===void 0?"ref":l,D=a.onChange,E=a.onClick,ee=_e(a,wt),Y=Ie({accept:r,multiple:p,type:"file",style:{display:"none"},onChange:q(z(D,pe)),onClick:q(z(E,wn)),tabIndex:-1},h,x);return y(y({},Y),ee)}},[x,t,p,pe,i]);return y(y({},M),{},{isFocused:le&&!i,getRootProps:Dn,getInputProps:An,rootRef:_,inputRef:x,open:q(G)})}function Tt(e,n){switch(n.type){case"focus":return y(y({},e),{},{isFocused:!0});case"blur":return y(y({},e),{},{isFocused:!1});case"openDialog":return y(y({},Re),{},{isFileDialogActive:!0});case"closeDialog":return y(y({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return y(y({},e),{},{isDragActive:n.isDragActive,isDragAccept:n.isDragAccept,isDragReject:n.isDragReject});case"setFiles":return y(y({},e),{},{acceptedFiles:n.acceptedFiles,fileRejections:n.fileRejections});case"reset":return y({},Re);default:return e}}function an(){}function It({name:e,children:n,...t}){const{control:i}=cn();return c(un,{name:e,control:i,render:({field:o,fieldState:{error:s}})=>c(Mn,{...o,select:!0,fullWidth:!0,SelectProps:{native:!0},error:!!s,helperText:s==null?void 0:s.message,...t,children:n})})}function sn({name:e,...n}){const{control:t}=cn();return c(un,{name:e,control:t,render:({field:i,fieldState:{error:o}})=>c(On,{id:e,value:i.value,onChange:i.onChange,error:!!o,simple:!0,helperText:c($n,{error:!0,sx:{px:2,textTransform:"capitalize"},children:o==null?void 0:o.message}),...n})})}const Rt=he("div")(({theme:e})=>({width:144,height:144,margin:"auto",borderRadius:"50%",padding:e.spacing(1),border:`2px dashed ${e.palette.grey[50032]}`})),zt=he("div")({zIndex:0,width:"100%",height:"100%",outline:"none",display:"flex",overflow:"hidden",borderRadius:"50%",position:"relative",alignItems:"center",justifyContent:"center","& > *":{width:"100%",height:"100%"},"&:hover":{cursor:"pointer","& .placeholder":{zIndex:9}}}),ln=he("div")(({theme:e})=>({display:"flex",position:"absolute",alignItems:"center",flexDirection:"column",justifyContent:"center",color:e.palette.text.secondary,transition:e.transitions.create("opacity",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.shorter}),"&:hover":{opacity:.72}})),Lt=({setFile:e,currentImage:n,setSave:t,error:i,file:o,helperText:s,sx:f,...p})=>{const v=u.exports.useCallback(k=>{console.log(k),e(k[0]),$(k[0])},[e,t]),{getRootProps:O,getInputProps:S,isDragActive:w,isDragReject:A}=xn({onDrop:v,multiple:!1}),[P,$]=u.exports.useState(null);return c(Rt,{sx:{...(A||i)&&{borderColor:"error.light"},...f},children:L(zt,{...O(),sx:{...w&&{opacity:2.72}},children:[c("input",{...S()}),P?c("img",{src:URL.createObjectURL(P),alt:"preview",width:220}):n?c("img",{src:n,alt:"preview",width:220}):L(ln,{className:"placeholder",sx:{...(A||i)&&{bgcolor:"error.lighter"}},children:[c(Ye,{icon:"ic:round-add-a-photo",sx:{width:24,height:24,mb:1}}),c(j,{variant:"caption",children:P?"Update photo":"Upload photo"})]}),L(ln,{className:"placeholder",children:[c(Ye,{icon:"ic:round-add-a-photo",sx:{width:24,height:24,mb:1}}),c(j,{variant:"caption",children:P?"Update photo":"Upload photo"})]}),A&&c("p",{children:"Unsupported file type..."})]})})},Mt=Lt;he(j)(({theme:e})=>({...e.typography.subtitle2,color:e.palette.text.secondary,marginBottom:e.spacing(1)}));function Vt({currentCorporate:e}){const n=In(),[t,i]=u.exports.useState([]),{corporateValue:o}=u.exports.useContext(Rn),{enqueueSnackbar:s}=zn();let f=En().shape({welcome_message:jn().required("Welcome Message is required")});const p=u.exports.useMemo(()=>{var m,r,g,I,F,_,x,B,K,M,b;return{code:(e==null?void 0:e.code)||"",name:(e==null?void 0:e.name)||"",reason:(e==null?void 0:e.reason)||"",payor_id:(e==null?void 0:e.payor_id)||"",welcome_message:(e==null?void 0:e.welcome_message)||"",help_text:(e==null?void 0:e.help_text)||"",active:e!=null&&e.id?(e==null?void 0:e.active)===1:!0,automatic_linking:e!=null&&e.id?(e==null?void 0:e.automatic_linking)===1:!0,policy_id:((m=e==null?void 0:e.current_policy)==null?void 0:m.id)||"",policy_code:((r=e==null?void 0:e.current_policy)==null?void 0:r.code)||"",policy_total_premi:((g=e==null?void 0:e.current_policy)==null?void 0:g.total_premi)||0,policy_minimal_deposit_percentage:((I=e==null?void 0:e.current_policy)==null?void 0:I.minimal_deposit_percentage)||50,policy_minimal_deposit_net:((F=e==null?void 0:e.current_policy)==null?void 0:F.minimal_deposit_net)||0,policy_minimal_alert_percentage:((_=e==null?void 0:e.current_policy)==null?void 0:_.minimal_alert_percentage)||25,policy_minimal_alert_net:((x=e==null?void 0:e.current_policy)==null?void 0:x.minimal_alert_net)||0,policy_stop_service_percentage:((B=e==null?void 0:e.current_policy)==null?void 0:B.minimal_stop_service_percentage)||25,policy_stop_service_net:((K=e==null?void 0:e.current_policy)==null?void 0:K.minimal_stop_service_net)||0,policy_start:((M=e==null?void 0:e.current_policy)==null?void 0:M.start)||"",policy_end:((b=e==null?void 0:e.current_policy)==null?void 0:b.end)||"",linking_rules:(e==null?void 0:e.linking_rules)||["nric","nik","member_id"],type:(e==null?void 0:e.type)||"corporate",logo:(e==null?void 0:e.logo)||""}},[e]),v=Sn({resolver:Pn(f),defaultValues:p}),{reset:O,watch:S,control:w,setValue:A,getValues:P,setError:$,handleSubmit:k,formState:{isSubmitting:J}}=v,R=S();u.exports.useEffect(()=>{Ve.get(`/${o}/corporate`).then(m=>{var g,I,F,_,x,B,K,M,b,le,C;const r=m.data.data[0];i(m.data.data[0]),O({code:(r==null?void 0:r.code)||"",name:(r==null?void 0:r.name)||"",reason:(r==null?void 0:r.reason)||"",payor_id:(r==null?void 0:r.payor_id)||"",welcome_message:(r==null?void 0:r.welcome_message)||"",help_text:(r==null?void 0:r.help_text)||"",active:r!=null&&r.id?(r==null?void 0:r.active)===1:!0,automatic_linking:r!=null&&r.id?(r==null?void 0:r.automatic_linking)===1:!0,policy_id:((g=r==null?void 0:r.current_policy)==null?void 0:g.id)||"",policy_code:((I=r==null?void 0:r.current_policy)==null?void 0:I.code)||"",policy_total_premi:((F=r==null?void 0:r.current_policy)==null?void 0:F.total_premi)||0,policy_minimal_deposit_percentage:((_=r==null?void 0:r.current_policy)==null?void 0:_.minimal_deposit_percentage)||50,policy_minimal_deposit_net:((x=r==null?void 0:r.current_policy)==null?void 0:x.minimal_deposit_net)||0,policy_minimal_alert_percentage:((B=r==null?void 0:r.current_policy)==null?void 0:B.minimal_alert_percentage)||25,policy_minimal_alert_net:((K=r==null?void 0:r.current_policy)==null?void 0:K.minimal_alert_net)||0,policy_stop_service_percentage:((M=r==null?void 0:r.current_policy)==null?void 0:M.minimal_stop_service_percentage)||25,policy_stop_service_net:((b=r==null?void 0:r.current_policy)==null?void 0:b.minimal_stop_service_net)||0,policy_start:((le=r==null?void 0:r.current_policy)==null?void 0:le.start)||"",policy_end:((C=r==null?void 0:r.current_policy)==null?void 0:C.end)||"",linking_rules:(r==null?void 0:r.linking_rules)||["nric","nik","member_id"],type:(r==null?void 0:r.type)||"corporate",logo:(r==null?void 0:r.logo)||""})}).catch(m=>{s("Opps, failed to get Corporate Group List",{variant:"error"})})},[e]);const re=e==null?void 0:e.avatar_url,[X,oe]=u.exports.useState(null);u.exports.useState(null);const Q=async m=>{var r;try{const g=new FormData;g.append("logo",X),g.append("name",m.name),g.append("automatic_linking",m.automatic_linking?1:0),g.append("welcome_message",m.welcome_message),g.append("reason",m.reason),g.append("help_text",m.help_text),g.append("linking_rules",m.linking_rules),g.append("_method","PUT");const I=await Ve.post(`/${o}/corporate-update`,g);O(),s("Corporate Updated Successfully!",{variant:"success"}),n("/corporate")}catch(g){if(g&&g.response.status===422)for(const[I,F]of Object.entries(g.response.data.errors))s(F!=null?F:"Failed Processing Request",{variant:"error"});else s((r=g.message)!=null?r:"Failed Processing Request",{variant:"error"})}};u.exports.useCallback(m=>{A("logo",m.map(r=>Object.assign(r,{preview:URL.createObjectURL(r)})))},[A]),u.exports.useEffect(()=>{let m=R.policy_total_premi*R.policy_minimal_deposit_percentage/100;A("policy_minimal_deposit_net",m);let r=R.policy_total_premi*R.policy_minimal_alert_percentage/100;A("policy_minimal_alert_net",r);let g=R.policy_total_premi*R.policy_stop_service_percentage/100;A("policy_stop_service_net",g)},[R.policy_total_premi]);const ae=[{value:"corporate",label:"Corporate"},{value:"subcorporate",label:"Sub Corporate"}],[T,se]=u.exports.useState(!0);return c(kn,{methods:v,onSubmit:k(Q),children:L(ne,{container:!0,spacing:3,children:[c(ne,{item:!0,xs:12,md:8,children:c(Ze,{sx:{p:3},children:L(U,{spacing:3,children:[c(ne,{item:!0,xs:12,children:c(j,{variant:"h5",color:"#19BBBB",children:"Corporate Profile"})}),c(j,{variant:"subtitle1",color:"#637381",children:"Corporate Profile*"}),L(It,{name:"type",label:"Type",placeholder:"Type",disabled:!0,children:[c("option",{value:""}),ae.map((m,r)=>c("option",{value:m.value,children:m.label},r))]}),c(j,{variant:"subtitle1",color:"#637381",children:"Corporate Code*"}),c(je,{name:"code",label:"Corporate Code",disabled:T}),c(j,{variant:"subtitle1",color:"#637381",children:"Corporate Name*"}),c(je,{name:"name",label:"Corporate Name",disabled:T}),c(j,{variant:"subtitle1",color:"#637381",children:"Payor ID*"}),c(je,{name:"payor_id",label:"Payor ID",disabled:T}),L(U,{spacing:1,children:[c(j,{variant:"subtitle1",color:"#637381",children:"Welcome Message *"}),c(sn,{name:"welcome_message",placeholder:"Akun anda telah terverifikasi"})]}),L(U,{spacing:1,children:[c(j,{variant:"subtitle1",color:"#637381",children:"Help Text"}),c(sn,{name:"help_text"})]})]})})}),c(ne,{item:!0,xs:12,md:4,children:c(U,{spacing:3,children:c(Ze,{sx:{p:3},children:c(U,{spacing:3,mt:2,children:L(U,{spacing:3,alignItems:"center",children:[c(j,{align:"center",children:"Company Logo"}),c(Mt,{setFile:oe,currentImage:re})]})})})})}),c(ne,{item:!0,xs:12,md:11,children:L(U,{direction:"row",spacing:2,justifyContent:"flex-end",children:[c(j,{children:c(Ln,{variant:"outlined",size:"small",color:"inherit",onClick:()=>n("/corporate"),children:"Cancel"})}),c(j,{children:c(Kn,{type:"submit",variant:"contained",size:"small",loading:J,children:"Save"})})]})})]})})}export{Vt as default}; diff --git a/public/client-portal/assets/Grid.97ae8bc1.js b/public/client-portal/assets/Grid.97ae8bc1.js deleted file mode 100644 index f7f74829..00000000 --- a/public/client-portal/assets/Grid.97ae8bc1.js +++ /dev/null @@ -1 +0,0 @@ -import{r as b,a as K,g as O,s as T,_ as x,u as _,v as I,w as L,e as D,j as N,h as U,x as S,y as k,i as Z}from"./index.b0a49137.js";const A=b.exports.createContext(),z=A;function F(e){return K("MuiGrid",e)}const q=[0,1,2,3,4,5,6,7,8,9,10],H=["column-reverse","column","row-reverse","row"],J=["nowrap","wrap-reverse","wrap"],g=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],$=O("MuiGrid",["root","container","item","zeroMinWidth",...q.map(e=>`spacing-xs-${e}`),...H.map(e=>`direction-xs-${e}`),...J.map(e=>`wrap-xs-${e}`),...g.map(e=>`grid-xs-${e}`),...g.map(e=>`grid-sm-${e}`),...g.map(e=>`grid-md-${e}`),...g.map(e=>`grid-lg-${e}`),...g.map(e=>`grid-xl-${e}`)]),Q=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function m(e){const n=parseFloat(e);return`${n}${String(e).replace(String(n),"")||"px"}`}function X({theme:e,ownerState:n}){let i;return e.breakpoints.keys.reduce((t,r)=>{let s={};if(n[r]&&(i=n[r]),!i)return t;if(i===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(i==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=S({values:n.columns,breakpoints:e.breakpoints.values}),u=typeof a=="object"?a[r]:a;if(u==null)return t;const l=`${Math.round(i/u*1e8)/1e6}%`;let c={};if(n.container&&n.item&&n.columnSpacing!==0){const o=e.spacing(n.columnSpacing);if(o!=="0px"){const p=`calc(${l} + ${m(o)})`;c={flexBasis:p,maxWidth:p}}}s=x({flexBasis:l,flexGrow:0,maxWidth:l},c)}return e.breakpoints.values[r]===0?Object.assign(t,s):t[e.breakpoints.up(r)]=s,t},{})}function Y({theme:e,ownerState:n}){const i=S({values:n.direction,breakpoints:e.breakpoints.values});return k({theme:e},i,t=>{const r={flexDirection:t};return t.indexOf("column")===0&&(r[`& > .${$.item}`]={maxWidth:"none"}),r})}function B({breakpoints:e,values:n}){let i="";Object.keys(n).forEach(r=>{i===""&&n[r]!==0&&(i=r)});const t=Object.keys(e).sort((r,s)=>e[r]-e[s]);return t.slice(0,t.indexOf(i))}function ee({theme:e,ownerState:n}){const{container:i,rowSpacing:t}=n;let r={};if(i&&t!==0){const s=S({values:t,breakpoints:e.breakpoints.values});let a;typeof s=="object"&&(a=B({breakpoints:e.breakpoints.values,values:s})),r=k({theme:e},s,(u,l)=>{var c;const o=e.spacing(u);return o!=="0px"?{marginTop:`-${m(o)}`,[`& > .${$.item}`]:{paddingTop:m(o)}}:(c=a)!=null&&c.includes(l)?{}:{marginTop:0,[`& > .${$.item}`]:{paddingTop:0}}})}return r}function ne({theme:e,ownerState:n}){const{container:i,columnSpacing:t}=n;let r={};if(i&&t!==0){const s=S({values:t,breakpoints:e.breakpoints.values});let a;typeof s=="object"&&(a=B({breakpoints:e.breakpoints.values,values:s})),r=k({theme:e},s,(u,l)=>{var c;const o=e.spacing(u);return o!=="0px"?{width:`calc(100% + ${m(o)})`,marginLeft:`-${m(o)}`,[`& > .${$.item}`]:{paddingLeft:m(o)}}:(c=a)!=null&&c.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${$.item}`]:{paddingLeft:0}}})}return r}function re(e,n,i={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[i[`spacing-xs-${String(e)}`]];const t=[];return n.forEach(r=>{const s=e[r];Number(s)>0&&t.push(i[`spacing-${r}-${String(s)}`])}),t}const te=T("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,n)=>{const{ownerState:i}=e,{container:t,direction:r,item:s,spacing:a,wrap:u,zeroMinWidth:l,breakpoints:c}=i;let o=[];t&&(o=re(a,c,n));const p=[];return c.forEach(d=>{const f=i[d];f&&p.push(n[`grid-${d}-${String(f)}`])}),[n.root,t&&n.container,s&&n.item,l&&n.zeroMinWidth,...o,r!=="row"&&n[`direction-xs-${String(r)}`],u!=="wrap"&&n[`wrap-xs-${String(u)}`],...p]}})(({ownerState:e})=>x({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),Y,ee,ne,X);function ie(e,n){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];const i=[];return n.forEach(t=>{const r=e[t];if(Number(r)>0){const s=`spacing-${t}-${String(r)}`;i.push(s)}}),i}const se=e=>{const{classes:n,container:i,direction:t,item:r,spacing:s,wrap:a,zeroMinWidth:u,breakpoints:l}=e;let c=[];i&&(c=ie(s,l));const o=[];l.forEach(d=>{const f=e[d];f&&o.push(`grid-${d}-${String(f)}`)});const p={root:["root",i&&"container",r&&"item",u&&"zeroMinWidth",...c,t!=="row"&&`direction-xs-${String(t)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...o]};return Z(p,F,n)},oe=b.exports.forwardRef(function(n,i){const t=_({props:n,name:"MuiGrid"}),{breakpoints:r}=I(),s=L(t),{className:a,columns:u,columnSpacing:l,component:c="div",container:o=!1,direction:p="row",item:d=!1,rowSpacing:f,spacing:w=0,wrap:M="wrap",zeroMinWidth:V=!1}=s,v=D(s,Q),P=f||w,j=l||w,E=b.exports.useContext(z),G=o?u||12:E,y={},W=x({},v);r.keys.forEach(h=>{v[h]!=null&&(y[h]=v[h],delete W[h])});const C=x({},s,{columns:G,container:o,direction:p,item:d,rowSpacing:P,columnSpacing:j,wrap:M,zeroMinWidth:V,spacing:w},y,{breakpoints:r.keys}),R=se(C);return N(z.Provider,{value:G,children:N(te,x({ownerState:C,className:U(R.root,a),as:c,ref:i},W))})}),ce=oe;export{ce as G}; diff --git a/public/client-portal/assets/HeaderBreadcrumbs.c70f1305.js b/public/client-portal/assets/HeaderBreadcrumbs.c70f1305.js deleted file mode 100644 index c3b1c4d6..00000000 --- a/public/client-portal/assets/HeaderBreadcrumbs.c70f1305.js +++ /dev/null @@ -1,27 +0,0 @@ -import{c as p_,j as q,s as _e,a3 as __,_ as Rt,ad as _o,e as xo,g as d_,a as v_,T as Mi,r as ge,u as x_,ae as w_,h as A_,i as m_,z as pe,B as It,f as cr,L as Wi,ac as S_}from"./index.b0a49137.js";const y_=p_(q("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreHoriz"),I_=["slots","slotProps"],R_=_e(__)(({theme:R})=>Rt({display:"flex",marginLeft:`calc(${R.spacing(1)} * 0.5)`,marginRight:`calc(${R.spacing(1)} * 0.5)`},R.palette.mode==="light"?{backgroundColor:R.palette.grey[100],color:R.palette.grey[700]}:{backgroundColor:R.palette.grey[700],color:R.palette.grey[100]},{borderRadius:2,"&:hover, &:focus":Rt({},R.palette.mode==="light"?{backgroundColor:R.palette.grey[200]}:{backgroundColor:R.palette.grey[600]}),"&:active":Rt({boxShadow:R.shadows[0]},R.palette.mode==="light"?{backgroundColor:_o(R.palette.grey[200],.12)}:{backgroundColor:_o(R.palette.grey[600],.12)})})),C_=_e(y_)({width:24,height:16});function T_(R){const{slots:D={},slotProps:o={}}=R,Z=xo(R,I_),V=R;return q("li",{children:q(R_,Rt({focusRipple:!0},Z,{ownerState:V,children:q(C_,Rt({as:D.CollapsedIcon,ownerState:V},o.collapsedIcon))}))})}function L_(R){return v_("MuiBreadcrumbs",R)}const E_=d_("MuiBreadcrumbs",["root","ol","li","separator"]),b_=E_,O_=["children","className","component","slots","slotProps","expandText","itemsAfterCollapse","itemsBeforeCollapse","maxItems","separator"],B_=R=>{const{classes:D}=R;return m_({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},L_,D)},W_=_e(Mi,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(R,D)=>[{[`& .${b_.li}`]:D.li},D.root]})({}),P_=_e("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(R,D)=>D.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),M_=_e("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(R,D)=>D.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function U_(R,D,o,Z){return R.reduce((V,Mn,P)=>(P{const qn=()=>{fn(!0);const Tt=$n.current.querySelector("a[href],button,[tabindex]");Tt&&Tt.focus()};return xn+nt>=Y.length?Y:[...Y.slice(0,xn),q(T_,{"aria-label":ve,slots:{CollapsedIcon:de.CollapsedIcon},slotProps:{collapsedIcon:wn},onClick:qn},"ellipsis"),...Y.slice(Y.length-nt,Y.length)]},Un=ge.exports.Children.toArray(V).filter(Y=>ge.exports.isValidElement(Y)).map((Y,qn)=>q("li",{className:gt.li,children:Y},`child-${qn}`));return q(W_,Rt({ref:o,component:P,color:"text.secondary",className:A_(gt.root,Mn),ownerState:cn},tt,{children:q(P_,{className:gt.ol,ref:$n,ownerState:cn,children:U_(ht||Ct&&Un.length<=Ct?Un:An(Un),gt.separator,Hn,cn)})}))}),D_=F_;var Pi={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(R,D){(function(){var o,Z="4.17.21",V=200,Mn="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",P="Expected a function",de="Invalid `variable` option passed into `_.template`",Kt="__lodash_hash_undefined__",ve=500,nt="__lodash_placeholder__",xn=1,Ct=2,Hn=4,tt=1,ht=2,fn=1,cn=2,gt=4,wn=8,$n=16,An=32,Un=64,Y=128,qn=256,Tt=512,wo=30,Ao="...",mo=800,So=16,Ui=1,yo=2,Io=3,pt=1/0,et=9007199254740991,Ro=17976931348623157e292,xe=0/0,Fn=4294967295,Co=Fn-1,To=Fn>>>1,Lo=[["ary",Y],["bind",fn],["bindKey",cn],["curry",wn],["curryRight",$n],["flip",Tt],["partial",An],["partialRight",Un],["rearg",qn]],Lt="[object Arguments]",we="[object Array]",Eo="[object AsyncFunction]",zt="[object Boolean]",Zt="[object Date]",bo="[object DOMException]",Ae="[object Error]",me="[object Function]",Fi="[object GeneratorFunction]",En="[object Map]",Yt="[object Number]",Oo="[object Null]",Kn="[object Object]",Di="[object Promise]",Bo="[object Proxy]",Xt="[object RegExp]",bn="[object Set]",Jt="[object String]",Se="[object Symbol]",Wo="[object Undefined]",Qt="[object WeakMap]",Po="[object WeakSet]",Vt="[object ArrayBuffer]",Et="[object DataView]",hr="[object Float32Array]",gr="[object Float64Array]",pr="[object Int8Array]",_r="[object Int16Array]",dr="[object Int32Array]",vr="[object Uint8Array]",xr="[object Uint8ClampedArray]",wr="[object Uint16Array]",Ar="[object Uint32Array]",Mo=/\b__p \+= '';/g,Uo=/\b(__p \+=) '' \+/g,Fo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ni=/&(?:amp|lt|gt|quot|#39);/g,Gi=/[&<>"']/g,Do=RegExp(Ni.source),No=RegExp(Gi.source),Go=/<%-([\s\S]+?)%>/g,Ho=/<%([\s\S]+?)%>/g,Hi=/<%=([\s\S]+?)%>/g,$o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qo=/^\w*$/,Ko=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mr=/[\\^$.*+?()[\]{}|]/g,zo=RegExp(mr.source),Sr=/^\s+/,Zo=/\s/,Yo=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Xo=/\{\n\/\* \[wrapped with (.+)\] \*/,Jo=/,? & /,Qo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Vo=/[()=,{}\[\]\/\s]/,ko=/\\(\\)?/g,jo=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$i=/\w*$/,nl=/^[-+]0x[0-9a-f]+$/i,tl=/^0b[01]+$/i,el=/^\[object .+?Constructor\]$/,rl=/^0o[0-7]+$/i,il=/^(?:0|[1-9]\d*)$/,ul=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ye=/($^)/,fl=/['\n\r\u2028\u2029\\]/g,Ie="\\ud800-\\udfff",ol="\\u0300-\\u036f",ll="\\ufe20-\\ufe2f",sl="\\u20d0-\\u20ff",qi=ol+ll+sl,Ki="\\u2700-\\u27bf",zi="a-z\\xdf-\\xf6\\xf8-\\xff",al="\\xac\\xb1\\xd7\\xf7",cl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",hl="\\u2000-\\u206f",gl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Zi="A-Z\\xc0-\\xd6\\xd8-\\xde",Yi="\\ufe0e\\ufe0f",Xi=al+cl+hl+gl,yr="['\u2019]",pl="["+Ie+"]",Ji="["+Xi+"]",Re="["+qi+"]",Qi="\\d+",_l="["+Ki+"]",Vi="["+zi+"]",ki="[^"+Ie+Xi+Qi+Ki+zi+Zi+"]",Ir="\\ud83c[\\udffb-\\udfff]",dl="(?:"+Re+"|"+Ir+")",ji="[^"+Ie+"]",Rr="(?:\\ud83c[\\udde6-\\uddff]){2}",Cr="[\\ud800-\\udbff][\\udc00-\\udfff]",bt="["+Zi+"]",nu="\\u200d",tu="(?:"+Vi+"|"+ki+")",vl="(?:"+bt+"|"+ki+")",eu="(?:"+yr+"(?:d|ll|m|re|s|t|ve))?",ru="(?:"+yr+"(?:D|LL|M|RE|S|T|VE))?",iu=dl+"?",uu="["+Yi+"]?",xl="(?:"+nu+"(?:"+[ji,Rr,Cr].join("|")+")"+uu+iu+")*",wl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Al="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",fu=uu+iu+xl,ml="(?:"+[_l,Rr,Cr].join("|")+")"+fu,Sl="(?:"+[ji+Re+"?",Re,Rr,Cr,pl].join("|")+")",yl=RegExp(yr,"g"),Il=RegExp(Re,"g"),Tr=RegExp(Ir+"(?="+Ir+")|"+Sl+fu,"g"),Rl=RegExp([bt+"?"+Vi+"+"+eu+"(?="+[Ji,bt,"$"].join("|")+")",vl+"+"+ru+"(?="+[Ji,bt+tu,"$"].join("|")+")",bt+"?"+tu+"+"+eu,bt+"+"+ru,Al,wl,Qi,ml].join("|"),"g"),Cl=RegExp("["+nu+Ie+qi+Yi+"]"),Tl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ll=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],El=-1,N={};N[hr]=N[gr]=N[pr]=N[_r]=N[dr]=N[vr]=N[xr]=N[wr]=N[Ar]=!0,N[Lt]=N[we]=N[Vt]=N[zt]=N[Et]=N[Zt]=N[Ae]=N[me]=N[En]=N[Yt]=N[Kn]=N[Xt]=N[bn]=N[Jt]=N[Qt]=!1;var F={};F[Lt]=F[we]=F[Vt]=F[Et]=F[zt]=F[Zt]=F[hr]=F[gr]=F[pr]=F[_r]=F[dr]=F[En]=F[Yt]=F[Kn]=F[Xt]=F[bn]=F[Jt]=F[Se]=F[vr]=F[xr]=F[wr]=F[Ar]=!0,F[Ae]=F[me]=F[Qt]=!1;var bl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Ol={"&":"&","<":"<",">":">",'"':""","'":"'"},Bl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Wl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pl=parseFloat,Ml=parseInt,ou=typeof pe=="object"&&pe&&pe.Object===Object&&pe,Ul=typeof self=="object"&&self&&self.Object===Object&&self,k=ou||Ul||Function("return this")(),Lr=D&&!D.nodeType&&D,_t=Lr&&!0&&R&&!R.nodeType&&R,lu=_t&&_t.exports===Lr,Er=lu&&ou.process,mn=function(){try{var a=_t&&_t.require&&_t.require("util").types;return a||Er&&Er.binding&&Er.binding("util")}catch{}}(),su=mn&&mn.isArrayBuffer,au=mn&&mn.isDate,cu=mn&&mn.isMap,hu=mn&&mn.isRegExp,gu=mn&&mn.isSet,pu=mn&&mn.isTypedArray;function hn(a,g,h){switch(h.length){case 0:return a.call(g);case 1:return a.call(g,h[0]);case 2:return a.call(g,h[0],h[1]);case 3:return a.call(g,h[0],h[1],h[2])}return a.apply(g,h)}function Fl(a,g,h,x){for(var y=-1,B=a==null?0:a.length;++y-1}function br(a,g,h){for(var x=-1,y=a==null?0:a.length;++x-1;);return h}function Su(a,g){for(var h=a.length;h--&&Ot(g,a[h],0)>-1;);return h}function Zl(a,g){for(var h=a.length,x=0;h--;)a[h]===g&&++x;return x}var Yl=Pr(bl),Xl=Pr(Ol);function Jl(a){return"\\"+Wl[a]}function Ql(a,g){return a==null?o:a[g]}function Bt(a){return Cl.test(a)}function Vl(a){return Tl.test(a)}function kl(a){for(var g,h=[];!(g=a.next()).done;)h.push(g.value);return h}function Dr(a){var g=-1,h=Array(a.size);return a.forEach(function(x,y){h[++g]=[y,x]}),h}function yu(a,g){return function(h){return a(g(h))}}function ut(a,g){for(var h=-1,x=a.length,y=0,B=[];++h-1}function Ns(n,t){var e=this.__data__,r=qe(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}zn.prototype.clear=Ms,zn.prototype.delete=Us,zn.prototype.get=Fs,zn.prototype.has=Ds,zn.prototype.set=Ns;function Zn(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function Rn(n,t,e,r,i,f){var l,s=t&xn,c=t&Ct,p=t&Hn;if(e&&(l=i?e(n,r,i,f):e(n)),l!==o)return l;if(!H(n))return n;var _=I(n);if(_){if(l=qa(n),!s)return on(n,l)}else{var d=tn(n),v=d==me||d==Fi;if(ct(n))return ff(n,s);if(d==Kn||d==Lt||v&&!i){if(l=c||v?{}:Rf(n),!s)return c?Ba(n,ta(l,n)):Oa(n,Mu(l,n))}else{if(!F[d])return i?n:{};l=Ka(n,d,s)}}f||(f=new Bn);var w=f.get(n);if(w)return w;f.set(n,l),no(n)?n.forEach(function(S){l.add(Rn(S,t,e,S,n,f))}):kf(n)&&n.forEach(function(S,E){l.set(E,Rn(S,t,e,E,n,f))});var m=p?c?ai:si:c?sn:Q,T=_?o:m(n);return Sn(T||n,function(S,E){T&&(E=S,S=n[E]),ie(l,E,Rn(S,t,e,E,n,f))}),l}function ea(n){var t=Q(n);return function(e){return Uu(e,n,t)}}function Uu(n,t,e){var r=e.length;if(n==null)return!r;for(n=U(n);r--;){var i=e[r],f=t[i],l=n[i];if(l===o&&!(i in n)||!f(l))return!1}return!0}function Fu(n,t,e){if(typeof n!="function")throw new yn(P);return ce(function(){n.apply(o,e)},t)}function ue(n,t,e,r){var i=-1,f=Ce,l=!0,s=n.length,c=[],p=t.length;if(!s)return c;e&&(t=G(t,gn(e))),r?(f=br,l=!1):t.length>=V&&(f=kt,l=!1,t=new xt(t));n:for(;++ii?0:i+e),r=r===o||r>i?i:C(r),r<0&&(r+=i),r=e>r?0:eo(r);e0&&e(s)?t>1?j(s,t-1,e,r,i):it(i,s):r||(i[i.length]=s)}return i}var zr=hf(),Gu=hf(!0);function Dn(n,t){return n&&zr(n,t,Q)}function Zr(n,t){return n&&Gu(n,t,Q)}function ze(n,t){return rt(t,function(e){return Vn(n[e])})}function At(n,t){t=st(t,n);for(var e=0,r=t.length;n!=null&&et}function ua(n,t){return n!=null&&M.call(n,t)}function fa(n,t){return n!=null&&t in U(n)}function oa(n,t,e){return n>=nn(t,e)&&n=120&&_.length>=120)?new xt(l&&_):o}_=n[0];var d=-1,v=s[0];n:for(;++d-1;)s!==n&&Ue.call(s,c,1),Ue.call(n,c,1);return n}function Vu(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==f){var f=i;Qn(i)?Ue.call(n,i,1):ei(n,i)}}return n}function jr(n,t){return n+Ne(Ou()*(t-n+1))}function Aa(n,t,e,r){for(var i=-1,f=J(De((t-n)/(e||1)),0),l=h(f);f--;)l[r?f:++i]=n,n+=e;return l}function ni(n,t){var e="";if(!n||t<1||t>et)return e;do t%2&&(e+=n),t=Ne(t/2),t&&(n+=n);while(t);return e}function L(n,t){return vi(Lf(n,t,an),n+"")}function ma(n){return Pu(qt(n))}function Sa(n,t){var e=qt(n);return er(e,wt(t,0,e.length))}function le(n,t,e,r){if(!H(n))return n;t=st(t,n);for(var i=-1,f=t.length,l=f-1,s=n;s!=null&&++ii?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var f=h(i);++r>>1,l=n[f];l!==null&&!_n(l)&&(e?l<=t:l=V){var p=t?null:Ua(n);if(p)return Le(p);l=!1,i=kt,c=new xt}else c=t?[]:s;n:for(;++r=r?n:Cn(n,t,e)}var uf=gs||function(n){return k.clearTimeout(n)};function ff(n,t){if(t)return n.slice();var e=n.length,r=Cu?Cu(e):new n.constructor(e);return n.copy(r),r}function fi(n){var t=new n.constructor(n.byteLength);return new Pe(t).set(new Pe(n)),t}function Ta(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function La(n){var t=new n.constructor(n.source,$i.exec(n));return t.lastIndex=n.lastIndex,t}function Ea(n){return re?U(re.call(n)):{}}function of(n,t){var e=t?fi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function lf(n,t){if(n!==t){var e=n!==o,r=n===null,i=n===n,f=_n(n),l=t!==o,s=t===null,c=t===t,p=_n(t);if(!s&&!p&&!f&&n>t||f&&l&&c&&!s&&!p||r&&l&&c||!e&&c||!i)return 1;if(!r&&!f&&!p&&n=s)return c;var p=e[r];return c*(p=="desc"?-1:1)}}return n.index-t.index}function sf(n,t,e,r){for(var i=-1,f=n.length,l=e.length,s=-1,c=t.length,p=J(f-l,0),_=h(c+p),d=!r;++s1?e[i-1]:o,l=i>2?e[2]:o;for(f=n.length>3&&typeof f=="function"?(i--,f):o,l&&rn(e[0],e[1],l)&&(f=i<3?o:f,i=1),t=U(t);++r-1?i[f?t[l]:l]:o}}function _f(n){return Jn(function(t){var e=t.length,r=e,i=In.prototype.thru;for(n&&t.reverse();r--;){var f=t[r];if(typeof f!="function")throw new yn(P);if(i&&!l&&nr(f)=="wrapper")var l=new In([],!0)}for(r=l?r:e;++r1&&O.reverse(),_&&cs))return!1;var p=f.get(n),_=f.get(t);if(p&&_)return p==t&&_==n;var d=-1,v=!0,w=e&ht?new xt:o;for(f.set(n,t),f.set(t,n);++d1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(Yo,`{ -/* [wrapped with `+t+`] */ -`)}function Za(n){return I(n)||yt(n)||!!(Eu&&n&&n[Eu])}function Qn(n,t){var e=typeof n;return t=t==null?et:t,!!t&&(e=="number"||e!="symbol"&&il.test(n))&&n>-1&&n%1==0&&n0){if(++t>=mo)return arguments[0]}else t=0;return n.apply(o,arguments)}}function er(n,t){var e=-1,r=n.length,i=r-1;for(t=t===o?r:t;++e1?n[t-1]:o;return e=typeof e=="function"?(n.pop(),e):o,Gf(n,e)});function Hf(n){var t=u(n);return t.__chain__=!0,t}function rh(n,t){return t(n),n}function rr(n,t){return t(n)}var ih=Jn(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(f){return Kr(f,n)};return t>1||this.__actions__.length||!(r instanceof b)||!Qn(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:rr,args:[i],thisArg:o}),new In(r,this.__chain__).thru(function(f){return t&&!f.length&&f.push(o),f}))});function uh(){return Hf(this)}function fh(){return new In(this.value(),this.__chain__)}function oh(){this.__values__===o&&(this.__values__=to(this.value()));var n=this.__index__>=this.__values__.length,t=n?o:this.__values__[this.__index__++];return{done:n,value:t}}function lh(){return this}function sh(n){for(var t,e=this;e instanceof $e;){var r=Pf(e);r.__index__=0,r.__values__=o,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function ah(){var n=this.__wrapped__;if(n instanceof b){var t=n;return this.__actions__.length&&(t=new b(this)),t=t.reverse(),t.__actions__.push({func:rr,args:[xi],thisArg:o}),new In(t,this.__chain__)}return this.thru(xi)}function ch(){return ef(this.__wrapped__,this.__actions__)}var hh=Je(function(n,t,e){M.call(n,e)?++n[e]:Yn(n,e,1)});function gh(n,t,e){var r=I(n)?_u:ra;return e&&rn(n,t,e)&&(t=o),r(n,A(t,3))}function ph(n,t){var e=I(n)?rt:Nu;return e(n,A(t,3))}var _h=pf(Mf),dh=pf(Uf);function vh(n,t){return j(ir(n,t),1)}function xh(n,t){return j(ir(n,t),pt)}function wh(n,t,e){return e=e===o?1:C(e),j(ir(n,t),e)}function $f(n,t){var e=I(n)?Sn:ot;return e(n,A(t,3))}function qf(n,t){var e=I(n)?Dl:Du;return e(n,A(t,3))}var Ah=Je(function(n,t,e){M.call(n,e)?n[e].push(t):Yn(n,e,[t])});function mh(n,t,e,r){n=ln(n)?n:qt(n),e=e&&!r?C(e):0;var i=n.length;return e<0&&(e=J(i+e,0)),sr(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&Ot(n,t,e)>-1}var Sh=L(function(n,t,e){var r=-1,i=typeof t=="function",f=ln(n)?h(n.length):[];return ot(n,function(l){f[++r]=i?hn(t,l,e):fe(l,t,e)}),f}),yh=Je(function(n,t,e){Yn(n,e,t)});function ir(n,t){var e=I(n)?G:zu;return e(n,A(t,3))}function Ih(n,t,e,r){return n==null?[]:(I(t)||(t=t==null?[]:[t]),e=r?o:e,I(e)||(e=e==null?[]:[e]),Ju(n,t,e))}var Rh=Je(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function Ch(n,t,e){var r=I(n)?Or:wu,i=arguments.length<3;return r(n,A(t,4),e,i,ot)}function Th(n,t,e){var r=I(n)?Nl:wu,i=arguments.length<3;return r(n,A(t,4),e,i,Du)}function Lh(n,t){var e=I(n)?rt:Nu;return e(n,or(A(t,3)))}function Eh(n){var t=I(n)?Pu:ma;return t(n)}function bh(n,t,e){(e?rn(n,t,e):t===o)?t=1:t=C(t);var r=I(n)?ks:Sa;return r(n,t)}function Oh(n){var t=I(n)?js:Ia;return t(n)}function Bh(n){if(n==null)return 0;if(ln(n))return sr(n)?Wt(n):n.length;var t=tn(n);return t==En||t==bn?n.size:Qr(n).length}function Wh(n,t,e){var r=I(n)?Br:Ra;return e&&rn(n,t,e)&&(t=o),r(n,A(t,3))}var Ph=L(function(n,t){if(n==null)return[];var e=t.length;return e>1&&rn(n,t[0],t[1])?t=[]:e>2&&rn(t[0],t[1],t[2])&&(t=[t[0]]),Ju(n,j(t,1),[])}),ur=ps||function(){return k.Date.now()};function Mh(n,t){if(typeof t!="function")throw new yn(P);return n=C(n),function(){if(--n<1)return t.apply(this,arguments)}}function Kf(n,t,e){return t=e?o:t,t=n&&t==null?n.length:t,Xn(n,Y,o,o,o,o,t)}function zf(n,t){var e;if(typeof t!="function")throw new yn(P);return n=C(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=o),e}}var Ai=L(function(n,t,e){var r=fn;if(e.length){var i=ut(e,Ht(Ai));r|=An}return Xn(n,r,t,e,i)}),Zf=L(function(n,t,e){var r=fn|cn;if(e.length){var i=ut(e,Ht(Zf));r|=An}return Xn(t,r,n,e,i)});function Yf(n,t,e){t=e?o:t;var r=Xn(n,wn,o,o,o,o,o,t);return r.placeholder=Yf.placeholder,r}function Xf(n,t,e){t=e?o:t;var r=Xn(n,$n,o,o,o,o,o,t);return r.placeholder=Xf.placeholder,r}function Jf(n,t,e){var r,i,f,l,s,c,p=0,_=!1,d=!1,v=!0;if(typeof n!="function")throw new yn(P);t=Ln(t)||0,H(e)&&(_=!!e.leading,d="maxWait"in e,f=d?J(Ln(e.maxWait)||0,t):f,v="trailing"in e?!!e.trailing:v);function w(z){var Pn=r,jn=i;return r=i=o,p=z,l=n.apply(jn,Pn),l}function m(z){return p=z,s=ce(E,t),_?w(z):l}function T(z){var Pn=z-c,jn=z-p,po=t-Pn;return d?nn(po,f-jn):po}function S(z){var Pn=z-c,jn=z-p;return c===o||Pn>=t||Pn<0||d&&jn>=f}function E(){var z=ur();if(S(z))return O(z);s=ce(E,T(z))}function O(z){return s=o,v&&r?w(z):(r=i=o,l)}function dn(){s!==o&&uf(s),p=0,r=c=i=s=o}function un(){return s===o?l:O(ur())}function vn(){var z=ur(),Pn=S(z);if(r=arguments,i=this,c=z,Pn){if(s===o)return m(c);if(d)return uf(s),s=ce(E,t),w(c)}return s===o&&(s=ce(E,t)),l}return vn.cancel=dn,vn.flush=un,vn}var Uh=L(function(n,t){return Fu(n,1,t)}),Fh=L(function(n,t,e){return Fu(n,Ln(t)||0,e)});function Dh(n){return Xn(n,Tt)}function fr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new yn(P);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],f=e.cache;if(f.has(i))return f.get(i);var l=n.apply(this,r);return e.cache=f.set(i,l)||f,l};return e.cache=new(fr.Cache||Zn),e}fr.Cache=Zn;function or(n){if(typeof n!="function")throw new yn(P);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Nh(n){return zf(2,n)}var Gh=Ca(function(n,t){t=t.length==1&&I(t[0])?G(t[0],gn(A())):G(j(t,1),gn(A()));var e=t.length;return L(function(r){for(var i=-1,f=nn(r.length,e);++i=t}),yt=$u(function(){return arguments}())?$u:function(n){return $(n)&&M.call(n,"callee")&&!Lu.call(n,"callee")},I=h.isArray,tg=su?gn(su):sa;function ln(n){return n!=null&&lr(n.length)&&!Vn(n)}function K(n){return $(n)&&ln(n)}function eg(n){return n===!0||n===!1||$(n)&&en(n)==zt}var ct=ds||Bi,rg=au?gn(au):aa;function ig(n){return $(n)&&n.nodeType===1&&!he(n)}function ug(n){if(n==null)return!0;if(ln(n)&&(I(n)||typeof n=="string"||typeof n.splice=="function"||ct(n)||$t(n)||yt(n)))return!n.length;var t=tn(n);if(t==En||t==bn)return!n.size;if(ae(n))return!Qr(n).length;for(var e in n)if(M.call(n,e))return!1;return!0}function fg(n,t){return oe(n,t)}function og(n,t,e){e=typeof e=="function"?e:o;var r=e?e(n,t):o;return r===o?oe(n,t,o,e):!!r}function Si(n){if(!$(n))return!1;var t=en(n);return t==Ae||t==bo||typeof n.message=="string"&&typeof n.name=="string"&&!he(n)}function lg(n){return typeof n=="number"&&bu(n)}function Vn(n){if(!H(n))return!1;var t=en(n);return t==me||t==Fi||t==Eo||t==Bo}function Vf(n){return typeof n=="number"&&n==C(n)}function lr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=et}function H(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function $(n){return n!=null&&typeof n=="object"}var kf=cu?gn(cu):ha;function sg(n,t){return n===t||Jr(n,t,hi(t))}function ag(n,t,e){return e=typeof e=="function"?e:o,Jr(n,t,hi(t),e)}function cg(n){return jf(n)&&n!=+n}function hg(n){if(Ja(n))throw new y(Mn);return qu(n)}function gg(n){return n===null}function pg(n){return n==null}function jf(n){return typeof n=="number"||$(n)&&en(n)==Yt}function he(n){if(!$(n)||en(n)!=Kn)return!1;var t=Me(n);if(t===null)return!0;var e=M.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Oe.call(e)==as}var yi=hu?gn(hu):ga;function _g(n){return Vf(n)&&n>=-et&&n<=et}var no=gu?gn(gu):pa;function sr(n){return typeof n=="string"||!I(n)&&$(n)&&en(n)==Jt}function _n(n){return typeof n=="symbol"||$(n)&&en(n)==Se}var $t=pu?gn(pu):_a;function dg(n){return n===o}function vg(n){return $(n)&&tn(n)==Qt}function xg(n){return $(n)&&en(n)==Po}var wg=je(Vr),Ag=je(function(n,t){return n<=t});function to(n){if(!n)return[];if(ln(n))return sr(n)?On(n):on(n);if(jt&&n[jt])return kl(n[jt]());var t=tn(n),e=t==En?Dr:t==bn?Le:qt;return e(n)}function kn(n){if(!n)return n===0?n:0;if(n=Ln(n),n===pt||n===-pt){var t=n<0?-1:1;return t*Ro}return n===n?n:0}function C(n){var t=kn(n),e=t%1;return t===t?e?t-e:t:0}function eo(n){return n?wt(C(n),0,Fn):0}function Ln(n){if(typeof n=="number")return n;if(_n(n))return xe;if(H(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=H(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Au(n);var e=tl.test(n);return e||rl.test(n)?Ml(n.slice(2),e?2:8):nl.test(n)?xe:+n}function ro(n){return Nn(n,sn(n))}function mg(n){return n?wt(C(n),-et,et):n===0?n:0}function W(n){return n==null?"":pn(n)}var Sg=Nt(function(n,t){if(ae(t)||ln(t)){Nn(t,Q(t),n);return}for(var e in t)M.call(t,e)&&ie(n,e,t[e])}),io=Nt(function(n,t){Nn(t,sn(t),n)}),ar=Nt(function(n,t,e,r){Nn(t,sn(t),n,r)}),yg=Nt(function(n,t,e,r){Nn(t,Q(t),n,r)}),Ig=Jn(Kr);function Rg(n,t){var e=Dt(n);return t==null?e:Mu(e,t)}var Cg=L(function(n,t){n=U(n);var e=-1,r=t.length,i=r>2?t[2]:o;for(i&&rn(t[0],t[1],i)&&(r=1);++e1),f}),Nn(n,ai(n),e),r&&(e=Rn(e,xn|Ct|Hn,Fa));for(var i=t.length;i--;)ei(e,t[i]);return e});function Kg(n,t){return fo(n,or(A(t)))}var zg=Jn(function(n,t){return n==null?{}:xa(n,t)});function fo(n,t){if(n==null)return{};var e=G(ai(n),function(r){return[r]});return t=A(t),Qu(n,e,function(r,i){return t(r,i[0])})}function Zg(n,t,e){t=st(t,n);var r=-1,i=t.length;for(i||(i=1,n=o);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var i=Ou();return nn(n+i*(t-n+Pl("1e-"+((i+"").length-1))),t)}return jr(n,t)}var rp=Gt(function(n,t,e){return t=t.toLowerCase(),n+(e?so(t):t)});function so(n){return Ci(W(n).toLowerCase())}function ao(n){return n=W(n),n&&n.replace(ul,Yl).replace(Il,"")}function ip(n,t,e){n=W(n),t=pn(t);var r=n.length;e=e===o?r:wt(C(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function up(n){return n=W(n),n&&No.test(n)?n.replace(Gi,Xl):n}function fp(n){return n=W(n),n&&zo.test(n)?n.replace(mr,"\\$&"):n}var op=Gt(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),lp=Gt(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),sp=gf("toLowerCase");function ap(n,t,e){n=W(n),t=C(t);var r=t?Wt(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return ke(Ne(i),e)+n+ke(De(i),e)}function cp(n,t,e){n=W(n),t=C(t);var r=t?Wt(n):0;return t&&r>>0,e?(n=W(n),n&&(typeof t=="string"||t!=null&&!yi(t))&&(t=pn(t),!t&&Bt(n))?at(On(n),0,e):n.split(t,e)):[]}var xp=Gt(function(n,t,e){return n+(e?" ":"")+Ci(t)});function wp(n,t,e){return n=W(n),e=e==null?0:wt(C(e),0,n.length),t=pn(t),n.slice(e,e+t.length)==t}function Ap(n,t,e){var r=u.templateSettings;e&&rn(n,t,e)&&(t=o),n=W(n),t=ar({},t,r,Af);var i=ar({},t.imports,r.imports,Af),f=Q(i),l=Fr(i,f),s,c,p=0,_=t.interpolate||ye,d="__p += '",v=Nr((t.escape||ye).source+"|"+_.source+"|"+(_===Hi?jo:ye).source+"|"+(t.evaluate||ye).source+"|$","g"),w="//# sourceURL="+(M.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++El+"]")+` -`;n.replace(v,function(S,E,O,dn,un,vn){return O||(O=dn),d+=n.slice(p,vn).replace(fl,Jl),E&&(s=!0,d+=`' + -__e(`+E+`) + -'`),un&&(c=!0,d+=`'; -`+un+`; -__p += '`),O&&(d+=`' + -((__t = (`+O+`)) == null ? '' : __t) + -'`),p=vn+S.length,S}),d+=`'; -`;var m=M.call(t,"variable")&&t.variable;if(!m)d=`with (obj) { -`+d+` -} -`;else if(Vo.test(m))throw new y(de);d=(c?d.replace(Mo,""):d).replace(Uo,"$1").replace(Fo,"$1;"),d="function("+(m||"obj")+`) { -`+(m?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(s?", __e = _.escape":"")+(c?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+d+`return __p -}`;var T=ho(function(){return B(f,w+"return "+d).apply(o,l)});if(T.source=d,Si(T))throw T;return T}function mp(n){return W(n).toLowerCase()}function Sp(n){return W(n).toUpperCase()}function yp(n,t,e){if(n=W(n),n&&(e||t===o))return Au(n);if(!n||!(t=pn(t)))return n;var r=On(n),i=On(t),f=mu(r,i),l=Su(r,i)+1;return at(r,f,l).join("")}function Ip(n,t,e){if(n=W(n),n&&(e||t===o))return n.slice(0,Iu(n)+1);if(!n||!(t=pn(t)))return n;var r=On(n),i=Su(r,On(t))+1;return at(r,0,i).join("")}function Rp(n,t,e){if(n=W(n),n&&(e||t===o))return n.replace(Sr,"");if(!n||!(t=pn(t)))return n;var r=On(n),i=mu(r,On(t));return at(r,i).join("")}function Cp(n,t){var e=wo,r=Ao;if(H(t)){var i="separator"in t?t.separator:i;e="length"in t?C(t.length):e,r="omission"in t?pn(t.omission):r}n=W(n);var f=n.length;if(Bt(n)){var l=On(n);f=l.length}if(e>=f)return n;var s=e-Wt(r);if(s<1)return r;var c=l?at(l,0,s).join(""):n.slice(0,s);if(i===o)return c+r;if(l&&(s+=c.length-s),yi(i)){if(n.slice(s).search(i)){var p,_=c;for(i.global||(i=Nr(i.source,W($i.exec(i))+"g")),i.lastIndex=0;p=i.exec(_);)var d=p.index;c=c.slice(0,d===o?s:d)}}else if(n.indexOf(pn(i),s)!=s){var v=c.lastIndexOf(i);v>-1&&(c=c.slice(0,v))}return c+r}function Tp(n){return n=W(n),n&&Do.test(n)?n.replace(Ni,es):n}var Lp=Gt(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ci=gf("toUpperCase");function co(n,t,e){return n=W(n),t=e?o:t,t===o?Vl(n)?us(n):$l(n):n.match(t)||[]}var ho=L(function(n,t){try{return hn(n,o,t)}catch(e){return Si(e)?e:new y(e)}}),Ep=Jn(function(n,t){return Sn(t,function(e){e=Gn(e),Yn(n,e,Ai(n[e],n))}),n});function bp(n){var t=n==null?0:n.length,e=A();return n=t?G(n,function(r){if(typeof r[1]!="function")throw new yn(P);return[e(r[0]),r[1]]}):[],L(function(r){for(var i=-1;++iet)return[];var e=Fn,r=nn(n,Fn);t=A(t),n-=Fn;for(var i=Ur(r,t);++e0||t<0)?new b(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==o&&(t=C(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},b.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},b.prototype.toArray=function(){return this.take(Fn)},Dn(b.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],f=r||/^find/.test(t);!i||(u.prototype[t]=function(){var l=this.__wrapped__,s=r?[1]:arguments,c=l instanceof b,p=s[0],_=c||I(l),d=function(E){var O=i.apply(u,it([E],s));return r&&v?O[0]:O};_&&e&&typeof p=="function"&&p.length!=1&&(c=_=!1);var v=this.__chain__,w=!!this.__actions__.length,m=f&&!v,T=c&&!w;if(!f&&_){l=T?l:new b(this);var S=n.apply(l,s);return S.__actions__.push({func:rr,args:[d],thisArg:o}),new In(S,v)}return m&&T?n.apply(this,s):(S=this.thru(d),m?r?S.value()[0]:S.value():S)})}),Sn(["pop","push","shift","sort","splice","unshift"],function(n){var t=Ee[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var f=this.value();return t.apply(I(f)?f:[],i)}return this[e](function(l){return t.apply(I(l)?l:[],i)})}}),Dn(b.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";M.call(Ft,r)||(Ft[r]=[]),Ft[r].push({name:t,func:e})}}),Ft[Qe(o,cn).name]=[{name:"wrapper",func:o}],b.prototype.clone=Ts,b.prototype.reverse=Ls,b.prototype.value=Es,u.prototype.at=ih,u.prototype.chain=uh,u.prototype.commit=fh,u.prototype.next=oh,u.prototype.plant=sh,u.prototype.reverse=ah,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=ch,u.prototype.first=u.prototype.head,jt&&(u.prototype[jt]=lh),u},Pt=fs();_t?((_t.exports=Pt)._=Pt,Lr._=Pt):k._=Pt}).call(pe)})(Pi,Pi.exports);function N_({links:R,activeLast:D=!1,...o}){const Z=R[R.length-1].name,V=R.map(P=>q(vo,{link:P},P.name)),Mn=R.map(P=>q("div",{children:P.name!==Z?q(vo,{link:P}):q(Mi,{variant:"body2",sx:{maxWidth:260,overflow:"hidden",whiteSpace:"nowrap",color:"text.disabled",textOverflow:"ellipsis"},children:Z})},P.name));return q(D_,{separator:q(It,{component:"span",sx:{width:4,height:4,borderRadius:"50%",bgcolor:"text.disabled"}}),...o,children:D?V:Mn})}function vo({link:R}){const{href:D,name:o,icon:Z}=R;return cr(Wi,{variant:"body2",component:S_,to:D||"#",sx:{lineHeight:2,display:"flex",alignItems:"center",color:"text.primary","& > div":{display:"inherit"}},children:[Z&&q(It,{sx:{mr:1,"& svg":{width:20,height:20}},children:Z}),o]},o)}function H_({links:R,action:D,heading:o,moreLink:Z=[],sx:V,...Mn}){return cr(It,{sx:{mb:5,...V},children:[cr(It,{sx:{display:"flex",alignItems:"center"},children:[cr(It,{sx:{flexGrow:1},children:[q(Mi,{variant:"h4",gutterBottom:!0,children:o}),q(N_,{links:R,...Mn})]}),D&&q(It,{sx:{flexShrink:0},children:D})]}),q(It,{sx:{mt:2},children:Pi.exports.isString(Z)?q(Wi,{href:Z,target:"_blank",rel:"noopener",variant:"body2",children:Z}):Z.map(P=>q(Wi,{noWrap:!0,href:P,variant:"body2",target:"_blank",rel:"noopener",sx:{display:"table"},children:P},P))})]})}export{H_ as H}; diff --git a/public/client-portal/assets/Index.c41bef42.js b/public/client-portal/assets/Index.c41bef42.js deleted file mode 100644 index 6a801099..00000000 --- a/public/client-portal/assets/Index.c41bef42.js +++ /dev/null @@ -1 +0,0 @@ -import{H as xa}from"./HeaderBreadcrumbs.c70f1305.js";import{P as $a}from"./Page.e9d8cc16.js";import{r as pa,i as ua,a as ga}from"./jsx-runtime_commonjs-proxy.b87625c0.js";import{c as Z,j as o,g as J,a as Q,s as U,b as n,a6 as k,_ as f,r as $,u as X,e as w,aq as ma,a3 as G,h as V,f as B,i as Y,ao as ha,v as Pa,P as Ia,Z as ka,$ as Ra,n as za,R as H,S as Oa,a0 as Ta,I as La,q as ra,aO as Na}from"./index.b0a49137.js";import{B as _a}from"./Box.c50b4a28.js";import{F as na,L as ia}from"./LastPage.9e90b034.js";import{C as va}from"./Card.a4168b31.js";import{T as Sa}from"./TableContainer.58606ed5.js";import{a as Ma}from"./formatNumber.0b88db94.js";import{T as Ba,a as q,b as K,c as b}from"./TableRow.41459f01.js";import{T as Da}from"./TextField.08c1cc6c.js";import"./useId.c3f149cd.js";const Va=Z(o("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function Ea(a){return Q("MuiChip",a)}const Wa=J("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),i=Wa,Fa=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],Ua=a=>{const{classes:e,disabled:l,size:t,color:p,iconColor:m,onDelete:C,clickable:s,variant:u}=a,h={root:["root",u,l&&"disabled",`size${n(t)}`,`color${n(p)}`,s&&"clickable",s&&`clickableColor${n(p)}`,C&&"deletable",C&&`deletableColor${n(p)}`,`${u}${n(p)}`],label:["label",`label${n(t)}`],avatar:["avatar",`avatar${n(t)}`,`avatarColor${n(p)}`],icon:["icon",`icon${n(t)}`,`iconColor${n(m)}`],deleteIcon:["deleteIcon",`deleteIcon${n(t)}`,`deleteIconColor${n(p)}`,`deleteIcon${n(u)}Color${n(p)}`]};return Y(h,Ea,e)},ja=U("div",{name:"MuiChip",slot:"Root",overridesResolver:(a,e)=>{const{ownerState:l}=a,{color:t,iconColor:p,clickable:m,onDelete:C,size:s,variant:u}=l;return[{[`& .${i.avatar}`]:e.avatar},{[`& .${i.avatar}`]:e[`avatar${n(s)}`]},{[`& .${i.avatar}`]:e[`avatarColor${n(t)}`]},{[`& .${i.icon}`]:e.icon},{[`& .${i.icon}`]:e[`icon${n(s)}`]},{[`& .${i.icon}`]:e[`iconColor${n(p)}`]},{[`& .${i.deleteIcon}`]:e.deleteIcon},{[`& .${i.deleteIcon}`]:e[`deleteIcon${n(s)}`]},{[`& .${i.deleteIcon}`]:e[`deleteIconColor${n(t)}`]},{[`& .${i.deleteIcon}`]:e[`deleteIcon${n(u)}Color${n(t)}`]},e.root,e[`size${n(s)}`],e[`color${n(t)}`],m&&e.clickable,m&&t!=="default"&&e[`clickableColor${n(t)})`],C&&e.deletable,C&&t!=="default"&&e[`deletableColor${n(t)}`],e[u],e[`${u}${n(t)}`]]}})(({theme:a,ownerState:e})=>{const l=k(a.palette.text.primary,.26),t=a.palette.mode==="light"?a.palette.grey[700]:a.palette.grey[300];return f({maxWidth:"100%",fontFamily:a.typography.fontFamily,fontSize:a.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(a.vars||a).palette.text.primary,backgroundColor:(a.vars||a).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:a.transitions.create(["background-color","box-shadow"]),cursor:"default",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${i.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${i.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:a.vars?a.vars.palette.Chip.defaultAvatarColor:t,fontSize:a.typography.pxToRem(12)},[`& .${i.avatarColorPrimary}`]:{color:(a.vars||a).palette.primary.contrastText,backgroundColor:(a.vars||a).palette.primary.dark},[`& .${i.avatarColorSecondary}`]:{color:(a.vars||a).palette.secondary.contrastText,backgroundColor:(a.vars||a).palette.secondary.dark},[`& .${i.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:a.typography.pxToRem(10)},[`& .${i.icon}`]:f({marginLeft:5,marginRight:-6},e.size==="small"&&{fontSize:18,marginLeft:4,marginRight:-4},e.iconColor===e.color&&f({color:a.vars?a.vars.palette.Chip.defaultIconColor:t},e.color!=="default"&&{color:"inherit"})),[`& .${i.deleteIcon}`]:f({WebkitTapHighlightColor:"transparent",color:a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.26)`:l,fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:a.vars?`rgba(${a.vars.palette.text.primaryChannel} / 0.4)`:k(l,.4)}},e.size==="small"&&{fontSize:16,marginRight:4,marginLeft:-4},e.color!=="default"&&{color:a.vars?`rgba(${a.vars.palette[e.color].contrastTextChannel} / 0.7)`:k(a.palette[e.color].contrastText,.7),"&:hover, &:active":{color:(a.vars||a).palette[e.color].contrastText}})},e.size==="small"&&{height:24},e.color!=="default"&&{backgroundColor:(a.vars||a).palette[e.color].main,color:(a.vars||a).palette[e.color].contrastText},e.onDelete&&{[`&.${i.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:k(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)}},e.onDelete&&e.color!=="default"&&{[`&.${i.focusVisible}`]:{backgroundColor:(a.vars||a).palette[e.color].dark}})},({theme:a,ownerState:e})=>f({},e.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:k(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity)},[`&.${i.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selectedChannel} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:k(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)},"&:active":{boxShadow:(a.vars||a).shadows[1]}},e.clickable&&e.color!=="default"&&{[`&:hover, &.${i.focusVisible}`]:{backgroundColor:(a.vars||a).palette[e.color].dark}}),({theme:a,ownerState:e})=>f({},e.variant==="outlined"&&{backgroundColor:"transparent",border:a.vars?`1px solid ${a.vars.palette.Chip.defaultBorder}`:`1px solid ${a.palette.mode==="light"?a.palette.grey[400]:a.palette.grey[700]}`,[`&.${i.clickable}:hover`]:{backgroundColor:(a.vars||a).palette.action.hover},[`&.${i.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`& .${i.avatar}`]:{marginLeft:4},[`& .${i.avatarSmall}`]:{marginLeft:2},[`& .${i.icon}`]:{marginLeft:4},[`& .${i.iconSmall}`]:{marginLeft:2},[`& .${i.deleteIcon}`]:{marginRight:5},[`& .${i.deleteIconSmall}`]:{marginRight:3}},e.variant==="outlined"&&e.color!=="default"&&{color:(a.vars||a).palette[e.color].main,border:`1px solid ${a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / 0.7)`:k(a.palette[e.color].main,.7)}`,[`&.${i.clickable}:hover`]:{backgroundColor:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / ${a.vars.palette.action.hoverOpacity})`:k(a.palette[e.color].main,a.palette.action.hoverOpacity)},[`&.${i.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / ${a.vars.palette.action.focusOpacity})`:k(a.palette[e.color].main,a.palette.action.focusOpacity)},[`& .${i.deleteIcon}`]:{color:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / 0.7)`:k(a.palette[e.color].main,.7),"&:hover, &:active":{color:(a.vars||a).palette[e.color].main}}})),Aa=U("span",{name:"MuiChip",slot:"Label",overridesResolver:(a,e)=>{const{ownerState:l}=a,{size:t}=l;return[e.label,e[`label${n(t)}`]]}})(({ownerState:a})=>f({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},a.size==="small"&&{paddingLeft:8,paddingRight:8}));function sa(a){return a.key==="Backspace"||a.key==="Delete"}const Ka=$.exports.forwardRef(function(e,l){const t=X({props:e,name:"MuiChip"}),{avatar:p,className:m,clickable:C,color:s="default",component:u,deleteIcon:h,disabled:z=!1,icon:O,label:N,onClick:d,onDelete:c,onKeyDown:D,onKeyUp:v,size:r="medium",variant:y="filled",tabIndex:P,skipFocusWhenDisabled:_=!1}=t,T=w(t,Fa),x=$.exports.useRef(null),S=ma(x,l),I=R=>{R.stopPropagation(),c&&c(R)},g=R=>{R.currentTarget===R.target&&sa(R)&&R.preventDefault(),D&&D(R)},L=R=>{R.currentTarget===R.target&&(c&&sa(R)?c(R):R.key==="Escape"&&x.current&&x.current.blur()),v&&v(R)},E=C!==!1&&d?!0:C,j=E||c?G:u||"div",A=f({},t,{component:j,disabled:z,size:r,color:s,iconColor:$.exports.isValidElement(O)&&O.props.color||s,onDelete:!!c,clickable:E,variant:y}),W=Ua(A),ya=j===G?f({component:u||"div",focusVisibleClassName:W.focusVisible},c&&{disableRipple:!0}):{};let oa=null;c&&(oa=h&&$.exports.isValidElement(h)?$.exports.cloneElement(h,{className:V(h.props.className,W.deleteIcon),onClick:I}):o(Va,{className:V(W.deleteIcon),onClick:I}));let ta=null;p&&$.exports.isValidElement(p)&&(ta=$.exports.cloneElement(p,{className:V(W.avatar,p.props.className)}));let la=null;return O&&$.exports.isValidElement(O)&&(la=$.exports.cloneElement(O,{className:V(W.icon,O.props.className)})),B(ja,f({as:j,className:V(W.root,m),disabled:E&&z?!0:void 0,onClick:d,onKeyDown:g,onKeyUp:L,ref:S,tabIndex:_&&z?-1:P,ownerState:A},ya,T,{children:[ta||la,o(Aa,{className:V(W.label),ownerState:A,children:N}),oa]}))}),F=Ka;function qa(a){return Q("MuiPagination",a)}J("MuiPagination",["root","ul","outlined","text"]);const wa=["boundaryCount","componentName","count","defaultPage","disabled","hideNextButton","hidePrevButton","onChange","page","showFirstButton","showLastButton","siblingCount"];function Ha(a={}){const{boundaryCount:e=1,componentName:l="usePagination",count:t=1,defaultPage:p=1,disabled:m=!1,hideNextButton:C=!1,hidePrevButton:s=!1,onChange:u,page:h,showFirstButton:z=!1,showLastButton:O=!1,siblingCount:N=1}=a,d=w(a,wa),[c,D]=ha({controlled:h,default:p,name:l,state:"page"}),v=(g,L)=>{h||D(L),u&&u(g,L)},r=(g,L)=>{const E=L-g+1;return Array.from({length:E},(j,A)=>g+A)},y=r(1,Math.min(e,t)),P=r(Math.max(t-e+1,e+1),t),_=Math.max(Math.min(c-N,t-e-N*2-1),e+2),T=Math.min(Math.max(c+N,e+N*2+2),P.length>0?P[0]-2:t-1),x=[...z?["first"]:[],...s?[]:["previous"],...y,..._>e+2?["start-ellipsis"]:e+1e?[t-e]:[],...P,...C?[]:["next"],...O?["last"]:[]],S=g=>{switch(g){case"first":return 1;case"previous":return c-1;case"next":return c+1;case"last":return t;default:return null}},I=x.map(g=>typeof g=="number"?{onClick:L=>{v(L,g)},type:"page",page:g,selected:g===c,disabled:m,"aria-current":g===c?"true":void 0}:{onClick:L=>{v(L,S(g))},type:g,page:S(g),selected:!1,disabled:m||g.indexOf("ellipsis")===-1&&(g==="next"||g==="last"?c>=t:c<=1)});return f({items:I},d)}function Ga(a){return Q("MuiPaginationItem",a)}const Za=J("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon"]),M=Za,ca=Z(o("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),da=Z(o("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),Ja=["className","color","component","components","disabled","page","selected","shape","size","slots","type","variant"],fa=(a,e)=>{const{ownerState:l}=a;return[e.root,e[l.variant],e[`size${n(l.size)}`],l.variant==="text"&&e[`text${n(l.color)}`],l.variant==="outlined"&&e[`outlined${n(l.color)}`],l.shape==="rounded"&&e.rounded,l.type==="page"&&e.page,(l.type==="start-ellipsis"||l.type==="end-ellipsis")&&e.ellipsis,(l.type==="previous"||l.type==="next")&&e.previousNext,(l.type==="first"||l.type==="last")&&e.firstLast]},Qa=a=>{const{classes:e,color:l,disabled:t,selected:p,size:m,shape:C,type:s,variant:u}=a,h={root:["root",`size${n(m)}`,u,C,l!=="standard"&&`${u}${n(l)}`,t&&"disabled",p&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[s]],icon:["icon"]};return Y(h,Ga,e)},Xa=U("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:fa})(({theme:a,ownerState:e})=>f({},a.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(a.vars||a).palette.text.primary,height:"auto",[`&.${M.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity}},e.size==="small"&&{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},e.size==="large"&&{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:a.typography.pxToRem(15)})),Ya=U(G,{name:"MuiPaginationItem",slot:"Root",overridesResolver:fa})(({theme:a,ownerState:e})=>f({},a.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(a.vars||a).palette.text.primary,[`&.${M.focusVisible}`]:{backgroundColor:(a.vars||a).palette.action.focus},[`&.${M.disabled}`]:{opacity:(a.vars||a).palette.action.disabledOpacity},transition:a.transitions.create(["color","background-color"],{duration:a.transitions.duration.short}),"&:hover":{backgroundColor:(a.vars||a).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${M.selected}`]:{backgroundColor:(a.vars||a).palette.action.selected,"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selected} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.hoverOpacity}))`:k(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(a.vars||a).palette.action.selected}},[`&.${M.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette.action.selected} / calc(${a.vars.palette.action.selectedOpacity} + ${a.vars.palette.action.focusOpacity}))`:k(a.palette.action.selected,a.palette.action.selectedOpacity+a.palette.action.focusOpacity)},[`&.${M.disabled}`]:{opacity:1,color:(a.vars||a).palette.action.disabled,backgroundColor:(a.vars||a).palette.action.selected}}},e.size==="small"&&{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},e.size==="large"&&{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:a.typography.pxToRem(15)},e.shape==="rounded"&&{borderRadius:(a.vars||a).shape.borderRadius}),({theme:a,ownerState:e})=>f({},e.variant==="text"&&{[`&.${M.selected}`]:f({},e.color!=="standard"&&{color:(a.vars||a).palette[e.color].contrastText,backgroundColor:(a.vars||a).palette[e.color].main,"&:hover":{backgroundColor:(a.vars||a).palette[e.color].dark,"@media (hover: none)":{backgroundColor:(a.vars||a).palette[e.color].main}},[`&.${M.focusVisible}`]:{backgroundColor:(a.vars||a).palette[e.color].dark}},{[`&.${M.disabled}`]:{color:(a.vars||a).palette.action.disabled}})},e.variant==="outlined"&&{border:a.vars?`1px solid rgba(${a.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${a.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${M.selected}`]:f({},e.color!=="standard"&&{color:(a.vars||a).palette[e.color].main,border:`1px solid ${a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / 0.5)`:k(a.palette[e.color].main,.5)}`,backgroundColor:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / ${a.vars.palette.action.activatedOpacity})`:k(a.palette[e.color].main,a.palette.action.activatedOpacity),"&:hover":{backgroundColor:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / calc(${a.vars.palette.action.activatedOpacity} + ${a.vars.palette.action.focusOpacity}))`:k(a.palette[e.color].main,a.palette.action.activatedOpacity+a.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${M.focusVisible}`]:{backgroundColor:a.vars?`rgba(${a.vars.palette[e.color].mainChannel} / calc(${a.vars.palette.action.activatedOpacity} + ${a.vars.palette.action.focusOpacity}))`:k(a.palette[e.color].main,a.palette.action.activatedOpacity+a.palette.action.focusOpacity)}},{[`&.${M.disabled}`]:{borderColor:(a.vars||a).palette.action.disabledBackground,color:(a.vars||a).palette.action.disabled}})})),ae=U("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(a,e)=>e.icon})(({theme:a,ownerState:e})=>f({fontSize:a.typography.pxToRem(20),margin:"0 -8px"},e.size==="small"&&{fontSize:a.typography.pxToRem(18)},e.size==="large"&&{fontSize:a.typography.pxToRem(22)})),ee=$.exports.forwardRef(function(e,l){const t=X({props:e,name:"MuiPaginationItem"}),{className:p,color:m="standard",component:C,components:s={},disabled:u=!1,page:h,selected:z=!1,shape:O="circular",size:N="medium",slots:d={},type:c="page",variant:D="text"}=t,v=w(t,Ja),r=f({},t,{color:m,disabled:u,selected:z,shape:O,size:N,type:c,variant:D}),y=Pa(),P=Qa(r),T=(y.direction==="rtl"?{previous:d.next||s.next||da,next:d.previous||s.previous||ca,last:d.first||s.first||na,first:d.last||s.last||ia}:{previous:d.previous||s.previous||ca,next:d.next||s.next||da,first:d.first||s.first||na,last:d.last||s.last||ia})[c];return c==="start-ellipsis"||c==="end-ellipsis"?o(Xa,{ref:l,ownerState:r,className:V(P.root,p),children:"\u2026"}):B(Ya,f({ref:l,ownerState:r,component:C,disabled:u,className:V(P.root,p)},v,{children:[c==="page"&&h,T?o(ae,{as:T,ownerState:r,className:P.icon}):null]}))}),oe=ee,te=["boundaryCount","className","color","count","defaultPage","disabled","getItemAriaLabel","hideNextButton","hidePrevButton","onChange","page","renderItem","shape","showFirstButton","showLastButton","siblingCount","size","variant"],le=a=>{const{classes:e,variant:l}=a;return Y({root:["root",l],ul:["ul"]},qa,e)},re=U("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(a,e)=>{const{ownerState:l}=a;return[e.root,e[l.variant]]}})({}),ne=U("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(a,e)=>e.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function ie(a,e,l){return a==="page"?`${l?"":"Go to "}page ${e}`:`Go to ${a} page`}const se=$.exports.forwardRef(function(e,l){const t=X({props:e,name:"MuiPagination"}),{boundaryCount:p=1,className:m,color:C="standard",count:s=1,defaultPage:u=1,disabled:h=!1,getItemAriaLabel:z=ie,hideNextButton:O=!1,hidePrevButton:N=!1,renderItem:d=I=>o(oe,f({},I)),shape:c="circular",showFirstButton:D=!1,showLastButton:v=!1,siblingCount:r=1,size:y="medium",variant:P="text"}=t,_=w(t,te),{items:T}=Ha(f({},t,{componentName:"Pagination"})),x=f({},t,{boundaryCount:p,color:C,count:s,defaultPage:u,disabled:h,getItemAriaLabel:z,hideNextButton:O,hidePrevButton:N,renderItem:d,shape:c,showFirstButton:D,showLastButton:v,siblingCount:r,size:y,variant:P}),S=le(x);return o(re,f({"aria-label":"pagination navigation",className:V(S.root,m),ownerState:x,ref:l},_,{children:o(ne,{className:S.ul,ownerState:x,children:T.map((I,g)=>o("li",{children:d(f({},I,{color:C,"aria-label":z(I.type,I.page,I.selected),shape:c,size:y,variant:P}))},g))})}))}),ce=se;var aa={},de=ua.exports;Object.defineProperty(aa,"__esModule",{value:!0});var ba=aa.default=void 0,pe=de(pa()),ue=ga,ge=(0,pe.default)((0,ue.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"}),"KeyboardArrowDown");ba=aa.default=ge;var ea={},ve=ua.exports;Object.defineProperty(ea,"__esModule",{value:!0});var Ca=ea.default=void 0,fe=ve(pa()),be=ga,Ce=(0,fe.default)((0,be.jsx)("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"KeyboardArrowRight");Ca=ea.default=Ce;const ye={current_page:1,data:[],path:"",first_page_url:"",last_page:1,last_page_url:"",next_page_url:"",prev_page_url:"",per_page:10,from:0,to:0,total:0};function xe({paginationData:a,onPageChange:e}){return o(_a,{sx:{m:2},display:"flex",justifyContent:"flex-end",children:o(ce,{count:a==null?void 0:a.last_page,page:a==null?void 0:a.current_page,variant:"outlined",shape:"rounded",onChange:e})})}function $e(a){return B(va,{children:[o(Sa,{component:Ia,children:a.TableContent}),a.isLoading?o("div",{}):o(xe,{paginationData:a.data,onPageChange:a.handlePageChange})]})}function me(){const{corporateValue:a}=$.exports.useContext(ka),[e,l]=Ra();$.exports.useState(null);const t=za();function p(v){const r=$.exports.useRef(null),[y,P]=$.exports.useState(""),_=x=>{var I;const S=(I=x.target.value)!=null?I:"";P(S)},T=x=>{x.preventDefault(),v.onSearch({search:y})};return $.exports.useEffect(()=>{var x;P((x=e.get("search"))!=null?x:"")},[]),o("form",{onSubmit:T,style:{width:"100%"},children:o(Da,{id:"search-input",ref:r,label:"Search",variant:"outlined",fullWidth:!0,onChange:_,value:y})})}function m(v){return H.useState(null),o("div",{children:o(Oa,{direction:"row",spacing:2,sx:{p:2},children:o(p,{onSearch:O})})})}const[C,s]=$.exports.useState(!0),[u,h]=$.exports.useState(ye),z=async(v=null)=>{s(!0);const r=v||Object.fromEntries([...e.entries()]),y=await Ta.get(a+"/claims",{params:r});s(!1),h(y.data.data)},O=async v=>{await z(v),l(v)},N=(v,r)=>{const y=Object.fromEntries([...e.entries(),["page",r]]);z(y),l(y)};$.exports.useEffect(()=>{z()},[]);const d={fontWeight:"bold"};function c(v){var _,T,x,S,I,g,L,E;const{row:r}=v,[y,P]=H.useState(!1);return B(H.Fragment,{children:[B(K,{sx:{"& > *":{borderBottom:"unset"}},children:[o(b,{children:o(La,{"aria-label":"expand row",size:"small",onClick:()=>P(!y),children:y?o(ba,{}):o(Ca,{})})}),o(b,{align:"left",children:r.code}),o(b,{align:"left",children:(_=r.member)==null?void 0:_.full_name}),o(b,{align:"left",children:(T=r.plan)==null?void 0:T.code}),o(b,{align:"left",children:(S=(x=r.claim_request)==null?void 0:x.service)==null?void 0:S.name}),B(b,{align:"left",children:["(",(g=(I=r.diagnoses[0])==null?void 0:I.icd)==null?void 0:g.code,") ",(E=(L=r.diagnoses[0])==null?void 0:L.icd)==null?void 0:E.name]}),o(b,{align:"left",children:Ma(r.total_claim)}),B(b,{align:"center",children:[r.status=="draft"&&o(F,{label:"Draft",color:"default",variant:"outlined"}),r.status=="requested"&&o(F,{label:"Requested",color:"primary"}),r.status=="received"&&o(F,{label:"Received",color:"success",variant:"outlined"}),r.status=="approved"&&o(F,{label:"Approved",color:"success"}),r.status=="postpone"&&o(F,{label:"Postpone",color:"primary",variant:"outlined"}),r.status=="paid"&&o(F,{label:"Paid",color:"warning"}),r.status=="declined"&&o(F,{label:"Declined",color:"error"})]}),B(b,{align:"right",children:[["approved","paid"].includes(r.status)&&o(ra,{icon:"eva:eye-fill",onClick:j=>{t("/claims/"+r.id)}}),!["approved","paid"].includes(r.status)&&o(ra,{icon:"eva:edit-outline",onClick:j=>{t("/claims/"+r.id)}})]})]}),o(K,{children:o(b,{style:{paddingBottom:0,paddingTop:0},colSpan:99,children:o(Na,{in:y,timeout:"auto",unmountOnExit:!0})})})]})}function D(){return B(Ba,{"aria-label":"collapsible table",children:[o(q,{children:B(K,{children:[o(b,{style:d,align:"left"}),o(b,{style:d,align:"left",children:"Code"}),o(b,{style:d,align:"left",children:"Member Name"}),o(b,{style:d,align:"left",children:"Plan"}),o(b,{style:d,align:"left",children:"Benefit"}),o(b,{style:d,align:"left",children:"Diagnosis"}),o(b,{style:d,align:"left",children:"Total Claim"}),o(b,{style:d,align:"left",children:"Status"}),o(b,{style:d,align:"right",children:"Action"})]})}),C?o(q,{children:o(K,{children:o(b,{colSpan:8,align:"center",children:"Loading"})})}):u.data.length===0?o(q,{children:o(K,{children:o(b,{colSpan:8,align:"center",children:"No Data"})})}):o(q,{children:u.data.map(v=>o(c,{row:v},v.id))})]})}return B(va,{children:[o(m,{}),o($e,{isLoading:C,lastRequest:0,data:u,handlePageChange:N,TableContent:o(D,{})})]})}function Me(){const a="Claim";return B($a,{title:a,sx:{mx:2},children:[o(xa,{heading:a,links:[{name:"Dashboard",href:"/dashboard"},{name:"Claim",href:"/claims"}]}),o(me,{})]})}export{Me as default}; diff --git a/public/client-portal/assets/Index.c60e3cfb.js b/public/client-portal/assets/Index.c60e3cfb.js deleted file mode 100644 index 23166a25..00000000 --- a/public/client-portal/assets/Index.c60e3cfb.js +++ /dev/null @@ -1 +0,0 @@ -import{g as B,a as O,s as E,b as H,_ as $,r,u as U,e as q,H as V,K as G,T as x,j as e,h as _,f as h,i as Y,aS as T,aT as z,aU as K,Z as M,aV as X,n as Z,a0 as W,aW as R,S as j,I as J,q as Q,Y as ee,$ as te,a1 as N,a2 as ae}from"./index.b0a49137.js";import{P as re}from"./Page.e9d8cc16.js";import{H as se}from"./HeaderBreadcrumbs.c70f1305.js";import{f as oe}from"./formatTime.0646b9d0.js";import{G as m}from"./Grid.97ae8bc1.js";import{T as le}from"./TextField.08c1cc6c.js";import{I as ne}from"./InputAdornment.b72719ba.js";import{S as ie}from"./Search.cbee36ce.js";import{L as ce}from"./LoadingButton.6a53b4e1.js";import{L as me,l as A}from"./LinearProgress.c8f69e54.js";import{C as de}from"./Card.a4168b31.js";import{C as pe}from"./Checkbox.362ad1e0.js";import{S as ue}from"./Stack.acc67e21.js";import"./index.49ea62c1.js";import"./useId.c3f149cd.js";import"./generateUtilityClasses.06032f54.js";import"./SwitchBase.6ffeba1b.js";function he(s){return O("MuiFormControlLabel",s)}const fe=B("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error"]),D=fe,be=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","slotProps","value"],ge=s=>{const{classes:a,disabled:i,labelPlacement:l,error:n}=s,f={root:["root",i&&"disabled",`labelPlacement${H(l)}`,n&&"error"],label:["label",i&&"disabled"]};return Y(f,he,a)},xe=E("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(s,a)=>{const{ownerState:i}=s;return[{[`& .${D.label}`]:a.label},a.root,a[`labelPlacement${H(i.labelPlacement)}`]]}})(({theme:s,ownerState:a})=>$({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${D.disabled}`]:{cursor:"default"}},a.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},a.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},a.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${D.label}`]:{[`&.${D.disabled}`]:{color:(s.vars||s).palette.text.disabled}}})),Ce=r.exports.forwardRef(function(a,i){var l;const n=U({props:a,name:"MuiFormControlLabel"}),{className:f,componentsProps:c={},control:o,disabled:b,disableTypography:C,label:P,labelPlacement:v="end",slotProps:S={}}=n,k=q(n,be),g=V();let d=b;typeof d>"u"&&typeof o.props.disabled<"u"&&(d=o.props.disabled),typeof d>"u"&&g&&(d=g.disabled);const t={disabled:d};["checked","name","onChange","value","inputRef"].forEach(I=>{typeof o.props[I]>"u"&&typeof n[I]<"u"&&(t[I]=n[I])});const p=G({props:n,muiFormControl:g,states:["error"]}),u=$({},n,{disabled:d,labelPlacement:v,error:p.error}),y=ge(u),F=(l=S.typography)!=null?l:c.typography;let L=P;return L!=null&&L.type!==x&&!C&&(L=e(x,$({component:"span"},F,{className:_(y.label,F==null?void 0:F.className),children:L}))),h(xe,$({className:_(y.root,f),ownerState:u,ref:i},k,{children:[r.exports.cloneElement(o,t),L]}))}),Se=Ce;function w(s=T){const a=s===T?z:K(s);return function(){const{store:l}=a();return l}}const ye=w();function Pe(s=T){const a=s===T?ye:w(s);return function(){return a().dispatch}}const ve=Pe();E(me)(({theme:s})=>({height:10,borderRadius:6,[`&.${A.colorPrimary}`]:{backgroundColor:"#D1F1F1"},[`& .${A.bar}`]:{borderRadius:6,backgroundColor:"#54D62C"}}));function Le({title:s,openDialog:a,setOpenDialog:i}){const{corporateValue:l}=r.exports.useContext(M),[n,f]=r.exports.useState([]),c=ve(),o=X(t=>t.claims.data);r.exports.useState({id:0,fullName:"",memberId:"",limit:{current:0,total:0,percentage:0}});const b=Z(),[C,P]=r.exports.useState(""),[v,S]=r.exports.useState({}),k=async t=>{t.preventDefault(),S(C===""?{}:{search:C}),await new Promise(p=>setTimeout(p,500))},g=(t,p)=>{if(p)c(R.patch([...o,t]));else{let u=o.filter(y=>y.memberId!==t.memberId);c(R.patch(u))}};return r.exports.useEffect(()=>{(async()=>{if(a===!0){const t=await W.get(`${l}/members`,{params:{...v,type:"claim-submit"}});f(t.data.data)}})()},[l,a,v]),r.exports.useEffect(()=>{c(R.dispatch())},[c]),h(m,{container:!0,children:[h(m,{item:!0,xs:12,paddingX:"10px",paddingY:"20px",children:[e("form",{onSubmit:k,children:e(le,{id:"search-input",variant:"outlined",fullWidth:!0,onChange:t=>P(t==null?void 0:t.target.value),value:C,InputProps:{startAdornment:e(ne,{position:"start",children:e(ie,{})})},placeholder:"Search Name or Member ID... ",sx:{marginTop:2}})}),(()=>e(j,{children:e(j,{marginTop:2,spacing:1,children:n.map((t,p)=>e(de,{sx:{bgcolor:u=>o.some(y=>y.memberId===t.memberId)?u.palette.primary.lighter:u.palette.background.default},children:h(j,{direction:"row",alignItems:"center",children:[e(m,{item:!0,xs:1,lg:1,xl:1,children:e("form",{children:e(Se,{value:"end",control:e(pe,{onChange:u=>g(t,u.target.checked)}),label:"",labelPlacement:"end",sx:{marginLeft:"20px"}})})}),e("div",{}),h(m,{item:!0,xs:11,lg:11,xl:11,py:2,children:[e(x,{variant:"subtitle1",children:t.fullName}),e(x,{color:"#637381",variant:"body2",sx:{fontWeight:500},children:t.memberId})]}),e(m,{item:!0,xs:1,lg:1,xl:1,style:{display:"flex",justifyContent:"right",alignItems:"right"},children:e(J,{disabled:o.length>0,sx:{marginLeft:"10px"},onClick:()=>{c(R.patch([t])),b(`/claim-request/${t.id}`)},children:e(Q,{icon:"ic:round-chevron-right"})})})]})},p))})}))()]}),e(m,{item:!0,xs:12,children:e(ce,{variant:"contained",sx:{marginTop:2,p:2,margin:"10px"},fullWidth:!0,disabled:o.length===0,onClick:()=>b("/claim-request/bulk"),children:"Claim Submit Selected"})})]})}function Oe(){const{themeStretch:s}=ee(),{corporateValue:a}=r.exports.useContext(M),[i,l]=r.exports.useState([]);r.exports.useState([]);const[n,f]=r.exports.useState(!0),[c,o]=te(),[b,C]=r.exports.useState({});r.exports.useState();const[P,v]=r.exports.useState("asc"),[S,k]=r.exports.useState("fullName"),g=new Date,d=oe(g);return r.exports.useState(0),r.exports.useState(10),r.exports.useState({current_page:0,from:0,last_page:0,links:[],path:"",per_page:0,to:0,total:0}),r.exports.useEffect(()=>{(async()=>{f(!0);const t=await W.get(`${a}/claim-report/claim-status`);l([{name:"Requested",value:t.data.data.requesteds,color:N.dark.primary.dark},{name:"Approval",value:t.data.data.approveds,color:N.dark.warning.dark},{name:"Rejected",value:t.data.data.rejecteds,color:N.dark.error.dark}]);const p=Object.keys(b).length!==0?b:Object.fromEntries([...c.entries()]);o(p),f(!1)})()},[b,c,P,S,o,a]),h(re,{title:"Claim Reports",children:[e(se,{heading:"Claim Submit",links:[{name:"Case Management",href:"/dashboard"},{name:"Claim Submit",href:"/claim-submit"}]}),e(ae,{maxWidth:s?!1:"xl",children:h(m,{container:!0,spacing:2,children:[e(m,{item:!0,xs:12,lg:6,md:6,children:h(x,{variant:"h6",sx:{marginLeft:"10px"},children:[" ","Select Employee"]})}),e(m,{item:!0,xs:12,lg:6,md:6,sx:{display:"flex",justifyContent:"flex-end"},children:h(ue,{direction:"row",alignItems:"center",children:[e(x,{variant:"inherit",align:"right",sx:{marginRight:"10px"},children:"Submission Date"}),e(x,{variant:"subtitle1",align:"right",sx:{marginRight:"10px"},children:d})]})}),e(m,{item:!0,xs:12,lg:12,md:12,children:e(Le,{openDialog:!0,setOpenDialog:!1,title:{name:"te"}})})]})})]})}export{Oe as default}; diff --git a/public/client-portal/assets/InputAdornment.b72719ba.js b/public/client-portal/assets/InputAdornment.b72719ba.js deleted file mode 100644 index 6cb61b05..00000000 --- a/public/client-portal/assets/InputAdornment.b72719ba.js +++ /dev/null @@ -1 +0,0 @@ -import{g as A,a as C,s as I,_ as c,r as b,u as E,e as L,H as $,j as r,J as z,h as T,T as R,f as _,b as m,i as j}from"./index.b0a49137.js";function F(e){return C("MuiInputAdornment",e)}const M=A("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),f=M;var g;const N=["children","className","component","disablePointerEvents","disableTypography","position","variant"],S=(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${m(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},U=e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:o,position:s,size:a,variant:l}=e,d={root:["root",n&&"disablePointerEvents",s&&`position${m(s)}`,l,o&&"hiddenLabel",a&&`size${m(a)}`]};return j(d,F,t)},w=I("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:S})(({theme:e,ownerState:t})=>c({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active},t.variant==="filled"&&{[`&.${f.positionStart}&:not(.${f.hiddenLabel})`]:{marginTop:16}},t.position==="start"&&{marginRight:8},t.position==="end"&&{marginLeft:8},t.disablePointerEvents===!0&&{pointerEvents:"none"})),H=b.exports.forwardRef(function(t,n){const o=E({props:t,name:"MuiInputAdornment"}),{children:s,className:a,component:l="div",disablePointerEvents:d=!1,disableTypography:x=!1,position:u,variant:v}=o,P=L(o,N),i=$()||{};let p=v;v&&i.variant,i&&!p&&(p=i.variant);const h=c({},o,{hiddenLabel:i.hiddenLabel,size:i.size,disablePointerEvents:d,position:u,variant:p}),y=U(h);return r(z.Provider,{value:null,children:r(w,c({as:l,ownerState:h,className:T(y.root,a),ref:n},P,{children:typeof s=="string"&&!x?r(R,{color:"text.secondary",children:s}):_(b.exports.Fragment,{children:[u==="start"?g||(g=r("span",{className:"notranslate",children:"\u200B"})):null,s]})}))})}),J=H;export{J as I}; diff --git a/public/client-portal/assets/KeyboardArrowRight.fd8a1844.js b/public/client-portal/assets/KeyboardArrowRight.fd8a1844.js deleted file mode 100644 index 07c608bc..00000000 --- a/public/client-portal/assets/KeyboardArrowRight.fd8a1844.js +++ /dev/null @@ -1 +0,0 @@ -import{c as r,j as o}from"./index.b0a49137.js";const t=r(o("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),e=r(o("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");export{e as K,t as a}; diff --git a/public/client-portal/assets/Label.f33248ec.js b/public/client-portal/assets/Label.f33248ec.js deleted file mode 100644 index 81df4a29..00000000 --- a/public/client-portal/assets/Label.f33248ec.js +++ /dev/null @@ -1 +0,0 @@ -import{v as p,j as d,s as g,a6 as c}from"./index.b0a49137.js";const y=g("span")(({theme:t,ownerState:r})=>{const n=t.palette.mode==="light",{color:l,variant:a}=r,e=o=>({color:t.palette[o].contrastText,backgroundColor:t.palette[o].main}),i=o=>({color:t.palette[o].main,backgroundColor:"transparent",border:`1px solid ${t.palette[o].main}`}),s=o=>({color:t.palette[o][n?"dark":"light"],backgroundColor:c(t.palette[o].main,.16)});return{height:22,minWidth:22,lineHeight:0,borderRadius:6,alignItems:"center",whiteSpace:"nowrap",display:"inline-flex",justifyContent:"center",padding:t.spacing(0,1),color:t.palette.grey[800],fontSize:t.typography.pxToRem(12),fontFamily:t.typography.fontFamily,backgroundColor:t.palette.grey[300],fontWeight:t.typography.fontWeightBold,...l!=="default"?{...a==="filled"&&{...e(l)},...a==="outlined"&&{...i(l)},...a==="ghost"&&{...s(l)}}:{...a==="outlined"&&{backgroundColor:"transparent",color:t.palette.text.primary,border:`1px solid ${t.palette.grey[50032]}`},...a==="ghost"&&{color:n?t.palette.text.secondary:t.palette.common.white,backgroundColor:t.palette.grey[50016]}}}});function f({color:t="default",variant:r="ghost",children:n,sx:l}){const a=p();return d(y,{ownerState:{color:t,variant:r},sx:l,theme:a,children:n})}export{f as L}; diff --git a/public/client-portal/assets/LastPage.9e90b034.js b/public/client-portal/assets/LastPage.9e90b034.js deleted file mode 100644 index 82a86cf8..00000000 --- a/public/client-portal/assets/LastPage.9e90b034.js +++ /dev/null @@ -1 +0,0 @@ -import{c as a,j as s}from"./index.b0a49137.js";const o=a(s("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),c=a(s("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage");export{o as F,c as L}; diff --git a/public/client-portal/assets/LinearProgress.c8f69e54.js b/public/client-portal/assets/LinearProgress.c8f69e54.js deleted file mode 100644 index bfeb2bb2..00000000 --- a/public/client-portal/assets/LinearProgress.c8f69e54.js +++ /dev/null @@ -1,54 +0,0 @@ -import{g as q,a as M,C as h,s as b,b as t,_ as s,E as C,r as z,u as D,e as T,v as j,f as U,j as p,h as O,i as A,l as K,d as w}from"./index.b0a49137.js";function X(r){return M("MuiLinearProgress",r)}const E=q("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]),er=E,S=["className","color","value","valueBuffer","variant"];let l=r=>r,x,L,k,B,I,_;const v=4,W=h(x||(x=l` - 0% { - left: -35%; - right: 100%; - } - - 60% { - left: 100%; - right: -90%; - } - - 100% { - left: 100%; - right: -90%; - } -`)),F=h(L||(L=l` - 0% { - left: -200%; - right: 100%; - } - - 60% { - left: 107%; - right: -8%; - } - - 100% { - left: 107%; - right: -8%; - } -`)),G=h(k||(k=l` - 0% { - opacity: 1; - background-position: 0 -23px; - } - - 60% { - opacity: 0; - background-position: 0 -23px; - } - - 100% { - opacity: 1; - background-position: -200px -23px; - } -`)),H=r=>{const{classes:e,variant:a,color:o}=r,m={root:["root",`color${t(o)}`,a],dashed:["dashed",`dashedColor${t(o)}`],bar1:["bar",`barColor${t(o)}`,(a==="indeterminate"||a==="query")&&"bar1Indeterminate",a==="determinate"&&"bar1Determinate",a==="buffer"&&"bar1Buffer"],bar2:["bar",a!=="buffer"&&`barColor${t(o)}`,a==="buffer"&&`color${t(o)}`,(a==="indeterminate"||a==="query")&&"bar2Indeterminate",a==="buffer"&&"bar2Buffer"]};return A(m,X,e)},P=(r,e)=>e==="inherit"?"currentColor":r.vars?r.vars.palette.LinearProgress[`${e}Bg`]:r.palette.mode==="light"?K(r.palette[e].main,.62):w(r.palette[e].main,.5),J=b("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(r,e)=>{const{ownerState:a}=r;return[e.root,e[`color${t(a.color)}`],e[a.variant]]}})(({ownerState:r,theme:e})=>s({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:P(e,r.color)},r.color==="inherit"&&r.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},r.variant==="buffer"&&{backgroundColor:"transparent"},r.variant==="query"&&{transform:"rotate(180deg)"})),Q=b("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(r,e)=>{const{ownerState:a}=r;return[e.dashed,e[`dashedColor${t(a.color)}`]]}})(({ownerState:r,theme:e})=>{const a=P(e,r.color);return s({position:"absolute",marginTop:0,height:"100%",width:"100%"},r.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${a} 0%, ${a} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},C(B||(B=l` - animation: ${0} 3s infinite linear; - `),G)),V=b("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(r,e)=>{const{ownerState:a}=r;return[e.bar,e[`barColor${t(a.color)}`],(a.variant==="indeterminate"||a.variant==="query")&&e.bar1Indeterminate,a.variant==="determinate"&&e.bar1Determinate,a.variant==="buffer"&&e.bar1Buffer]}})(({ownerState:r,theme:e})=>s({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:r.color==="inherit"?"currentColor":(e.vars||e).palette[r.color].main},r.variant==="determinate"&&{transition:`transform .${v}s linear`},r.variant==="buffer"&&{zIndex:1,transition:`transform .${v}s linear`}),({ownerState:r})=>(r.variant==="indeterminate"||r.variant==="query")&&C(I||(I=l` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `),W)),Y=b("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(r,e)=>{const{ownerState:a}=r;return[e.bar,e[`barColor${t(a.color)}`],(a.variant==="indeterminate"||a.variant==="query")&&e.bar2Indeterminate,a.variant==="buffer"&&e.bar2Buffer]}})(({ownerState:r,theme:e})=>s({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},r.variant!=="buffer"&&{backgroundColor:r.color==="inherit"?"currentColor":(e.vars||e).palette[r.color].main},r.color==="inherit"&&{opacity:.3},r.variant==="buffer"&&{backgroundColor:P(e,r.color),transition:`transform .${v}s linear`}),({ownerState:r})=>(r.variant==="indeterminate"||r.variant==="query")&&C(_||(_=l` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `),F)),Z=z.exports.forwardRef(function(e,a){const o=D({props:e,name:"MuiLinearProgress"}),{className:m,color:N="primary",value:g,valueBuffer:y,variant:i="indeterminate"}=o,R=T(o,S),c=s({},o,{color:N,variant:i}),f=H(c),$=j(),u={},d={bar1:{},bar2:{}};if((i==="determinate"||i==="buffer")&&g!==void 0){u["aria-valuenow"]=Math.round(g),u["aria-valuemin"]=0,u["aria-valuemax"]=100;let n=g-100;$.direction==="rtl"&&(n=-n),d.bar1.transform=`translateX(${n}%)`}if(i==="buffer"&&y!==void 0){let n=(y||0)-100;$.direction==="rtl"&&(n=-n),d.bar2.transform=`translateX(${n}%)`}return U(J,s({className:O(f.root,m),ownerState:c,role:"progressbar"},u,{ref:a},R,{children:[i==="buffer"?p(Q,{className:f.dashed,ownerState:c}):null,p(V,{className:f.bar1,ownerState:c,style:d.bar1}),i==="determinate"?null:p(Y,{className:f.bar2,ownerState:c,style:d.bar2})]}))}),ar=Z;export{ar as L,er as l}; diff --git a/public/client-portal/assets/LoadingButton.6a53b4e1.js b/public/client-portal/assets/LoadingButton.6a53b4e1.js deleted file mode 100644 index f5f88290..00000000 --- a/public/client-portal/assets/LoadingButton.6a53b4e1.js +++ /dev/null @@ -1,28 +0,0 @@ -import{a as F,g as W,C as D,s as v,b as u,_ as r,E as U,r as L,u as N,e as z,j as h,h as j,i as G,G as K,f as B}from"./index.b0a49137.js";import{g as T,a as V,c as Z}from"./generateUtilityClasses.06032f54.js";import{u as q}from"./useId.c3f149cd.js";function A(t){return F("MuiCircularProgress",t)}W("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const H=["className","color","disableShrink","size","style","thickness","value","variant"];let $=t=>t,M,R,S,E;const g=44,J=D(M||(M=$` - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -`)),O=D(R||(R=$` - 0% { - stroke-dasharray: 1px, 200px; - stroke-dashoffset: 0; - } - - 50% { - stroke-dasharray: 100px, 200px; - stroke-dashoffset: -15px; - } - - 100% { - stroke-dasharray: 100px, 200px; - stroke-dashoffset: -125px; - } -`)),Q=t=>{const{classes:o,variant:i,color:a,disableShrink:e}=t,c={root:["root",i,`color${u(a)}`],svg:["svg"],circle:["circle",`circle${u(i)}`,e&&"circleDisableShrink"]};return G(c,A,o)},X=v("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(t,o)=>{const{ownerState:i}=t;return[o.root,o[i.variant],o[`color${u(i.color)}`]]}})(({ownerState:t,theme:o})=>r({display:"inline-block"},t.variant==="determinate"&&{transition:o.transitions.create("transform")},t.color!=="inherit"&&{color:(o.vars||o).palette[t.color].main}),({ownerState:t})=>t.variant==="indeterminate"&&U(S||(S=$` - animation: ${0} 1.4s linear infinite; - `),J)),Y=v("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(t,o)=>o.svg})({display:"block"}),w=v("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(t,o)=>{const{ownerState:i}=t;return[o.circle,o[`circle${u(i.variant)}`],i.disableShrink&&o.circleDisableShrink]}})(({ownerState:t,theme:o})=>r({stroke:"currentColor"},t.variant==="determinate"&&{transition:o.transitions.create("stroke-dashoffset")},t.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:t})=>t.variant==="indeterminate"&&!t.disableShrink&&U(E||(E=$` - animation: ${0} 1.4s ease-in-out infinite; - `),O)),oo=L.exports.forwardRef(function(o,i){const a=N({props:o,name:"MuiCircularProgress"}),{className:e,color:c="primary",disableShrink:C=!1,size:l=40,style:I,thickness:p=3.6,value:m=0,variant:P="indeterminate"}=a,x=z(a,H),d=r({},a,{color:c,disableShrink:C,size:l,thickness:p,value:m,variant:P}),n=Q(d),f={},y={},k={};if(P==="determinate"){const b=2*Math.PI*((g-p)/2);f.strokeDasharray=b.toFixed(3),k["aria-valuenow"]=Math.round(m),f.strokeDashoffset=`${((100-m)/100*b).toFixed(3)}px`,y.transform="rotate(-90deg)"}return h(X,r({className:j(n.root,e),style:r({width:l,height:l},y,I),ownerState:d,ref:i,role:"progressbar"},k,x,{children:h(Y,{className:n.svg,ownerState:d,viewBox:`${g/2} ${g/2} ${g} ${g}`,children:h(w,{className:n.circle,style:f,ownerState:d,cx:g,cy:g,r:(g-p)/2,fill:"none",strokeWidth:p})})}))}),to=oo;function io(t){return V("MuiLoadingButton",t)}const ao=T("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),s=ao,ro=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],no=t=>{const{loading:o,loadingPosition:i,classes:a}=t,e={root:["root",o&&"loading"],startIcon:[o&&`startIconLoading${u(i)}`],endIcon:[o&&`endIconLoading${u(i)}`],loadingIndicator:["loadingIndicator",o&&`loadingIndicator${u(i)}`]},c=Z(e,io,a);return r({},a,c)},so=t=>t!=="ownerState"&&t!=="theme"&&t!=="sx"&&t!=="as"&&t!=="classes",eo=v(K,{shouldForwardProp:t=>so(t)||t==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(t,o)=>[o.root,o.startIconLoadingStart&&{[`& .${s.startIconLoadingStart}`]:o.startIconLoadingStart},o.endIconLoadingEnd&&{[`& .${s.endIconLoadingEnd}`]:o.endIconLoadingEnd}]})(({ownerState:t,theme:o})=>r({[`& .${s.startIconLoadingStart}, & .${s.endIconLoadingEnd}`]:{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}},t.loadingPosition==="center"&&{transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short}),[`&.${s.loading}`]:{color:"transparent"}},t.loadingPosition==="start"&&t.fullWidth&&{[`& .${s.startIconLoadingStart}, & .${s.endIconLoadingEnd}`]:{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}},t.loadingPosition==="end"&&t.fullWidth&&{[`& .${s.startIconLoadingStart}, & .${s.endIconLoadingEnd}`]:{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}})),_=v("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(t,o)=>{const{ownerState:i}=t;return[o.loadingIndicator,o[`loadingIndicator${u(i.loadingPosition)}`]]}})(({theme:t,ownerState:o})=>r({position:"absolute",visibility:"visible",display:"flex"},o.loadingPosition==="start"&&(o.variant==="outlined"||o.variant==="contained")&&{left:o.size==="small"?10:14},o.loadingPosition==="start"&&o.variant==="text"&&{left:6},o.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},o.loadingPosition==="end"&&(o.variant==="outlined"||o.variant==="contained")&&{right:o.size==="small"?10:14},o.loadingPosition==="end"&&o.variant==="text"&&{right:6},o.loadingPosition==="start"&&o.fullWidth&&{position:"relative",left:-10},o.loadingPosition==="end"&&o.fullWidth&&{position:"relative",right:-10})),co=L.exports.forwardRef(function(o,i){const a=N({props:o,name:"MuiLoadingButton"}),{children:e,disabled:c=!1,id:C,loading:l=!1,loadingIndicator:I,loadingPosition:p="center",variant:m="text"}=a,P=z(a,ro),x=q(C),d=I!=null?I:h(to,{"aria-labelledby":x,color:"inherit",size:16}),n=r({},a,{disabled:c,loading:l,loadingIndicator:d,loadingPosition:p,variant:m}),f=no(n);return h(eo,r({disabled:c||l,id:x,ref:i},P,{variant:m,classes:f,ownerState:n,children:n.loadingPosition==="end"?B(L.exports.Fragment,{children:[e,l&&h(_,{className:f.loadingIndicator,ownerState:n,children:d})]}):B(L.exports.Fragment,{children:[l&&h(_,{className:f.loadingIndicator,ownerState:n,children:d}),e]})}))}),fo=co;export{fo as L}; diff --git a/public/client-portal/assets/Login.b8d0a4bd.js b/public/client-portal/assets/Login.b8d0a4bd.js deleted file mode 100644 index d82d3c5e..00000000 --- a/public/client-portal/assets/Login.b8d0a4bd.js +++ /dev/null @@ -1 +0,0 @@ -import{P as ce}from"./Page.e9d8cc16.js";import{g as de,a as ue,c as O,j as o,s as A,P as me,b as J,d as D,l as _,_ as I,r as $,u as pe,e as ge,I as Q,f as c,h as he,i as fe,k as q,S as v,m as X,n as ve,o as xe,O as ye,p as R,F as j,q as Ce,T as M,B as U,L as z,t as Se,D as be}from"./index.b0a49137.js";import{c as E,a as k,u as V,o as H,F as Y,R as ee,C as Ie}from"./RHFTextField.dd20c932.js";import{L as oe}from"./LoadingButton.6a53b4e1.js";import{I as ke}from"./InputAdornment.b72719ba.js";import{G as F}from"./Grid.97ae8bc1.js";import{C as Ae}from"./Card.a4168b31.js";import"./isObject.095d1ac4.js";import"./formatNumber.0b88db94.js";import"./TextField.08c1cc6c.js";import"./useId.c3f149cd.js";import"./generateUtilityClasses.06032f54.js";function Pe(e){return ue("MuiAlert",e)}const Le=de("MuiAlert",["root","action","icon","message","filled","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),G=Le,Me=O(o("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Oe=O(o("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),we=O(o("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),$e=O(o("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),Te=O(o("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Be=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],Re=e=>{const{variant:r,color:n,severity:s,classes:t}=e,l={root:["root",`${r}${J(n||s)}`,`${r}`],icon:["icon"],message:["message"],action:["action"]};return fe(l,Pe,t)},ze=A(me,{name:"MuiAlert",slot:"Root",overridesResolver:(e,r)=>{const{ownerState:n}=e;return[r.root,r[n.variant],r[`${n.variant}${J(n.color||n.severity)}`]]}})(({theme:e,ownerState:r})=>{const n=e.palette.mode==="light"?D:_,s=e.palette.mode==="light"?_:D,t=r.color||r.severity;return I({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px"},t&&r.variant==="standard"&&{color:e.vars?e.vars.palette.Alert[`${t}Color`]:n(e.palette[t].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${t}StandardBg`]:s(e.palette[t].light,.9),[`& .${G.icon}`]:e.vars?{color:e.vars.palette.Alert[`${t}IconColor`]}:{color:e.palette[t].main}},t&&r.variant==="outlined"&&{color:e.vars?e.vars.palette.Alert[`${t}Color`]:n(e.palette[t].light,.6),border:`1px solid ${(e.vars||e).palette[t].light}`,[`& .${G.icon}`]:e.vars?{color:e.vars.palette.Alert[`${t}IconColor`]}:{color:e.palette[t].main}},t&&r.variant==="filled"&&I({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${t}FilledColor`],backgroundColor:e.vars.palette.Alert[`${t}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[t].dark:e.palette[t].main,color:e.palette.getContrastText(e.palette[t].main)}))}),Fe=A("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,r)=>r.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),qe=A("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,r)=>r.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),K=A("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,r)=>r.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),Z={success:o(Me,{fontSize:"inherit"}),warning:o(Oe,{fontSize:"inherit"}),error:o(we,{fontSize:"inherit"}),info:o($e,{fontSize:"inherit"})},Ee=$.exports.forwardRef(function(r,n){var s,t,l,m,p,g;const h=pe({props:r,name:"MuiAlert"}),{action:u,children:x,className:P,closeText:i="Close",color:a,components:d={},componentsProps:f={},icon:S,iconMapping:y=Z,onClose:C,role:w="alert",severity:B="success",slotProps:N={},slots:W={},variant:re="standard"}=h,ne=ge(h,Be),b=I({},h,{color:a,severity:B,variant:re}),L=Re(b),ae=(s=(t=W.closeButton)!=null?t:d.CloseButton)!=null?s:Q,se=(l=(m=W.closeIcon)!=null?m:d.CloseIcon)!=null?l:Te,ie=(p=N.closeButton)!=null?p:f.closeButton,le=(g=N.closeIcon)!=null?g:f.closeIcon;return c(ze,I({role:w,elevation:0,ownerState:b,className:he(L.root,P),ref:n},ne,{children:[S!==!1?o(Fe,{ownerState:b,className:L.icon,children:S||y[B]||Z[B]}):null,o(qe,{ownerState:b,className:L.message,children:x}),u!=null?o(K,{ownerState:b,className:L.action,children:u}):null,u==null&&C?o(K,{ownerState:b,className:L.action,children:o(ae,I({size:"small","aria-label":i,title:i,color:"inherit",onClick:C},ie,{children:o(se,I({fontSize:"small"},le))}))}):null]}))}),T=Ee;function te(){const e=$.exports.useRef(!0);return $.exports.useEffect(()=>()=>{e.current=!1},[]),e}function Ve({setEmailOrPhone:e,setLoginOrVerifyCode:r}){const{login:n}=q(),s=te(),t=E().shape({email:k().email("Email must be a valid email address").required("Email is required")}),l={email:""},m=V({resolver:H(t),defaultValues:l}),{reset:p,setError:g,handleSubmit:h,formState:{errors:u,isSubmitting:x}}=m;return c(Y,{methods:m,onSubmit:h(async i=>{try{await n(i.email),e(i.email),r(!0),p(),X("Kode OTP telah dikirim, silahkan cek email yang login",{variant:"success",autoHideDuration:2e3})}catch(a){p(),s.current&&g("afterSubmit",{...a,message:a.data.message})}}),children:[c(v,{spacing:3,children:[o(T,{severity:"info",children:"Masukkan akun yang telah terdaftar"}),!!u.afterSubmit&&o(T,{severity:"error",children:u.afterSubmit.message}),o(ee,{name:"email",label:"Email address"})]}),o(oe,{fullWidth:!0,size:"large",type:"submit",variant:"contained",loading:x,sx:{marginTop:2},children:"Login"})]})}function He({setEmailOrPhone:e,setLoginOrVerifyCode:r}){const{login:n}=q(),s=te(),t=E().shape({phone:k().required("Phone is required")}),l={phone:""},m=V({resolver:H(t),defaultValues:l}),{reset:p,setError:g,handleSubmit:h,formState:{errors:u,isSubmitting:x}}=m;return c(Y,{methods:m,onSubmit:h(async i=>{try{await n(0+i.phone),e(0+i.phone),r(!0),p(),X("Kode OTP telah dikirim, silahkan cek pada nomor yang telah login",{variant:"success",autoHideDuration:2e3})}catch(a){p(),s.current&&g("afterSubmit",{...a,message:a.data.message})}}),children:[c(v,{spacing:3,children:[o(T,{severity:"info",children:"Masukkan akun yang telah terdaftar"}),!!u.afterSubmit&&o(T,{severity:"error",children:u.afterSubmit.message}),o(ee,{name:"phone",label:"Phone Number",type:"number",InputProps:{startAdornment:o(ke,{position:"start",children:"+62"})}})]}),o(oe,{fullWidth:!0,size:"large",type:"submit",variant:"contained",loading:x,sx:{marginTop:2},children:"Login"})]})}function Ne({emailOrPhone:e}){const r=ve(),{validateOtp:n}=q(),{enqueueSnackbar:s}=xe(),t=E().shape({code1:k().required("Code is required"),code2:k().required("Code is required"),code3:k().required("Code is required"),code4:k().required("Code is required")}),l={code1:"",code2:"",code3:"",code4:""},{watch:m,control:p,setValue:g,handleSubmit:h}=V({mode:"onBlur",resolver:H(t),defaultValues:l}),u=m();$.exports.useEffect(()=>{const i=a=>{var f;let d=((f=a==null?void 0:a.clipboardData)==null?void 0:f.getData("Text"))||"";d=d.split(""),[].forEach.call(document.querySelectorAll("#field-code"),(S,y)=>{S.value=d[y];const C=`code${y+1}`;g(C,d[y])})};document.addEventListener("paste",i)},[g]);const x=async i=>{const a=await n(e,Object.values(i).join(""));if(a.data.length===0)return s(a.message,{variant:"error",autoHideDuration:4e3,preventDuplicate:!0});s("Verify success!",{variant:"success",autoHideDuration:1e3}),await new Promise(d=>setTimeout(d,2e3)),r("/dashboard"),s("Login Berhasil!",{variant:"success"}),localStorage.removeItem("loginOrVerifyCode"),localStorage.removeItem("emailOrPhone"),localStorage.removeItem("emailOrPhoneForm")},P=(i,a)=>{const{maxLength:d,value:f,name:S}=i.target,y=S.replace("code",""),C=Number(y);if(f.length>=d&&C<6){const w=document.querySelector(`input[name=code${C+1}]`);w!==null&&w.focus()}a(i)};return o("form",{onChange:h(x),children:o(v,{direction:"row",spacing:2,justifyContent:"space-evenly",children:Object.keys(u).map((i,a)=>o(Ie,{name:`code${a+1}`,control:p,render:({field:d})=>o(ye,{...d,id:"field-code",autoFocus:a===0,placeholder:"",onChange:f=>P(f,d.onChange),inputProps:{maxLength:1,sx:{p:0,textAlign:"center",width:{xs:36,sm:56},height:{xs:36,sm:56}}}})},i))})})}const We=A("div")(({theme:e})=>({[e.breakpoints.up("md")]:{display:"flex"},minHeight:"100vh",flexDirection:"column",justifyContent:"center",alignItems:"center"})),De=A(Ae)(({theme:e})=>({[e.breakpoints.up("md")]:{maxHeight:"600px",maxWidth:"1000px"}}));function to(){const[e,r]=R("emailOrPhone",""),[n,s]=R("emailOrPhoneForm",!1),[t,l]=R("loginOrVerifyCode",!1);return o(ce,{title:"Login",children:o(We,{children:o(De,{children:c(F,{container:!0,children:[o(F,{item:!0,xs:6,children:c("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{width:"100%"},children:[o("source",{src:"/images/login-image.webm",type:"video/webm"}),o("source",{src:"/images/login-image.mp4",type:"video/mp4"})]})}),c(F,{item:!0,xs:6,sx:{padding:3},children:[t&&e?c(j,{children:[c(v,{direction:"column",sx:{mb:5},children:[c(v,{direction:"row",alignItems:"center",children:[o(Q,{onClick:()=>{localStorage.removeItem("emailOrPhone"),l(!1)},children:o(Ce,{icon:"heroicons-outline:arrow-narrow-left",sx:{marginRight:"10px"}})}),o(M,{variant:"h4",gutterBottom:!0,children:"Verifikasi OTP"})]}),o(U,{sx:{flexGrow:1},children:o(M,{variant:"body1",sx:{color:"text.secondary",textAlign:"left"},children:"Masukkan kode OTP anda disini"})})]}),o(Ne,{emailOrPhone:e}),c(v,{sx:{marginTop:5},spacing:1,alignItems:"center",children:[o(M,{children:"Tidak mendapatkan kode?"}),o(z,{sx:{cursor:"pointer"},children:"Kirim Ulang Kode OTP"})]})]}):c(j,{children:[c(v,{direction:"row",alignItems:"center",sx:{mb:5},children:[o(Se,{sx:{width:90,height:90}}),c(U,{sx:{flexGrow:1},children:[o(M,{variant:"h4",gutterBottom:!0,children:"Sign in to LinkSehat"}),o(M,{variant:"body1",sx:{color:"text.secondary"},children:"Enter your details below."})]})]}),n?o(He,{setEmailOrPhone:r,setLoginOrVerifyCode:l}):o(Ve,{setEmailOrPhone:r,setLoginOrVerifyCode:l})]}),o(be,{sx:{marginTop:5},children:"Atau"}),o(v,{sx:{marginTop:5},children:n?o(z,{align:"center",underline:"hover",onClick:()=>{r(""),l(!1),s(!1)},sx:{cursor:"pointer"},children:"Masuk menggunakan email"}):o(z,{align:"center",underline:"hover",onClick:()=>{r(""),l(!1),s(!0)},sx:{cursor:"pointer"},children:"Masuk menggunakan nomor handphone"})})]})]})})})})}export{to as default}; diff --git a/public/client-portal/assets/Page.e9d8cc16.js b/public/client-portal/assets/Page.e9d8cc16.js deleted file mode 100644 index f2838ed2..00000000 --- a/public/client-portal/assets/Page.e9d8cc16.js +++ /dev/null @@ -1 +0,0 @@ -import{r as c,f as a,F as i,W as x,j as e,B as d}from"./index.b0a49137.js";const f=c.exports.forwardRef(({children:r,title:s="",meta:t,...o},n)=>a(i,{children:[a(x,{children:[e("title",{children:`${s} | LinkSehat`}),t]}),e(d,{ref:n,...o,children:r})]})),l=f;export{l as P}; diff --git a/public/client-portal/assets/Page404.9f1640bb.js b/public/client-portal/assets/Page404.9f1640bb.js deleted file mode 100644 index cc320d31..00000000 --- a/public/client-portal/assets/Page404.9f1640bb.js +++ /dev/null @@ -1 +0,0 @@ -import{j as a,B as s,ab as G,v as Z,f as n,a2 as N,T as e,G as d,ac as c,s as W}from"./index.b0a49137.js";import{P as D}from"./Page.e9d8cc16.js";const l=A=>{const z=(A==null?void 0:A.durationIn)||.64,t=(A==null?void 0:A.easeIn)||[.43,.13,.23,.96];return{duration:z,ease:t}},g=A=>{const z=(A==null?void 0:A.durationOut)||.48,t=(A==null?void 0:A.easeOut)||[.43,.13,.23,.96];return{duration:z,ease:t}},r=A=>{const z=A==null?void 0:A.durationIn,t=A==null?void 0:A.durationOut,M=A==null?void 0:A.easeIn,u=A==null?void 0:A.easeOut;return{in:{initial:{},animate:{scale:[.3,1.1,.9,1.03,.97,1],opacity:[0,1,1,1,1,1],transition:l({durationIn:z,easeIn:M})},exit:{scale:[.9,1.1,.3],opacity:[1,1,0]}},inUp:{initial:{},animate:{y:[720,-24,12,-4,0],scaleY:[4,.9,.95,.985,1],opacity:[0,1,1,1,1],transition:{...l({durationIn:z,easeIn:M})}},exit:{y:[12,-24,720],scaleY:[.985,.9,3],opacity:[1,1,0],transition:g({durationOut:t,easeOut:u})}},inDown:{initial:{},animate:{y:[-720,24,-12,4,0],scaleY:[4,.9,.95,.985,1],opacity:[0,1,1,1,1],transition:l({durationIn:z,easeIn:M})},exit:{y:[-12,24,-720],scaleY:[.985,.9,3],opacity:[1,1,0],transition:g({durationOut:t,easeOut:u})}},inLeft:{initial:{},animate:{x:[-720,24,-12,4,0],scaleX:[3,1,.98,.995,1],opacity:[0,1,1,1,1],transition:l({durationIn:z,easeIn:M})},exit:{x:[0,24,-720],scaleX:[1,.9,2],opacity:[1,1,0],transition:g({durationOut:t,easeOut:u})}},inRight:{initial:{},animate:{x:[720,-24,12,-4,0],scaleX:[3,1,.98,.995,1],opacity:[0,1,1,1,1],transition:l({durationIn:z,easeIn:M})},exit:{x:[0,-24,720],scaleX:[1,.9,2],opacity:[1,1,0],transition:g({durationOut:t,easeOut:u})}},out:{animate:{scale:[.9,1.1,.3],opacity:[1,1,0]}},outUp:{animate:{y:[-12,24,-720],scaleY:[.985,.9,3],opacity:[1,1,0]}},outDown:{animate:{y:[12,-24,720],scaleY:[.985,.9,3],opacity:[1,1,0]}},outLeft:{animate:{x:[0,24,-720],scaleX:[1,.9,2],opacity:[1,1,0]}},outRight:{animate:{x:[0,-24,720],scaleX:[1,.9,2],opacity:[1,1,0]}}}},m=A=>{const z=(A==null?void 0:A.staggerIn)||.05,t=(A==null?void 0:A.staggerIn)||.05,M=(A==null?void 0:A.staggerIn)||.05;return{animate:{transition:{staggerChildren:z,delayChildren:t}},exit:{transition:{staggerChildren:M,staggerDirection:-1}}}};function Y({animate:A,action:z=!1,children:t,...M}){return z?a(s,{component:G.div,initial:!1,animate:A?"animate":"exit",variants:m(),...M,children:t}):a(s,{component:G.div,initial:"initial",animate:"animate",exit:"exit",variants:m(),...M,children:t})}function Q({...A}){const z=Z(),t=z.palette.primary.main,M=z.palette.primary.darker;return a(s,{...A,children:n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 480 360",children:[n("defs",{children:[n("linearGradient",{id:"BG",x1:"19.496%",x2:"77.479%",y1:"71.822%",y2:"16.69%",children:[a("stop",{offset:"0%",stopColor:t}),a("stop",{offset:"100%",stopColor:t,stopOpacity:"0"})]}),n("linearGradient",{id:"linearGradient-2",x1:"-50%",x2:"50%",y1:"50%",y2:"150.001%",children:[a("stop",{offset:"0%",stopColor:"#FFE16A"}),a("stop",{offset:"100%",stopColor:"#B78103"})]})]}),a("g",{fill:"none",fillRule:"evenodd",stroke:"none",strokeWidth:"1",children:n("g",{fillRule:"nonzero",children:[a("path",{fill:"url(#BG)",d:"M0 198.78c0 41.458 14.945 79.236 39.539 107.786 28.214 32.765 69.128 53.365 114.734 53.434a148.44 148.44 0 0056.495-11.036c9.051-3.699 19.182-3.274 27.948 1.107a75.779 75.779 0 0033.957 8.01c5.023 0 9.942-.494 14.7-1.433 13.58-2.67 25.94-8.99 36.09-17.94 6.378-5.627 14.547-8.456 22.897-8.446h.142c27.589 0 53.215-8.732 74.492-23.696 19.021-13.36 34.554-31.696 44.904-53.224C474.92 234.58 480 213.388 480 190.958c0-76.93-59.774-139.305-133.498-139.305-7.516 0-14.88.663-22.063 1.899C305.418 21.42 271.355 0 232.499 0a103.651 103.651 0 00-45.88 10.661c-13.24 6.487-25.011 15.705-34.64 26.939-32.698.544-62.931 11.69-87.676 30.291C25.351 97.155 0 144.882 0 198.781z",opacity:"0.2"}),a("image",{width:"154",height:"280",x:"217",y:"20",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATQAAAIwCAYAAAAI+JcUAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABNKADAAQAAAABAAACMAAAAAAKpVwpAABAAElEQVR4Aey9B5xmRZX+X28O/XbungQTGBgkK4oICAr+dQVEMcAoIiLqggl3BQUM7KcVRdQV/IFI2FUQxWUHMywLGDAHYBWVKGGYHLpnOr85/L/Pufc2Dc4MDdPdk2513/fWrVznVj331KlTVREXmpACIQVCCvgU6Onpib/7bW+bkWtKdlVcdFFTc9setUolVygUdm84t3skGl2daWpanoi6wfxooS8WiayMxmIrBgqFDfPnz+/f1oSMbOsChPmHFAgpsG0p8NAf/9jZOWfOoelk8pWJROLQaDy+AOCaEYtFm6LJlHPRqHMN4Kxe9+wRHzaqVZxq9UYkugHfta5WW1Wr1x+vVKt/bxSL9w6Wyw/PnTt343TWLgS06aR2mFdIge2IAisfffCwXK79tHQ6/RpAbFEil5tY6QRuDujYAnrUq5UqULe0UavdV6lXflctlH/z5/vvv++YY46pTiyTMFRIgZACIQUmQIFVjz568MaVK79V6N840pgKU683GrrGmUq5PFouF+8cHR09c+3atXtMoJhhkJACIQVCCmyeAn/606+61z355L+PbOgbHIc1U299BrhVq5W1pVLpur6+vpdtvrShT0iBkAIhBTZDgcfuv/+Y/tWr/tSoVacewLaUwzhwq1arQ0w2fHvDhg2Hb6bYoXNIgZACIQWeToEVjzzyoWL/xoEt4cx0+9XHDUsrlcrIYH//dffee++Ln17y8CmkQEiBkAI+BS6//PLUmscf/3J+oH+68WrC+QnYarWahR8ZGR68//77r73++uv3D19iSIGQAiEFxihwyy23ZNcsffyqSn50wuCyzQICatVKhdFwFXCrNh5++KF1t95667997Wtfax+rUGgJKRBSYNekwANLliTXP/nEf9ZLxW2GUc8nY2RqDSYLDNyWPflk4847b7/7e0uWvGHXfIthrUMKhBRwaPpHB9as+kKtXHo+mLLN41SrNUCt2CgU8o2lS5cCancWf3TLjz5z3XXXpSfyeregGjeR6GGYkAIhBbYnCvSt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"}),a("circle",{cx:"182.109",cy:"97.623",r:"44.623",fill:"#FFC107",opacity:"0.15"}),a("circle",{cx:"182.109",cy:"97.623",r:"23.406",fill:"url(#linearGradient-2)"}),a("path",{fill:M,d:"M244.878 181.46c34.559 0 62.575 28.016 62.575 62.576 0 34.559-28.016 62.575-62.575 62.575-34.56 0-62.576-28.016-62.576-62.575 0-34.56 28.016-62.576 62.576-62.576zm0 23.186c-21.754 0-39.389 17.635-39.389 39.39 0 21.754 17.635 39.389 39.389 39.389s39.389-17.635 39.389-39.389c0-21.755-17.635-39.39-39.389-39.39z"}),a("path",{fill:t,d:"M174.965 264.592c0-4.133-1.492-5.625-5.637-5.625h-11.373v-66.611c0-4.476-1.492-5.637-5.638-5.637h-9.172a9.867 9.867 0 00-7.948 3.974l-55.03 68.274a11.006 11.006 0 00-1.957 6.787v5.968c0 4.145 1.492 5.637 5.625 5.637h54.676v21.707c0 4.133 1.492 5.625 5.625 5.625h8.12c4.146 0 5.638-1.492 5.638-5.625v-21.707h11.434c4.414 0 5.637-1.492 5.637-5.637v-7.13zm-72.42-5.625l35.966-44.415v44.415h-35.966zM411.607 264.592c0-4.133-1.492-5.625-5.638-5.625h-11.421v-66.611c0-4.476-1.492-5.637-5.638-5.637h-9.11a9.869 9.869 0 00-7.949 3.974l-55.03 68.274a10.998 10.998 0 00-1.981 6.787v5.968c0 4.145 1.491 5.637 5.625 5.637h54.688v21.707c0 4.133 1.491 5.625 5.625 5.625h8.12c4.145 0 5.637-1.492 5.637-5.625v-21.707h11.434c4.476 0 5.638-1.492 5.638-5.637v-7.13zm-72.42-5.625l35.966-44.415v44.415h-35.966z"}),a("path",{fill:t,d:"M425.621 117.222a8.267 8.267 0 00-9.599-8.157 11.129 11.129 0 00-9.784-5.87h-.403a13.23 13.23 0 00-20.365-14.078 13.23 13.23 0 00-5.316 14.078h-.403a11.153 11.153 0 100 22.293h38.68v-.073a8.279 8.279 0 007.19-8.193zM104.258 199.045a7.093 7.093 0 00-7.093-7.092c-.381.007-.761.04-1.138.097a9.552 9.552 0 00-8.425-5.026h-.343a11.348 11.348 0 10-22.012 0h-.342a9.564 9.564 0 100 19.114h33.177v-.061a7.107 7.107 0 006.176-7.032z",opacity:"0.24"})]})})]})})}const v=W("div")(({theme:A})=>({display:"flex",minHeight:"100%",alignItems:"center",paddingTop:A.spacing(15),paddingBottom:A.spacing(10)}));function w(){return a(D,{title:"404 Page Not Found",sx:{height:1},children:a(v,{children:a(N,{component:Y,children:n(s,{sx:{maxWidth:480,margin:"auto",textAlign:"center"},children:[a(G.div,{variants:r().in,children:a(e,{variant:"h3",paragraph:!0,children:"Sorry, page not found!"})}),a(e,{sx:{color:"text.secondary"},children:"Sorry, we couldn\u2019t find the page you\u2019re looking for. Perhaps you\u2019ve mistyped the URL? Be sure to check your spelling."}),a(G.div,{variants:r().in,children:a(Q,{sx:{height:260,my:{xs:5,sm:10}}})}),a(d,{to:"/",size:"large",variant:"contained",component:c,children:"Go to Home"})]})})})})}export{w as default}; diff --git a/public/client-portal/assets/RHFTextField.595782a5.css b/public/client-portal/assets/RHFTextField.595782a5.css deleted file mode 100644 index 26989189..00000000 --- a/public/client-portal/assets/RHFTextField.595782a5.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Quill Editor v1.3.7 - * https://quilljs.com/ - * Copyright (c) 2014, Jason Chen - * Copyright (c) 2013, salesforce.com - */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc} diff --git a/public/client-portal/assets/RHFTextField.dd20c932.js b/public/client-portal/assets/RHFTextField.dd20c932.js deleted file mode 100644 index f7362f1c..00000000 --- a/public/client-portal/assets/RHFTextField.dd20c932.js +++ /dev/null @@ -1,44 +0,0 @@ -import{i as tt,a as kr}from"./isObject.095d1ac4.js";import{z as Me,R as Se,r as Kn,A as Gn,s as at,j as ge,f as Ie,q as Kr,B as mo}from"./index.b0a49137.js";import"./formatNumber.0b88db94.js";import{T as bo}from"./TextField.08c1cc6c.js";var fr;try{fr=Map}catch{}var cr;try{cr=Set}catch{}function Wn(e,n,t){if(!e||typeof e!="object"||typeof e=="function")return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(dr);if(fr&&e instanceof fr)return new Map(Array.from(e.entries()));if(cr&&e instanceof cr)return new Set(Array.from(e.values()));if(e instanceof Object){n.push(e);var r=Object.create(e);t.push(r);for(var i in e){var f=n.findIndex(function(h){return h===e[i]});r[i]=f>-1?t[f]:Wn(e[i],n,t)}return r}return e}function dr(e){return Wn(e,[],[])}const _o=Object.prototype.toString,Oo=Error.prototype.toString,wo=RegExp.prototype.toString,Eo=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",xo=/^Symbol\((.*)\)(.*)$/;function Ao(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}function Gr(e,n=!1){if(e==null||e===!0||e===!1)return""+e;const t=typeof e;if(t==="number")return Ao(e);if(t==="string")return n?`"${e}"`:e;if(t==="function")return"[Function "+(e.name||"anonymous")+"]";if(t==="symbol")return Eo.call(e).replace(xo,"Symbol($1)");const r=_o.call(e).slice(8,-1);return r==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):r==="Error"||e instanceof Error?"["+Oo.call(e)+"]":r==="RegExp"?wo.call(e):null}function Et(e,n){let t=Gr(e,n);return t!==null?t:JSON.stringify(e,function(r,i){let f=Gr(this[r],n);return f!==null?f:i},2)}let nt={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:n,value:t,originalValue:r})=>{let i=r!=null&&r!==t,f=`${e} must be a \`${n}\` type, but the final value was: \`${Et(t,!0)}\``+(i?` (cast from the value \`${Et(r,!0)}\`).`:".");return t===null&&(f+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),f},defined:"${path} must be defined"},He={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},To={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},hr={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},ko={isValue:"${path} field must be ${value}"},pr={noUnknown:"${path} field has unspecified keys: ${unknown}"},So={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed:nt,string:He,number:To,date:hr,object:pr,array:So,boolean:ko});var qo=Object.prototype,No=qo.hasOwnProperty;function Po(e,n){return e!=null&&No.call(e,n)}var Lo=Po,Ro=typeof Me=="object"&&Me&&Me.Object===Object&&Me,Zn=Ro,Fo=Zn,Do=typeof self=="object"&&self&&self.Object===Object&&self,jo=Fo||Do||Function("return this")(),Qe=jo,Io=Qe,$o=Io.Symbol,Gt=$o,Wr=Gt,Yn=Object.prototype,Co=Yn.hasOwnProperty,Mo=Yn.toString,_t=Wr?Wr.toStringTag:void 0;function Bo(e){var n=Co.call(e,_t),t=e[_t];try{e[_t]=void 0;var r=!0}catch{}var i=Mo.call(e);return r&&(n?e[_t]=t:delete e[_t]),i}var Uo=Bo,Vo=Object.prototype,Ho=Vo.toString;function zo(e){return Ho.call(e)}var Ko=zo,Zr=Gt,Go=Uo,Wo=Ko,Zo="[object Null]",Yo="[object Undefined]",Yr=Zr?Zr.toStringTag:void 0;function Xo(e){return e==null?e===void 0?Yo:Zo:Yr&&Yr in Object(e)?Go(e):Wo(e)}var xt=Xo;function Qo(e){return e!=null&&typeof e=="object"}var At=Qo,Jo=xt,ea=At,ta="[object Symbol]";function ra(e){return typeof e=="symbol"||ea(e)&&Jo(e)==ta}var Sr=ra,na=tt,ia=Sr,oa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,aa=/^\w*$/;function la(e,n){if(na(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||ia(e)?!0:aa.test(e)||!oa.test(e)||n!=null&&e in Object(n)}var qr=la,sa=xt,ua=kr,fa="[object AsyncFunction]",ca="[object Function]",da="[object GeneratorFunction]",ha="[object Proxy]";function pa(e){if(!ua(e))return!1;var n=sa(e);return n==ca||n==da||n==fa||n==ha}var Xn=pa,va=Qe,ya=va["__core-js_shared__"],ga=ya,rr=ga,Xr=function(){var e=/[^.]+$/.exec(rr&&rr.keys&&rr.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ma(e){return!!Xr&&Xr in e}var ba=ma,_a=Function.prototype,Oa=_a.toString;function wa(e){if(e!=null){try{return Oa.call(e)}catch{}try{return e+""}catch{}}return""}var Qn=wa,Ea=Xn,xa=ba,Aa=kr,Ta=Qn,ka=/[\\^$.*+?()[\]{}|]/g,Sa=/^\[object .+?Constructor\]$/,qa=Function.prototype,Na=Object.prototype,Pa=qa.toString,La=Na.hasOwnProperty,Ra=RegExp("^"+Pa.call(La).replace(ka,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Fa(e){if(!Aa(e)||xa(e))return!1;var n=Ea(e)?Ra:Sa;return n.test(Ta(e))}var Da=Fa;function ja(e,n){return e==null?void 0:e[n]}var Ia=ja,$a=Da,Ca=Ia;function Ma(e,n){var t=Ca(e,n);return $a(t)?t:void 0}var lt=Ma,Ba=lt,Ua=Ba(Object,"create"),Wt=Ua,Qr=Wt;function Va(){this.__data__=Qr?Qr(null):{},this.size=0}var Ha=Va;function za(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Ka=za,Ga=Wt,Wa="__lodash_hash_undefined__",Za=Object.prototype,Ya=Za.hasOwnProperty;function Xa(e){var n=this.__data__;if(Ga){var t=n[e];return t===Wa?void 0:t}return Ya.call(n,e)?n[e]:void 0}var Qa=Xa,Ja=Wt,el=Object.prototype,tl=el.hasOwnProperty;function rl(e){var n=this.__data__;return Ja?n[e]!==void 0:tl.call(n,e)}var nl=rl,il=Wt,ol="__lodash_hash_undefined__";function al(e,n){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=il&&n===void 0?ol:n,this}var ll=al,sl=Ha,ul=Ka,fl=Qa,cl=nl,dl=ll;function vt(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n-1}var ql=Sl,Nl=Zt;function Pl(e,n){var t=this.__data__,r=Nl(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this}var Ll=Pl,Rl=vl,Fl=El,Dl=Tl,jl=ql,Il=Ll;function yt(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n-1&&e%1==0&&e-1&&e%1==0&&e<=Zs}var Rr=Ys,Xs=Sr,Qs=1/0;function Js(e){if(typeof e=="string"||Xs(e))return e;var n=e+"";return n=="0"&&1/e==-Qs?"-0":n}var Qt=Js,eu=ri,tu=ii,ru=tt,nu=oi,iu=Rr,ou=Qt;function au(e,n,t){n=eu(n,e);for(var r=-1,i=n.length,f=!1;++re&&e.__isYupSchema__;class fu{constructor(n,t){if(this.fn=void 0,this.refs=n,this.refs=n,typeof t=="function"){this.fn=t;return}if(!jt(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:i,otherwise:f}=t,h=typeof r=="function"?r:(...O)=>O.every(m=>m===r);this.fn=function(...O){let m=O.pop(),_=O.pop(),p=h(...O)?i:f;if(!!p)return typeof p=="function"?p(_):_.concat(p.resolve(m))}}resolve(n,t){let r=this.refs.map(f=>f.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),i=this.fn.apply(n,r.concat(n,t));if(i===void 0||i===n)return n;if(!li(i))throw new TypeError("conditions must return a schema object");return i.resolve(t)}}function si(e){return e==null?[]:[].concat(e)}function vr(){return vr=Object.assign||function(e){for(var n=1;nEt(t[f])):typeof n=="function"?n(t):n}static isError(n){return n&&n.name==="ValidationError"}constructor(n,t,r,i){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=t,this.path=r,this.type=i,this.errors=[],this.inner=[],si(n).forEach(f=>{Be.isError(f)?(this.errors.push(...f.errors),this.inner=this.inner.concat(f.inner.length?f.inner:f)):this.errors.push(f)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Be)}}const du=e=>{let n=!1;return(...t)=>{n||(n=!0,e(...t))}};function yr(e,n){let{endEarly:t,tests:r,args:i,value:f,errors:h,sort:O,path:m}=e,_=du(n),p=r.length;const l=[];if(h=h||[],!p)return h.length?_(new Be(h,f,m)):_(null,f);for(let o=0;oO))return!1;var _=f.get(e),p=f.get(n);if(_&&p)return _==n&&p==e;var l=-1,o=!0,a=t&Tc?new wc:void 0;for(f.set(e,n),f.set(n,e);++l=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=n};var pp=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Oi=/^\d+$/,vp=/^\d/,yp=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,gp=/^\s*(['"]?)(.*?)(\1)\s*$/,jr=512,An=new st(jr),Tn=new st(jr),kn=new st(jr),Jt={Cache:st,split:Er,normalizePath:or,setter:function(e){var n=or(e);return Tn.get(e)||Tn.set(e,function(r,i){for(var f=0,h=n.length,O=r;f=0)&&(t[i]=e[i]);return t}function Rt(e){function n(t,r){let{value:i,path:f="",label:h,options:O,originalValue:m,sync:_}=t,p=wp(t,["value","path","label","options","originalValue","sync"]);const{name:l,test:o,params:a,message:y}=e;let{parent:d,context:v}=O;function c(T){return et.isRef(T)?T.getValue(i,d,v):T}function u(T={}){const A=_i(Ct({value:i,originalValue:m,label:h,path:T.path||f},a,T.params),c),k=new Be(Be.formatError(T.message||y,A),i,A.path,T.type||l);return k.params=A,k}let b=Ct({path:f,parent:d,type:l,createError:u,resolve:c,options:O,originalValue:m},p);if(!_){try{Promise.resolve(o.call(b,i,b)).then(T=>{Be.isError(T)?r(T):T?r(null,T):r(u())}).catch(r)}catch(T){r(T)}return}let s;try{var g;if(s=o.call(b,i,b),typeof((g=s)==null?void 0:g.then)=="function")throw new Error(`Validation test of type: "${b.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(T){r(T);return}Be.isError(s)?r(s):s?r(null,s):r(u())}return n.OPTIONS=e,n}let Ep=e=>e.substr(0,e.length-1).substr(1);function xp(e,n,t,r=t){let i,f,h;return n?(Jt.forEach(n,(O,m,_)=>{let p=m?Ep(O):O;if(e=e.resolve({context:r,parent:i,value:t}),e.innerType){let l=_?parseInt(p,10):0;if(t&&l>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${O}, in the path: ${n}. because there is no value at that index. `);i=t,t=t&&t[l],e=e.innerType}if(!_){if(!e.fields||!e.fields[p])throw new Error(`The schema does not contain the path: ${n}. (failed at: ${h} which is a type: "${e._type}")`);i=t,t=t&&t[p],e=e.fields[p]}f=p,h=m?"["+O+"]":"."+O}),{schema:e,parent:i,parentPath:f}):{parent:i,parentPath:n,schema:e}}class Mt{constructor(){this.list=void 0,this.refs=void 0,this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){const n=[];for(const t of this.list)n.push(t);for(const[,t]of this.refs)n.push(t.describe());return n}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}resolveAll(n){return this.toArray().reduce((t,r)=>t.concat(et.isRef(r)?n(r):r),[])}add(n){et.isRef(n)?this.refs.set(n.key,n):this.list.add(n)}delete(n){et.isRef(n)?this.refs.delete(n.key):this.list.delete(n)}clone(){const n=new Mt;return n.list=new Set(this.list),n.refs=new Map(this.refs),n}merge(n,t){const r=this.clone();return n.list.forEach(i=>r.add(i)),n.refs.forEach(i=>r.add(i)),t.list.forEach(i=>r.delete(i)),t.refs.forEach(i=>r.delete(i)),r}}function Ue(){return Ue=Object.assign||function(e){for(var n=1;n{this.typeError(nt.notType)}),this.type=(n==null?void 0:n.type)||"mixed",this.spec=Ue({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},n==null?void 0:n.spec)}get _type(){return this.type}_typeCheck(n){return!0}clone(n){if(this._mutate)return n&&Object.assign(this.spec,n),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Ue({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=dr(Ue({},this.spec,n)),t}label(n){let t=this.clone();return t.spec.label=n,t}meta(...n){if(n.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},n[0]),t}withMutation(n){let t=this._mutate;this._mutate=!0;let r=n(this);return this._mutate=t,r}concat(n){if(!n||n===this)return this;if(n.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${n.type}`);let t=this,r=n.clone();const i=Ue({},t.spec,r.spec);return r.spec=i,r._typeError||(r._typeError=t._typeError),r._whitelistError||(r._whitelistError=t._whitelistError),r._blacklistError||(r._blacklistError=t._blacklistError),r._whitelist=t._whitelist.merge(n._whitelist,n._blacklist),r._blacklist=t._blacklist.merge(n._blacklist,n._whitelist),r.tests=t.tests,r.exclusiveTests=t.exclusiveTests,r.withMutation(f=>{n.tests.forEach(h=>{f.test(h.OPTIONS)})}),r.transforms=[...t.transforms,...r.transforms],r}isType(n){return this.spec.nullable&&n===null?!0:this._typeCheck(n)}resolve(n){let t=this;if(t.conditions.length){let r=t.conditions;t=t.clone(),t.conditions=[],t=r.reduce((i,f)=>f.resolve(i,n),t),t=t.resolve(n)}return t}cast(n,t={}){let r=this.resolve(Ue({value:n},t)),i=r._cast(n,t);if(n!==void 0&&t.assert!==!1&&r.isType(i)!==!0){let f=Et(n),h=Et(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${r._type}". - -attempted value: ${f} -`+(h!==f?`result of cast: ${h}`:""))}return i}_cast(n,t){let r=n===void 0?n:this.transforms.reduce((i,f)=>f.call(this,i,n,this),n);return r===void 0&&(r=this.getDefault()),r}_validate(n,t={},r){let{sync:i,path:f,from:h=[],originalValue:O=n,strict:m=this.spec.strict,abortEarly:_=this.spec.abortEarly}=t,p=n;m||(p=this._cast(p,Ue({assert:!1},t)));let l={value:p,path:f,options:t,originalValue:O,schema:this,label:this.spec.label,sync:i,from:h},o=[];this._typeError&&o.push(this._typeError);let a=[];this._whitelistError&&a.push(this._whitelistError),this._blacklistError&&a.push(this._blacklistError),yr({args:l,value:p,path:f,sync:i,tests:o,endEarly:_},y=>{if(y)return void r(y,p);yr({tests:this.tests.concat(a),args:l,path:f,sync:i,value:p,endEarly:_},r)})}validate(n,t,r){let i=this.resolve(Ue({},t,{value:n}));return typeof r=="function"?i._validate(n,t,r):new Promise((f,h)=>i._validate(n,t,(O,m)=>{O?h(O):f(m)}))}validateSync(n,t){let r=this.resolve(Ue({},t,{value:n})),i;return r._validate(n,Ue({},t,{sync:!0}),(f,h)=>{if(f)throw f;i=h}),i}isValid(n,t){return this.validate(n,t).then(()=>!0,r=>{if(Be.isError(r))return!1;throw r})}isValidSync(n,t){try{return this.validateSync(n,t),!0}catch(r){if(Be.isError(r))return!1;throw r}}_getDefault(){let n=this.spec.default;return n==null?n:typeof n=="function"?n.call(this):dr(n)}getDefault(n){return this.resolve(n||{})._getDefault()}default(n){return arguments.length===0?this._getDefault():this.clone({default:n})}strict(n=!0){let t=this.clone();return t.spec.strict=n,t}_isPresent(n){return n!=null}defined(n=nt.defined){return this.test({message:n,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(n=nt.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:n,name:"required",exclusive:!0,test(r){return this.schema._isPresent(r)}}))}notRequired(){let n=this.clone({presence:"optional"});return n.tests=n.tests.filter(t=>t.OPTIONS.name!=="required"),n}nullable(n=!0){return this.clone({nullable:n!==!1})}transform(n){let t=this.clone();return t.transforms.push(n),t}test(...n){let t;if(n.length===1?typeof n[0]=="function"?t={test:n[0]}:t=n[0]:n.length===2?t={name:n[0],test:n[1]}:t={name:n[0],message:n[1],test:n[2]},t.message===void 0&&(t.message=nt.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),i=Rt(t),f=t.exclusive||t.name&&r.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(r.exclusiveTests[t.name]=!!t.exclusive),r.tests=r.tests.filter(h=>!(h.OPTIONS.name===t.name&&(f||h.OPTIONS.test===i.OPTIONS.test))),r.tests.push(i),r}when(n,t){!Array.isArray(n)&&typeof n!="string"&&(t=n,n=".");let r=this.clone(),i=si(n).map(f=>new et(f));return i.forEach(f=>{f.isSibling&&r.deps.push(f.key)}),r.conditions.push(new fu(i,t)),r}typeError(n){let t=this.clone();return t._typeError=Rt({message:n,name:"typeError",test(r){return r!==void 0&&!this.schema.isType(r)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(n,t=nt.oneOf){let r=this.clone();return n.forEach(i=>{r._whitelist.add(i),r._blacklist.delete(i)}),r._whitelistError=Rt({message:t,name:"oneOf",test(i){if(i===void 0)return!0;let f=this.schema._whitelist,h=f.resolveAll(this.resolve);return h.includes(i)?!0:this.createError({params:{values:f.toArray().join(", "),resolved:h}})}}),r}notOneOf(n,t=nt.notOneOf){let r=this.clone();return n.forEach(i=>{r._blacklist.add(i),r._whitelist.delete(i)}),r._blacklistError=Rt({message:t,name:"notOneOf",test(i){let f=this.schema._blacklist,h=f.resolveAll(this.resolve);return h.includes(i)?this.createError({params:{values:f.toArray().join(", "),resolved:h}}):!0}}),r}strip(n=!0){let t=this.clone();return t.spec.strip=n,t}describe(){const n=this.clone(),{label:t,meta:r}=n.spec;return{meta:r,label:t,type:n.type,oneOf:n._whitelist.describe(),notOneOf:n._blacklist.describe(),tests:n.tests.map(f=>({name:f.OPTIONS.name,params:f.OPTIONS.params})).filter((f,h,O)=>O.findIndex(m=>m.name===f.name)===h)}}}Ce.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])Ce.prototype[`${e}At`]=function(n,t,r={}){const{parent:i,parentPath:f,schema:h}=xp(this,n,t,r.context);return h[e](i&&i[f],Ue({},r,{parent:i,path:n}))};for(const e of["equals","is"])Ce.prototype[e]=Ce.prototype.oneOf;for(const e of["not","nope"])Ce.prototype[e]=Ce.prototype.notOneOf;Ce.prototype.optional=Ce.prototype.notRequired;const Ap=Ce;Ap.prototype;const ze=e=>e==null;let Tp=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,kp=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Sp=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,qp=e=>ze(e)||e===e.trim(),Np={}.toString();function Pp(){return new wi}class wi extends Ce{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(n){if(this.isType(n)||Array.isArray(n))return n;const t=n!=null&&n.toString?n.toString():n;return t===Np?n:t})})}_typeCheck(n){return n instanceof String&&(n=n.valueOf()),typeof n=="string"}_isPresent(n){return super._isPresent(n)&&!!n.length}length(n,t=He.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:n},test(r){return ze(r)||r.length===this.resolve(n)}})}min(n,t=He.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:n},test(r){return ze(r)||r.length>=this.resolve(n)}})}max(n,t=He.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:n},test(r){return ze(r)||r.length<=this.resolve(n)}})}matches(n,t){let r=!1,i,f;return t&&(typeof t=="object"?{excludeEmptyString:r=!1,message:i,name:f}=t:i=t),this.test({name:f||"matches",message:i||He.matches,params:{regex:n},test:h=>ze(h)||h===""&&r||h.search(n)!==-1})}email(n=He.email){return this.matches(Tp,{name:"email",message:n,excludeEmptyString:!0})}url(n=He.url){return this.matches(kp,{name:"url",message:n,excludeEmptyString:!0})}uuid(n=He.uuid){return this.matches(Sp,{name:"uuid",message:n,excludeEmptyString:!1})}ensure(){return this.default("").transform(n=>n===null?"":n)}trim(n=He.trim){return this.transform(t=>t!=null?t.trim():t).test({message:n,name:"trim",test:qp})}lowercase(n=He.lowercase){return this.transform(t=>ze(t)?t:t.toLowerCase()).test({message:n,name:"string_case",exclusive:!0,test:t=>ze(t)||t===t.toLowerCase()})}uppercase(n=He.uppercase){return this.transform(t=>ze(t)?t:t.toUpperCase()).test({message:n,name:"string_case",exclusive:!0,test:t=>ze(t)||t===t.toUpperCase()})}}Pp.prototype=wi.prototype;var Lp=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function Rp(e){var n=[1,4,5,6,7,10,11],t=0,r,i;if(i=Lp.exec(e)){for(var f=0,h;h=n[f];++f)i[h]=+i[h]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,i[7]=i[7]?String(i[7]).substr(0,3):0,(i[8]===void 0||i[8]==="")&&(i[9]===void 0||i[9]==="")?r=+new Date(i[1],i[2],i[3],i[4],i[5],i[6],i[7]):(i[8]!=="Z"&&i[9]!==void 0&&(t=i[10]*60+i[11],i[9]==="+"&&(t=0-t)),r=Date.UTC(i[1],i[2],i[3],i[4],i[5]+t,i[6],i[7]))}else r=Date.parse?Date.parse(e):NaN;return r}let Ei=new Date(""),Fp=e=>Object.prototype.toString.call(e)==="[object Date]";class xi extends Ce{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(n){return this.isType(n)?n:(n=Rp(n),isNaN(n)?Ei:new Date(n))})})}_typeCheck(n){return Fp(n)&&!isNaN(n.getTime())}prepareParam(n,t){let r;if(et.isRef(n))r=n;else{let i=this.cast(n);if(!this._typeCheck(i))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);r=i}return r}min(n,t=hr.min){let r=this.prepareParam(n,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:n},test(i){return ze(i)||i>=this.resolve(r)}})}max(n,t=hr.max){let r=this.prepareParam(n,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:n},test(i){return ze(i)||i<=this.resolve(r)}})}}xi.INVALID_DATE=Ei;xi.prototype;function Dp(e,n,t,r){var i=-1,f=e==null?0:e.length;for(r&&f&&(t=e[++i]);++ii?0:i+n),t=t>i?i:t,t<0&&(t+=i),i=n>t?0:t-n>>>0,n>>>=0;for(var f=Array(i);++r=r?e:Kv(e,n,t)}var Wv=Gv,Zv="\\ud800-\\udfff",Yv="\\u0300-\\u036f",Xv="\\ufe20-\\ufe2f",Qv="\\u20d0-\\u20ff",Jv=Yv+Xv+Qv,ey="\\ufe0e\\ufe0f",ty="\\u200d",ry=RegExp("["+ty+Zv+Jv+ey+"]");function ny(e){return ry.test(e)}var Ci=ny;function iy(e){return e.split("")}var oy=iy,Mi="\\ud800-\\udfff",ay="\\u0300-\\u036f",ly="\\ufe20-\\ufe2f",sy="\\u20d0-\\u20ff",uy=ay+ly+sy,fy="\\ufe0e\\ufe0f",cy="["+Mi+"]",xr="["+uy+"]",Ar="\\ud83c[\\udffb-\\udfff]",dy="(?:"+xr+"|"+Ar+")",Bi="[^"+Mi+"]",Ui="(?:\\ud83c[\\udde6-\\uddff]){2}",Vi="[\\ud800-\\udbff][\\udc00-\\udfff]",hy="\\u200d",Hi=dy+"?",zi="["+fy+"]?",py="(?:"+hy+"(?:"+[Bi,Ui,Vi].join("|")+")"+zi+Hi+")*",vy=zi+Hi+py,yy="(?:"+[Bi+xr+"?",xr,Ui,Vi,cy].join("|")+")",gy=RegExp(Ar+"(?="+Ar+")|"+yy+vy,"g");function my(e){return e.match(gy)||[]}var by=my,_y=oy,Oy=Ci,wy=by;function Ey(e){return Oy(e)?wy(e):_y(e)}var xy=Ey,Ay=Wv,Ty=Ci,ky=xy,Sy=Tt;function qy(e){return function(n){n=Sy(n);var t=Ty(n)?ky(n):void 0,r=t?t[0]:n.charAt(0),i=t?Ay(t,1).join(""):n.slice(1);return r[e]()+i}}var Ny=qy,Py=Ny,Ly=Py("toUpperCase"),Ry=Ly,Fy=Tt,Dy=Ry;function jy(e){return Dy(Fy(e).toLowerCase())}var Iy=jy,$y=Iy,Cy=$i,My=Cy(function(e,n,t){return n=n.toLowerCase(),e+(t?$y(n):n)}),By=My,Uy=ui,Vy=ci,Hy=bi;function zy(e,n){var t={};return n=Hy(n),Vy(e,function(r,i,f){Uy(t,n(r,i,f),r)}),t}var Ky=zy,$r={exports:{}};$r.exports=function(e){return Ki(Gy(e),e)};$r.exports.array=Ki;function Ki(e,n){var t=e.length,r=new Array(t),i={},f=t,h=Wy(n),O=Zy(e);for(n.forEach(function(_){if(!O.has(_[0])||!O.has(_[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});f--;)i[f]||m(e[f],f,new Set);return r;function m(_,p,l){if(l.has(_)){var o;try{o=", node was:"+JSON.stringify(_)}catch{o=""}throw new Error("Cyclic dependency"+o)}if(!O.has(_))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(_));if(!i[p]){i[p]=!0;var a=h.get(_)||new Set;if(a=Array.from(a),p=a.length){l.add(_);do{var y=a[--p];m(y,O.get(y),l)}while(p);l.delete(_)}r[--t]=_}}}function Gy(e){for(var n=new Set,t=0,r=e.length;t`${h}-${O}`));function f(h,O){let m=Jt.split(h)[0];r.add(m),i.has(`${O}-${m}`)||t.push([O,m])}for(const h in e)if(jt(e,h)){let O=e[h];r.add(h),et.isRef(O)&&O.isSibling?f(O.path,h):li(O)&&"deps"in O&&O.deps.forEach(m=>f(m,h))}return $r.exports.array(Array.from(r),t).reverse()}function Rn(e,n){let t=1/0;return e.some((r,i)=>{var f;if(((f=n.path)==null?void 0:f.indexOf(r))!==-1)return t=i,!0}),t}function Gi(e){return(n,t)=>Rn(e,n)-Rn(e,t)}function dt(){return dt=Object.assign||function(e){for(var n=1;nObject.prototype.toString.call(e)==="[object Object]";function Xy(e,n){let t=Object.keys(e.fields);return Object.keys(n).filter(r=>t.indexOf(r)===-1)}const Qy=Gi([]);class Wi extends Ce{constructor(n){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=Qy,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{r=null}return this.isType(r)?r:null}),n&&this.shape(n)})}_typeCheck(n){return Fn(n)||typeof n=="function"}_cast(n,t={}){var r;let i=super._cast(n,t);if(i===void 0)return this.getDefault();if(!this._typeCheck(i))return i;let f=this.fields,h=(r=t.stripUnknown)!=null?r:this.spec.noUnknown,O=this._nodes.concat(Object.keys(i).filter(l=>this._nodes.indexOf(l)===-1)),m={},_=dt({},t,{parent:m,__validating:t.__validating||!1}),p=!1;for(const l of O){let o=f[l],a=jt(i,l);if(o){let y,d=i[l];_.path=(t.path?`${t.path}.`:"")+l,o=o.resolve({value:d,context:t.context,parent:m});let v="spec"in o?o.spec:void 0,c=v==null?void 0:v.strict;if(v!=null&&v.strip){p=p||l in i;continue}y=!t.__validating||!c?o.cast(i[l],_):i[l],y!==void 0&&(m[l]=y)}else a&&!h&&(m[l]=i[l]);m[l]!==i[l]&&(p=!0)}return p?m:i}_validate(n,t={},r){let i=[],{sync:f,from:h=[],originalValue:O=n,abortEarly:m=this.spec.abortEarly,recursive:_=this.spec.recursive}=t;h=[{schema:this,value:O},...h],t.__validating=!0,t.originalValue=O,t.from=h,super._validate(n,t,(p,l)=>{if(p){if(!Be.isError(p)||m)return void r(p,l);i.push(p)}if(!_||!Fn(l)){r(i[0]||null,l);return}O=O||l;let o=this._nodes.map(a=>(y,d)=>{let v=a.indexOf(".")===-1?(t.path?`${t.path}.`:"")+a:`${t.path||""}["${a}"]`,c=this.fields[a];if(c&&"validate"in c){c.validate(l[a],dt({},t,{path:v,from:h,strict:!0,parent:l,originalValue:O[a]}),d);return}d(null)});yr({sync:f,tests:o,value:l,errors:i,endEarly:m,sort:this._sortErrors,path:t.path},r)})}clone(n){const t=super.clone(n);return t.fields=dt({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(n){let t=super.concat(n),r=t.fields;for(let[i,f]of Object.entries(this.fields)){const h=r[i];h===void 0?r[i]=f:h instanceof Ce&&f instanceof Ce&&(r[i]=f.concat(h))}return t.withMutation(()=>t.shape(r,this._excludedEdges))}getDefaultFromShape(){let n={};return this._nodes.forEach(t=>{const r=this.fields[t];n[t]="default"in r?r.getDefault():void 0}),n}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(n,t=[]){let r=this.clone(),i=Object.assign(r.fields,n);return r.fields=i,r._sortErrors=Gi(Object.keys(i)),t.length&&(Array.isArray(t[0])||(t=[t]),r._excludedEdges=[...r._excludedEdges,...t]),r._nodes=Yy(i,r._excludedEdges),r}pick(n){const t={};for(const r of n)this.fields[r]&&(t[r]=this.fields[r]);return this.clone().withMutation(r=>(r.fields={},r.shape(t)))}omit(n){const t=this.clone(),r=t.fields;t.fields={};for(const i of n)delete r[i];return t.withMutation(()=>t.shape(r))}from(n,t,r){let i=Jt.getter(n,!0);return this.transform(f=>{if(f==null)return f;let h=f;return jt(f,n)&&(h=dt({},f),r||delete h[n],h[t]=i(f)),h})}noUnknown(n=!0,t=pr.noUnknown){typeof n=="string"&&(t=n,n=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:t,test(i){if(i==null)return!0;const f=Xy(this.schema,i);return!n||f.length===0||this.createError({params:{unknown:f.join(", ")}})}});return r.spec.noUnknown=n,r}unknown(n=!0,t=pr.noUnknown){return this.noUnknown(!n,t)}transformKeys(n){return this.transform(t=>t&&Ky(t,(r,i)=>n(i)))}camelCase(){return this.transformKeys(By)}snakeCase(){return this.transformKeys(Ln)}constantCase(){return this.transformKeys(n=>Ln(n).toUpperCase())}describe(){let n=super.describe();return n.fields=_i(this.fields,t=>t.describe()),n}}function Jy(e){return new Wi(e)}Jy.prototype=Wi.prototype;var kt=e=>e.type==="checkbox",ht=e=>e instanceof Date,$e=e=>e==null;const Zi=e=>typeof e=="object";var Pe=e=>!$e(e)&&!Array.isArray(e)&&Zi(e)&&!ht(e),Yi=e=>Pe(e)&&e.target?kt(e.target)?e.target.checked:e.target.value:e,eg=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Xi=(e,n)=>e.has(eg(n)),tg=e=>{const n=e.constructor&&e.constructor.prototype;return Pe(n)&&n.hasOwnProperty("isPrototypeOf")},Cr=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Xe(e){let n;const t=Array.isArray(e);if(e instanceof Date)n=new Date(e);else if(e instanceof Set)n=new Set(e);else if(!(Cr&&(e instanceof Blob||e instanceof FileList))&&(t||Pe(e)))if(n=t?[]:{},!Array.isArray(e)&&!tg(e))n=e;else for(const r in e)n[r]=Xe(e[r]);else return e;return n}var St=e=>Array.isArray(e)?e.filter(Boolean):[],ke=e=>e===void 0,se=(e,n,t)=>{if(!n||!Pe(e))return t;const r=St(n.split(/[,[\].]+?/)).reduce((i,f)=>$e(i)?i:i[f],e);return ke(r)||r===e?ke(e[n])?t:e[n]:r};const Bt={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Ke={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Ye={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Qi=Se.createContext(null),er=()=>Se.useContext(Qi),rg=e=>{const{children:n,...t}=e;return Se.createElement(Qi.Provider,{value:t},n)};var Ji=(e,n,t,r=!0)=>{const i={defaultValues:n._defaultValues};for(const f in e)Object.defineProperty(i,f,{get:()=>{const h=f;return n._proxyFormState[h]!==Ke.all&&(n._proxyFormState[h]=!r||Ke.all),t&&(t[h]=!0),e[h]}});return i},Ve=e=>Pe(e)&&!Object.keys(e).length,eo=(e,n,t,r)=>{t(e);const{name:i,...f}=e;return Ve(f)||Object.keys(f).length>=Object.keys(n).length||Object.keys(f).find(h=>n[h]===(!r||Ke.all))},Ft=e=>Array.isArray(e)?e:[e],to=(e,n,t)=>t&&n?e===n:!e||!n||e===n||Ft(e).some(r=>r&&(r.startsWith(n)||n.startsWith(r)));function Mr(e){const n=Se.useRef(e);n.current=e,Se.useEffect(()=>{const t=!e.disabled&&n.current.subject&&n.current.subject.subscribe({next:n.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}function ng(e){const n=er(),{control:t=n.control,disabled:r,name:i,exact:f}=e||{},[h,O]=Se.useState(t._formState),m=Se.useRef(!0),_=Se.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),p=Se.useRef(i);return p.current=i,Mr({disabled:r,next:l=>m.current&&to(p.current,l.name,f)&&eo(l,_.current,t._updateFormState)&&O({...t._formState,...l}),subject:t._subjects.state}),Se.useEffect(()=>{m.current=!0;const l=t._proxyFormState.isDirty&&t._getDirty();return l!==t._formState.isDirty&&t._subjects.state.next({isDirty:l}),_.current.isValid&&t._updateValid(!0),()=>{m.current=!1}},[t]),Ji(h,t,_.current,!1)}var Ze=e=>typeof e=="string",ro=(e,n,t,r,i)=>Ze(e)?(r&&n.watch.add(e),se(t,e,i)):Array.isArray(e)?e.map(f=>(r&&n.watch.add(f),se(t,f))):(r&&(n.watchAll=!0),t);function ig(e){const n=er(),{control:t=n.control,name:r,defaultValue:i,disabled:f,exact:h}=e||{},O=Se.useRef(r);O.current=r,Mr({disabled:f,subject:t._subjects.values,next:p=>{to(O.current,p.name,h)&&_(Xe(ro(O.current,t._names,p.values||t._formValues,!1,i)))}});const[m,_]=Se.useState(t._getWatch(r,i));return Se.useEffect(()=>t._removeUnmounted()),m}var Br=e=>/^\w*$/.test(e),no=e=>St(e.replace(/["|']|\]/g,"").split(/\.|\[/));function Oe(e,n,t){let r=-1;const i=Br(n)?[n]:no(n),f=i.length,h=f-1;for(;++r{const _=r._options.shouldUnregister||i,p=(l,o)=>{const a=se(r._fields,l);a&&(a._f.mount=o)};if(p(t,!0),_){const l=Xe(se(r._options.defaultValues,t));Oe(r._defaultValues,t,l),ke(se(r._formValues,t))&&Oe(r._formValues,t,l)}return()=>{(f?_&&!r._state.action:_)?r.unregister(t):p(t,!1)}},[t,r,f,i]),{field:{name:t,value:h,onChange:Se.useCallback(_=>m.current.onChange({target:{value:Yi(_),name:t},type:Bt.CHANGE}),[t]),onBlur:Se.useCallback(()=>m.current.onBlur({target:{value:se(r._formValues,t),name:t},type:Bt.BLUR}),[t,r]),ref:_=>{const p=se(r._fields,t);p&&_&&(p._f.ref={focus:()=>_.focus(),select:()=>_.select(),setCustomValidity:l=>_.setCustomValidity(l),reportValidity:()=>_.reportValidity()})}},formState:O,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!se(O.errors,t)},isDirty:{enumerable:!0,get:()=>!!se(O.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!se(O.touchedFields,t)},error:{enumerable:!0,get:()=>se(O.errors,t)}})}}const ag=e=>e.render(og(e));var io=(e,n,t,r,i)=>n?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[r]:i||!0}}:{};const Tr=(e,n,t)=>{for(const r of t||Object.keys(e)){const i=se(e,r);if(i){const{_f:f,...h}=i;if(f&&n(f.name)){if(f.ref.focus){f.ref.focus();break}else if(f.refs&&f.refs[0].focus){f.refs[0].focus();break}}else Pe(h)&&Tr(h,n)}}};var Dn=e=>({isOnSubmit:!e||e===Ke.onSubmit,isOnBlur:e===Ke.onBlur,isOnChange:e===Ke.onChange,isOnAll:e===Ke.all,isOnTouch:e===Ke.onTouched}),jn=(e,n,t)=>!t&&(n.watchAll||n.watch.has(e)||[...n.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),lg=(e,n,t)=>{const r=St(se(e,t));return Oe(r,"root",n[t]),Oe(e,t,r),e},pt=e=>typeof e=="boolean",Ur=e=>e.type==="file",Je=e=>typeof e=="function",Ut=e=>{if(!Cr)return!1;const n=e?e.ownerDocument:0;return e instanceof(n&&n.defaultView?n.defaultView.HTMLElement:HTMLElement)},Dt=e=>Ze(e),Vr=e=>e.type==="radio",Vt=e=>e instanceof RegExp;const In={value:!1,isValid:!1},$n={value:!0,isValid:!0};var oo=e=>{if(Array.isArray(e)){if(e.length>1){const n=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:n,isValid:!!n.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!ke(e[0].attributes.value)?ke(e[0].value)||e[0].value===""?$n:{value:e[0].value,isValid:!0}:$n:In}return In};const Cn={isValid:!1,value:null};var ao=e=>Array.isArray(e)?e.reduce((n,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:n,Cn):Cn;function Mn(e,n,t="validate"){if(Dt(e)||Array.isArray(e)&&e.every(Dt)||pt(e)&&!e)return{type:t,message:Dt(e)?e:"",ref:n}}var ft=e=>Pe(e)&&!Vt(e)?e:{value:e,message:""},Bn=async(e,n,t,r,i)=>{const{ref:f,refs:h,required:O,maxLength:m,minLength:_,min:p,max:l,pattern:o,validate:a,name:y,valueAsNumber:d,mount:v,disabled:c}=e._f,u=se(n,y);if(!v||c)return{};const b=h?h[0]:f,s=w=>{r&&b.reportValidity&&(b.setCustomValidity(pt(w)?"":w||""),b.reportValidity())},g={},T=Vr(f),A=kt(f),k=T||A,N=(d||Ur(f))&&ke(f.value)&&ke(u)||Ut(f)&&f.value===""||u===""||Array.isArray(u)&&!u.length,x=io.bind(null,y,t,g),E=(w,S,P,F=Ye.maxLength,M=Ye.minLength)=>{const H=w?S:P;g[y]={type:w?F:M,message:H,ref:f,...x(w?F:M,H)}};if(i?!Array.isArray(u)||!u.length:O&&(!k&&(N||$e(u))||pt(u)&&!u||A&&!oo(h).isValid||T&&!ao(h).isValid)){const{value:w,message:S}=Dt(O)?{value:!!O,message:O}:ft(O);if(w&&(g[y]={type:Ye.required,message:S,ref:b,...x(Ye.required,S)},!t))return s(S),g}if(!N&&(!$e(p)||!$e(l))){let w,S;const P=ft(l),F=ft(p);if(!$e(u)&&!isNaN(u)){const M=f.valueAsNumber||u&&+u;$e(P.value)||(w=M>P.value),$e(F.value)||(S=Mnew Date(new Date().toDateString()+" "+D),Q=f.type=="time",C=f.type=="week";Ze(P.value)&&u&&(w=Q?H(u)>H(P.value):C?u>P.value:M>new Date(P.value)),Ze(F.value)&&u&&(S=Q?H(u)+w.value,F=!$e(S.value)&&u.length<+S.value;if((P||F)&&(E(P,w.message,S.message),!t))return s(g[y].message),g}if(o&&!N&&Ze(u)){const{value:w,message:S}=ft(o);if(Vt(w)&&!u.match(w)&&(g[y]={type:Ye.pattern,message:S,ref:f,...x(Ye.pattern,S)},!t))return s(S),g}if(a){if(Je(a)){const w=await a(u,n),S=Mn(w,b);if(S&&(g[y]={...S,...x(Ye.validate,S.message)},!t))return s(S.message),g}else if(Pe(a)){let w={};for(const S in a){if(!Ve(w)&&!t)break;const P=Mn(await a[S](u,n),b,S);P&&(w={...P,...x(S,P.message)},s(P.message),t&&(g[y]=w))}if(!Ve(w)&&(g[y]={ref:b,...w},!t))return g}}return s(!0),g};function sg(e,n){const t=n.slice(0,-1).length;let r=0;for(;r{for(const f of e)f.next&&f.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(f=>f!==i)}}),unsubscribe:()=>{e=[]}}}var Ht=e=>$e(e)||!Zi(e);function ot(e,n){if(Ht(e)||Ht(n))return e===n;if(ht(e)&&ht(n))return e.getTime()===n.getTime();const t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return!1;for(const i of t){const f=e[i];if(!r.includes(i))return!1;if(i!=="ref"){const h=n[i];if(ht(f)&&ht(h)||Pe(f)&&Pe(h)||Array.isArray(f)&&Array.isArray(h)?!ot(f,h):f!==h)return!1}}return!0}var lo=e=>e.type==="select-multiple",fg=e=>Vr(e)||kt(e),lr=e=>Ut(e)&&e.isConnected,so=e=>{for(const n in e)if(Je(e[n]))return!0;return!1};function zt(e,n={}){const t=Array.isArray(e);if(Pe(e)||t)for(const r in e)Array.isArray(e[r])||Pe(e[r])&&!so(e[r])?(n[r]=Array.isArray(e[r])?[]:{},zt(e[r],n[r])):$e(e[r])||(n[r]=!0);return n}function uo(e,n,t){const r=Array.isArray(e);if(Pe(e)||r)for(const i in e)Array.isArray(e[i])||Pe(e[i])&&!so(e[i])?ke(n)||Ht(t[i])?t[i]=Array.isArray(e[i])?zt(e[i],[]):{...zt(e[i])}:uo(e[i],$e(n)?{}:n[i],t[i]):t[i]=!ot(e[i],n[i]);return t}var sr=(e,n)=>uo(e,n,zt(n)),fo=(e,{valueAsNumber:n,valueAsDate:t,setValueAs:r})=>ke(e)?e:n?e===""?NaN:e&&+e:t&&Ze(e)?new Date(e):r?r(e):e;function ur(e){const n=e.ref;if(!(e.refs?e.refs.every(t=>t.disabled):n.disabled))return Ur(n)?n.files:Vr(n)?ao(e.refs).value:lo(n)?[...n.selectedOptions].map(({value:t})=>t):kt(n)?oo(e.refs).value:fo(ke(n.value)?e.ref.value:n.value,e)}var cg=(e,n,t,r)=>{const i={};for(const f of e){const h=se(n,f);h&&Oe(i,f,h._f)}return{criteriaMode:t,names:[...e],fields:i,shouldUseNativeValidation:r}},Ot=e=>ke(e)?e:Vt(e)?e.source:Pe(e)?Vt(e.value)?e.value.source:e.value:e,dg=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Un(e,n,t){const r=se(e,t);if(r||Br(t))return{error:r,name:t};const i=t.split(".");for(;i.length;){const f=i.join("."),h=se(n,f),O=se(e,f);if(h&&!Array.isArray(h)&&t!==f)return{name:t};if(O&&O.type)return{name:f,error:O};i.pop()}return{name:t}}var hg=(e,n,t,r,i)=>i.isOnAll?!1:!t&&i.isOnTouch?!(n||e):(t?r.isOnBlur:i.isOnBlur)?!e:(t?r.isOnChange:i.isOnChange)?e:!0,pg=(e,n)=>!St(se(e,n)).length&&De(e,n);const vg={mode:Ke.onSubmit,reValidateMode:Ke.onChange,shouldFocusError:!0};function yg(e={},n){let t={...vg,...e},r={submitCount:0,isDirty:!1,isLoading:Je(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},i={},f=Pe(t.defaultValues)||Pe(t.values)?Xe(t.defaultValues||t.values)||{}:{},h=t.shouldUnregister?{}:Xe(f),O={action:!1,mount:!1,watch:!1},m={mount:new Set,unMount:new Set,array:new Set,watch:new Set},_,p=0;const l={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},o={values:ar(),array:ar(),state:ar()},a=e.resetOptions&&e.resetOptions.keepDirtyValues,y=Dn(t.mode),d=Dn(t.reValidateMode),v=t.criteriaMode===Ke.all,c=I=>Y=>{clearTimeout(p),p=setTimeout(I,Y)},u=async I=>{if(l.isValid||I){const Y=t.resolver?Ve((await N()).errors):await E(i,!0);Y!==r.isValid&&o.state.next({isValid:Y})}},b=I=>l.isValidating&&o.state.next({isValidating:I}),s=(I,Y=[],X,z,U=!0,G=!0)=>{if(z&&X){if(O.action=!0,G&&Array.isArray(se(i,I))){const te=X(se(i,I),z.argA,z.argB);U&&Oe(i,I,te)}if(G&&Array.isArray(se(r.errors,I))){const te=X(se(r.errors,I),z.argA,z.argB);U&&Oe(r.errors,I,te),pg(r.errors,I)}if(l.touchedFields&&G&&Array.isArray(se(r.touchedFields,I))){const te=X(se(r.touchedFields,I),z.argA,z.argB);U&&Oe(r.touchedFields,I,te)}l.dirtyFields&&(r.dirtyFields=sr(f,h)),o.state.next({name:I,isDirty:S(I,Y),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Oe(h,I,Y)},g=(I,Y)=>{Oe(r.errors,I,Y),o.state.next({errors:r.errors})},T=(I,Y,X,z)=>{const U=se(i,I);if(U){const G=se(h,I,ke(X)?se(f,I):X);ke(G)||z&&z.defaultChecked||Y?Oe(h,I,Y?G:ur(U._f)):M(I,G),O.mount&&u()}},A=(I,Y,X,z,U)=>{let G=!1,te=!1;const ee={name:I};if(!X||z){l.isDirty&&(te=r.isDirty,r.isDirty=ee.isDirty=S(),G=te!==ee.isDirty);const ue=ot(se(f,I),Y);te=se(r.dirtyFields,I),ue?De(r.dirtyFields,I):Oe(r.dirtyFields,I,!0),ee.dirtyFields=r.dirtyFields,G=G||l.dirtyFields&&te!==!ue}if(X){const ue=se(r.touchedFields,I);ue||(Oe(r.touchedFields,I,X),ee.touchedFields=r.touchedFields,G=G||l.touchedFields&&ue!==X)}return G&&U&&o.state.next(ee),G?ee:{}},k=(I,Y,X,z)=>{const U=se(r.errors,I),G=l.isValid&&pt(Y)&&r.isValid!==Y;if(e.delayError&&X?(_=c(()=>g(I,X)),_(e.delayError)):(clearTimeout(p),_=null,X?Oe(r.errors,I,X):De(r.errors,I)),(X?!ot(U,X):U)||!Ve(z)||G){const te={...z,...G&&pt(Y)?{isValid:Y}:{},errors:r.errors,name:I};r={...r,...te},o.state.next(te)}b(!1)},N=async I=>t.resolver(h,t.context,cg(I||m.mount,i,t.criteriaMode,t.shouldUseNativeValidation)),x=async I=>{const{errors:Y}=await N();if(I)for(const X of I){const z=se(Y,X);z?Oe(r.errors,X,z):De(r.errors,X)}else r.errors=Y;return Y},E=async(I,Y,X={valid:!0})=>{for(const z in I){const U=I[z];if(U){const{_f:G,...te}=U;if(G){const ee=m.array.has(G.name),ue=await Bn(U,h,v,t.shouldUseNativeValidation&&!Y,ee);if(ue[G.name]&&(X.valid=!1,Y))break;!Y&&(se(ue,G.name)?ee?lg(r.errors,ue,G.name):Oe(r.errors,G.name,ue[G.name]):De(r.errors,G.name))}te&&await E(te,Y,X)}}return X.valid},w=()=>{for(const I of m.unMount){const Y=se(i,I);Y&&(Y._f.refs?Y._f.refs.every(X=>!lr(X)):!lr(Y._f.ref))&&L(I)}m.unMount=new Set},S=(I,Y)=>(I&&Y&&Oe(h,I,Y),!ot(q(),f)),P=(I,Y,X)=>ro(I,m,{...O.mount?h:ke(Y)?f:Ze(I)?{[I]:Y}:Y},X,Y),F=I=>St(se(O.mount?h:f,I,e.shouldUnregister?se(f,I,[]):[])),M=(I,Y,X={})=>{const z=se(i,I);let U=Y;if(z){const G=z._f;G&&(!G.disabled&&Oe(h,I,fo(Y,G)),U=Ut(G.ref)&&$e(Y)?"":Y,lo(G.ref)?[...G.ref.options].forEach(te=>te.selected=U.includes(te.value)):G.refs?kt(G.ref)?G.refs.length>1?G.refs.forEach(te=>(!te.defaultChecked||!te.disabled)&&(te.checked=Array.isArray(U)?!!U.find(ee=>ee===te.value):U===te.value)):G.refs[0]&&(G.refs[0].checked=!!U):G.refs.forEach(te=>te.checked=te.value===U):Ur(G.ref)?G.ref.value="":(G.ref.value=U,G.ref.type||o.values.next({name:I,values:{...h}})))}(X.shouldDirty||X.shouldTouch)&&A(I,U,X.shouldTouch,X.shouldDirty,!0),X.shouldValidate&&D(I)},H=(I,Y,X)=>{for(const z in Y){const U=Y[z],G=`${I}.${z}`,te=se(i,G);(m.array.has(I)||!Ht(U)||te&&!te._f)&&!ht(U)?H(G,U,X):M(G,U,X)}},Q=(I,Y,X={})=>{const z=se(i,I),U=m.array.has(I),G=Xe(Y);Oe(h,I,G),U?(o.array.next({name:I,values:{...h}}),(l.isDirty||l.dirtyFields)&&X.shouldDirty&&o.state.next({name:I,dirtyFields:sr(f,h),isDirty:S(I,G)})):z&&!z._f&&!$e(G)?H(I,G,X):M(I,G,X),jn(I,m)&&o.state.next({...r}),o.values.next({name:I,values:{...h}}),!O.mount&&n()},C=async I=>{const Y=I.target;let X=Y.name,z=!0;const U=se(i,X),G=()=>Y.type?ur(U._f):Yi(I);if(U){let te,ee;const ue=G(),he=I.type===Bt.BLUR||I.type===Bt.FOCUS_OUT,ye=!dg(U._f)&&!t.resolver&&!se(r.errors,X)&&!U._f.deps||hg(he,se(r.touchedFields,X),r.isSubmitted,d,y),qe=jn(X,m,he);Oe(h,X,ue),he?(U._f.onBlur&&U._f.onBlur(I),_&&_(0)):U._f.onChange&&U._f.onChange(I);const Re=A(X,ue,he,!1),_e=!Ve(Re)||qe;if(!he&&o.values.next({name:X,type:I.type,values:{...h}}),ye)return l.isValid&&u(),_e&&o.state.next({name:X,...qe?{}:Re});if(!he&&qe&&o.state.next({...r}),b(!0),t.resolver){const{errors:ne}=await N([X]),K=Un(r.errors,i,X),oe=Un(ne,i,K.name||X);te=oe.error,X=oe.name,ee=Ve(ne)}else te=(await Bn(U,h,v,t.shouldUseNativeValidation))[X],z=isNaN(ue)||ue===se(h,X,ue),z&&(te?ee=!1:l.isValid&&(ee=await E(i,!0)));z&&(U._f.deps&&D(U._f.deps),k(X,ee,te,Re))}},D=async(I,Y={})=>{let X,z;const U=Ft(I);if(b(!0),t.resolver){const G=await x(ke(I)?I:U);X=Ve(G),z=I?!U.some(te=>se(G,te)):X}else I?(z=(await Promise.all(U.map(async G=>{const te=se(i,G);return await E(te&&te._f?{[G]:te}:te)}))).every(Boolean),!(!z&&!r.isValid)&&u()):z=X=await E(i);return o.state.next({...!Ze(I)||l.isValid&&X!==r.isValid?{}:{name:I},...t.resolver||!I?{isValid:X}:{},errors:r.errors,isValidating:!1}),Y.shouldFocus&&!z&&Tr(i,G=>G&&se(r.errors,G),I?U:m.mount),z},q=I=>{const Y={...f,...O.mount?h:{}};return ke(I)?Y:Ze(I)?se(Y,I):I.map(X=>se(Y,X))},R=(I,Y)=>({invalid:!!se((Y||r).errors,I),isDirty:!!se((Y||r).dirtyFields,I),isTouched:!!se((Y||r).touchedFields,I),error:se((Y||r).errors,I)}),j=I=>{I&&Ft(I).forEach(Y=>De(r.errors,Y)),o.state.next({errors:I?r.errors:{}})},B=(I,Y,X)=>{const z=(se(i,I,{_f:{}})._f||{}).ref;Oe(r.errors,I,{...Y,ref:z}),o.state.next({name:I,errors:r.errors,isValid:!1}),X&&X.shouldFocus&&z&&z.focus&&z.focus()},V=(I,Y)=>Je(I)?o.values.subscribe({next:X=>I(P(void 0,Y),X)}):P(I,Y,!0),L=(I,Y={})=>{for(const X of I?Ft(I):m.mount)m.mount.delete(X),m.array.delete(X),Y.keepValue||(De(i,X),De(h,X)),!Y.keepError&&De(r.errors,X),!Y.keepDirty&&De(r.dirtyFields,X),!Y.keepTouched&&De(r.touchedFields,X),!t.shouldUnregister&&!Y.keepDefaultValue&&De(f,X);o.values.next({values:{...h}}),o.state.next({...r,...Y.keepDirty?{isDirty:S()}:{}}),!Y.keepIsValid&&u()},$=(I,Y={})=>{let X=se(i,I);const z=pt(Y.disabled);return Oe(i,I,{...X||{},_f:{...X&&X._f?X._f:{ref:{name:I}},name:I,mount:!0,...Y}}),m.mount.add(I),X?z&&Oe(h,I,Y.disabled?void 0:se(h,I,ur(X._f))):T(I,!0,Y.value),{...z?{disabled:Y.disabled}:{},...t.shouldUseNativeValidation?{required:!!Y.required,min:Ot(Y.min),max:Ot(Y.max),minLength:Ot(Y.minLength),maxLength:Ot(Y.maxLength),pattern:Ot(Y.pattern)}:{},name:I,onChange:C,onBlur:C,ref:U=>{if(U){$(I,Y),X=se(i,I);const G=ke(U.value)&&U.querySelectorAll&&U.querySelectorAll("input,select,textarea")[0]||U,te=fg(G),ee=X._f.refs||[];if(te?ee.find(ue=>ue===G):G===X._f.ref)return;Oe(i,I,{_f:{...X._f,...te?{refs:[...ee.filter(lr),G,...Array.isArray(se(f,I))?[{}]:[]],ref:{type:G.type,name:I}}:{ref:G}}}),T(I,!1,void 0,G)}else X=se(i,I,{}),X._f&&(X._f.mount=!1),(t.shouldUnregister||Y.shouldUnregister)&&!(Xi(m.array,I)&&O.action)&&m.unMount.add(I)}}},Z=()=>t.shouldFocusError&&Tr(i,I=>I&&se(r.errors,I),m.mount),W=(I,Y)=>async X=>{X&&(X.preventDefault&&X.preventDefault(),X.persist&&X.persist());let z=Xe(h);if(o.state.next({isSubmitting:!0}),t.resolver){const{errors:U,values:G}=await N();r.errors=U,z=G}else await E(i);De(r.errors,"root"),Ve(r.errors)?(o.state.next({errors:{}}),await I(z,X)):(Y&&await Y({...r.errors},X),Z(),setTimeout(Z)),o.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Ve(r.errors),submitCount:r.submitCount+1,errors:r.errors})},J=(I,Y={})=>{se(i,I)&&(ke(Y.defaultValue)?Q(I,se(f,I)):(Q(I,Y.defaultValue),Oe(f,I,Y.defaultValue)),Y.keepTouched||De(r.touchedFields,I),Y.keepDirty||(De(r.dirtyFields,I),r.isDirty=Y.defaultValue?S(I,se(f,I)):S()),Y.keepError||(De(r.errors,I),l.isValid&&u()),o.state.next({...r}))},le=(I,Y={})=>{const X=I||f,z=Xe(X),U=I&&!Ve(I)?z:f;if(Y.keepDefaultValues||(f=X),!Y.keepValues){if(Y.keepDirtyValues||a)for(const G of m.mount)se(r.dirtyFields,G)?Oe(U,G,se(h,G)):Q(G,se(U,G));else{if(Cr&&ke(I))for(const G of m.mount){const te=se(i,G);if(te&&te._f){const ee=Array.isArray(te._f.refs)?te._f.refs[0]:te._f.ref;if(Ut(ee)){const ue=ee.closest("form");if(ue){ue.reset();break}}}}i={}}h=e.shouldUnregister?Y.keepDefaultValues?Xe(f):{}:z,o.array.next({values:{...U}}),o.values.next({values:{...U}})}m={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!O.mount&&n(),O.mount=!l.isValid||!!Y.keepIsValid,O.watch=!!e.shouldUnregister,o.state.next({submitCount:Y.keepSubmitCount?r.submitCount:0,isDirty:Y.keepDirty?r.isDirty:!!(Y.keepDefaultValues&&!ot(I,f)),isSubmitted:Y.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:Y.keepDirtyValues?r.dirtyFields:Y.keepDefaultValues&&I?sr(f,I):{},touchedFields:Y.keepTouched?r.touchedFields:{},errors:Y.keepErrors?r.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},de=(I,Y)=>le(Je(I)?I(h):I,Y),pe=(I,Y={})=>{const X=se(i,I),z=X&&X._f;if(z){const U=z.refs?z.refs[0]:z.ref;U.focus&&(U.focus(),Y.shouldSelect&&U.select())}},ve=I=>{r={...r,...I}};return Je(t.defaultValues)&&t.defaultValues().then(I=>{de(I,t.resetOptions),o.state.next({isLoading:!1})}),{control:{register:$,unregister:L,getFieldState:R,_executeSchema:N,_getWatch:P,_getDirty:S,_updateValid:u,_removeUnmounted:w,_updateFieldArray:s,_getFieldArray:F,_reset:le,_updateFormState:ve,_subjects:o,_proxyFormState:l,get _fields(){return i},get _formValues(){return h},get _state(){return O},set _state(I){O=I},get _defaultValues(){return f},get _names(){return m},set _names(I){m=I},get _formState(){return r},set _formState(I){r=I},get _options(){return t},set _options(I){t={...t,...I}}},trigger:D,register:$,handleSubmit:W,watch:V,setValue:Q,getValues:q,reset:de,resetField:J,clearErrors:j,unregister:L,setError:B,setFocus:pe,getFieldState:R}}function $g(e={}){const n=Se.useRef(),[t,r]=Se.useState({isDirty:!1,isValidating:!1,isLoading:Je(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:Je(e.defaultValues)?void 0:e.defaultValues});n.current||(n.current={...yg(e,()=>r(f=>({...f}))),formState:t});const i=n.current.control;return i._options=e,Mr({subject:i._subjects.state,next:f=>{eo(f,i._proxyFormState,i._updateFormState,!0)&&r({...i._formState})}}),Se.useEffect(()=>{e.values&&!ot(e.values,i._defaultValues)&&i._reset(e.values,i._options.resetOptions)},[e.values,i]),Se.useEffect(()=>{i._state.mount||(i._updateValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),n.current.formState=Ji(t,i),n.current}var Vn=function(e,n,t){if(e&&"reportValidity"in e){var r=se(t,n);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},co=function(e,n){var t=function(i){var f=n.fields[i];f&&f.ref&&"reportValidity"in f.ref?Vn(f.ref,i,e):f.refs&&f.refs.forEach(function(h){return Vn(h,i,e)})};for(var r in n.fields)t(r)},gg=function(e,n){n.shouldUseNativeValidation&&co(e,n);var t={};for(var r in e){var i=se(n.fields,r);Oe(t,r,Object.assign(e[r],{ref:i&&i.ref}))}return t},Cg=function(e,n,t){return n===void 0&&(n={}),t===void 0&&(t={}),function(r,i,f){try{return Promise.resolve(function(h,O){try{var m=(n.context,Promise.resolve(e[t.mode==="sync"?"validateSync":"validate"](r,Object.assign({abortEarly:!1},n,{context:i}))).then(function(_){return f.shouldUseNativeValidation&&co({},f),{values:t.rawValues?r:_,errors:{}}}))}catch(_){return O(_)}return m&&m.then?m.then(void 0,O):m}(0,function(h){if(!h.inner)throw h;return{values:{},errors:gg((O=h,m=!f.shouldUseNativeValidation&&f.criteriaMode==="all",(O.inner||[]).reduce(function(_,p){if(_[p.path]||(_[p.path]={message:p.message,type:p.type}),m){var l=_[p.path].types,o=l&&l[p.type];_[p.path]=io(p.path,m,_,p.type,o?[].concat(o,p.message):p.message)}return _},{})),f)};var O,m}))}catch(h){return Promise.reject(h)}}};(()=>{var e={296:(i,f,h)=>{var O=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,p=/^0o[0-7]+$/i,l=parseInt,o=typeof h.g=="object"&&h.g&&h.g.Object===Object&&h.g,a=typeof self=="object"&&self&&self.Object===Object&&self,y=o||a||Function("return this")(),d=Object.prototype.toString,v=Math.max,c=Math.min,u=function(){return y.Date.now()};function b(g){var T=typeof g;return!!g&&(T=="object"||T=="function")}function s(g){if(typeof g=="number")return g;if(function(k){return typeof k=="symbol"||function(N){return!!N&&typeof N=="object"}(k)&&d.call(k)=="[object Symbol]"}(g))return NaN;if(b(g)){var T=typeof g.valueOf=="function"?g.valueOf():g;g=b(T)?T+"":T}if(typeof g!="string")return g===0?g:+g;g=g.replace(O,"");var A=_.test(g);return A||p.test(g)?l(g.slice(2),A?2:8):m.test(g)?NaN:+g}i.exports=function(g,T,A){var k,N,x,E,w,S,P=0,F=!1,M=!1,H=!0;if(typeof g!="function")throw new TypeError("Expected a function");function Q(B){var V=k,L=N;return k=N=void 0,P=B,E=g.apply(L,V)}function C(B){return P=B,w=setTimeout(q,T),F?Q(B):E}function D(B){var V=B-S;return S===void 0||V>=T||V<0||M&&B-P>=x}function q(){var B=u();if(D(B))return R(B);w=setTimeout(q,function(V){var L=T-(V-S);return M?c(L,x-(V-P)):L}(B))}function R(B){return w=void 0,H&&k?Q(B):(k=N=void 0,E)}function j(){var B=u(),V=D(B);if(k=arguments,N=this,S=B,V){if(w===void 0)return C(S);if(M)return w=setTimeout(q,T),Q(S)}return w===void 0&&(w=setTimeout(q,T)),E}return T=s(T)||0,b(A)&&(F=!!A.leading,x=(M="maxWait"in A)?v(s(A.maxWait)||0,T):x,H="trailing"in A?!!A.trailing:H),j.cancel=function(){w!==void 0&&clearTimeout(w),P=0,k=S=N=w=void 0},j.flush=function(){return w===void 0?E:R(u())},j}},96:(i,f,h)=>{var O="Expected a function",m=/^\s+|\s+$/g,_=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,l=/^0o[0-7]+$/i,o=parseInt,a=typeof h.g=="object"&&h.g&&h.g.Object===Object&&h.g,y=typeof self=="object"&&self&&self.Object===Object&&self,d=a||y||Function("return this")(),v=Object.prototype.toString,c=Math.max,u=Math.min,b=function(){return d.Date.now()};function s(T){var A=typeof T;return!!T&&(A=="object"||A=="function")}function g(T){if(typeof T=="number")return T;if(function(N){return typeof N=="symbol"||function(x){return!!x&&typeof x=="object"}(N)&&v.call(N)=="[object Symbol]"}(T))return NaN;if(s(T)){var A=typeof T.valueOf=="function"?T.valueOf():T;T=s(A)?A+"":A}if(typeof T!="string")return T===0?T:+T;T=T.replace(m,"");var k=p.test(T);return k||l.test(T)?o(T.slice(2),k?2:8):_.test(T)?NaN:+T}i.exports=function(T,A,k){var N=!0,x=!0;if(typeof T!="function")throw new TypeError(O);return s(k)&&(N="leading"in k?!!k.leading:N,x="trailing"in k?!!k.trailing:x),function(E,w,S){var P,F,M,H,Q,C,D=0,q=!1,R=!1,j=!0;if(typeof E!="function")throw new TypeError(O);function B(J){var le=P,de=F;return P=F=void 0,D=J,H=E.apply(de,le)}function V(J){return D=J,Q=setTimeout($,w),q?B(J):H}function L(J){var le=J-C;return C===void 0||le>=w||le<0||R&&J-D>=M}function $(){var J=b();if(L(J))return Z(J);Q=setTimeout($,function(le){var de=w-(le-C);return R?u(de,M-(le-D)):de}(J))}function Z(J){return Q=void 0,j&&P?B(J):(P=F=void 0,H)}function W(){var J=b(),le=L(J);if(P=arguments,F=this,C=J,le){if(Q===void 0)return V(C);if(R)return Q=setTimeout($,w),B(C)}return Q===void 0&&(Q=setTimeout($,w)),H}return w=g(w)||0,s(S)&&(q=!!S.leading,M=(R="maxWait"in S)?c(g(S.maxWait)||0,w):M,j="trailing"in S?!!S.trailing:j),W.cancel=function(){Q!==void 0&&clearTimeout(Q),D=0,P=C=F=Q=void 0},W.flush=function(){return Q===void 0?H:Z(b())},W}(T,A,{leading:N,maxWait:A,trailing:x})}},703:(i,f,h)=>{var O=h(414);function m(){}function _(){}_.resetWarningCache=m,i.exports=function(){function p(a,y,d,v,c,u){if(u!==O){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}function l(){return p}p.isRequired=p;var o={array:p,bool:p,func:p,number:p,object:p,string:p,symbol:p,any:p,arrayOf:l,element:p,elementType:p,instanceOf:l,node:p,objectOf:l,oneOf:l,oneOfType:l,shape:l,exact:l,checkPropTypes:_,resetWarningCache:m};return o.PropTypes=o,o}},697:(i,f,h)=>{i.exports=h(703)()},414:i=>{i.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},n={};function t(i){var f=n[i];if(f!==void 0)return f.exports;var h=n[i]={exports:{}};return e[i](h,h.exports,t),h.exports}t.n=i=>{var f=i&&i.__esModule?()=>i.default:()=>i;return t.d(f,{a:f}),f},t.d=(i,f)=>{for(var h in f)t.o(f,h)&&!t.o(i,h)&&Object.defineProperty(i,h,{enumerable:!0,get:f[h]})},t.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),t.o=(i,f)=>Object.prototype.hasOwnProperty.call(i,f),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{t.r(r),t.d(r,{LazyLoadComponent:()=>Y,LazyLoadImage:()=>_e,trackWindowScroll:()=>q});const i=Kn.exports;var f=t.n(i),h=t(697);const O=Gn.exports;var m=t.n(O);function _(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function p(ne){return(p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K})(ne)}function l(ne,K){var oe=Object.keys(ne);if(Object.getOwnPropertySymbols){var ae=Object.getOwnPropertySymbols(ne);K&&(ae=ae.filter(function(Le){return Object.getOwnPropertyDescriptor(ne,Le).enumerable})),oe.push.apply(oe,ae)}return oe}function o(ne,K,oe){return K in ne?Object.defineProperty(ne,K,{value:oe,enumerable:!0,configurable:!0,writable:!0}):ne[K]=oe,ne}function a(ne,K){for(var oe=0;oe"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var re,ie=v(ae);if(Le){var fe=v(this).constructor;re=Reflect.construct(ie,arguments,fe)}else re=ie.apply(this,arguments);return d(this,re)});function we(re){var ie;if(function(ce,me){if(!(ce instanceof me))throw new TypeError("Cannot call a class as a function")}(this,we),(ie=Ge.call(this,re)).supportsObserver=!re.scrollPosition&&re.useIntersectionObserver&&_(),ie.supportsObserver){var fe=re.threshold;ie.observer=function(ce){return u[ce]=u[ce]||new IntersectionObserver(c,{rootMargin:ce+"px"}),u[ce]}(fe)}return ie}return K=we,(oe=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var re=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,ie=this.placeholder.getBoundingClientRect(),fe=m().findDOMNode(this.placeholder).style,ce={left:parseInt(fe.getPropertyValue("margin-left"),10)||0,top:parseInt(fe.getPropertyValue("margin-top"),10)||0};return{bottom:re.y+ie.bottom+ce.top,left:re.x+ie.left+ce.left,right:re.x+ie.right+ce.left,top:re.y+ie.top+ce.top}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var re=this.props,ie=re.scrollPosition,fe=re.threshold,ce=this.getPlaceholderBoundingBox(ie),me=ie.y+window.innerHeight,be=ie.x,Ae=ie.x+window.innerWidth,Te=ie.y;return Boolean(Te-fe<=ce.bottom&&me+fe>=ce.top&&be-fe<=ce.right&&Ae+fe>=ce.left)}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var re=this,ie=this.props,fe=ie.className,ce=ie.height,me=ie.placeholder,be=ie.style,Ae=ie.width;if(me&&typeof me.type!="function")return f().cloneElement(me,{ref:function(Ee){return re.placeholder=Ee}});var Te=function(Ee){for(var Fe=1;Fe"u"?0:window.scrollX||window.pageXOffset},D=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};const q=function(ne){var K=function(oe){(function(fe,ce){if(typeof ce!="function"&&ce!==null)throw new TypeError("Super expression must either be null or a function");fe.prototype=Object.create(ce&&ce.prototype,{constructor:{value:fe,writable:!0,configurable:!0}}),ce&&F(fe,ce)})(ie,oe);var ae,Le,Ge,we,re=(Ge=ie,we=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var fe,ce=Q(Ge);if(we){var me=Q(this).constructor;fe=Reflect.construct(ce,arguments,me)}else fe=ce.apply(this,arguments);return M(this,fe)});function ie(fe){var ce;if(function(be,Ae){if(!(be instanceof Ae))throw new TypeError("Cannot call a class as a function")}(this,ie),(ce=re.call(this,fe)).useIntersectionObserver=fe.useIntersectionObserver&&_(),ce.useIntersectionObserver)return M(ce);var me=ce.onChangeScroll.bind(H(ce));return fe.delayMethod==="debounce"?ce.delayedScroll=T()(me,fe.delayTime):fe.delayMethod==="throttle"&&(ce.delayedScroll=k()(me,fe.delayTime)),ce.state={scrollPosition:{x:C(),y:D()}},ce.baseComponentRef=f().createRef(),ce}return ae=ie,(Le=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||x(m().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=x(m().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:C(),y:D()}})}},{key:"render",value:function(){var fe=this.props,ce=(fe.delayMethod,fe.delayTime,function(be,Ae){if(be==null)return{};var Te,Ee,Fe=function(je,ut){if(je==null)return{};var rt,Nt,Hr={},zr=Object.keys(je);for(Nt=0;Nt=0||(Hr[rt]=je[rt]);return Hr}(be,Ae);if(Object.getOwnPropertySymbols){var Ne=Object.getOwnPropertySymbols(be);for(Ee=0;Ee=0||Object.prototype.propertyIsEnumerable.call(be,Te)&&(Fe[Te]=be[Te])}return Fe}(fe,w)),me=this.useIntersectionObserver?null:this.state.scrollPosition;return f().createElement(ne,S({forwardRef:this.baseComponentRef,scrollPosition:me},ce))}}])&&P(ae.prototype,Le),ie}(f().Component);return K.propTypes={delayMethod:h.PropTypes.oneOf(["debounce","throttle"]),delayTime:h.PropTypes.number,useIntersectionObserver:h.PropTypes.bool},K.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},K};function R(ne){return(R=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K})(ne)}function j(ne,K){for(var oe=0;oe"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var re,ie=L(ae);if(Le){var fe=L(this).constructor;re=Reflect.construct(ie,arguments,fe)}else re=ie.apply(this,arguments);return V(this,re)});function we(re){return function(ie,fe){if(!(ie instanceof fe))throw new TypeError("Cannot call a class as a function")}(this,we),Ge.call(this,re)}return K=we,(oe=[{key:"render",value:function(){return f().createElement(s,this.props)}}])&&j(K.prototype,oe),we}(f().Component);const Z=q($);function W(ne){return(W=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K})(ne)}function J(ne,K){for(var oe=0;oe"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var re,ie=ve(ae);if(Le){var fe=ve(this).constructor;re=Reflect.construct(ie,arguments,fe)}else re=ie.apply(this,arguments);return de(this,re)});function we(re){var ie;(function(Ae,Te){if(!(Ae instanceof Te))throw new TypeError("Cannot call a class as a function")})(this,we),ie=Ge.call(this,re);var fe=re.afterLoad,ce=re.beforeLoad,me=re.scrollPosition,be=re.visibleByDefault;return ie.state={visible:be},be&&(ce(),fe()),ie.onVisible=ie.onVisible.bind(pe(ie)),ie.isScrollTracked=Boolean(me&&Number.isFinite(me.x)&&me.x>=0&&Number.isFinite(me.y)&&me.y>=0),ie}return K=we,(oe=[{key:"componentDidUpdate",value:function(re,ie){ie.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var re=this.props,ie=re.className,fe=re.delayMethod,ce=re.delayTime,me=re.height,be=re.placeholder,Ae=re.scrollPosition,Te=re.style,Ee=re.threshold,Fe=re.useIntersectionObserver,Ne=re.width;return this.isScrollTracked||Fe&&_()?f().createElement(s,{className:ie,height:me,onVisible:this.onVisible,placeholder:be,scrollPosition:Ae,style:Te,threshold:Ee,useIntersectionObserver:Fe,width:Ne}):f().createElement(Z,{className:ie,delayMethod:fe,delayTime:ce,height:me,onVisible:this.onVisible,placeholder:be,style:Te,threshold:Ee,width:Ne})}}])&&J(K.prototype,oe),we}(f().Component);I.propTypes={afterLoad:h.PropTypes.func,beforeLoad:h.PropTypes.func,useIntersectionObserver:h.PropTypes.bool,visibleByDefault:h.PropTypes.bool},I.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};const Y=I;function X(ne){return(X=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K})(ne)}var z=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function U(ne,K){var oe=Object.keys(ne);if(Object.getOwnPropertySymbols){var ae=Object.getOwnPropertySymbols(ne);K&&(ae=ae.filter(function(Le){return Object.getOwnPropertyDescriptor(ne,Le).enumerable})),oe.push.apply(oe,ae)}return oe}function G(ne){for(var K=1;K"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var re,ie=qe(ae);if(Le){var fe=qe(this).constructor;re=Reflect.construct(ie,arguments,fe)}else re=ie.apply(this,arguments);return ye(this,re)});function we(re){var ie;return function(fe,ce){if(!(fe instanceof ce))throw new TypeError("Cannot call a class as a function")}(this,we),(ie=Ge.call(this,re)).state={loaded:!1},ie}return K=we,(oe=[{key:"onImageLoad",value:function(){var re=this;return this.state.loaded?null:function(){re.props.afterLoad(),re.setState({loaded:!0})}}},{key:"getImg",value:function(){var re=this.props,ie=(re.afterLoad,re.beforeLoad,re.delayMethod,re.delayTime,re.effect,re.placeholder,re.placeholderSrc,re.scrollPosition,re.threshold,re.useIntersectionObserver,re.visibleByDefault,re.wrapperClassName,re.wrapperProps,function(fe,ce){if(fe==null)return{};var me,be,Ae=function(Ee,Fe){if(Ee==null)return{};var Ne,je,ut={},rt=Object.keys(Ee);for(je=0;je=0||(ut[Ne]=Ee[Ne]);return ut}(fe,ce);if(Object.getOwnPropertySymbols){var Te=Object.getOwnPropertySymbols(fe);for(be=0;be=0||Object.prototype.propertyIsEnumerable.call(fe,me)&&(Ae[me]=fe[me])}return Ae}(re,z));return f().createElement("img",ee({onLoad:this.onImageLoad()},ie))}},{key:"getLazyLoadImage",value:function(){var re=this.props,ie=re.beforeLoad,fe=re.className,ce=re.delayMethod,me=re.delayTime,be=re.height,Ae=re.placeholder,Te=re.scrollPosition,Ee=re.style,Fe=re.threshold,Ne=re.useIntersectionObserver,je=re.visibleByDefault,ut=re.width;return f().createElement(Y,{beforeLoad:ie,className:fe,delayMethod:ce,delayTime:me,height:be,placeholder:Ae,scrollPosition:Te,style:Ee,threshold:Fe,useIntersectionObserver:Ne,visibleByDefault:je,width:ut},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(re){var ie=this.props,fe=ie.effect,ce=ie.height,me=ie.placeholderSrc,be=ie.width,Ae=ie.wrapperClassName,Te=ie.wrapperProps,Ee=this.state.loaded,Fe=Ee?" lazy-load-image-loaded":"",Ne=Ee||!me?{}:{backgroundImage:"url(".concat(me,")"),backgroundSize:"100% 100%"};return f().createElement("span",ee({className:Ae+" lazy-load-image-background "+fe+Fe,style:G(G({},Ne),{},{color:"transparent",display:"inline-block",height:ce,width:be})},Te),re)}},{key:"render",value:function(){var re=this.props,ie=re.effect,fe=re.placeholderSrc,ce=re.visibleByDefault,me=re.wrapperClassName,be=re.wrapperProps,Ae=this.getLazyLoadImage();return(ie||fe)&&!ce||me||be?this.getWrappedLazyLoadImage(Ae):Ae}}])&&ue(K.prototype,oe),we}(f().Component);Re.propTypes={afterLoad:h.PropTypes.func,beforeLoad:h.PropTypes.func,delayMethod:h.PropTypes.string,delayTime:h.PropTypes.number,effect:h.PropTypes.string,placeholderSrc:h.PropTypes.string,threshold:h.PropTypes.number,useIntersectionObserver:h.PropTypes.bool,visibleByDefault:h.PropTypes.bool,wrapperClassName:h.PropTypes.string,wrapperProps:h.PropTypes.object},Re.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};const _e=Re})()})();at("div")(({theme:e})=>({width:144,height:144,margin:"auto",borderRadius:"50%",padding:e.spacing(1),border:`1px dashed ${e.palette.grey[50032]}`}));at("div")({zIndex:0,width:"100%",height:"100%",outline:"none",display:"flex",overflow:"hidden",borderRadius:"50%",position:"relative",alignItems:"center",justifyContent:"center","& > *":{width:"100%",height:"100%"},"&:hover":{cursor:"pointer","& .placeholder":{zIndex:9}}});at("div")(({theme:e})=>({display:"flex",position:"absolute",alignItems:"center",flexDirection:"column",justifyContent:"center",color:e.palette.text.secondary,backgroundColor:e.palette.background.neutral,transition:e.transitions.create("opacity",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.shorter}),"&:hover":{opacity:.72}}));at("div")(({theme:e})=>({outline:"none",padding:e.spacing(5,1),borderRadius:e.shape.borderRadius,backgroundColor:e.palette.background.neutral,border:`1px dashed ${e.palette.grey[50032]}`,"&:hover":{opacity:.72,cursor:"pointer"}}));at("div")(({theme:e})=>({outline:"none",overflow:"hidden",position:"relative",padding:e.spacing(5,1),borderRadius:e.shape.borderRadius,transition:e.transitions.create("padding"),backgroundColor:e.palette.background.neutral,border:`1px dashed ${e.palette.grey[50032]}`,"&:hover":{opacity:.72,cursor:"pointer"}}));function Mg({children:e,onSubmit:n,methods:t,encType:r}){return ge(rg,{...t,children:ge("form",{onSubmit:n,encType:r,children:e})})}var mg=Dr;function bg(e,n){return mg(e,n)}var _g=bg,ho={exports:{}};/*! - * Quill Editor v1.3.7 - * https://quilljs.com/ - * Copyright (c) 2014, Jason Chen - * Copyright (c) 2013, salesforce.com - */(function(e,n){(function(r,i){e.exports=i()})(typeof self<"u"?self:Me,function(){return function(t){var r={};function i(f){if(r[f])return r[f].exports;var h=r[f]={i:f,l:!1,exports:{}};return t[f].call(h.exports,h,h.exports,i),h.l=!0,h.exports}return i.m=t,i.c=r,i.d=function(f,h,O){i.o(f,h)||Object.defineProperty(f,h,{configurable:!1,enumerable:!0,get:O})},i.n=function(f){var h=f&&f.__esModule?function(){return f.default}:function(){return f};return i.d(h,"a",h),h},i.o=function(f,h){return Object.prototype.hasOwnProperty.call(f,h)},i.p="",i(i.s=109)}([function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(17),h=i(18),O=i(19),m=i(45),_=i(46),p=i(47),l=i(48),o=i(49),a=i(12),y=i(32),d=i(33),v=i(31),c=i(1),u={Scope:c.Scope,create:c.create,find:c.find,query:c.query,register:c.register,Container:f.default,Format:h.default,Leaf:O.default,Embed:l.default,Scroll:m.default,Block:p.default,Inline:_.default,Text:o.default,Attributor:{Attribute:a.default,Class:y.default,Style:d.default,Store:v.default}};r.default=u},function(t,r,i){var f=this&&this.__extends||function(){var v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,u){c.__proto__=u}||function(c,u){for(var b in u)u.hasOwnProperty(b)&&(c[b]=u[b])};return function(c,u){v(c,u);function b(){this.constructor=c}c.prototype=u===null?Object.create(u):(b.prototype=u.prototype,new b)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=function(v){f(c,v);function c(u){var b=this;return u="[Parchment] "+u,b=v.call(this,u)||this,b.message=u,b.name=b.constructor.name,b}return c}(Error);r.ParchmentError=h;var O={},m={},_={},p={};r.DATA_KEY="__blot";var l;(function(v){v[v.TYPE=3]="TYPE",v[v.LEVEL=12]="LEVEL",v[v.ATTRIBUTE=13]="ATTRIBUTE",v[v.BLOT=14]="BLOT",v[v.INLINE=7]="INLINE",v[v.BLOCK=11]="BLOCK",v[v.BLOCK_BLOT=10]="BLOCK_BLOT",v[v.INLINE_BLOT=6]="INLINE_BLOT",v[v.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",v[v.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",v[v.ANY=15]="ANY"})(l=r.Scope||(r.Scope={}));function o(v,c){var u=y(v);if(u==null)throw new h("Unable to create "+v+" blot");var b=u,s=v instanceof Node||v.nodeType===Node.TEXT_NODE?v:b.create(c);return new b(s,c)}r.create=o;function a(v,c){return c===void 0&&(c=!1),v==null?null:v[r.DATA_KEY]!=null?v[r.DATA_KEY].blot:c?a(v.parentNode,c):null}r.find=a;function y(v,c){c===void 0&&(c=l.ANY);var u;if(typeof v=="string")u=p[v]||O[v];else if(v instanceof Text||v.nodeType===Node.TEXT_NODE)u=p.text;else if(typeof v=="number")v&l.LEVEL&l.BLOCK?u=p.block:v&l.LEVEL&l.INLINE&&(u=p.inline);else if(v instanceof HTMLElement){var b=(v.getAttribute("class")||"").split(/\s+/);for(var s in b)if(u=m[b[s]],u)break;u=u||_[v.tagName]}return u==null?null:c&l.LEVEL&u.scope&&c&l.TYPE&u.scope?u:null}r.query=y;function d(){for(var v=[],c=0;c1)return v.map(function(s){return d(s)});var u=v[0];if(typeof u.blotName!="string"&&typeof u.attrName!="string")throw new h("Invalid definition");if(u.blotName==="abstract")throw new h("Cannot register abstract class");if(p[u.blotName||u.attrName]=u,typeof u.keyName=="string")O[u.keyName]=u;else if(u.className!=null&&(m[u.className]=u),u.tagName!=null){Array.isArray(u.tagName)?u.tagName=u.tagName.map(function(s){return s.toUpperCase()}):u.tagName=u.tagName.toUpperCase();var b=Array.isArray(u.tagName)?u.tagName:[u.tagName];b.forEach(function(s){(_[s]==null||u.className==null)&&(_[s]=u)})}return u}r.register=d},function(t,r,i){var f=i(51),h=i(11),O=i(3),m=i(20),_=String.fromCharCode(0),p=function(l){Array.isArray(l)?this.ops=l:l!=null&&Array.isArray(l.ops)?this.ops=l.ops:this.ops=[]};p.prototype.insert=function(l,o){var a={};return l.length===0?this:(a.insert=l,o!=null&&typeof o=="object"&&Object.keys(o).length>0&&(a.attributes=o),this.push(a))},p.prototype.delete=function(l){return l<=0?this:this.push({delete:l})},p.prototype.retain=function(l,o){if(l<=0)return this;var a={retain:l};return o!=null&&typeof o=="object"&&Object.keys(o).length>0&&(a.attributes=o),this.push(a)},p.prototype.push=function(l){var o=this.ops.length,a=this.ops[o-1];if(l=O(!0,{},l),typeof a=="object"){if(typeof l.delete=="number"&&typeof a.delete=="number")return this.ops[o-1]={delete:a.delete+l.delete},this;if(typeof a.delete=="number"&&l.insert!=null&&(o-=1,a=this.ops[o-1],typeof a!="object"))return this.ops.unshift(l),this;if(h(l.attributes,a.attributes)){if(typeof l.insert=="string"&&typeof a.insert=="string")return this.ops[o-1]={insert:a.insert+l.insert},typeof l.attributes=="object"&&(this.ops[o-1].attributes=l.attributes),this;if(typeof l.retain=="number"&&typeof a.retain=="number")return this.ops[o-1]={retain:a.retain+l.retain},typeof l.attributes=="object"&&(this.ops[o-1].attributes=l.attributes),this}}return o===this.ops.length?this.ops.push(l):this.ops.splice(o,0,l),this},p.prototype.chop=function(){var l=this.ops[this.ops.length-1];return l&&l.retain&&!l.attributes&&this.ops.pop(),this},p.prototype.filter=function(l){return this.ops.filter(l)},p.prototype.forEach=function(l){this.ops.forEach(l)},p.prototype.map=function(l){return this.ops.map(l)},p.prototype.partition=function(l){var o=[],a=[];return this.forEach(function(y){var d=l(y)?o:a;d.push(y)}),[o,a]},p.prototype.reduce=function(l,o){return this.ops.reduce(l,o)},p.prototype.changeLength=function(){return this.reduce(function(l,o){return o.insert?l+m.length(o):o.delete?l-o.delete:l},0)},p.prototype.length=function(){return this.reduce(function(l,o){return l+m.length(o)},0)},p.prototype.slice=function(l,o){l=l||0,typeof o!="number"&&(o=1/0);for(var a=[],y=m.iterator(this.ops),d=0;d0&&a.next(d.retain-v)}for(var c=new p(y);o.hasNext()||a.hasNext();)if(a.peekType()==="insert")c.push(a.next());else if(o.peekType()==="delete")c.push(o.next());else{var u=Math.min(o.peekLength(),a.peekLength()),b=o.next(u),s=a.next(u);if(typeof s.retain=="number"){var g={};typeof b.retain=="number"?g.retain=u:g.insert=b.insert;var T=m.attributes.compose(b.attributes,s.attributes,typeof b.retain=="number");if(T&&(g.attributes=T),c.push(g),!a.hasNext()&&h(c.ops[c.ops.length-1],g)){var A=new p(o.rest());return c.concat(A).chop()}}else typeof s.delete=="number"&&typeof b.retain=="number"&&c.push(s)}return c.chop()},p.prototype.concat=function(l){var o=new p(this.ops.slice());return l.ops.length>0&&(o.push(l.ops[0]),o.ops=o.ops.concat(l.ops.slice(1))),o},p.prototype.diff=function(l,o){if(this.ops===l.ops)return new p;var a=[this,l].map(function(u){return u.map(function(b){if(b.insert!=null)return typeof b.insert=="string"?b.insert:_;var s=u===l?"on":"with";throw new Error("diff() called "+s+" non-document")}).join("")}),y=new p,d=f(a[0],a[1],o),v=m.iterator(this.ops),c=m.iterator(l.ops);return d.forEach(function(u){for(var b=u[1].length;b>0;){var s=0;switch(u[0]){case f.INSERT:s=Math.min(c.peekLength(),b),y.push(c.next(s));break;case f.DELETE:s=Math.min(b,v.peekLength()),v.next(s),y.delete(s);break;case f.EQUAL:s=Math.min(v.peekLength(),c.peekLength(),b);var g=v.next(s),T=c.next(s);h(g.insert,T.insert)?y.retain(s,m.attributes.diff(g.attributes,T.attributes)):y.push(T).delete(s);break}b-=s}}),y.chop()},p.prototype.eachLine=function(l,o){o=o||` -`;for(var a=m.iterator(this.ops),y=new p,d=0;a.hasNext();){if(a.peekType()!=="insert")return;var v=a.peek(),c=m.length(v)-a.peekLength(),u=typeof v.insert=="string"?v.insert.indexOf(o,c)-c:-1;if(u<0)y.push(a.next());else if(u>0)y.push(a.next(u));else{if(l(y,a.next(1).attributes||{},d)===!1)return;d+=1,y=new p}}y.length()>0&&l(y,{},d)},p.prototype.transform=function(l,o){if(o=!!o,typeof l=="number")return this.transformPosition(l,o);for(var a=m.iterator(this.ops),y=m.iterator(l.ops),d=new p;a.hasNext()||y.hasNext();)if(a.peekType()==="insert"&&(o||y.peekType()!=="insert"))d.retain(m.length(a.next()));else if(y.peekType()==="insert")d.push(y.next());else{var v=Math.min(a.peekLength(),y.peekLength()),c=a.next(v),u=y.next(v);if(c.delete)continue;u.delete?d.push(u):d.retain(v,m.attributes.transform(c.attributes,u.attributes,o))}return d.chop()},p.prototype.transformPosition=function(l,o){o=!!o;for(var a=m.iterator(this.ops),y=0;a.hasNext()&&y<=l;){var d=a.peekLength(),v=a.peekType();if(a.next(),v==="delete"){l-=Math.min(d,l-y);continue}else v==="insert"&&(y"u"||i.call(a,v)},p=function(a,y){h&&y.name==="__proto__"?h(a,y.name,{enumerable:!0,configurable:!0,value:y.newValue,writable:!0}):a[y.name]=y.newValue},l=function(a,y){if(y==="__proto__")if(i.call(a,y)){if(O)return O(a,y).value}else return;return a[y]};t.exports=function o(){var a,y,d,v,c,u,b=arguments[0],s=1,g=arguments.length,T=!1;for(typeof b=="boolean"&&(T=b,b=arguments[1]||{},s=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});s0&&(P1&&arguments[1]!==void 0?arguments[1]:!1;if(F&&(P===0||P>=this.length()-A)){var M=this.clone();return P===0?(this.parent.insertBefore(M,this),this):(this.parent.insertBefore(M,this.next),M)}else{var H=h(w.prototype.__proto__||Object.getPrototypeOf(w.prototype),"split",this).call(this,P,F);return this.cache={},H}}}]),w}(o.default.Block);N.blotName="block",N.tagName="P",N.defaultChild="break",N.allowedChildren=[v.default,o.default.Embed,u.default];function x(E){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return E==null||(typeof E.formats=="function"&&(w=(0,m.default)(w,E.formats())),E.parent==null||E.parent.blotName=="scroll"||E.parent.statics.scope!==E.statics.scope)?w:x(E.parent,w)}r.bubbleFormats=x,r.BlockEmbed=k,r.default=N},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.overload=r.expandConfig=void 0;var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},h=function(){function C(D,q){var R=[],j=!0,B=!1,V=void 0;try{for(var L=D[Symbol.iterator](),$;!(j=($=L.next()).done)&&(R.push($.value),!(q&&R.length===q));j=!0);}catch(Z){B=!0,V=Z}finally{try{!j&&L.return&&L.return()}finally{if(B)throw V}}return R}return function(D,q){if(Array.isArray(D))return D;if(Symbol.iterator in Object(D))return C(D,q);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),O=function(){function C(D,q){for(var R=0;R2&&arguments[2]!==void 0?arguments[2]:!1;if(typeof q!="string"){var V=q.attrName||q.blotName;typeof V=="string"?this.register("formats/"+V,q,R):Object.keys(q).forEach(function(L){j.register(L,q[L],R)})}else this.imports[q]!=null&&!B&&S.warn("Overwriting "+q+" with",R),this.imports[q]=R,(q.startsWith("blots/")||q.startsWith("formats/"))&&R.blotName!=="abstract"?c.default.register(R):q.startsWith("modules")&&typeof R.register=="function"&&R.register()}}]);function C(D){var q=this,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(w(this,C),this.options=F(D,R),this.container=this.options.container,this.container==null)return S.error("Invalid Quill container",D);this.options.debug&&C.debug(this.options.debug);var j=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",this.container.__quill=this,this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.root.setAttribute("data-gramm",!1),this.scrollingContainer=this.options.scrollingContainer||this.root,this.emitter=new a.default,this.scroll=c.default.create(this.root,{emitter:this.emitter,whitelist:this.options.formats}),this.editor=new l.default(this.scroll),this.selection=new b.default(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.theme.init(),this.emitter.on(a.default.events.EDITOR_CHANGE,function(V){V===a.default.events.TEXT_CHANGE&&q.root.classList.toggle("ql-blank",q.editor.isBlank())}),this.emitter.on(a.default.events.SCROLL_UPDATE,function(V,L){var $=q.selection.lastRange,Z=$&&$.length===0?$.index:void 0;M.call(q,function(){return q.editor.update(null,L,Z)},V)});var B=this.clipboard.convert(`
`+j+"


");this.setContents(B),this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable()}return O(C,[{key:"addContainer",value:function(q){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(typeof q=="string"){var j=q;q=document.createElement("div"),q.classList.add(j)}return this.container.insertBefore(q,R),q}},{key:"blur",value:function(){this.selection.setRange(null)}},{key:"deleteText",value:function(q,R,j){var B=this,V=H(q,R,j),L=h(V,4);return q=L[0],R=L[1],j=L[3],M.call(this,function(){return B.editor.deleteText(q,R)},j,q,-1*R)}},{key:"disable",value:function(){this.enable(!1)}},{key:"enable",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.scroll.enable(q),this.container.classList.toggle("ql-disabled",!q)}},{key:"focus",value:function(){var q=this.scrollingContainer.scrollTop;this.selection.focus(),this.scrollingContainer.scrollTop=q,this.scrollIntoView()}},{key:"format",value:function(q,R){var j=this,B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:a.default.sources.API;return M.call(this,function(){var V=j.getSelection(!0),L=new _.default;if(V==null)return L;if(c.default.query(q,c.default.Scope.BLOCK))L=j.editor.formatLine(V.index,V.length,E({},q,R));else{if(V.length===0)return j.selection.format(q,R),L;L=j.editor.formatText(V.index,V.length,E({},q,R))}return j.setSelection(V,a.default.sources.SILENT),L},B)}},{key:"formatLine",value:function(q,R,j,B,V){var L=this,$=void 0,Z=H(q,R,j,B,V),W=h(Z,4);return q=W[0],R=W[1],$=W[2],V=W[3],M.call(this,function(){return L.editor.formatLine(q,R,$)},V,q,0)}},{key:"formatText",value:function(q,R,j,B,V){var L=this,$=void 0,Z=H(q,R,j,B,V),W=h(Z,4);return q=W[0],R=W[1],$=W[2],V=W[3],M.call(this,function(){return L.editor.formatText(q,R,$)},V,q,0)}},{key:"getBounds",value:function(q){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,j=void 0;typeof q=="number"?j=this.selection.getBounds(q,R):j=this.selection.getBounds(q.index,q.length);var B=this.container.getBoundingClientRect();return{bottom:j.bottom-B.top,height:j.height,left:j.left-B.left,right:j.right-B.left,top:j.top-B.top,width:j.width}}},{key:"getContents",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-q,j=H(q,R),B=h(j,2);return q=B[0],R=B[1],this.editor.getContents(q,R)}},{key:"getFormat",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.getSelection(!0),R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return typeof q=="number"?this.editor.getFormat(q,R):this.editor.getFormat(q.index,q.length)}},{key:"getIndex",value:function(q){return q.offset(this.scroll)}},{key:"getLength",value:function(){return this.scroll.length()}},{key:"getLeaf",value:function(q){return this.scroll.leaf(q)}},{key:"getLine",value:function(q){return this.scroll.line(q)}},{key:"getLines",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE;return typeof q!="number"?this.scroll.lines(q.index,q.length):this.scroll.lines(q,R)}},{key:"getModule",value:function(q){return this.theme.modules[q]}},{key:"getSelection",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return q&&this.focus(),this.update(),this.selection.getRange()[0]}},{key:"getText",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.getLength()-q,j=H(q,R),B=h(j,2);return q=B[0],R=B[1],this.editor.getText(q,R)}},{key:"hasFocus",value:function(){return this.selection.hasFocus()}},{key:"insertEmbed",value:function(q,R,j){var B=this,V=arguments.length>3&&arguments[3]!==void 0?arguments[3]:C.sources.API;return M.call(this,function(){return B.editor.insertEmbed(q,R,j)},V,q)}},{key:"insertText",value:function(q,R,j,B,V){var L=this,$=void 0,Z=H(q,0,j,B,V),W=h(Z,4);return q=W[0],$=W[2],V=W[3],M.call(this,function(){return L.editor.insertText(q,R,$)},V,q,R.length)}},{key:"isEnabled",value:function(){return!this.container.classList.contains("ql-disabled")}},{key:"off",value:function(){return this.emitter.off.apply(this.emitter,arguments)}},{key:"on",value:function(){return this.emitter.on.apply(this.emitter,arguments)}},{key:"once",value:function(){return this.emitter.once.apply(this.emitter,arguments)}},{key:"pasteHTML",value:function(q,R,j){this.clipboard.dangerouslyPasteHTML(q,R,j)}},{key:"removeFormat",value:function(q,R,j){var B=this,V=H(q,R,j),L=h(V,4);return q=L[0],R=L[1],j=L[3],M.call(this,function(){return B.editor.removeFormat(q,R)},j,q)}},{key:"scrollIntoView",value:function(){this.selection.scrollIntoView(this.scrollingContainer)}},{key:"setContents",value:function(q){var R=this,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a.default.sources.API;return M.call(this,function(){q=new _.default(q);var B=R.getLength(),V=R.editor.deleteText(0,B),L=R.editor.applyDelta(q),$=L.ops[L.ops.length-1];$!=null&&typeof $.insert=="string"&&$.insert[$.insert.length-1]===` -`&&(R.editor.deleteText(R.getLength()-1,1),L.delete(1));var Z=V.compose(L);return Z},j)}},{key:"setSelection",value:function(q,R,j){if(q==null)this.selection.setRange(null,R||C.sources.API);else{var B=H(q,R,j),V=h(B,4);q=V[0],R=V[1],j=V[3],this.selection.setRange(new u.Range(q,R),j),j!==a.default.sources.SILENT&&this.selection.scrollIntoView(this.scrollingContainer)}}},{key:"setText",value:function(q){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a.default.sources.API,j=new _.default().insert(q);return this.setContents(j,R)}},{key:"update",value:function(){var q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a.default.sources.USER,R=this.scroll.update(q);return this.selection.update(q),R}},{key:"updateContents",value:function(q){var R=this,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:a.default.sources.API;return M.call(this,function(){return q=new _.default(q),R.editor.applyDelta(q,j)},j,!0)}}]),C}();P.DEFAULTS={bounds:null,formats:null,modules:{},placeholder:"",readOnly:!1,scrollingContainer:null,strict:!0,theme:"default"},P.events=a.default.events,P.sources=a.default.sources,P.version="1.3.7",P.imports={delta:_.default,parchment:c.default,"core/module":d.default,"core/theme":N.default};function F(C,D){if(D=(0,g.default)(!0,{container:C,modules:{clipboard:!0,keyboard:!0,history:!0}},D),!D.theme||D.theme===P.DEFAULTS.theme)D.theme=N.default;else if(D.theme=P.import("themes/"+D.theme),D.theme==null)throw new Error("Invalid theme "+D.theme+". Did you register it?");var q=(0,g.default)(!0,{},D.theme.DEFAULTS);[q,D].forEach(function(B){B.modules=B.modules||{},Object.keys(B.modules).forEach(function(V){B.modules[V]===!0&&(B.modules[V]={})})});var R=Object.keys(q.modules).concat(Object.keys(D.modules)),j=R.reduce(function(B,V){var L=P.import("modules/"+V);return L==null?S.error("Cannot load "+V+" module. Are you sure you registered it?"):B[V]=L.DEFAULTS||{},B},{});return D.modules!=null&&D.modules.toolbar&&D.modules.toolbar.constructor!==Object&&(D.modules.toolbar={container:D.modules.toolbar}),D=(0,g.default)(!0,{},P.DEFAULTS,{modules:j},q,D),["bounds","container","scrollingContainer"].forEach(function(B){typeof D[B]=="string"&&(D[B]=document.querySelector(D[B]))}),D.modules=Object.keys(D.modules).reduce(function(B,V){return D.modules[V]&&(B[V]=D.modules[V]),B},{}),D}function M(C,D,q,R){if(this.options.strict&&!this.isEnabled()&&D===a.default.sources.USER)return new _.default;var j=q==null?null:this.getSelection(),B=this.editor.delta,V=C();if(j!=null&&(q===!0&&(q=j.index),R==null?j=Q(j,V,D):R!==0&&(j=Q(j,q,R,D)),this.setSelection(j,a.default.sources.SILENT)),V.length()>0){var L,$=[a.default.events.TEXT_CHANGE,V,B,D];if((L=this.emitter).emit.apply(L,[a.default.events.EDITOR_CHANGE].concat($)),D!==a.default.sources.SILENT){var Z;(Z=this.emitter).emit.apply(Z,$)}}return V}function H(C,D,q,R,j){var B={};return typeof C.index=="number"&&typeof C.length=="number"?typeof D!="number"?(j=R,R=q,q=D,D=C.length,C=C.index):(D=C.length,C=C.index):typeof D!="number"&&(j=R,R=q,q=D,D=0),(typeof q>"u"?"undefined":f(q))==="object"?(B=q,j=R):typeof q=="string"&&(R!=null?B[q]=R:j=q),j=j||a.default.sources.API,[C,D,B,j]}function Q(C,D,q,R){if(C==null)return null;var j=void 0,B=void 0;if(D instanceof _.default){var V=[C.index,C.index+C.length].map(function(W){return D.transformPosition(W,R!==a.default.sources.USER)}),L=h(V,2);j=L[0],B=L[1]}else{var $=[C.index,C.index+C.length].map(function(W){return W=0?W+q:Math.max(D,W+q)}),Z=h($,2);j=Z[0],B=Z[1]}return new u.Range(j,B-j)}r.expandConfig=F,r.overload=H,r.default=P},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function v(c,u){for(var b=0;b0){var s=this.parent.isolate(this.offset(),this.length());this.moveChildren(s),s.wrap(this)}}}],[{key:"compare",value:function(b,s){var g=c.order.indexOf(b),T=c.order.indexOf(s);return g>=0||T>=0?g-T:b===s?0:b1?T-1:0),k=1;k1&&arguments[1]!==void 0?arguments[1]:{};f(this,O),this.quill=m,this.options=_};h.DEFAULTS={},r.default=h},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=["error","warn","log","info"],h="warn";function O(_){if(f.indexOf(_)<=f.indexOf(h)){for(var p,l=arguments.length,o=Array(l>1?l-1:0),a=1;a0&&typeof o[0]!="number")}function l(o,a,y){var d,v;if(_(o)||_(a)||o.prototype!==a.prototype)return!1;if(O(o))return O(a)?(o=f.call(o),a=f.call(a),m(o,a,y)):!1;if(p(o)){if(!p(a)||o.length!==a.length)return!1;for(d=0;d=0;d--)if(c[d]!=u[d])return!1;for(d=c.length-1;d>=0;d--)if(v=c[d],!m(o[v],a[v],y))return!1;return typeof o==typeof a}},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(1),h=function(){function O(m,_,p){p===void 0&&(p={}),this.attrName=m,this.keyName=_;var l=f.Scope.TYPE&f.Scope.ATTRIBUTE;p.scope!=null?this.scope=p.scope&f.Scope.LEVEL|l:this.scope=f.Scope.ATTRIBUTE,p.whitelist!=null&&(this.whitelist=p.whitelist)}return O.keys=function(m){return[].map.call(m.attributes,function(_){return _.name})},O.prototype.add=function(m,_){return this.canAdd(m,_)?(m.setAttribute(this.keyName,_),!0):!1},O.prototype.canAdd=function(m,_){var p=f.query(m,f.Scope.BLOT&(this.scope|f.Scope.TYPE));return p==null?!1:this.whitelist==null?!0:typeof _=="string"?this.whitelist.indexOf(_.replace(/["']/g,""))>-1:this.whitelist.indexOf(_)>-1},O.prototype.remove=function(m){m.removeAttribute(this.keyName)},O.prototype.value=function(m){var _=m.getAttribute(this.keyName);return this.canAdd(m,_)&&_?_:""},O}();r.default=h},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.Code=void 0;var f=function(){function k(N,x){var E=[],w=!0,S=!1,P=void 0;try{for(var F=N[Symbol.iterator](),M;!(w=(M=F.next()).done)&&(E.push(M.value),!(x&&E.length===x));w=!0);}catch(H){S=!0,P=H}finally{try{!w&&F.return&&F.return()}finally{if(S)throw P}}return E}return function(N,x){if(Array.isArray(N))return N;if(Symbol.iterator in Object(N))return k(N,x);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function k(N,x){for(var E=0;E=E+w)){var M=this.newlineIndex(E,!0)+1,H=F-M+1,Q=this.isolate(M,H),C=Q.next;Q.format(S,P),C instanceof N&&C.formatAt(0,E-M+w-H,S,P)}}}},{key:"insertAt",value:function(E,w,S){if(S==null){var P=this.descendant(c.default,E),F=f(P,2),M=F[0],H=F[1];M.insertAt(H,w)}}},{key:"length",value:function(){var E=this.domNode.textContent.length;return this.domNode.textContent.endsWith(` -`)?E:E+1}},{key:"newlineIndex",value:function(E){var w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(w)return this.domNode.textContent.slice(0,E).lastIndexOf(` -`);var S=this.domNode.textContent.slice(E).indexOf(` -`);return S>-1?E+S:-1}},{key:"optimize",value:function(E){this.domNode.textContent.endsWith(` -`)||this.appendChild(l.default.create("text",` -`)),O(N.prototype.__proto__||Object.getPrototypeOf(N.prototype),"optimize",this).call(this,E);var w=this.next;w!=null&&w.prev===this&&w.statics.blotName===this.statics.blotName&&this.statics.formats(this.domNode)===w.statics.formats(w.domNode)&&(w.optimize(E),w.moveChildren(this),w.remove())}},{key:"replace",value:function(E){O(N.prototype.__proto__||Object.getPrototypeOf(N.prototype),"replace",this).call(this,E),[].slice.call(this.domNode.querySelectorAll("*")).forEach(function(w){var S=l.default.find(w);S==null?w.parentNode.removeChild(w):S instanceof l.default.Embed?S.remove():S.unwrap()})}}],[{key:"create",value:function(E){var w=O(N.__proto__||Object.getPrototypeOf(N),"create",this).call(this,E);return w.setAttribute("spellcheck",!1),w}},{key:"formats",value:function(){return!0}}]),N}(a.default);A.blotName="code-block",A.tagName="PRE",A.TAB=" ",r.Code=T,r.default=A},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},h=function(){function C(D,q){var R=[],j=!0,B=!1,V=void 0;try{for(var L=D[Symbol.iterator](),$;!(j=($=L.next()).done)&&(R.push($.value),!(q&&R.length===q));j=!0);}catch(Z){B=!0,V=Z}finally{try{!j&&L.return&&L.return()}finally{if(B)throw V}}return R}return function(D,q){if(Array.isArray(D))return D;if(Symbol.iterator in Object(D))return C(D,q);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),O=function(){function C(D,q){for(var R=0;R=B&&!W.endsWith(` -`)&&(j=!0),R.scroll.insertAt(V,W);var J=R.scroll.line(V),le=h(J,2),de=le[0],pe=le[1],ve=(0,E.default)({},(0,u.bubbleFormats)(de));if(de instanceof b.default){var I=de.descendant(a.default.Leaf,pe),Y=h(I,1),X=Y[0];ve=(0,E.default)(ve,(0,u.bubbleFormats)(X))}Z=l.default.attributes.diff(ve,Z)||{}}else if(f(L.insert)==="object"){var z=Object.keys(L.insert)[0];if(z==null)return V;R.scroll.insertAt(V,z,L.insert[z])}B+=$}return Object.keys(Z).forEach(function(U){R.scroll.formatAt(V,$,U,Z[U])}),V+$},0),q.reduce(function(V,L){return typeof L.delete=="number"?(R.scroll.deleteAt(V,L.delete),V):V+(L.retain||L.insert.length||1)},0),this.scroll.batchEnd(),this.update(q)}},{key:"deleteText",value:function(q,R){return this.scroll.deleteAt(q,R),this.update(new _.default().retain(q).delete(R))}},{key:"formatLine",value:function(q,R){var j=this,B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.scroll.update(),Object.keys(B).forEach(function(V){if(!(j.scroll.whitelist!=null&&!j.scroll.whitelist[V])){var L=j.scroll.lines(q,Math.max(R,1)),$=R;L.forEach(function(Z){var W=Z.length();if(!(Z instanceof d.default))Z.format(V,B[V]);else{var J=q-Z.offset(j.scroll),le=Z.newlineIndex(J+$)-J+1;Z.formatAt(J,le,V,B[V])}$-=W})}}),this.scroll.optimize(),this.update(new _.default().retain(q).retain(R,(0,A.default)(B)))}},{key:"formatText",value:function(q,R){var j=this,B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Object.keys(B).forEach(function(V){j.scroll.formatAt(q,R,V,B[V])}),this.update(new _.default().retain(q).retain(R,(0,A.default)(B)))}},{key:"getContents",value:function(q,R){return this.delta.slice(q,q+R)}},{key:"getDelta",value:function(){return this.scroll.lines().reduce(function(q,R){return q.concat(R.delta())},new _.default)}},{key:"getFormat",value:function(q){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,j=[],B=[];R===0?this.scroll.path(q).forEach(function(L){var $=h(L,1),Z=$[0];Z instanceof b.default?j.push(Z):Z instanceof a.default.Leaf&&B.push(Z)}):(j=this.scroll.lines(q,R),B=this.scroll.descendants(a.default.Leaf,q,R));var V=[j,B].map(function(L){if(L.length===0)return{};for(var $=(0,u.bubbleFormats)(L.shift());Object.keys($).length>0;){var Z=L.shift();if(Z==null)return $;$=H((0,u.bubbleFormats)(Z),$)}return $});return E.default.apply(E.default,V)}},{key:"getText",value:function(q,R){return this.getContents(q,R).filter(function(j){return typeof j.insert=="string"}).map(function(j){return j.insert}).join("")}},{key:"insertEmbed",value:function(q,R,j){return this.scroll.insertAt(q,R,j),this.update(new _.default().retain(q).insert(S({},R,j)))}},{key:"insertText",value:function(q,R){var j=this,B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return R=R.replace(/\r\n/g,` -`).replace(/\r/g,` -`),this.scroll.insertAt(q,R),Object.keys(B).forEach(function(V){j.scroll.formatAt(q,R.length,V,B[V])}),this.update(new _.default().retain(q).insert(R,(0,A.default)(B)))}},{key:"isBlank",value:function(){if(this.scroll.children.length==0)return!0;if(this.scroll.children.length>1)return!1;var q=this.scroll.children.head;return q.statics.blotName!==b.default.blotName||q.children.length>1?!1:q.children.head instanceof g.default}},{key:"removeFormat",value:function(q,R){var j=this.getText(q,R),B=this.scroll.line(q+R),V=h(B,2),L=V[0],$=V[1],Z=0,W=new _.default;L!=null&&(L instanceof d.default?Z=L.newlineIndex($)-$+1:Z=L.length()-$,W=L.delta().slice($,$+Z-1).insert(` -`));var J=this.getContents(q,R+Z),le=J.diff(new _.default().insert(j).concat(W)),de=new _.default().retain(q).concat(le);return this.applyDelta(de)}},{key:"update",value:function(q){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0,B=this.delta;if(R.length===1&&R[0].type==="characterData"&&R[0].target.data.match(F)&&a.default.find(R[0].target)){var V=a.default.find(R[0].target),L=(0,u.bubbleFormats)(V),$=V.offset(this.scroll),Z=R[0].oldValue.replace(c.default.CONTENTS,""),W=new _.default().insert(Z),J=new _.default().insert(V.value()),le=new _.default().retain($).concat(W.diff(J,j));q=le.reduce(function(de,pe){return pe.insert?de.insert(pe.insert,L):de.push(pe)},new _.default),this.delta=B.compose(q)}else this.delta=this.getDelta(),(!q||!(0,N.default)(B.compose(q),this.delta))&&(q=B.diff(this.delta,j));return q}}]),C}();function H(C,D){return Object.keys(D).reduce(function(q,R){return C[R]==null||(D[R]===C[R]?q[R]=D[R]:Array.isArray(D[R])?D[R].indexOf(C[R])<0&&(q[R]=D[R].concat([C[R]])):q[R]=[D[R],C[R]]),q},{})}function Q(C){return C.reduce(function(D,q){if(q.insert===1){var R=(0,A.default)(q.attributes);return delete R.image,D.insert({image:q.attributes.image},R)}if(q.attributes!=null&&(q.attributes.list===!0||q.attributes.bullet===!0)&&(q=(0,A.default)(q),q.attributes.list?q.attributes.list="ordered":(q.attributes.list="bullet",delete q.attributes.bullet)),typeof q.insert=="string"){var j=q.insert.replace(/\r\n/g,` -`).replace(/\r/g,` -`);return D.insert(j,q.attributes)}return D.push(q)},new _.default)}r.default=M},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.Range=void 0;var f=function(){function k(N,x){var E=[],w=!0,S=!1,P=void 0;try{for(var F=N[Symbol.iterator](),M;!(w=(M=F.next()).done)&&(E.push(M.value),!(x&&E.length===x));w=!0);}catch(H){S=!0,P=H}finally{try{!w&&F.return&&F.return()}finally{if(S)throw P}}return E}return function(N,x){if(Array.isArray(N))return N;if(Symbol.iterator in Object(N))return k(N,x);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function(){function k(N,x){for(var E=0;E1&&arguments[1]!==void 0?arguments[1]:0;b(this,k),this.index=N,this.length=x},T=function(){function k(N,x){var E=this;b(this,k),this.emitter=x,this.scroll=N,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=m.default.create("cursor",this),this.lastRange=this.savedRange=new g(0,0),this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,function(){E.mouseDown||setTimeout(E.update.bind(E,y.default.sources.USER),1)}),this.emitter.on(y.default.events.EDITOR_CHANGE,function(w,S){w===y.default.events.TEXT_CHANGE&&S.length()>0&&E.update(y.default.sources.SILENT)}),this.emitter.on(y.default.events.SCROLL_BEFORE_UPDATE,function(){if(!!E.hasFocus()){var w=E.getNativeRange();w!=null&&w.start.node!==E.cursor.textNode&&E.emitter.once(y.default.events.SCROLL_UPDATE,function(){try{E.setNativeRange(w.start.node,w.start.offset,w.end.node,w.end.offset)}catch{}})}}),this.emitter.on(y.default.events.SCROLL_OPTIMIZE,function(w,S){if(S.range){var P=S.range,F=P.startNode,M=P.startOffset,H=P.endNode,Q=P.endOffset;E.setNativeRange(F,M,H,Q)}}),this.update(y.default.sources.SILENT)}return h(k,[{key:"handleComposition",value:function(){var x=this;this.root.addEventListener("compositionstart",function(){x.composing=!0}),this.root.addEventListener("compositionend",function(){if(x.composing=!1,x.cursor.parent){var E=x.cursor.restore();if(!E)return;setTimeout(function(){x.setNativeRange(E.startNode,E.startOffset,E.endNode,E.endOffset)},1)}})}},{key:"handleDragging",value:function(){var x=this;this.emitter.listenDOM("mousedown",document.body,function(){x.mouseDown=!0}),this.emitter.listenDOM("mouseup",document.body,function(){x.mouseDown=!1,x.update(y.default.sources.USER)})}},{key:"focus",value:function(){this.hasFocus()||(this.root.focus(),this.setRange(this.savedRange))}},{key:"format",value:function(x,E){if(!(this.scroll.whitelist!=null&&!this.scroll.whitelist[x])){this.scroll.update();var w=this.getNativeRange();if(!(w==null||!w.native.collapsed||m.default.query(x,m.default.Scope.BLOCK))){if(w.start.node!==this.cursor.textNode){var S=m.default.find(w.start.node,!1);if(S==null)return;if(S instanceof m.default.Leaf){var P=S.split(w.start.offset);S.parent.insertBefore(this.cursor,P)}else S.insertBefore(this.cursor,w.start.node);this.cursor.attach()}this.cursor.format(x,E),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}}},{key:"getBounds",value:function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,w=this.scroll.length();x=Math.min(x,w-1),E=Math.min(x+E,w-1)-x;var S=void 0,P=this.scroll.leaf(x),F=f(P,2),M=F[0],H=F[1];if(M==null)return null;var Q=M.position(H,!0),C=f(Q,2);S=C[0],H=C[1];var D=document.createRange();if(E>0){D.setStart(S,H);var q=this.scroll.leaf(x+E),R=f(q,2);if(M=R[0],H=R[1],M==null)return null;var j=M.position(H,!0),B=f(j,2);return S=B[0],H=B[1],D.setEnd(S,H),D.getBoundingClientRect()}else{var V="left",L=void 0;return S instanceof Text?(H0&&(V="right")),{bottom:L.top+L.height,height:L.height,left:L[V],right:L[V],top:L.top,width:0}}}},{key:"getNativeRange",value:function(){var x=document.getSelection();if(x==null||x.rangeCount<=0)return null;var E=x.getRangeAt(0);if(E==null)return null;var w=this.normalizeNative(E);return s.info("getNativeRange",w),w}},{key:"getRange",value:function(){var x=this.getNativeRange();if(x==null)return[null,null];var E=this.normalizedToRange(x);return[E,x]}},{key:"hasFocus",value:function(){return document.activeElement===this.root}},{key:"normalizedToRange",value:function(x){var E=this,w=[[x.start.node,x.start.offset]];x.native.collapsed||w.push([x.end.node,x.end.offset]);var S=w.map(function(M){var H=f(M,2),Q=H[0],C=H[1],D=m.default.find(Q,!0),q=D.offset(E.scroll);return C===0?q:D instanceof m.default.Container?q+D.length():q+D.index(Q,C)}),P=Math.min(Math.max.apply(Math,u(S)),this.scroll.length()-1),F=Math.min.apply(Math,[P].concat(u(S)));return new g(F,P-F)}},{key:"normalizeNative",value:function(x){if(!A(this.root,x.startContainer)||!x.collapsed&&!A(this.root,x.endContainer))return null;var E={start:{node:x.startContainer,offset:x.startOffset},end:{node:x.endContainer,offset:x.endOffset},native:x};return[E.start,E.end].forEach(function(w){for(var S=w.node,P=w.offset;!(S instanceof Text)&&S.childNodes.length>0;)if(S.childNodes.length>P)S=S.childNodes[P],P=0;else if(S.childNodes.length===P)S=S.lastChild,P=S instanceof Text?S.data.length:S.childNodes.length+1;else break;w.node=S,w.offset=P}),E}},{key:"rangeToNative",value:function(x){var E=this,w=x.collapsed?[x.index]:[x.index,x.index+x.length],S=[],P=this.scroll.length();return w.forEach(function(F,M){F=Math.min(P-1,F);var H=void 0,Q=E.scroll.leaf(F),C=f(Q,2),D=C[0],q=C[1],R=D.position(q,M!==0),j=f(R,2);H=j[0],q=j[1],S.push(H,q)}),S.length<2&&(S=S.concat(S)),S}},{key:"scrollIntoView",value:function(x){var E=this.lastRange;if(E!=null){var w=this.getBounds(E.index,E.length);if(w!=null){var S=this.scroll.length()-1,P=this.scroll.line(Math.min(E.index,S)),F=f(P,1),M=F[0],H=M;if(E.length>0){var Q=this.scroll.line(Math.min(E.index+E.length,S)),C=f(Q,1);H=C[0]}if(!(M==null||H==null)){var D=x.getBoundingClientRect();w.topD.bottom&&(x.scrollTop+=w.bottom-D.bottom)}}}}},{key:"setNativeRange",value:function(x,E){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:x,S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:E,P=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(s.info("setNativeRange",x,E,w,S),!(x!=null&&(this.root.parentNode==null||x.parentNode==null||w.parentNode==null))){var F=document.getSelection();if(F!=null)if(x!=null){this.hasFocus()||this.root.focus();var M=(this.getNativeRange()||{}).native;if(M==null||P||x!==M.startContainer||E!==M.startOffset||w!==M.endContainer||S!==M.endOffset){x.tagName=="BR"&&(E=[].indexOf.call(x.parentNode.childNodes,x),x=x.parentNode),w.tagName=="BR"&&(S=[].indexOf.call(w.parentNode.childNodes,w),w=w.parentNode);var H=document.createRange();H.setStart(x,E),H.setEnd(w,S),F.removeAllRanges(),F.addRange(H)}}else F.removeAllRanges(),this.root.blur(),document.body.focus()}}},{key:"setRange",value:function(x){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:y.default.sources.API;if(typeof E=="string"&&(w=E,E=!1),s.info("setRange",x),x!=null){var S=this.rangeToNative(x);this.setNativeRange.apply(this,u(S).concat([E]))}else this.setNativeRange(null);this.update(w)}},{key:"update",value:function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y.default.sources.USER,E=this.lastRange,w=this.getRange(),S=f(w,2),P=S[0],F=S[1];if(this.lastRange=P,this.lastRange!=null&&(this.savedRange=this.lastRange),!(0,o.default)(E,this.lastRange)){var M;!this.composing&&F!=null&&F.native.collapsed&&F.start.node!==this.cursor.textNode&&this.cursor.restore();var H=[y.default.events.SELECTION_CHANGE,(0,p.default)(this.lastRange),(0,p.default)(E),x];if((M=this.emitter).emit.apply(M,[y.default.events.EDITOR_CHANGE].concat(H)),x!==y.default.sources.SILENT){var Q;(Q=this.emitter).emit.apply(Q,H)}}}}]),k}();function A(k,N){try{N.parentNode}catch{return!1}return N instanceof Text&&(N=N.parentNode),k.contains(N)}r.Range=g,r.default=T},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function y(d,v){for(var c=0;c0&&(a+=1),[this.parent.domNode,a]},p.prototype.value=function(){var l;return l={},l[this.statics.blotName]=this.statics.value(this.domNode)||!0,l},p.scope=O.Scope.INLINE_BLOT,p}(h.default);r.default=m},function(t,r,i){var f=i(11),h=i(3),O={attributes:{compose:function(_,p,l){typeof _!="object"&&(_={}),typeof p!="object"&&(p={});var o=h(!0,{},p);l||(o=Object.keys(o).reduce(function(y,d){return o[d]!=null&&(y[d]=o[d]),y},{}));for(var a in _)_[a]!==void 0&&p[a]===void 0&&(o[a]=_[a]);return Object.keys(o).length>0?o:void 0},diff:function(_,p){typeof _!="object"&&(_={}),typeof p!="object"&&(p={});var l=Object.keys(_).concat(Object.keys(p)).reduce(function(o,a){return f(_[a],p[a])||(o[a]=p[a]===void 0?null:p[a]),o},{});return Object.keys(l).length>0?l:void 0},transform:function(_,p,l){if(typeof _!="object")return p;if(typeof p=="object"){if(!l)return p;var o=Object.keys(p).reduce(function(a,y){return _[y]===void 0&&(a[y]=p[y]),a},{});return Object.keys(o).length>0?o:void 0}}},iterator:function(_){return new m(_)},length:function(_){return typeof _.delete=="number"?_.delete:typeof _.retain=="number"?_.retain:typeof _.insert=="string"?_.insert.length:1}};function m(_){this.ops=_,this.index=0,this.offset=0}m.prototype.hasNext=function(){return this.peekLength()<1/0},m.prototype.next=function(_){_||(_=1/0);var p=this.ops[this.index];if(p){var l=this.offset,o=O.length(p);if(_>=o-l?(_=o-l,this.index+=1,this.offset=0):this.offset+=_,typeof p.delete=="number")return{delete:_};var a={};return p.attributes&&(a.attributes=p.attributes),typeof p.retain=="number"?a.retain=_:typeof p.insert=="string"?a.insert=p.insert.substr(l,_):a.insert=p.insert,a}else return{retain:1/0}},m.prototype.peek=function(){return this.ops[this.index]},m.prototype.peekLength=function(){return this.ops[this.index]?O.length(this.ops[this.index])-this.offset:1/0},m.prototype.peekType=function(){return this.ops[this.index]?typeof this.ops[this.index].delete=="number"?"delete":typeof this.ops[this.index].retain=="number"?"retain":"insert":"retain"},m.prototype.rest=function(){if(this.hasNext()){if(this.offset===0)return this.ops.slice(this.index);var _=this.offset,p=this.index,l=this.next(),o=this.ops.slice(this.index);return this.offset=_,this.index=p,[l].concat(o)}else return[]},t.exports=O},function(t,r){var i=function(){function f(d,v){return v!=null&&d instanceof v}var h;try{h=Map}catch{h=function(){}}var O;try{O=Set}catch{O=function(){}}var m;try{m=Promise}catch{m=function(){}}function _(d,v,c,u,b){typeof v=="object"&&(c=v.depth,u=v.prototype,b=v.includeNonEnumerable,v=v.circular);var s=[],g=[],T=typeof Buffer<"u";typeof v>"u"&&(v=!0),typeof c>"u"&&(c=1/0);function A(k,N){if(k===null)return null;if(N===0)return k;var x,E;if(typeof k!="object")return k;if(f(k,h))x=new h;else if(f(k,O))x=new O;else if(f(k,m))x=new m(function(D,q){k.then(function(R){D(A(R,N-1))},function(R){q(A(R,N-1))})});else if(_.__isArray(k))x=[];else if(_.__isRegExp(k))x=new RegExp(k.source,y(k)),k.lastIndex&&(x.lastIndex=k.lastIndex);else if(_.__isDate(k))x=new Date(k.getTime());else{if(T&&Buffer.isBuffer(k))return Buffer.allocUnsafe?x=Buffer.allocUnsafe(k.length):x=new Buffer(k.length),k.copy(x),x;f(k,Error)?x=Object.create(k):typeof u>"u"?(E=Object.getPrototypeOf(k),x=Object.create(E)):(x=Object.create(u),E=u)}if(v){var w=s.indexOf(k);if(w!=-1)return g[w];s.push(k),g.push(x)}f(k,h)&&k.forEach(function(D,q){var R=A(q,N-1),j=A(D,N-1);x.set(R,j)}),f(k,O)&&k.forEach(function(D){var q=A(D,N-1);x.add(q)});for(var S in k){var P;E&&(P=Object.getOwnPropertyDescriptor(E,S)),!(P&&P.set==null)&&(x[S]=A(k[S],N-1))}if(Object.getOwnPropertySymbols)for(var F=Object.getOwnPropertySymbols(k),S=0;S0){if(H instanceof o.BlockEmbed||q instanceof o.BlockEmbed){this.optimize();return}if(H instanceof c.default){var R=H.newlineIndex(H.length(),!0);if(R>-1&&(H=H.split(R+1),H===q)){this.optimize();return}}else if(q instanceof c.default){var j=q.newlineIndex(0);j>-1&&q.split(j+1)}var B=q.children.head instanceof d.default?null:q.children.head;H.moveChildren(q,B),H.remove()}this.optimize()}},{key:"enable",value:function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.domNode.setAttribute("contenteditable",S)}},{key:"formatAt",value:function(S,P,F,M){this.whitelist!=null&&!this.whitelist[F]||(O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"formatAt",this).call(this,S,P,F,M),this.optimize())}},{key:"insertAt",value:function(S,P,F){if(!(F!=null&&this.whitelist!=null&&!this.whitelist[P])){if(S>=this.length())if(F==null||_.default.query(P,_.default.Scope.BLOCK)==null){var M=_.default.create(this.statics.defaultChild);this.appendChild(M),F==null&&P.endsWith(` -`)&&(P=P.slice(0,-1)),M.insertAt(0,P,F)}else{var H=_.default.create(P,F);this.appendChild(H)}else O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"insertAt",this).call(this,S,P,F);this.optimize()}}},{key:"insertBefore",value:function(S,P){if(S.statics.scope===_.default.Scope.INLINE_BLOT){var F=_.default.create(this.statics.defaultChild);F.appendChild(S),S=F}O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"insertBefore",this).call(this,S,P)}},{key:"leaf",value:function(S){return this.path(S).pop()||[null,-1]}},{key:"line",value:function(S){return S===this.length()?this.line(S-1):this.descendant(k,S)}},{key:"lines",value:function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Number.MAX_VALUE,F=function M(H,Q,C){var D=[],q=C;return H.children.forEachAt(Q,C,function(R,j,B){k(R)?D.push(R):R instanceof _.default.Container&&(D=D.concat(M(R,j,q))),q-=B}),D};return F(this,S,P)}},{key:"optimize",value:function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.batch!==!0&&(O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"optimize",this).call(this,S,P),S.length>0&&this.emitter.emit(l.default.events.SCROLL_OPTIMIZE,S,P))}},{key:"path",value:function(S){return O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"path",this).call(this,S).slice(1)}},{key:"update",value:function(S){if(this.batch!==!0){var P=l.default.sources.USER;typeof S=="string"&&(P=S),Array.isArray(S)||(S=this.observer.takeRecords()),S.length>0&&this.emitter.emit(l.default.events.SCROLL_BEFORE_UPDATE,P,S),O(E.prototype.__proto__||Object.getPrototypeOf(E.prototype),"update",this).call(this,S.concat([])),S.length>0&&this.emitter.emit(l.default.events.SCROLL_UPDATE,P,S)}}}]),E}(_.default.Scroll);N.blotName="scroll",N.className="ql-editor",N.tagName="DIV",N.defaultChild="block",N.allowedChildren=[a.default,o.BlockEmbed,b.default],r.default=N},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.SHORTKEY=r.default=void 0;var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},h=function(){function L($,Z){var W=[],J=!0,le=!1,de=void 0;try{for(var pe=$[Symbol.iterator](),ve;!(J=(ve=pe.next()).done)&&(W.push(ve.value),!(Z&&W.length===Z));J=!0);}catch(I){le=!0,de=I}finally{try{!J&&pe.return&&pe.return()}finally{if(le)throw de}}return W}return function($,Z){if(Array.isArray($))return $;if(Symbol.iterator in Object($))return L($,Z);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),O=function(){function L($,Z){for(var W=0;W1&&arguments[1]!==void 0?arguments[1]:{},le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},de=V(W);if(de==null||de.key==null)return F.warn("Attempted to add invalid keyboard binding",de);typeof J=="function"&&(J={handler:J}),typeof le=="function"&&(le={handler:le}),de=(0,a.default)(de,J,le),this.bindings[de.key]=this.bindings[de.key]||[],this.bindings[de.key].push(de)}},{key:"listen",value:function(){var W=this;this.quill.root.addEventListener("keydown",function(J){if(!J.defaultPrevented){var le=J.which||J.keyCode,de=(W.bindings[le]||[]).filter(function(K){return $.match(J,K)});if(de.length!==0){var pe=W.quill.getSelection();if(!(pe==null||!W.quill.hasFocus())){var ve=W.quill.getLine(pe.index),I=h(ve,2),Y=I[0],X=I[1],z=W.quill.getLeaf(pe.index),U=h(z,2),G=U[0],te=U[1],ee=pe.length===0?[G,te]:W.quill.getLeaf(pe.index+pe.length),ue=h(ee,2),he=ue[0],ye=ue[1],qe=G instanceof b.default.Text?G.value().slice(0,te):"",Re=he instanceof b.default.Text?he.value().slice(ye):"",_e={collapsed:pe.length===0,empty:pe.length===0&&Y.length()<=1,format:W.quill.getFormat(pe),offset:X,prefix:qe,suffix:Re},ne=de.some(function(K){if(K.collapsed!=null&&K.collapsed!==_e.collapsed||K.empty!=null&&K.empty!==_e.empty||K.offset!=null&&K.offset!==_e.offset)return!1;if(Array.isArray(K.format)){if(K.format.every(function(oe){return _e.format[oe]==null}))return!1}else if(f(K.format)==="object"&&!Object.keys(K.format).every(function(oe){return K.format[oe]===!0?_e.format[oe]!=null:K.format[oe]===!1?_e.format[oe]==null:(0,l.default)(K.format[oe],_e.format[oe])}))return!1;return K.prefix!=null&&!K.prefix.test(_e.prefix)||K.suffix!=null&&!K.suffix.test(_e.suffix)?!1:K.handler.call(W,pe,_e)!==!0});ne&&J.preventDefault()}}}})}}]),$}(N.default);H.keys={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46},H.DEFAULTS={bindings:{bold:B("bold"),italic:B("italic"),underline:B("underline"),indent:{key:H.keys.TAB,format:["blockquote","indent","list"],handler:function($,Z){if(Z.collapsed&&Z.offset!==0)return!0;this.quill.format("indent","+1",g.default.sources.USER)}},outdent:{key:H.keys.TAB,shiftKey:!0,format:["blockquote","indent","list"],handler:function($,Z){if(Z.collapsed&&Z.offset!==0)return!0;this.quill.format("indent","-1",g.default.sources.USER)}},"outdent backspace":{key:H.keys.BACKSPACE,collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler:function($,Z){Z.format.indent!=null?this.quill.format("indent","-1",g.default.sources.USER):Z.format.list!=null&&this.quill.format("list",!1,g.default.sources.USER)}},"indent code-block":j(!0),"outdent code-block":j(!1),"remove tab":{key:H.keys.TAB,shiftKey:!0,collapsed:!0,prefix:/\t$/,handler:function($){this.quill.deleteText($.index-1,1,g.default.sources.USER)}},tab:{key:H.keys.TAB,handler:function($){this.quill.history.cutoff();var Z=new d.default().retain($.index).delete($.length).insert(" ");this.quill.updateContents(Z,g.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection($.index+1,g.default.sources.SILENT)}},"list empty enter":{key:H.keys.ENTER,collapsed:!0,format:["list"],empty:!0,handler:function($,Z){this.quill.format("list",!1,g.default.sources.USER),Z.format.indent&&this.quill.format("indent",!1,g.default.sources.USER)}},"checklist enter":{key:H.keys.ENTER,collapsed:!0,format:{list:"checked"},handler:function($){var Z=this.quill.getLine($.index),W=h(Z,2),J=W[0],le=W[1],de=(0,a.default)({},J.formats(),{list:"checked"}),pe=new d.default().retain($.index).insert(` -`,de).retain(J.length()-le-1).retain(1,{list:"unchecked"});this.quill.updateContents(pe,g.default.sources.USER),this.quill.setSelection($.index+1,g.default.sources.SILENT),this.quill.scrollIntoView()}},"header enter":{key:H.keys.ENTER,collapsed:!0,format:["header"],suffix:/^$/,handler:function($,Z){var W=this.quill.getLine($.index),J=h(W,2),le=J[0],de=J[1],pe=new d.default().retain($.index).insert(` -`,Z.format).retain(le.length()-de-1).retain(1,{header:null});this.quill.updateContents(pe,g.default.sources.USER),this.quill.setSelection($.index+1,g.default.sources.SILENT),this.quill.scrollIntoView()}},"list autofill":{key:" ",collapsed:!0,format:{list:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler:function($,Z){var W=Z.prefix.length,J=this.quill.getLine($.index),le=h(J,2),de=le[0],pe=le[1];if(pe>W)return!0;var ve=void 0;switch(Z.prefix.trim()){case"[]":case"[ ]":ve="unchecked";break;case"[x]":ve="checked";break;case"-":case"*":ve="bullet";break;default:ve="ordered"}this.quill.insertText($.index," ",g.default.sources.USER),this.quill.history.cutoff();var I=new d.default().retain($.index-pe).delete(W+1).retain(de.length()-2-pe).retain(1,{list:ve});this.quill.updateContents(I,g.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection($.index-W,g.default.sources.SILENT)}},"code exit":{key:H.keys.ENTER,collapsed:!0,format:["code-block"],prefix:/\n\n$/,suffix:/^\s+$/,handler:function($){var Z=this.quill.getLine($.index),W=h(Z,2),J=W[0],le=W[1],de=new d.default().retain($.index+J.length()-le-2).retain(1,{"code-block":null}).delete(1);this.quill.updateContents(de,g.default.sources.USER)}},"embed left":Q(H.keys.LEFT,!1),"embed left shift":Q(H.keys.LEFT,!0),"embed right":Q(H.keys.RIGHT,!1),"embed right shift":Q(H.keys.RIGHT,!0)}};function Q(L,$){var Z,W=L===H.keys.LEFT?"prefix":"suffix";return Z={key:L,shiftKey:$,altKey:null},E(Z,W,/^$/),E(Z,"handler",function(le){var de=le.index;L===H.keys.RIGHT&&(de+=le.length+1);var pe=this.quill.getLeaf(de),ve=h(pe,1),I=ve[0];return I instanceof b.default.Embed?(L===H.keys.LEFT?$?this.quill.setSelection(le.index-1,le.length+1,g.default.sources.USER):this.quill.setSelection(le.index-1,g.default.sources.USER):$?this.quill.setSelection(le.index,le.length+1,g.default.sources.USER):this.quill.setSelection(le.index+le.length+1,g.default.sources.USER),!1):!0}),Z}function C(L,$){if(!(L.index===0||this.quill.getLength()<=1)){var Z=this.quill.getLine(L.index),W=h(Z,1),J=W[0],le={};if($.offset===0){var de=this.quill.getLine(L.index-1),pe=h(de,1),ve=pe[0];if(ve!=null&&ve.length()>1){var I=J.formats(),Y=this.quill.getFormat(L.index-1,1);le=c.default.attributes.diff(I,Y)||{}}}var X=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test($.prefix)?2:1;this.quill.deleteText(L.index-X,X,g.default.sources.USER),Object.keys(le).length>0&&this.quill.formatLine(L.index-X,X,le,g.default.sources.USER),this.quill.focus()}}function D(L,$){var Z=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test($.suffix)?2:1;if(!(L.index>=this.quill.getLength()-Z)){var W={},J=0,le=this.quill.getLine(L.index),de=h(le,1),pe=de[0];if($.offset>=pe.length()-1){var ve=this.quill.getLine(L.index+1),I=h(ve,1),Y=I[0];if(Y){var X=pe.formats(),z=this.quill.getFormat(L.index,1);W=c.default.attributes.diff(X,z)||{},J=Y.length()}}this.quill.deleteText(L.index,Z,g.default.sources.USER),Object.keys(W).length>0&&this.quill.formatLine(L.index+J-1,Z,W,g.default.sources.USER)}}function q(L){var $=this.quill.getLines(L),Z={};if($.length>1){var W=$[0].formats(),J=$[$.length-1].formats();Z=c.default.attributes.diff(J,W)||{}}this.quill.deleteText(L,g.default.sources.USER),Object.keys(Z).length>0&&this.quill.formatLine(L.index,1,Z,g.default.sources.USER),this.quill.setSelection(L.index,g.default.sources.SILENT),this.quill.focus()}function R(L,$){var Z=this;L.length>0&&this.quill.scroll.deleteAt(L.index,L.length);var W=Object.keys($.format).reduce(function(J,le){return b.default.query(le,b.default.Scope.BLOCK)&&!Array.isArray($.format[le])&&(J[le]=$.format[le]),J},{});this.quill.insertText(L.index,` -`,W,g.default.sources.USER),this.quill.setSelection(L.index+1,g.default.sources.SILENT),this.quill.focus(),Object.keys($.format).forEach(function(J){W[J]==null&&(Array.isArray($.format[J])||J!=="link"&&Z.quill.format(J,$.format[J],g.default.sources.USER))})}function j(L){return{key:H.keys.TAB,shiftKey:!L,format:{"code-block":!0},handler:function(Z){var W=b.default.query("code-block"),J=Z.index,le=Z.length,de=this.quill.scroll.descendant(W,J),pe=h(de,2),ve=pe[0],I=pe[1];if(ve!=null){var Y=this.quill.getIndex(ve),X=ve.newlineIndex(I,!0)+1,z=ve.newlineIndex(Y+I+le),U=ve.domNode.textContent.slice(X,z).split(` -`);I=0,U.forEach(function(G,te){L?(ve.insertAt(X+I,W.TAB),I+=W.TAB.length,te===0?J+=W.TAB.length:le+=W.TAB.length):G.startsWith(W.TAB)&&(ve.deleteAt(X+I,W.TAB.length),I-=W.TAB.length,te===0?J-=W.TAB.length:le-=W.TAB.length),I+=G.length+1}),this.quill.update(g.default.sources.USER),this.quill.setSelection(J,le,g.default.sources.SILENT)}}}}function B(L){return{key:L[0].toUpperCase(),shortKey:!0,handler:function(Z,W){this.quill.format(L,!W.format[L],g.default.sources.USER)}}}function V(L){if(typeof L=="string"||typeof L=="number")return V({key:L});if((typeof L>"u"?"undefined":f(L))==="object"&&(L=(0,_.default)(L,!1)),typeof L.key=="string")if(H.keys[L.key.toUpperCase()]!=null)L.key=H.keys[L.key.toUpperCase()];else if(L.key.length===1)L.key=L.key.toUpperCase().charCodeAt(0);else return null;return L.shortKey&&(L[M]=L.shortKey,delete L.shortKey),L}r.default=H,r.SHORTKEY=M},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function c(u,b){var s=[],g=!0,T=!1,A=void 0;try{for(var k=u[Symbol.iterator](),N;!(g=(N=k.next()).done)&&(s.push(N.value),!(b&&s.length===b));g=!0);}catch(x){T=!0,A=x}finally{try{!g&&k.return&&k.return()}finally{if(T)throw A}}return s}return function(u,b){if(Array.isArray(u))return u;if(Symbol.iterator in Object(u))return c(u,b);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function c(u,b,s){u===null&&(u=Function.prototype);var g=Object.getOwnPropertyDescriptor(u,b);if(g===void 0){var T=Object.getPrototypeOf(u);return T===null?void 0:c(T,b,s)}else{if("value"in g)return g.value;var A=g.get;return A===void 0?void 0:A.call(s)}},O=function(){function c(u,b){for(var s=0;s-1}r.default=a,r.sanitize=y},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(v){return typeof v}:function(v){return v&&typeof Symbol=="function"&&v.constructor===Symbol&&v!==Symbol.prototype?"symbol":typeof v},h=function(){function v(c,u){for(var b=0;b1&&arguments[1]!==void 0?arguments[1]:!1,s=this.container.querySelector(".ql-selected");if(u!==s&&(s!=null&&s.classList.remove("ql-selected"),u!=null&&(u.classList.add("ql-selected"),this.select.selectedIndex=[].indexOf.call(u.parentNode.children,u),u.hasAttribute("data-value")?this.label.setAttribute("data-value",u.getAttribute("data-value")):this.label.removeAttribute("data-value"),u.hasAttribute("data-label")?this.label.setAttribute("data-label",u.getAttribute("data-label")):this.label.removeAttribute("data-label"),b))){if(typeof Event=="function")this.select.dispatchEvent(new Event("change"));else if((typeof Event>"u"?"undefined":f(Event))==="object"){var g=document.createEvent("Event");g.initEvent("change",!0,!0),this.select.dispatchEvent(g)}this.close()}}},{key:"update",value:function(){var u=void 0;if(this.select.selectedIndex>-1){var b=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];u=this.select.options[this.select.selectedIndex],this.selectItem(b)}else this.selectItem(null);var s=u!=null&&u!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",s)}}]),v}();r.default=d},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(0),h=F(f),O=i(5),m=F(O),_=i(4),p=F(_),l=i(16),o=F(l),a=i(25),y=F(a),d=i(24),v=F(d),c=i(35),u=F(c),b=i(6),s=F(b),g=i(22),T=F(g),A=i(7),k=F(A),N=i(55),x=F(N),E=i(42),w=F(E),S=i(23),P=F(S);function F(M){return M&&M.__esModule?M:{default:M}}m.default.register({"blots/block":p.default,"blots/block/embed":_.BlockEmbed,"blots/break":o.default,"blots/container":y.default,"blots/cursor":v.default,"blots/embed":u.default,"blots/inline":s.default,"blots/scroll":T.default,"blots/text":k.default,"modules/clipboard":x.default,"modules/history":w.default,"modules/keyboard":P.default}),h.default.register(p.default,o.default,v.default,s.default,T.default,k.default),r.default=m.default},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(1),h=function(){function O(m){this.domNode=m,this.domNode[f.DATA_KEY]={blot:this}}return Object.defineProperty(O.prototype,"statics",{get:function(){return this.constructor},enumerable:!0,configurable:!0}),O.create=function(m){if(this.tagName==null)throw new f.ParchmentError("Blot definition missing tagName");var _;return Array.isArray(this.tagName)?(typeof m=="string"&&(m=m.toUpperCase(),parseInt(m).toString()===m&&(m=parseInt(m))),typeof m=="number"?_=document.createElement(this.tagName[m-1]):this.tagName.indexOf(m)>-1?_=document.createElement(m):_=document.createElement(this.tagName[0])):_=document.createElement(this.tagName),this.className&&_.classList.add(this.className),_},O.prototype.attach=function(){this.parent!=null&&(this.scroll=this.parent.scroll)},O.prototype.clone=function(){var m=this.domNode.cloneNode(!1);return f.create(m)},O.prototype.detach=function(){this.parent!=null&&this.parent.removeChild(this),delete this.domNode[f.DATA_KEY]},O.prototype.deleteAt=function(m,_){var p=this.isolate(m,_);p.remove()},O.prototype.formatAt=function(m,_,p,l){var o=this.isolate(m,_);if(f.query(p,f.Scope.BLOT)!=null&&l)o.wrap(p,l);else if(f.query(p,f.Scope.ATTRIBUTE)!=null){var a=f.create(this.statics.scope);o.wrap(a),a.format(p,l)}},O.prototype.insertAt=function(m,_,p){var l=p==null?f.create("text",_):f.create(_,p),o=this.split(m);this.parent.insertBefore(l,o)},O.prototype.insertInto=function(m,_){_===void 0&&(_=null),this.parent!=null&&this.parent.children.remove(this);var p=null;m.children.insertBefore(this,_),_!=null&&(p=_.domNode),(this.domNode.parentNode!=m.domNode||this.domNode.nextSibling!=p)&&m.domNode.insertBefore(this.domNode,p),this.parent=m,this.attach()},O.prototype.isolate=function(m,_){var p=this.split(m);return p.split(_),p},O.prototype.length=function(){return 1},O.prototype.offset=function(m){return m===void 0&&(m=this.parent),this.parent==null||this==m?0:this.parent.children.offset(this)+this.parent.offset(m)},O.prototype.optimize=function(m){this.domNode[f.DATA_KEY]!=null&&delete this.domNode[f.DATA_KEY].mutations},O.prototype.remove=function(){this.domNode.parentNode!=null&&this.domNode.parentNode.removeChild(this.domNode),this.detach()},O.prototype.replace=function(m){m.parent!=null&&(m.parent.insertBefore(this,m.next),m.remove())},O.prototype.replaceWith=function(m,_){var p=typeof m=="string"?f.create(m,_):m;return p.replace(this),p},O.prototype.split=function(m,_){return m===0?this:this.next},O.prototype.update=function(m,_){},O.prototype.wrap=function(m,_){var p=typeof m=="string"?f.create(m,_):m;return this.parent!=null&&this.parent.insertBefore(p,this.next),p.appendChild(this),p},O.blotName="abstract",O}();r.default=h},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(12),h=i(32),O=i(33),m=i(1),_=function(){function p(l){this.attributes={},this.domNode=l,this.build()}return p.prototype.attribute=function(l,o){o?l.add(this.domNode,o)&&(l.value(this.domNode)!=null?this.attributes[l.attrName]=l:delete this.attributes[l.attrName]):(l.remove(this.domNode),delete this.attributes[l.attrName])},p.prototype.build=function(){var l=this;this.attributes={};var o=f.default.keys(this.domNode),a=h.default.keys(this.domNode),y=O.default.keys(this.domNode);o.concat(a).concat(y).forEach(function(d){var v=m.query(d,m.Scope.ATTRIBUTE);v instanceof f.default&&(l.attributes[v.attrName]=v)})},p.prototype.copy=function(l){var o=this;Object.keys(this.attributes).forEach(function(a){var y=o.attributes[a].value(o.domNode);l.format(a,y)})},p.prototype.move=function(l){var o=this;this.copy(l),Object.keys(this.attributes).forEach(function(a){o.attributes[a].remove(o.domNode)}),this.attributes={}},p.prototype.values=function(){var l=this;return Object.keys(this.attributes).reduce(function(o,a){return o[a]=l.attributes[a].value(l.domNode),o},{})},p}();r.default=_},function(t,r,i){var f=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,l){p.__proto__=l}||function(p,l){for(var o in l)l.hasOwnProperty(o)&&(p[o]=l[o])};return function(p,l){_(p,l);function o(){this.constructor=p}p.prototype=l===null?Object.create(l):(o.prototype=l.prototype,new o)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(12);function O(_,p){var l=_.getAttribute("class")||"";return l.split(/\s+/).filter(function(o){return o.indexOf(p+"-")===0})}var m=function(_){f(p,_);function p(){return _!==null&&_.apply(this,arguments)||this}return p.keys=function(l){return(l.getAttribute("class")||"").split(/\s+/).map(function(o){return o.split("-").slice(0,-1).join("-")})},p.prototype.add=function(l,o){return this.canAdd(l,o)?(this.remove(l),l.classList.add(this.keyName+"-"+o),!0):!1},p.prototype.remove=function(l){var o=O(l,this.keyName);o.forEach(function(a){l.classList.remove(a)}),l.classList.length===0&&l.removeAttribute("class")},p.prototype.value=function(l){var o=O(l,this.keyName)[0]||"",a=o.slice(this.keyName.length+1);return this.canAdd(l,a)?a:""},p}(h.default);r.default=m},function(t,r,i){var f=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,l){p.__proto__=l}||function(p,l){for(var o in l)l.hasOwnProperty(o)&&(p[o]=l[o])};return function(p,l){_(p,l);function o(){this.constructor=p}p.prototype=l===null?Object.create(l):(o.prototype=l.prototype,new o)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(12);function O(_){var p=_.split("-"),l=p.slice(1).map(function(o){return o[0].toUpperCase()+o.slice(1)}).join("");return p[0]+l}var m=function(_){f(p,_);function p(){return _!==null&&_.apply(this,arguments)||this}return p.keys=function(l){return(l.getAttribute("style")||"").split(";").map(function(o){var a=o.split(":");return a[0].trim()})},p.prototype.add=function(l,o){return this.canAdd(l,o)?(l.style[O(this.keyName)]=o,!0):!1},p.prototype.remove=function(l){l.style[O(this.keyName)]="",l.getAttribute("style")||l.removeAttribute("style")},p.prototype.value=function(l){var o=l.style[O(this.keyName)];return this.canAdd(l,o)?o:""},p}(h.default);r.default=m},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function m(_,p){for(var l=0;lN&&this.stack.undo.length>0){var x=this.stack.undo.pop();k=k.compose(x.undo),T=x.redo.compose(T)}else this.lastRecorded=N;this.stack.undo.push({redo:T,undo:k}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift()}}},{key:"redo",value:function(){this.change("redo","undo")}},{key:"transform",value:function(T){this.stack.undo.forEach(function(A){A.undo=T.transform(A.undo,!0),A.redo=T.transform(A.redo,!0)}),this.stack.redo.forEach(function(A){A.undo=T.transform(A.undo,!0),A.redo=T.transform(A.redo,!0)})}},{key:"undo",value:function(){this.change("undo","redo")}}]),s}(l.default);v.DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};function c(b){var s=b.ops[b.ops.length-1];return s==null?!1:s.insert!=null?typeof s.insert=="string"&&s.insert.endsWith(` -`):s.attributes!=null?Object.keys(s.attributes).some(function(g){return O.default.query(g,O.default.Scope.BLOCK)!=null}):!1}function u(b){var s=b.reduce(function(T,A){return T+=A.delete||0,T},0),g=b.length()-s;return c(b)&&(g-=1),g}r.default=v,r.getLastChangeIndex=u},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.BaseTooltip=void 0;var f=function(){function R(j,B){for(var V=0;V0&&arguments[0]!==void 0?arguments[0]:"link",L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),L!=null?this.textbox.value=L:V!==this.root.getAttribute("data-mode")&&(this.textbox.value=""),this.position(this.quill.getBounds(this.quill.selection.savedRange)),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute("data-"+V)||""),this.root.setAttribute("data-mode",V)}},{key:"restoreFocus",value:function(){var V=this.quill.scrollingContainer.scrollTop;this.quill.focus(),this.quill.scrollingContainer.scrollTop=V}},{key:"save",value:function(){var V=this.textbox.value;switch(this.root.getAttribute("data-mode")){case"link":{var L=this.quill.root.scrollTop;this.linkRange?(this.quill.formatText(this.linkRange,"link",V,o.default.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",V,o.default.sources.USER)),this.quill.root.scrollTop=L;break}case"video":V=D(V);case"formula":{if(!V)break;var $=this.quill.getSelection(!0);if($!=null){var Z=$.index+$.length;this.quill.insertEmbed(Z,this.root.getAttribute("data-mode"),V,o.default.sources.USER),this.root.getAttribute("data-mode")==="formula"&&this.quill.insertText(Z+1," ",o.default.sources.USER),this.quill.setSelection(Z+2,o.default.sources.USER)}break}}this.textbox.value="",this.hide()}}]),j}(k.default);function D(R){var j=R.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||R.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return j?(j[1]||"https")+"://www.youtube.com/embed/"+j[2]+"?showinfo=0":(j=R.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?(j[1]||"https")+"://player.vimeo.com/video/"+j[2]+"/":R}function q(R,j){var B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;j.forEach(function(V){var L=document.createElement("option");V===B?L.setAttribute("selected","selected"):L.setAttribute("value",V),R.appendChild(L)})}r.BaseTooltip=C,r.default=Q},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function h(){this.head=this.tail=null,this.length=0}return h.prototype.append=function(){for(var O=[],m=0;m1&&this.append.apply(this,O.slice(1))},h.prototype.contains=function(O){for(var m,_=this.iterator();m=_();)if(m===O)return!0;return!1},h.prototype.insertBefore=function(O,m){!O||(O.next=m,m!=null?(O.prev=m.prev,m.prev!=null&&(m.prev.next=O),m.prev=O,m===this.head&&(this.head=O)):this.tail!=null?(this.tail.next=O,O.prev=this.tail,this.tail=O):(O.prev=null,this.head=this.tail=O),this.length+=1)},h.prototype.offset=function(O){for(var m=0,_=this.head;_!=null;){if(_===O)return m;m+=_.length(),_=_.next}return-1},h.prototype.remove=function(O){!this.contains(O)||(O.prev!=null&&(O.prev.next=O.next),O.next!=null&&(O.next.prev=O.prev),O===this.head&&(this.head=O.next),O===this.tail&&(this.tail=O.prev),this.length-=1)},h.prototype.iterator=function(O){return O===void 0&&(O=this.head),function(){var m=O;return O!=null&&(O=O.next),m}},h.prototype.find=function(O,m){m===void 0&&(m=!1);for(var _,p=this.iterator();_=p();){var l=_.length();if(Oy?_(a,O-y,Math.min(m,y+v-O)):_(a,0,Math.min(v,O+m-y)),y+=v}},h.prototype.map=function(O){return this.reduce(function(m,_){return m.push(O(_)),m},[])},h.prototype.reduce=function(O,m){for(var _,p=this.iterator();_=p();)m=O(m,_);return m},h}();r.default=f},function(t,r,i){var f=this&&this.__extends||function(){var l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,a){o.__proto__=a}||function(o,a){for(var y in a)a.hasOwnProperty(y)&&(o[y]=a[y])};return function(o,a){l(o,a);function y(){this.constructor=o}o.prototype=a===null?Object.create(a):(y.prototype=a.prototype,new y)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(17),O=i(1),m={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},_=100,p=function(l){f(o,l);function o(a){var y=l.call(this,a)||this;return y.scroll=y,y.observer=new MutationObserver(function(d){y.update(d)}),y.observer.observe(y.domNode,m),y.attach(),y}return o.prototype.detach=function(){l.prototype.detach.call(this),this.observer.disconnect()},o.prototype.deleteAt=function(a,y){this.update(),a===0&&y===this.length()?this.children.forEach(function(d){d.remove()}):l.prototype.deleteAt.call(this,a,y)},o.prototype.formatAt=function(a,y,d,v){this.update(),l.prototype.formatAt.call(this,a,y,d,v)},o.prototype.insertAt=function(a,y,d){this.update(),l.prototype.insertAt.call(this,a,y,d)},o.prototype.optimize=function(a,y){var d=this;a===void 0&&(a=[]),y===void 0&&(y={}),l.prototype.optimize.call(this,y);for(var v=[].slice.call(this.observer.takeRecords());v.length>0;)a.push(v.pop());for(var c=function(g,T){T===void 0&&(T=!0),!(g==null||g===d)&&g.domNode.parentNode!=null&&(g.domNode[O.DATA_KEY].mutations==null&&(g.domNode[O.DATA_KEY].mutations=[]),T&&c(g.parent))},u=function(g){g.domNode[O.DATA_KEY]==null||g.domNode[O.DATA_KEY].mutations==null||(g instanceof h.default&&g.children.forEach(u),g.optimize(y))},b=a,s=0;b.length>0;s+=1){if(s>=_)throw new Error("[Parchment] Maximum optimize iterations reached");for(b.forEach(function(g){var T=O.find(g.target,!0);T!=null&&(T.domNode===g.target&&(g.type==="childList"?(c(O.find(g.previousSibling,!1)),[].forEach.call(g.addedNodes,function(A){var k=O.find(A,!1);c(k,!1),k instanceof h.default&&k.children.forEach(function(N){c(N,!1)})})):g.type==="attributes"&&c(T.prev)),c(T))}),this.children.forEach(u),b=[].slice.call(this.observer.takeRecords()),v=b.slice();v.length>0;)a.push(v.pop())}},o.prototype.update=function(a,y){var d=this;y===void 0&&(y={}),a=a||this.observer.takeRecords(),a.map(function(v){var c=O.find(v.target,!0);return c==null?null:c.domNode[O.DATA_KEY].mutations==null?(c.domNode[O.DATA_KEY].mutations=[v],c):(c.domNode[O.DATA_KEY].mutations.push(v),null)}).forEach(function(v){v==null||v===d||v.domNode[O.DATA_KEY]==null||v.update(v.domNode[O.DATA_KEY].mutations||[],y)}),this.domNode[O.DATA_KEY].mutations!=null&&l.prototype.update.call(this,this.domNode[O.DATA_KEY].mutations,y),this.optimize(a,y)},o.blotName="scroll",o.defaultChild="block",o.scope=O.Scope.BLOCK_BLOT,o.tagName="DIV",o}(h.default);r.default=p},function(t,r,i){var f=this&&this.__extends||function(){var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,o){l.__proto__=o}||function(l,o){for(var a in o)o.hasOwnProperty(a)&&(l[a]=o[a])};return function(l,o){p(l,o);function a(){this.constructor=l}l.prototype=o===null?Object.create(o):(a.prototype=o.prototype,new a)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(18),O=i(1);function m(p,l){if(Object.keys(p).length!==Object.keys(l).length)return!1;for(var o in p)if(p[o]!==l[o])return!1;return!0}var _=function(p){f(l,p);function l(){return p!==null&&p.apply(this,arguments)||this}return l.formats=function(o){if(o.tagName!==l.tagName)return p.formats.call(this,o)},l.prototype.format=function(o,a){var y=this;o===this.statics.blotName&&!a?(this.children.forEach(function(d){d instanceof h.default||(d=d.wrap(l.blotName,!0)),y.attributes.copy(d)}),this.unwrap()):p.prototype.format.call(this,o,a)},l.prototype.formatAt=function(o,a,y,d){if(this.formats()[y]!=null||O.query(y,O.Scope.ATTRIBUTE)){var v=this.isolate(o,a);v.format(y,d)}else p.prototype.formatAt.call(this,o,a,y,d)},l.prototype.optimize=function(o){p.prototype.optimize.call(this,o);var a=this.formats();if(Object.keys(a).length===0)return this.unwrap();var y=this.next;y instanceof l&&y.prev===this&&m(a,y.formats())&&(y.moveChildren(this),y.remove())},l.blotName="inline",l.scope=O.Scope.INLINE_BLOT,l.tagName="SPAN",l}(h.default);r.default=_},function(t,r,i){var f=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,l){p.__proto__=l}||function(p,l){for(var o in l)l.hasOwnProperty(o)&&(p[o]=l[o])};return function(p,l){_(p,l);function o(){this.constructor=p}p.prototype=l===null?Object.create(l):(o.prototype=l.prototype,new o)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(18),O=i(1),m=function(_){f(p,_);function p(){return _!==null&&_.apply(this,arguments)||this}return p.formats=function(l){var o=O.query(p.blotName).tagName;if(l.tagName!==o)return _.formats.call(this,l)},p.prototype.format=function(l,o){O.query(l,O.Scope.BLOCK)!=null&&(l===this.statics.blotName&&!o?this.replaceWith(p.blotName):_.prototype.format.call(this,l,o))},p.prototype.formatAt=function(l,o,a,y){O.query(a,O.Scope.BLOCK)!=null?this.format(a,y):_.prototype.formatAt.call(this,l,o,a,y)},p.prototype.insertAt=function(l,o,a){if(a==null||O.query(o,O.Scope.INLINE)!=null)_.prototype.insertAt.call(this,l,o,a);else{var y=this.split(l),d=O.create(o,a);y.parent.insertBefore(d,y)}},p.prototype.update=function(l,o){navigator.userAgent.match(/Trident/)?this.build():_.prototype.update.call(this,l,o)},p.blotName="block",p.scope=O.Scope.BLOCK_BLOT,p.tagName="P",p}(h.default);r.default=m},function(t,r,i){var f=this&&this.__extends||function(){var m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(_,p){_.__proto__=p}||function(_,p){for(var l in p)p.hasOwnProperty(l)&&(_[l]=p[l])};return function(_,p){m(_,p);function l(){this.constructor=_}_.prototype=p===null?Object.create(p):(l.prototype=p.prototype,new l)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(19),O=function(m){f(_,m);function _(){return m!==null&&m.apply(this,arguments)||this}return _.formats=function(p){},_.prototype.format=function(p,l){m.prototype.formatAt.call(this,0,this.length(),p,l)},_.prototype.formatAt=function(p,l,o,a){p===0&&l===this.length()?this.format(o,a):m.prototype.formatAt.call(this,p,l,o,a)},_.prototype.formats=function(){return this.statics.formats(this.domNode)},_}(h.default);r.default=O},function(t,r,i){var f=this&&this.__extends||function(){var _=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,l){p.__proto__=l}||function(p,l){for(var o in l)l.hasOwnProperty(o)&&(p[o]=l[o])};return function(p,l){_(p,l);function o(){this.constructor=p}p.prototype=l===null?Object.create(l):(o.prototype=l.prototype,new o)}}();Object.defineProperty(r,"__esModule",{value:!0});var h=i(19),O=i(1),m=function(_){f(p,_);function p(l){var o=_.call(this,l)||this;return o.text=o.statics.value(o.domNode),o}return p.create=function(l){return document.createTextNode(l)},p.value=function(l){var o=l.data;return o.normalize&&(o=o.normalize()),o},p.prototype.deleteAt=function(l,o){this.domNode.data=this.text=this.text.slice(0,l)+this.text.slice(l+o)},p.prototype.index=function(l,o){return this.domNode===l?o:-1},p.prototype.insertAt=function(l,o,a){a==null?(this.text=this.text.slice(0,l)+o+this.text.slice(l),this.domNode.data=this.text):_.prototype.insertAt.call(this,l,o,a)},p.prototype.length=function(){return this.text.length},p.prototype.optimize=function(l){_.prototype.optimize.call(this,l),this.text=this.statics.value(this.domNode),this.text.length===0?this.remove():this.next instanceof p&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())},p.prototype.position=function(l,o){return[this.domNode,l]},p.prototype.split=function(l,o){if(o===void 0&&(o=!1),!o){if(l===0)return this;if(l===this.length())return this.next}var a=O.create(this.domNode.splitText(l));return this.parent.insertBefore(a,this.next),this.text=this.statics.value(this.domNode),a},p.prototype.update=function(l,o){var a=this;l.some(function(y){return y.type==="characterData"&&y.target===a.domNode})&&(this.text=this.statics.value(this.domNode))},p.prototype.value=function(){return this.text},p.blotName="text",p.scope=O.Scope.INLINE_BLOT,p}(h.default);r.default=m},function(t,r,i){var f=document.createElement("div");if(f.classList.toggle("test-class",!1),f.classList.contains("test-class")){var h=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(O,m){return arguments.length>1&&!this.contains(O)==!m?m:h.call(this,O)}}String.prototype.startsWith||(String.prototype.startsWith=function(O,m){return m=m||0,this.substr(m,O.length)===O}),String.prototype.endsWith||(String.prototype.endsWith=function(O,m){var _=this.toString();(typeof m!="number"||!isFinite(m)||Math.floor(m)!==m||m>_.length)&&(m=_.length),m-=O.length;var p=_.indexOf(O,m);return p!==-1&&p===m}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(m){if(this===null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof m!="function")throw new TypeError("predicate must be a function");for(var _=Object(this),p=_.length>>>0,l=arguments[1],o,a=0;ag.length?s:g,k=s.length>g.length?g:s,N=A.indexOf(k);if(N!=-1)return T=[[f,A.substring(0,N)],[h,k],[f,A.substring(N+k.length)]],s.length>g.length&&(T[0][0]=T[2][0]=i),T;if(k.length==1)return[[i,s],[f,g]];var x=a(s,g);if(x){var E=x[0],w=x[1],S=x[2],P=x[3],F=x[4],M=O(E,S),H=O(w,P);return M.concat([[h,F]],H)}return _(s,g)}function _(s,g){for(var T=s.length,A=g.length,k=Math.ceil((T+A)/2),N=k,x=2*k,E=new Array(x),w=new Array(x),S=0;ST)H+=2;else if(B>A)M+=2;else if(F){var V=N+P-q;if(V>=0&&V=L)return p(s,g,j,B)}}}for(var $=-D+Q;$<=D-C;$+=2){var V=N+$,L;$==-D||$!=D&&w[V-1]T)C+=2;else if(Z>A)Q+=2;else if(!F){var R=N+P-$;if(R>=0&&R=L)return p(s,g,j,B)}}}}return[[i,s],[f,g]]}function p(s,g,T,A){var k=s.substring(0,T),N=g.substring(0,A),x=s.substring(T),E=g.substring(A),w=O(k,N),S=O(x,E);return w.concat(S)}function l(s,g){if(!s||!g||s.charAt(0)!=g.charAt(0))return 0;for(var T=0,A=Math.min(s.length,g.length),k=A,N=0;Tg.length?s:g,A=s.length>g.length?g:s;if(T.length<4||A.length*2=H.length?[j,B,V,L,R]:null}var N=k(T,A,Math.ceil(T.length/4)),x=k(T,A,Math.ceil(T.length/2)),E;if(!N&&!x)return null;x?N?E=N[4].length>x[4].length?N:x:E=x:E=N;var w,S,P,F;s.length>g.length?(w=E[0],S=E[1],P=E[2],F=E[3]):(P=E[0],F=E[1],w=E[2],S=E[3]);var M=E[4];return[w,S,P,F,M]}function y(s){s.push([h,""]);for(var g=0,T=0,A=0,k="",N="",x;g1?(T!==0&&A!==0&&(x=l(N,k),x!==0&&(g-T-A>0&&s[g-T-A-1][0]==h?s[g-T-A-1][1]+=N.substring(0,x):(s.splice(0,0,[h,N.substring(0,x)]),g++),N=N.substring(x),k=k.substring(x)),x=o(N,k),x!==0&&(s[g][1]=N.substring(N.length-x)+s[g][1],N=N.substring(0,N.length-x),k=k.substring(0,k.length-x))),T===0?s.splice(g-A,T+A,[f,N]):A===0?s.splice(g-T,T+A,[i,k]):s.splice(g-T-A,T+A,[i,k],[f,N]),g=g-T-A+(T?1:0)+(A?1:0)+1):g!==0&&s[g-1][0]==h?(s[g-1][1]+=s[g][1],s.splice(g,1)):g++,A=0,T=0,k="",N="";break}s[s.length-1][1]===""&&s.pop();var E=!1;for(g=1;g0&&A.splice(k+2,0,[x[0],E]),b(A,k,3)}else return s}function u(s){for(var g=!1,T=function(x){return x.charCodeAt(0)>=56320&&x.charCodeAt(0)<=57343},A=function(x){return x.charCodeAt(x.length-1)>=55296&&x.charCodeAt(x.length-1)<=56319},k=2;k0&&N.push(s[k]);return N}function b(s,g,T){for(var A=g+T-1;A>=0&&A>=g-1;A--)if(A+1\r?\n +\<"),this.convert();var ee=this.quill.getFormat(this.quill.selection.savedRange.index);if(ee[A.default.blotName]){var ue=this.container.innerText;return this.container.innerHTML="",new l.default().insert(ue,S({},A.default.blotName,ee[A.default.blotName]))}var he=this.prepareMatching(),ye=h(he,2),qe=ye[0],Re=ye[1],_e=$(this.container,qe,Re);return V(_e,` -`)&&_e.ops[_e.ops.length-1].attributes==null&&(_e=_e.compose(new l.default().retain(_e.length()-1).delete(1))),H.log("convert",this.container.innerHTML,_e),this.container.innerHTML="",_e}},{key:"dangerouslyPasteHTML",value:function(te,ee){var ue=arguments.length>2&&arguments[2]!==void 0?arguments[2]:d.default.sources.API;if(typeof te=="string")this.quill.setContents(this.convert(te),ee),this.quill.setSelection(0,d.default.sources.SILENT);else{var he=this.convert(ee);this.quill.updateContents(new l.default().retain(te).concat(he),ue),this.quill.setSelection(te+he.length(),d.default.sources.SILENT)}}},{key:"onPaste",value:function(te){var ee=this;if(!(te.defaultPrevented||!this.quill.isEnabled())){var ue=this.quill.getSelection(),he=new l.default().retain(ue.index),ye=this.quill.scrollingContainer.scrollTop;this.container.focus(),this.quill.selection.update(d.default.sources.SILENT),setTimeout(function(){he=he.concat(ee.convert()).delete(ue.length),ee.quill.updateContents(he,d.default.sources.USER),ee.quill.setSelection(he.length()-ue.length,d.default.sources.SILENT),ee.quill.scrollingContainer.scrollTop=ye,ee.quill.focus()},1)}}},{key:"prepareMatching",value:function(){var te=this,ee=[],ue=[];return this.matchers.forEach(function(he){var ye=h(he,2),qe=ye[0],Re=ye[1];switch(qe){case Node.TEXT_NODE:ue.push(Re);break;case Node.ELEMENT_NODE:ee.push(Re);break;default:[].forEach.call(te.container.querySelectorAll(qe),function(_e){_e[Q]=_e[Q]||[],_e[Q].push(Re)});break}}),[ee,ue]}}]),U}(b.default);R.DEFAULTS={matchers:[],matchVisual:!0};function j(z,U,G){return(typeof U>"u"?"undefined":f(U))==="object"?Object.keys(U).reduce(function(te,ee){return j(te,ee,U[ee])},z):z.reduce(function(te,ee){return ee.attributes&&ee.attributes[U]?te.push(ee):te.insert(ee.insert,(0,_.default)({},S({},U,G),ee.attributes))},new l.default)}function B(z){if(z.nodeType!==Node.ELEMENT_NODE)return{};var U="__ql-computed-style";return z[U]||(z[U]=window.getComputedStyle(z))}function V(z,U){for(var G="",te=z.ops.length-1;te>=0&&G.length-1}function $(z,U,G){return z.nodeType===z.TEXT_NODE?G.reduce(function(te,ee){return ee(z,te)},new l.default):z.nodeType===z.ELEMENT_NODE?[].reduce.call(z.childNodes||[],function(te,ee){var ue=$(ee,U,G);return ee.nodeType===z.ELEMENT_NODE&&(ue=U.reduce(function(he,ye){return ye(ee,he)},ue),ue=(ee[Q]||[]).reduce(function(he,ye){return ye(ee,he)},ue)),te.concat(ue)},new l.default):new l.default}function Z(z,U,G){return j(G,z,!0)}function W(z,U){var G=a.default.Attributor.Attribute.keys(z),te=a.default.Attributor.Class.keys(z),ee=a.default.Attributor.Style.keys(z),ue={};return G.concat(te).concat(ee).forEach(function(he){var ye=a.default.query(he,a.default.Scope.ATTRIBUTE);ye!=null&&(ue[ye.attrName]=ye.value(z),ue[ye.attrName])||(ye=D[he],ye!=null&&(ye.attrName===he||ye.keyName===he)&&(ue[ye.attrName]=ye.value(z)||void 0),ye=q[he],ye!=null&&(ye.attrName===he||ye.keyName===he)&&(ye=q[he],ue[ye.attrName]=ye.value(z)||void 0))}),Object.keys(ue).length>0&&(U=j(U,ue)),U}function J(z,U){var G=a.default.query(z);if(G==null)return U;if(G.prototype instanceof a.default.Embed){var te={},ee=G.value(z);ee!=null&&(te[G.blotName]=ee,U=new l.default().insert(te,G.formats(z)))}else typeof G.formats=="function"&&(U=j(U,G.blotName,G.formats(z)));return U}function le(z,U){return V(U,` -`)||U.insert(` -`),U}function de(){return new l.default}function pe(z,U){var G=a.default.query(z);if(G==null||G.blotName!=="list-item"||!V(U,` -`))return U;for(var te=-1,ee=z.parentNode;!ee.classList.contains("ql-clipboard");)(a.default.query(ee)||{}).blotName==="list"&&(te+=1),ee=ee.parentNode;return te<=0?U:U.compose(new l.default().retain(U.length()-1).retain(1,{indent:te}))}function ve(z,U){return V(U,` -`)||(L(z)||U.length()>0&&z.nextSibling&&L(z.nextSibling))&&U.insert(` -`),U}function I(z,U){if(L(z)&&z.nextElementSibling!=null&&!V(U,` - -`)){var G=z.offsetHeight+parseFloat(B(z).marginTop)+parseFloat(B(z).marginBottom);z.nextElementSibling.offsetTop>z.offsetTop+G*1.5&&U.insert(` -`)}return U}function Y(z,U){var G={},te=z.style||{};return te.fontStyle&&B(z).fontStyle==="italic"&&(G.italic=!0),te.fontWeight&&(B(z).fontWeight.startsWith("bold")||parseInt(B(z).fontWeight)>=700)&&(G.bold=!0),Object.keys(G).length>0&&(U=j(U,G)),parseFloat(te.textIndent||0)>0&&(U=new l.default().insert(" ").concat(U)),U}function X(z,U){var G=z.data;if(z.parentNode.tagName==="O:P")return U.insert(G.trim());if(G.trim().length===0&&z.parentNode.classList.contains("ql-clipboard"))return U;if(!B(z.parentNode).whiteSpace.startsWith("pre")){var te=function(ue,he){return he=he.replace(/[^\u00a0]/g,""),he.length<1&&ue?" ":he};G=G.replace(/\r\n/g," ").replace(/\n/g," "),G=G.replace(/\s\s+/g,te.bind(te,!0)),(z.previousSibling==null&&L(z.parentNode)||z.previousSibling!=null&&L(z.previousSibling))&&(G=G.replace(/^\s+/,te.bind(te,!1))),(z.nextSibling==null&&L(z.parentNode)||z.nextSibling!=null&&L(z.nextSibling))&&(G=G.replace(/\s+$/,te.bind(te,!1)))}return U.insert(G)}r.default=R,r.matchAttributor=W,r.matchBlot=J,r.matchNewline=ve,r.matchSpacing=I,r.matchText=X},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function y(d,v){for(var c=0;c '},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function y(d,v){for(var c=0;ca.right&&(d=a.right-y.right,this.root.style.left=l+d+"px"),y.lefta.bottom){var v=y.bottom-y.top,c=p.bottom-p.top+v;this.root.style.top=o-c+"px",this.root.classList.add("ql-flip")}return d}},{key:"show",value:function(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}}]),m}();r.default=O},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function x(E,w){var S=[],P=!0,F=!1,M=void 0;try{for(var H=E[Symbol.iterator](),Q;!(P=(Q=H.next()).done)&&(S.push(Q.value),!(w&&S.length===w));P=!0);}catch(C){F=!0,M=C}finally{try{!P&&H.return&&H.return()}finally{if(F)throw M}}return S}return function(E,w){if(Array.isArray(E))return E;if(Symbol.iterator in Object(E))return x(E,w);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=function x(E,w,S){E===null&&(E=Function.prototype);var P=Object.getOwnPropertyDescriptor(E,w);if(P===void 0){var F=Object.getPrototypeOf(E);return F===null?void 0:x(F,w,S)}else{if("value"in P)return P.value;var M=P.get;return M===void 0?void 0:M.call(S)}},O=function(){function x(E,w){for(var S=0;S','','',''].join(""),r.default=k},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(29),h=ee(f),O=i(36),m=i(38),_=i(64),p=i(65),l=ee(p),o=i(66),a=ee(o),y=i(67),d=ee(y),v=i(37),c=i(26),u=i(39),b=i(40),s=i(56),g=ee(s),T=i(68),A=ee(T),k=i(27),N=ee(k),x=i(69),E=ee(x),w=i(70),S=ee(w),P=i(71),F=ee(P),M=i(72),H=ee(M),Q=i(73),C=ee(Q),D=i(13),q=ee(D),R=i(74),j=ee(R),B=i(75),V=ee(B),L=i(57),$=ee(L),Z=i(41),W=ee(Z),J=i(28),le=ee(J),de=i(59),pe=ee(de),ve=i(60),I=ee(ve),Y=i(61),X=ee(Y),z=i(108),U=ee(z),G=i(62),te=ee(G);function ee(ue){return ue&&ue.__esModule?ue:{default:ue}}h.default.register({"attributors/attribute/direction":m.DirectionAttribute,"attributors/class/align":O.AlignClass,"attributors/class/background":v.BackgroundClass,"attributors/class/color":c.ColorClass,"attributors/class/direction":m.DirectionClass,"attributors/class/font":u.FontClass,"attributors/class/size":b.SizeClass,"attributors/style/align":O.AlignStyle,"attributors/style/background":v.BackgroundStyle,"attributors/style/color":c.ColorStyle,"attributors/style/direction":m.DirectionStyle,"attributors/style/font":u.FontStyle,"attributors/style/size":b.SizeStyle},!0),h.default.register({"formats/align":O.AlignClass,"formats/direction":m.DirectionClass,"formats/indent":_.IndentClass,"formats/background":v.BackgroundStyle,"formats/color":c.ColorStyle,"formats/font":u.FontClass,"formats/size":b.SizeClass,"formats/blockquote":l.default,"formats/code-block":q.default,"formats/header":a.default,"formats/list":d.default,"formats/bold":g.default,"formats/code":D.Code,"formats/italic":A.default,"formats/link":N.default,"formats/script":E.default,"formats/strike":S.default,"formats/underline":F.default,"formats/image":H.default,"formats/video":C.default,"formats/list/item":y.ListItem,"modules/formula":j.default,"modules/syntax":V.default,"modules/toolbar":$.default,"themes/bubble":U.default,"themes/snow":te.default,"ui/icons":W.default,"ui/picker":le.default,"ui/icon-picker":I.default,"ui/color-picker":pe.default,"ui/tooltip":X.default},!0),r.default=h.default},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.IndentClass=void 0;var f=function(){function d(v,c){for(var u=0;u0&&this.children.tail.format(A,k)}},{key:"formats",value:function(){return y({},this.statics.blotName,this.statics.formats(this.domNode))}},{key:"insertBefore",value:function(A,k){if(A instanceof u)h(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"insertBefore",this).call(this,A,k);else{var N=k==null?this.length():k.offset(this),x=this.split(N);x.parent.insertBefore(A,x)}}},{key:"optimize",value:function(A){h(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"optimize",this).call(this,A);var k=this.next;k!=null&&k.prev===this&&k.statics.blotName===this.statics.blotName&&k.domNode.tagName===this.domNode.tagName&&k.domNode.getAttribute("data-checked")===this.domNode.getAttribute("data-checked")&&(k.moveChildren(this),k.remove())}},{key:"replace",value:function(A){if(A.statics.blotName!==this.statics.blotName){var k=m.default.create(this.statics.defaultChild);A.moveChildren(k),this.appendChild(k)}h(g.prototype.__proto__||Object.getPrototypeOf(g.prototype),"replace",this).call(this,A)}}]),g}(o.default);b.blotName="list",b.scope=m.default.Scope.BLOCK_BLOT,b.tagName=["OL","UL"],b.defaultChild="list-item",b.allowedChildren=[u],r.ListItem=u,r.default=b},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=i(56),h=O(f);function O(o){return o&&o.__esModule?o:{default:o}}function m(o,a){if(!(o instanceof a))throw new TypeError("Cannot call a class as a function")}function _(o,a){if(!o)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a&&(typeof a=="object"||typeof a=="function")?a:o}function p(o,a){if(typeof a!="function"&&a!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof a);o.prototype=Object.create(a&&a.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),a&&(Object.setPrototypeOf?Object.setPrototypeOf(o,a):o.__proto__=a)}var l=function(o){p(a,o);function a(){return m(this,a),_(this,(a.__proto__||Object.getPrototypeOf(a)).apply(this,arguments))}return a}(h.default);l.blotName="italic",l.tagName=["EM","I"],r.default=l},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function y(d,v){for(var c=0;c-1?s?this.domNode.setAttribute(b,s):this.domNode.removeAttribute(b):h(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"format",this).call(this,b,s)}}],[{key:"create",value:function(b){var s=h(c.__proto__||Object.getPrototypeOf(c),"create",this).call(this,b);return typeof b=="string"&&s.setAttribute("src",this.sanitize(b)),s}},{key:"formats",value:function(b){return y.reduce(function(s,g){return b.hasAttribute(g)&&(s[g]=b.getAttribute(g)),s},{})}},{key:"match",value:function(b){return/\.(jpe?g|gif|png)$/.test(b)||/^data:image\/.+;base64/.test(b)}},{key:"sanitize",value:function(b){return(0,_.sanitize)(b,["http","https","data"])?b:"//:0"}},{key:"value",value:function(b){return b.getAttribute("src")}}]),c}(m.default.Embed);d.blotName="image",d.tagName="IMG",r.default=d},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0});var f=function(){function v(c,u){for(var b=0;b-1?s?this.domNode.setAttribute(b,s):this.domNode.removeAttribute(b):h(c.prototype.__proto__||Object.getPrototypeOf(c.prototype),"format",this).call(this,b,s)}}],[{key:"create",value:function(b){var s=h(c.__proto__||Object.getPrototypeOf(c),"create",this).call(this,b);return s.setAttribute("frameborder","0"),s.setAttribute("allowfullscreen",!0),s.setAttribute("src",this.sanitize(b)),s}},{key:"formats",value:function(b){return y.reduce(function(s,g){return b.hasAttribute(g)&&(s[g]=b.getAttribute(g)),s},{})}},{key:"sanitize",value:function(b){return _.default.sanitize(b)}},{key:"value",value:function(b){return b.getAttribute("src")}}]),c}(O.BlockEmbed);d.blotName="video",d.className="ql-video",d.tagName="IFRAME",r.default=d},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.FormulaBlot=void 0;var f=function(){function b(s,g){for(var T=0;T0||this.cachedText==null)&&(this.domNode.innerHTML=N(x),this.domNode.normalize(),this.attach()),this.cachedText=x)}}]),A}(y.default);b.className="ql-syntax";var s=new m.default.Attributor.Class("token","hljs",{scope:m.default.Scope.INLINE}),g=function(T){u(A,T),f(A,null,[{key:"register",value:function(){p.default.register(s,!0),p.default.register(b,!0)}}]);function A(k,N){v(this,A);var x=c(this,(A.__proto__||Object.getPrototypeOf(A)).call(this,k,N));if(typeof x.options.highlight!="function")throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");var E=null;return x.quill.on(p.default.events.SCROLL_OPTIMIZE,function(){clearTimeout(E),E=setTimeout(function(){x.highlight(),E=null},x.options.interval)}),x.highlight(),x}return f(A,[{key:"highlight",value:function(){var N=this;if(!this.quill.selection.composing){this.quill.update(p.default.sources.USER);var x=this.quill.getSelection();this.quill.scroll.descendants(b).forEach(function(E){E.highlight(N.options.highlight)}),this.quill.update(p.default.sources.SILENT),x!=null&&this.quill.setSelection(x,p.default.sources.SILENT)}}}]),A}(o.default);g.DEFAULTS={highlight:function(){return window.hljs==null?null:function(T){var A=window.hljs.highlightAuto(T);return A.value}}(),interval:1e3},r.CodeBlock=b,r.CodeToken=s,r.default=g},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r){t.exports=' '},function(t,r,i){Object.defineProperty(r,"__esModule",{value:!0}),r.default=r.BubbleTooltip=void 0;var f=function A(k,N,x){k===null&&(k=Function.prototype);var E=Object.getOwnPropertyDescriptor(k,N);if(E===void 0){var w=Object.getPrototypeOf(k);return w===null?void 0:A(w,N,x)}else{if("value"in E)return E.value;var S=E.get;return S===void 0?void 0:S.call(x)}},h=function(){function A(k,N){for(var x=0;x0&&F===p.default.sources.USER){E.show(),E.root.style.left="0px",E.root.style.width="",E.root.style.width=E.root.offsetWidth+"px";var M=E.quill.getLines(S.index,S.length);if(M.length===1)E.position(E.quill.getBounds(S));else{var H=M[M.length-1],Q=E.quill.getIndex(H),C=Math.min(H.length()-1,S.index+S.length-Q),D=E.quill.getBounds(new a.Range(Q,C));E.position(D)}}else document.activeElement!==E.textbox&&E.quill.hasFocus()&&E.hide()}),E}return h(k,[{key:"listen",value:function(){var x=this;f(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"listen",this).call(this),this.root.querySelector(".ql-close").addEventListener("click",function(){x.root.classList.remove("ql-editing")}),this.quill.on(p.default.events.SCROLL_OPTIMIZE,function(){setTimeout(function(){if(!x.root.classList.contains("ql-hidden")){var E=x.quill.getSelection();E!=null&&x.position(x.quill.getBounds(E))}},1)})}},{key:"cancel",value:function(){this.show()}},{key:"position",value:function(x){var E=f(k.prototype.__proto__||Object.getPrototypeOf(k.prototype),"position",this).call(this,x),w=this.root.querySelector(".ql-tooltip-arrow");if(w.style.marginLeft="",E===0)return E;w.style.marginLeft=-1*E-w.offsetWidth/2+"px"}}]),k}(l.BaseTooltip);T.TEMPLATE=['','
','','',"
"].join(""),r.BubbleTooltip=T,r.default=g},function(t,r,i){t.exports=i(63)}]).default})})(ho);var Og=Me&&Me.__extends||function(){var e=function(n,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var f in i)i.hasOwnProperty(f)&&(r[f]=i[f])},e(n,t)};return function(n,t){e(n,t);function r(){this.constructor=n}n.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),Kt=Me&&Me.__assign||function(){return Kt=Object.assign||function(e){for(var n,t=1,r=arguments.length;t1)throw new Error("The Quill editing area can only be composed of a single React element.");if(We.default.Children.count(t.children)){var i=We.default.Children.only(t.children);if(((r=i)===null||r===void 0?void 0:r.type)==="textarea")throw new Error("Quill does not support editing on a