From ed49e5d3d2614bfadfb3fb60f7251e94b0a58aa7 Mon Sep 17 00:00:00 2001 From: enggarsm Date: Wed, 2 Jul 2025 21:49:54 +0700 Subject: [PATCH] first commit --- .DS_Store | Bin 0 -> 6148 bytes app/.DS_Store | Bin 0 -> 6148 bytes app/.editorconfig | 18 + app/.env.example | 58 + app/.gitattributes | 11 + app/.gitignore | 18 + app/Charts/PresureChart.php | 53 + app/Charts/distanceChart.php | 69 + app/Exports/ArrayExport.php | 20 + app/Exports/DataExport.php | 34 + app/Http/.DS_Store | Bin 0 -> 6148 bytes app/Http/Controllers/AuthController.php | 62 +- app/Http/Controllers/ChartController.php | 94 + app/Http/Controllers/DashboardController.php | 212 +- app/Http/Controllers/RegisterController.php | 189 ++ app/Http/Controllers/SensorController.php | 120 + app/Http/Controllers/SensorDataController.php | 158 ++ app/Http/Controllers/UnitController.php | 48 + app/Http/Controllers/UserController.php | 81 + app/Http/Kernel.php | 3 + app/Http/Middleware/AdminMiddleware.php | 25 + app/Http/Middleware/PreventBackHistory.php | 23 + app/Models/SensorData.php | 33 + app/Models/Unit.php | 19 + app/Models/User.php | 17 +- app/Models/UserDevice.php | 26 + bootstrap/helpers.php | 24 + composer.json | 14 +- composer.lock | 2023 +++++++++++------ config/app.php | 2 +- config/session.php | 2 +- .../2014_10_12_000000_create_users_table.php | 6 +- ...09_04_080556_create_sensor_jarak_table.php | 32 + ...12_08_001149_create_user_devices_table.php | 28 + .../2024_12_08_095707_create_units_table.php | 27 + ...5839_add_unit_id_column_to_users_table.php | 29 + ...4_12_11_220355_drop_user_devices_table.php | 23 + ...add_device_names_column_to_units_table.php | 27 + database/seeders/NamaSeeder.php | 17 + database/seeders/UsersSeeder.php | 26 + package-lock.json | 1257 ++++++++++ package.json | 44 +- public/.DS_Store | Bin 0 -> 6148 bytes public/assets/css/style.css | 20 + public/syncfusion/material.css | 1014 +++++++++ public/syncfusion/syncfusion-helper.js | 1 + resources/.DS_Store | Bin 0 -> 6148 bytes resources/js/app.js | 3 +- resources/js/sensor-data.js | 69 + resources/views/.DS_Store | Bin 0 -> 6148 bytes resources/views/admin/.DS_Store | Bin 0 -> 8196 bytes resources/views/admin/layout/main.blade.php | 242 +- resources/views/admin/pages/Bakalan.blade.php | 18 + .../views/admin/pages/Bauresan.blade.php | 18 + resources/views/admin/pages/Gandul.blade.php | 18 + resources/views/admin/pages/Grobog.blade.php | 18 + resources/views/admin/pages/Induk.blade.php | 18 + .../admin/pages/Induk_pressure.blade.php | 19 + .../admin/pages/Pressure_Induk.blade.php | 13 + resources/views/admin/pages/coba.blade.php | 121 + .../views/admin/pages/dashboard.blade.php | 201 +- .../views/admin/pages/datapegawai.blade.php | 129 +- .../views/admin/pages/dataprint.blade.php | 71 + .../views/admin/pages/datasensor.blade.php | 93 + .../views/admin/pages/day_Bakalan.blade.php | 22 + .../views/admin/pages/day_Bauresan.blade.php | 22 + .../views/admin/pages/day_Gandul.blade.php | 22 + .../views/admin/pages/day_Grobog.blade.php | 22 + .../views/admin/pages/day_Induk.blade.php | 22 + .../admin/pages/day_klampisan_atas.blade.php | 22 + .../admin/pages/day_klampisan_bawah.blade.php | 22 + .../views/admin/pages/edituser.blade.php | 43 + .../views/admin/pages/insert_data.blade.php | 40 + resources/views/admin/pages/jarak.blade.php | 34 + .../views/admin/pages/kawedanan.blade.php | 19 + .../admin/pages/klampisan_atas.blade.php | 18 + .../admin/pages/klampisan_bawah.blade.php | 18 + .../views/admin/pages/month_Bakalan.blade.php | 26 + .../admin/pages/month_Bauresan.blade.php | 26 + .../views/admin/pages/month_Gandul.blade.php | 26 + .../views/admin/pages/month_Grobog.blade.php | 26 + .../views/admin/pages/month_Induk.blade.php | 26 + .../pages/month_klampisan_atas.blade.php | 26 + .../pages/month_klampisan_bawah.blade.php | 26 + resources/views/admin/pages/profil.blade.php | 407 +--- .../views/admin/pages/register.blade.php | 243 +- .../views/admin/pages/tabelsensor.blade.php | 106 + .../views/admin/pages/unit-devices.blade.php | 49 + resources/views/admin/pages/unit.blade.php | 142 ++ resources/views/admin/pages/unit1.blade.php | 307 +-- resources/views/admin/pages/units.blade.php | 91 + .../views/admin/pages/user-devices.blade.php | 52 + .../views/admin/pages/week_Bakalan.blade.php | 26 + .../views/admin/pages/week_Bauresan.blade.php | 26 + .../views/admin/pages/week_Gandul.blade.php | 26 + .../views/admin/pages/week_Grobog.blade.php | 26 + .../views/admin/pages/week_Induk.blade.php | 26 + .../admin/pages/week_klampisan_atas.blade.php | 26 + .../pages/week_klampisan_bawah.blade.php | 26 + resources/views/login/gantisandi.blade.php | 70 + resources/views/login/index.blade.php | 60 + resources/views/login/login.blade.php | 43 - routes/web.php | 107 +- vite.config.js | 6 +- yarn.lock | 340 +++ 105 files changed, 7953 insertions(+), 1818 deletions(-) create mode 100644 .DS_Store create mode 100644 app/.DS_Store create mode 100644 app/.editorconfig create mode 100644 app/.env.example create mode 100644 app/.gitattributes create mode 100644 app/.gitignore create mode 100644 app/Charts/PresureChart.php create mode 100644 app/Charts/distanceChart.php create mode 100644 app/Exports/ArrayExport.php create mode 100644 app/Exports/DataExport.php create mode 100644 app/Http/.DS_Store create mode 100644 app/Http/Controllers/ChartController.php create mode 100644 app/Http/Controllers/RegisterController.php create mode 100644 app/Http/Controllers/SensorController.php create mode 100644 app/Http/Controllers/SensorDataController.php create mode 100644 app/Http/Controllers/UnitController.php create mode 100644 app/Http/Controllers/UserController.php create mode 100644 app/Http/Middleware/AdminMiddleware.php create mode 100644 app/Http/Middleware/PreventBackHistory.php create mode 100644 app/Models/SensorData.php create mode 100644 app/Models/Unit.php create mode 100644 app/Models/UserDevice.php create mode 100644 bootstrap/helpers.php create mode 100644 database/migrations/2024_09_04_080556_create_sensor_jarak_table.php create mode 100644 database/migrations/2024_12_08_001149_create_user_devices_table.php create mode 100644 database/migrations/2024_12_08_095707_create_units_table.php create mode 100644 database/migrations/2024_12_08_095839_add_unit_id_column_to_users_table.php create mode 100644 database/migrations/2024_12_11_220355_drop_user_devices_table.php create mode 100644 database/migrations/2024_12_11_220422_add_device_names_column_to_units_table.php create mode 100644 database/seeders/NamaSeeder.php create mode 100644 database/seeders/UsersSeeder.php create mode 100644 package-lock.json create mode 100644 public/.DS_Store create mode 100644 public/syncfusion/material.css create mode 100644 public/syncfusion/syncfusion-helper.js create mode 100644 resources/.DS_Store create mode 100644 resources/js/sensor-data.js create mode 100644 resources/views/.DS_Store create mode 100644 resources/views/admin/.DS_Store create mode 100644 resources/views/admin/pages/Bakalan.blade.php create mode 100644 resources/views/admin/pages/Bauresan.blade.php create mode 100644 resources/views/admin/pages/Gandul.blade.php create mode 100644 resources/views/admin/pages/Grobog.blade.php create mode 100644 resources/views/admin/pages/Induk.blade.php create mode 100644 resources/views/admin/pages/Induk_pressure.blade.php create mode 100644 resources/views/admin/pages/Pressure_Induk.blade.php create mode 100644 resources/views/admin/pages/coba.blade.php create mode 100644 resources/views/admin/pages/dataprint.blade.php create mode 100644 resources/views/admin/pages/datasensor.blade.php create mode 100644 resources/views/admin/pages/day_Bakalan.blade.php create mode 100644 resources/views/admin/pages/day_Bauresan.blade.php create mode 100644 resources/views/admin/pages/day_Gandul.blade.php create mode 100644 resources/views/admin/pages/day_Grobog.blade.php create mode 100644 resources/views/admin/pages/day_Induk.blade.php create mode 100644 resources/views/admin/pages/day_klampisan_atas.blade.php create mode 100644 resources/views/admin/pages/day_klampisan_bawah.blade.php create mode 100644 resources/views/admin/pages/edituser.blade.php create mode 100644 resources/views/admin/pages/insert_data.blade.php create mode 100644 resources/views/admin/pages/jarak.blade.php create mode 100644 resources/views/admin/pages/kawedanan.blade.php create mode 100644 resources/views/admin/pages/klampisan_atas.blade.php create mode 100644 resources/views/admin/pages/klampisan_bawah.blade.php create mode 100644 resources/views/admin/pages/month_Bakalan.blade.php create mode 100644 resources/views/admin/pages/month_Bauresan.blade.php create mode 100644 resources/views/admin/pages/month_Gandul.blade.php create mode 100644 resources/views/admin/pages/month_Grobog.blade.php create mode 100644 resources/views/admin/pages/month_Induk.blade.php create mode 100644 resources/views/admin/pages/month_klampisan_atas.blade.php create mode 100644 resources/views/admin/pages/month_klampisan_bawah.blade.php create mode 100644 resources/views/admin/pages/tabelsensor.blade.php create mode 100644 resources/views/admin/pages/unit-devices.blade.php create mode 100644 resources/views/admin/pages/unit.blade.php create mode 100644 resources/views/admin/pages/units.blade.php create mode 100644 resources/views/admin/pages/user-devices.blade.php create mode 100644 resources/views/admin/pages/week_Bakalan.blade.php create mode 100644 resources/views/admin/pages/week_Bauresan.blade.php create mode 100644 resources/views/admin/pages/week_Gandul.blade.php create mode 100644 resources/views/admin/pages/week_Grobog.blade.php create mode 100644 resources/views/admin/pages/week_Induk.blade.php create mode 100644 resources/views/admin/pages/week_klampisan_atas.blade.php create mode 100644 resources/views/admin/pages/week_klampisan_bawah.blade.php create mode 100644 resources/views/login/gantisandi.blade.php create mode 100644 resources/views/login/index.blade.php delete mode 100644 resources/views/login/login.blade.php create mode 100644 yarn.lock diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..217d8611dfd54c3f8939471ae52be6bd9058b08d GIT binary patch literal 6148 zcmeHK&1xGl5FW*D>`f^6&_IrYUJZ4VG!S}Ooa6<%r9HI8-SwJu>2_sy*YUv^_ME&> zo+QtcZ=?y>bxLoo2^ur{r1{ZGA4u{Lks8j@w?sW6>OvXYduW~z_Ooutj#vVq;yJ2m zlA8phyJWf%?G2s*&%m}Zz-PBbF->Wj%vaBEo>lc=aIbb+?H9Y9PSDx!e2adVc~r;s ztQyAU7an~yCQlywaq=mf%tyUf=ccIRteBKGAxkF+`T994QZpZ#S&>#YH*$_3=mw+S z;bL+0?yRqmPfnM8y*N7>^!3T{>2eu#4_?1{|6%kq|5cb9N1wuNW96mbBiy1RyGg5Y zo?vzC64P~57P%>|VBrY@O32_>Qw1%Vg!QB`9M!667c|X~l~YFJRY!pI38D?$C5^fN zOxS#4XMfrFZ!9zaUbd0}IYr(5tz4a7lxM&*@IM*g`$0n)L&3(Oy*kj?5&+nS*$Vnx zOK^@B3kPEqu*dKJ<)7>S^&~&?40r~f6$7e$5nT+iC3#ynHpg$RhJJ^#a9rcirl67M*mn3S cK7?9S5T0$TNf4n2g&r5Y7OcM@UP7(l#fuR=sMN$14aRI~QhO+cob`o#5}(JJ z-EC2-;7LSh%FH*Jok_Z1%1#FWM0*%-0Mr4%MJ23wXg(2IC!LdujZ_f@-6I<1{U}ut zUcby`bKo~JK<};wM^NCW|Ni|&{WQsoR_j$%suDYv(FClk+IU0dHj>E5RgnR+rL3jDokS++QZXLM%!c?>kS#O7418pOWqHnP@h!GV2BcN$u!wmc=18;AfPy_$~ literal 0 HcmV?d00001 diff --git a/app/.editorconfig b/app/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /dev/null +++ b/app/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/app/.env.example b/app/.env.example new file mode 100644 index 0000000..478972c --- /dev/null +++ b/app/.env.example @@ -0,0 +1,58 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +FILESYSTEM_DISK=local +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +MEMCACHED_HOST=127.0.0.1 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=smtp +MAIL_HOST=mailpit +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_HOST= +PUSHER_PORT=443 +PUSHER_SCHEME=https +PUSHER_APP_CLUSTER=mt1 + +VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +VITE_PUSHER_HOST="${PUSHER_HOST}" +VITE_PUSHER_PORT="${PUSHER_PORT}" +VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" +VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/app/.gitattributes b/app/.gitattributes new file mode 100644 index 0000000..fcb21d3 --- /dev/null +++ b/app/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..e6bbd7a --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,18 @@ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.env.production +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode diff --git a/app/Charts/PresureChart.php b/app/Charts/PresureChart.php new file mode 100644 index 0000000..816cb70 --- /dev/null +++ b/app/Charts/PresureChart.php @@ -0,0 +1,53 @@ +chart = $chart; + } + + public function build(): \ArielMejiaDev\LarapexCharts\RadialChart + { + // Ambil data pressure terbaru dari device_name 'kawedanan' + $latestData = SensorData::where('device_name', 'kawedanan') + ->orderBy('created_at', 'desc') // Mengurutkan berdasarkan data terbaru + ->first(); // Mengambil data terbaru + + // Cek jika data ditemukan + if (!$latestData) { + return $this->chart->radialChart() + ->addData([0]) // Jika tidak ada data, set 0 + ->setHeight(280) + ->setLabels(['Kawedanan']) + ->setColors(['#03A9F4']) + ->setTitle("Pressure: 0 bar") + ->setSubtitle("Data tidak ditemukan."); + } + + // Jika data ada, ambil nilai pressure + $latestPressure = $latestData->pressure; + $createdAt = $latestData->created_at; + + // Membatasi angka desimal menjadi 2 digit + $formattedPressure = number_format($latestPressure, 2); + + // Format tanggal dan waktu untuk ditampilkan di judul + $formattedDateTime = $createdAt->format('l, d F Y H:i'); // Contoh: Senin, 02 Oktober 2024 14:30 + + // Membuat chart dengan data pressure terbaru + return $this->chart->radialChart() + ->addData([$formattedPressure]) // Memasukkan nilai pressure terbaru + ->setHeight(280) + ->setLabels(['Kawedanan']) + ->setColors(['#03A9F4']) + ->setTitle("Pressure: {$formattedPressure} bar") + ->setSubtitle("Data dari: {$formattedDateTime}"); + } +} diff --git a/app/Charts/distanceChart.php b/app/Charts/distanceChart.php new file mode 100644 index 0000000..47facfc --- /dev/null +++ b/app/Charts/distanceChart.php @@ -0,0 +1,69 @@ +chart = $chart; + } + + public function build(): \ArielMejiaDev\LarapexCharts\LineChart + { + $tahun = date('Y'); + $bulan = date('m'); + $hariIni = date('N'); // Mendapatkan hari saat ini dalam bentuk numerik (1 = Senin, 7 = Minggu) + + // Array untuk menyimpan nama hari + $dataHari = ['Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu', 'Minggu']; + $dataPenjumlahan = []; + + // Looping untuk setiap hari dalam seminggu (Senin sampai Minggu) hingga hari ini + for ($i = 0; $i < $hariIni; $i++) { + // Penyesuaian untuk memulai dari Senin (hari pertama) + $hariMySQL = $i + 1; // Hari dalam MySQL (1 = Minggu, 2 = Senin, dst.) + + // Ambil data terbaru sensor jarak untuk `klampisan_atas` + $latestSensorAtas = SensorData::where('device_name', 'klampisan_atas') + ->whereYear('created_at', $tahun) + ->whereMonth('created_at', $bulan) + ->whereRaw('WEEKDAY(created_at) = ?', [$i]) // `WEEKDAY` untuk mendapatkan hari mulai dari Senin (0 = Senin) + ->orderBy('created_at', 'desc') + ->first(); + + // Ambil data terbaru sensor jarak untuk `klampisan_bawah` + $latestSensorBawah = SensorData::where('device_name', 'klampisan_bawah') + ->whereYear('created_at', $tahun) + ->whereMonth('created_at', $bulan) + ->whereRaw('WEEKDAY(created_at) = ?', [$i]) + ->orderBy('created_at', 'desc') + ->first(); + + // Hitung penjumlahan jarak dari kedua device + $distanceAtas = $latestSensorAtas ? $latestSensorAtas->distance : 0; + $distanceBawah = $latestSensorBawah ? $latestSensorBawah->distance : 0; + $totalDistance = round($distanceAtas + $distanceBawah, 2); + + // Simpan hasil penjumlahan dalam array + $dataPenjumlahan[] = $totalDistance; + } + + // Hasilnya akan tersimpan dalam $dataPenjumlahan yang berisi total distance dari klampisan_atas dan klampisan_bawah untuk setiap hari + + return $this->chart->lineChart() + ->setDataset([ + [ + 'name' => 'Penjumlahan Data Klampisan Atas & Bawah', + 'data' => $dataPenjumlahan + ] + ]) + ->setHeight(270) + ->setXAxis(array_slice($dataHari, 0, $hariIni)); // Hanya tampilkan hari hingga hari ini di X-axis + } +} diff --git a/app/Exports/ArrayExport.php b/app/Exports/ArrayExport.php new file mode 100644 index 0000000..c0cf693 --- /dev/null +++ b/app/Exports/ArrayExport.php @@ -0,0 +1,20 @@ +data = $data; + } + + public function array(): array + { + return $this->data; + } +} diff --git a/app/Exports/DataExport.php b/app/Exports/DataExport.php new file mode 100644 index 0000000..e055cab --- /dev/null +++ b/app/Exports/DataExport.php @@ -0,0 +1,34 @@ +sensors = $sensors; + } + public function collection() + { + return $this->sensors; + } + public function headings(): array + { + return ['No', 'Waktu Interval', 'Jarak Terakhir']; + } + public function map($sensor): array + { + static $no = 1; + + return [ + $no++, + \Carbon\Carbon::parse($sensor->interval_time)->format('Y-m-d H:i'), + number_format($sensor->last_distance, 2) . 'cm', + ]; + } +} diff --git a/app/Http/.DS_Store b/app/Http/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f225f8ed415c8686268d7d21e7b6bb42efde7383 GIT binary patch literal 6148 zcmeHK!AiqG5Z!I7X(&Pt3Oz1(Em+%H5HBIEKVU=;Dz%|SgE3o@)Er77XZ<0+#P4xt zccYZrgBOu96K3D+>`az@8+NjcG49PL$Ba3Qu{tPX#fIhw!Ew|zsTdC;SMNxeWDz`5 zmaIjS<3BQhd)HtC*teKvuxsD@mj-z{3nCdn#CtG{!Zd5QKX|2D+u5}&+iF;M{-ezO zY@E$gZ=Bps&aijVB2+j zflydm`lWyt*D6NkeAO?QT0GQzkfT2n; f#9}FKf+_*OKm*Vl2s8mJ)#{*-}F9PUoP literal 0 HcmV?d00001 diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 843132e..b46bbb4 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -1,12 +1,68 @@ validate([ + 'email' => 'required', + 'password' => 'required', + ]); + $data=[ + 'email' => $request->email, + 'password' => $request->password + ]; + if(Auth::attempt($data)){ + return redirect()->route('dashboard'); + }else{ + return redirect()->route('login')->with('failed','Email atau Password Salah!!'); + } + } + + public function ganti(){ + return view('login.gantisandi'); + } + public function changePasswordProses(Request $request) + { $request->validate([ + 'email' => 'required|email|exists:users,email', + 'new_password' => 'required|min:8|confirmed', + ], [ + 'email.required' => 'Email diperlukan.', + 'email.email' => 'Format email tidak valid.', + 'email.exists' => 'Email tidak ditemukan.', + 'new_password.required' => 'Kata sandi baru diperlukan.', + 'new_password.min' => 'Kata sandi baru harus memiliki minimal 8 karakter.', + 'new_password.confirmed' => 'Konfirmasi kata sandi tidak cocok.', + ]); + $user = User::where('email', $request->email)->first(); + if (!$user) { + return redirect()->back()->with('failed', 'Pengguna tidak ditemukan.'); + } + try { + $user->password = Hash::make($request->new_password); + $user->save(); + return redirect()->route('login')->with('success', + 'Kata sandi berhasil diubah. Silakan login dengan kata sandi baru Anda.'); + } catch (\Exception $e) { + return redirect()->back()->with('failed', + 'Terjadi kesalahan saat mengganti kata sandi.');} + } + + public function logout(Request $request){ + Auth::logout(); // Logout pengguna + $request->session()->invalidate(); // Hapus sesi + $request->session()->regenerateToken(); // Regenerasi token CSRF + + return redirect()->route('login')->with('success', 'Kamu berhasil keluar!'); + } + + } diff --git a/app/Http/Controllers/ChartController.php b/app/Http/Controllers/ChartController.php new file mode 100644 index 0000000..f76d9bd --- /dev/null +++ b/app/Http/Controllers/ChartController.php @@ -0,0 +1,94 @@ +get('filter'); + $query = SensorData::query(); + $timestamps = []; + $dataAtas = []; + $dataBawah = []; + + switch ($filter) { + case 'second': + // Data per detik dalam 1 jam terakhir + $now = Carbon::now(); + $oneHourAgo = Carbon::now()->subHour(); + + // Mengambil data untuk kedua perangkat + $sensorData = $query->whereBetween('created_at', [$oneHourAgo, $now]) + ->orderBy('created_at', 'asc') + ->get(); + + foreach ($sensorData as $data) { + // Menyimpan timestamp dalam format H:i:s + $timestamps[] = $data->created_at->format('H:i:s'); + if ($data->device_name === 'klampisan_atas') { + $dataAtas[] = round($data->distance, 2); // Pembulatan data + } elseif ($data->device_name === 'klampisan_bawah') { + $dataBawah[] = round($data->distance, 2); // Pembulatan data + } + } + break; + + case 'hour': + // Data per jam dalam 24 jam terakhir + $today = Carbon::today(); + $sensorData = $query->where('created_at', '>=', $today) + ->selectRaw('HOUR(created_at) as hour, AVG(distance) as avg_distance, device_name') + ->groupByRaw('HOUR(created_at), device_name') // Grup berdasarkan jam dan device_name + ->orderBy('hour', 'asc') + ->get(); + + foreach ($sensorData as $data) { + $timestamps[] = $data->hour . ":00"; // Format jam + if ($data->device_name === 'klampisan_atas') { + $dataAtas[$data->hour] = round($data->avg_distance, 2); // Rata-rata jarak + } elseif ($data->device_name === 'klampisan_bawah') { + $dataBawah[$data->hour] = round($data->avg_distance, 2); // Rata-rata jarak + } + } + + // Memastikan semua jam dari 0 hingga 23 ada di timestamp + for ($i = 0; $i < 24; $i++) { + $timestamps[$i] = str_pad($i, 2, '0', STR_PAD_LEFT) . ":00"; // Menambahkan jam + $dataAtas[$i] = $dataAtas[$i] ?? 0; // Default 0 jika tidak ada data + $dataBawah[$i] = $dataBawah[$i] ?? 0; // Default 0 jika tidak ada data + } + + break; + + case 'today': + default: + // Data sepanjang hari ini per menit + $today = Carbon::today(); + $sensorData = $query->whereDate('created_at', $today) + ->orderBy('created_at', 'asc') + ->get(); + + foreach ($sensorData as $data) { + // Menyimpan timestamp dalam format H:i + $timestamps[] = $data->created_at->format('H:i'); + if ($data->device_name === 'klampisan_atas') { + $dataAtas[] = round($data->distance, 2); // Pembulatan data + } elseif ($data->device_name === 'klampisan_bawah') { + $dataBawah[] = round($data->distance, 2); // Pembulatan data + } + } + break; + } + + return response()->json([ + 'timestamps' => $timestamps, + 'atas' => $dataAtas, + 'bawah' => $dataBawah, + ]); + } +} diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index 530e567..6b250eb 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -1,28 +1,214 @@ middleware(function ($request, $next) { + $response = $next($request); + $response->headers->set('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate'); + $response->headers->set('Pragma', 'no-cache'); + $response->headers->set('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT'); + return $response; + }); } - public function dua(){ - return view('admin.pages.unit1'); + + public function index() + { + if (!Auth::check()) { // Cek apakah pengguna sudah login + return redirect()->route('login'); // Arahkan ke login jika belum login } - public function profiladmin(){ + + $data = getDevices(); + return view('admin.pages.dashboard', compact('data')); + } + + public function dua(distanceChart $distanceChart, Request $request) + { + + $data['distanceChart'] = $distanceChart->build(); + + + $latestPressure = SensorData::where('device_name', 'kawedanan') + ->orderBy('created_at', 'desc') + ->first(['pressure']); + + // Jika request adalah AJAX, kembalikan data dalam format JSON + if ($request->ajax()) { + if ($latestPressure) { + Log::info('Pressure data:', ['pressure' => $latestPressure->pressure]); + return response()->json(['pressure' => $latestPressure->pressure, 'distanceChart' => $data['distanceChart']]); // Kembalikan data dalam format JSON + } else { + Log::warning('No pressure data found for device "kawedanan".'); + return response()->json(['pressure' => null, 'distanceChart' => $data['distanceChart']]); // Kembalikan null jika tidak ada data + } + } + + // Mengirim data ke view jika bukan request AJAX + $data['latestPressure'] = $latestPressure; // Menambahkan data tekanan ke data view + return view('admin.pages.unit1', $data); + } + + public function showUnit(string $deviceName) +{ + if (!Auth::check()) { + return redirect()->route('login'); + } + + // Ambil data sensor terbaru (termasuk pressure dan distance) + $latestData = SensorData::where('device_name', 'like', "%$deviceName%") + ->latest('created_at') + ->first(); + + // Ambil data pressure terbaru yang valid (tidak null) + $latestPressureData = SensorData::where('device_name', 'like', "%$deviceName%") + ->whereNotNull('pressure') + ->orderBy('created_at', 'desc') + ->first(); + + if ($latestPressureData) { + $pressureLatest = $latestPressureData->pressure; + $pressureLatestDate = \Carbon\Carbon::parse($latestPressureData->created_at); + } else { + $pressureLatest = null; + $pressureLatestDate = null; + } + + $startOfWeek = now()->startOfWeek(); + $endOfWeek = now()->endOfWeek(); + + $distanceData = SensorData::select( + 'distance', + 'created_at', + DB::raw('date_format(created_at, "%w") as day'), + 'device_name' + ) + ->whereNotNull('distance') + ->where('device_name', 'like', "%$deviceName%") + ->whereBetween('created_at', [$startOfWeek, $endOfWeek]) + ->orderBy('created_at', 'desc') + ->get() + ->groupBy('day') + ->map(function ($items) { + $groupedByDevice = $items->groupBy('device_name'); + $latestItems = $groupedByDevice->map(fn($devItems) => $devItems->first()); + $totalDistance = $latestItems->sum(fn($item) => $item->distance ?? 0); + $latestCreatedAt = $latestItems->max(fn($item) => $item->created_at); + + $anyItem = $items->first(); + + return [ + 'value' => $totalDistance, + 'day' => ['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu'][$anyItem->day], + 'dayIndex' => $anyItem->day, + 'created_at' => \Carbon\Carbon::parse($latestCreatedAt)->format('H:i'), + 'latestCreatedAtObj' => $latestCreatedAt, + ]; + }) + ->sortBy('dayIndex') + ->values(); + + // Ambil waktu terbaru dari semua data distance + $latestDistanceDate = $distanceData->max('latestCreatedAtObj'); + $latestDistanceDate = $latestDistanceDate ? \Carbon\Carbon::parse($latestDistanceDate) : null; + + $data = [ + 'latest' => $latestData, + 'distanceData' => json_encode($distanceData), + 'pressureLatest' => $pressureLatest, + 'pressureLatestDate' => $pressureLatestDate, + 'latestDistanceDate' => $latestDistanceDate, + 'deviceName' => ucwords($deviceName), + ]; + + return view('admin.pages.unit', $data); +} + + + + + + + + public function getDistanceData(Request $request) + { + $startDate = Carbon::parse($request->start_date)->startOfDay(); + $endDate = Carbon::parse($request->end_date)->endOfDay(); + + $data = DB::table('sensor_data') + ->select( + DB::raw("DATE_FORMAT(created_at, '%Y-%m-%d %H:%i') as time_interval"), + DB::raw("SUM(CASE WHEN device_name = 'klampisan_atas' THEN distance ELSE 0 END) as distance_atas"), + DB::raw("SUM(CASE WHEN device_name = 'klampisan_bawah' THEN distance ELSE 0 END) as distance_bawah"), + DB::raw("SUM(distance) as total_distance") + ) + ->whereBetween('created_at', [$startDate, $endDate]) + ->whereIn('device_name', ['klampisan_atas', 'klampisan_bawah']) + ->groupBy(DB::raw("FLOOR(UNIX_TIMESTAMP(created_at) / (30 * 60))")) + ->orderBy('time_interval') + ->get(); + + return response()->json($data); + } + + public function profiladmin() + { return view('admin.pages.profil'); } - public function daftarpegawai(){ - return view('admin.pages.register'); - } - public function datapegawai(){ + + public function datapegawai() + { return view('admin.pages.datapegawai'); } - - -} + public function ambilsensor($deviceName) + { + // Mendapatkan tanggal hari ini dan 7 hari sebelumnya + $startDate = now()->subDays(7); // 7 hari yang lalu + $endDate = now(); // Hari ini + // Mengambil data untuk klampisan_atas dalam rentang waktu satu minggu terakhir + $klampisanAtas = SensorData::where('device_name', 'klampisan_atas') + ->whereBetween('created_at', [$startDate, $endDate]) + ->select('created_at', 'distance') + ->orderBy('created_at', 'asc') + ->get(); + + // Mengambil data untuk klampisan_bawah dalam rentang waktu satu minggu terakhir + $klampisanBawah = SensorData::where('device_name', 'klampisan_bawah') + ->whereBetween('created_at', [$startDate, $endDate]) + ->select('created_at', 'distance') + ->orderBy('created_at', 'asc') + ->get(); + + // Memisahkan label dan data untuk chart + $labels = $klampisanAtas->pluck('created_at')->map(function ($date) { + return $date->format('M d'); // Format tanggal sesuai kebutuhan + }); + + // Data distance untuk klampisan_atas + $dataAtas = $klampisanAtas->pluck('distance'); + + // Data distance untuk klampisan_bawah + $dataBawah = $klampisanBawah->pluck('distance'); + + // Mengirimkan data ke view + $data = [ + 'labels' => $labels, + 'klampisan_atas' => $dataAtas, + 'klampisan_bawah' => $dataBawah, + ]; + + return view('admin.pages.datasensor', compact('data', 'deviceName')); + } +} diff --git a/app/Http/Controllers/RegisterController.php b/app/Http/Controllers/RegisterController.php new file mode 100644 index 0000000..7799b93 --- /dev/null +++ b/app/Http/Controllers/RegisterController.php @@ -0,0 +1,189 @@ +validate([ + 'name' => 'required', + 'email' => 'required|email|unique:users', + 'password' => 'required|min:6', + 'role' => 'required', + 'unit_id' => 'required|integer', + ]); + Log::info('Validated data:', $validated); + try { + User::create([ + 'name' => $request->name, + 'email' => $request->email, + 'password' => bcrypt($request->password), + 'role' => $request->role, + 'unit_id' => $request->unit_id, + ]); + Log::info('User created successfully:', [ + 'name' => $request->name, + 'email' => $request->email, + ]); + } catch (\Exception $e) { + Log::error('Error creating user:', ['error' => $e->getMessage()]); + } + return to_route('dashboard'); + } + + + + + + + +} diff --git a/app/Http/Controllers/SensorController.php b/app/Http/Controllers/SensorController.php new file mode 100644 index 0000000..c68fc62 --- /dev/null +++ b/app/Http/Controllers/SensorController.php @@ -0,0 +1,120 @@ +orderBy('created_at', 'desc') + ->first(['pressure']); // Ambil hanya satu data terbaru + + // Jika request adalah AJAX, kembalikan sebagai JSON + if ($request->ajax()) { + if ($latestPressure) { + Log::info('Pressure data:', ['pressure' => $latestPressure->pressure]); + return response()->json(['pressure' => $latestPressure->pressure]); // Kembalikan pressure dalam format JSON + } else { + Log::warning('No pressure data found for device "kawedanan".'); + return response()->json(['pressure' => null]); // Kembalikan null jika tidak ada data + } + } + + // Kirim data ke view jika bukan request AJAX + return view('admin.pages.coba', compact('latestPressure')); + } +} diff --git a/app/Http/Controllers/SensorDataController.php b/app/Http/Controllers/SensorDataController.php new file mode 100644 index 0000000..200fea6 --- /dev/null +++ b/app/Http/Controllers/SensorDataController.php @@ -0,0 +1,158 @@ +device_name ? [$req->device_name] : getDevices(); + + $data = []; + + foreach ($deviceNames as $deviceName) { + $builder = SensorData::select( + DB::raw('AVG(pressure) as pressure'), + DB::raw('AVG(distance) as distance') + ); + + // Tambahkan kolom waktu berdasarkan filter + if ($req->by == 'date') { + $builder = $builder->addSelect(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d") as waktu')); + } else if ($req->by == 'month') { + $builder = $builder->addSelect(DB::raw('DATE_FORMAT(created_at, "%Y-%m") as waktu')); + } else if ($req->by == 'year') { + $builder = $builder->addSelect(DB::raw('DATE_FORMAT(created_at, "%Y") as waktu')); + } else { + $builder = $builder->addSelect(DB::raw('DATE_FORMAT(created_at, "%Y-%m-%d %H:00") as waktu')); + } + + // Filter dan grup data berdasarkan waktu + $data[$deviceName] = $builder + ->where('device_name', 'like', "%$deviceName%") + ->groupByRaw('waktu') + ->get(); + } + + return [ + 'message' => 'Data has been fetched', + 'data' => $data, + ]; + } + +public function coba($deviceName, Request $request) +{ + if ($deviceName === 'klampisan') { + $deviceNames = ['klampisan_atas', 'klampisan_bawah']; + } else { + $deviceNames = [$deviceName]; + } + + $start_date = $request->get('start_date'); + $end_date = $request->get('end_date'); + + $sensors = collect(); + $grouped = collect(); + + if ($start_date && $end_date) { + $request->validate([ + 'start_date' => 'required|date', + 'end_date' => 'required|date', + ]); + + $start_date = date('Y-m-d H:i:s', strtotime($start_date)); + $end_date = date('Y-m-d H:i:s', strtotime($end_date)); + + $sensors = DB::table('sensor_data') + ->selectRaw('device_name, DATE_FORMAT(created_at, "%Y-%m-%d %H:00:00") as interval_time, MAX(distance) as max_distance') + ->whereIn('device_name', $deviceNames) + ->whereBetween('created_at', [$start_date, $end_date]) + ->groupBy('device_name', 'interval_time') + ->orderBy('interval_time') + ->get(); + + $grouped = $sensors->groupBy('device_name'); + } + + return view('admin.pages.dataprint', [ + 'deviceName' => $deviceName, + 'sensors' => $sensors, + 'groupedSensors' => $grouped, + 'start_date' => $start_date, + 'end_date' => $end_date, + ]); +} + + + + + + + + public function data($deviceName, Request $request) + { + $start_date = $request->get('start_date'); + $end_date = $request->get('end_date'); + $sensors = collect(); + if ($start_date && $end_date) { + $request->validate([ + 'start_date' => 'required|date', + 'end_date' => 'required|date', + ]); + $sensors = DB::table('sensor_data as s1') + ->joinSub( + DB::table('sensor_data') + ->selectRaw('MAX(created_at) as max_time, DATE_FORMAT(created_at, + "%Y-%m-%d %H:30:00") as interval_time, MAX(distance) as last_distance') + ->where('device_name', $deviceName) + ->whereBetween('created_at', [$start_date, $end_date]) + ->groupBy('interval_time'), + 's2', + 's1.created_at', + '=', + 's2.max_time' + ) + ->select('s2.interval_time', 's2.last_distance') + ->get(); + } + return view('admin.pages.dataprint', compact('deviceName', + 'sensors', 'start_date', 'end_date')); + } + + public function export(Request $request) + { + // Mengambil parameter yang dikirimkan dari form ekspor + $start_date = $request->get('start_date'); + $end_date = $request->get('end_date'); + $device_name = $request->get('device_name'); + + // Ambil data sensor yang sudah difilter berdasarkan rentang tanggal dan device_name + $sensors = DB::table('sensor_data as s1') + ->joinSub( + DB::table('sensor_data') + ->selectRaw('MAX(created_at) as max_time, DATE_FORMAT(created_at, "%Y-%m-%d %H:30:00") as interval_time, MAX(distance) as last_distance') + ->where('device_name', $device_name) + ->whereBetween('created_at', [$start_date, $end_date]) + ->groupBy('interval_time'), + 's2', + 's1.created_at', + '=', + 's2.max_time' + ) + ->select('s2.interval_time', 's2.last_distance') + ->get(); + + // Kirim data ke export + return Excel::download(new DataExport($sensors), 'sensor_data_' . $device_name . '.xlsx'); + + }} diff --git a/app/Http/Controllers/UnitController.php b/app/Http/Controllers/UnitController.php new file mode 100644 index 0000000..f315088 --- /dev/null +++ b/app/Http/Controllers/UnitController.php @@ -0,0 +1,48 @@ +validate([ + 'name' => 'required', + ]); + $unit = new Unit(); + $unit->name = $req->name; + $unit->save(); + return redirect()->back()->with('success', 'berhasil menambah data unit'); + } + public function destroy($id) + { + Unit::destroy($id); + return redirect()->back()->with('success', 'berhasil menghapus data unit'); + } + public function devices($id) + { + $devices = getDevices(true); + $unit = Unit::find($id); + return view('admin.pages.unit-devices', compact('devices', 'unit')); + } + public function storeDevices(Request $request, $id) + { + try { + $unit = Unit::findOrFail($id); + $unit->device_names = $request->device_names; + $unit->save(); + return redirect()->back()->with('success', 'berhasil menyimpan data wilayah'); + } catch (\Exception $e) { + return redirect()->back()->with('error', 'gagal menyimpan data wilayah'); + } + + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..9b9074e --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,81 @@ +id; + $profiledata = User::find($id); + return view('admin.pages.profil', compact('profiledata')); + } + + public function updateProfile(Request $request) + { + $user = Auth::user(); + $validatedData = $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|email|max:255', + ]); + $user->name = $validatedData['name']; + $user->email = $validatedData['email']; + $user->save(); + return redirect()->route('profil')->with('success', 'Profil berhasil diperbarui'); + } + public function updatePassword(Request $request) + { + $request->validate([ + 'new_password' => 'required|min:8|confirmed', + ]); + $user = Auth::user(); + $user->password = Hash::make($request->new_password); + $user->save(); + return redirect()->back()->with('success', 'Kata sandi berhasil diperbarui.'); + } + + public function edit($id) + { + $user = User::findOrFail($id); + $units = Unit::all(); + return view('admin.pages.edituser', compact('user', 'units')); // Tampilkan view edit dengan data user + } + public function index() + { + $data = User::all(); + return view('admin.pages.datapegawai', compact('data')); + } + public function destroy($id) + { + $user = User::findOrFail($id); + $user->delete(); + return redirect()->route('users.index')->with('success', 'User berhasil dihapus'); + } + public function update(Request $request, $id) + { + $request->validate([ + 'name' => 'required|string|max:255', + 'email' => 'required|email|unique:users,email,' . $id, + 'role' => 'required|in:admin,user', + 'unit_id' => 'required|integer', + ]); + $user = User::findOrFail($id); + $user->name = $request->name; + $user->email = $request->email; + $user->role = $request->role; + $user->unit_id = $request->unit_id; + $user->save(); + return redirect()->route('users.index')->with('success', 'User berhasil diperbarui.'); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index c34cdcf..c114155 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -36,6 +36,8 @@ class Kernel extends HttpKernel \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, + + \App\Http\Middleware\PreventBackHistory::class, ], 'api' => [ @@ -63,5 +65,6 @@ class Kernel extends HttpKernel 'signed' => \App\Http\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'isAdmin' => \App\Http\Middleware\AdminMiddleware::class, ]; } diff --git a/app/Http/Middleware/AdminMiddleware.php b/app/Http/Middleware/AdminMiddleware.php new file mode 100644 index 0000000..17e759c --- /dev/null +++ b/app/Http/Middleware/AdminMiddleware.php @@ -0,0 +1,25 @@ +header('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate') + ->header('Pragma', 'no-cache') + ->header('Expires', 'Sat, 01 Jan 1990 00:00:00 GMT'); + } +} diff --git a/app/Models/SensorData.php b/app/Models/SensorData.php new file mode 100644 index 0000000..161f2c8 --- /dev/null +++ b/app/Models/SensorData.php @@ -0,0 +1,33 @@ +device_name)); + } + ); + } + + function appends() + { + return [ + 'device_label', + ]; + } + + +} diff --git a/app/Models/Unit.php b/app/Models/Unit.php new file mode 100644 index 0000000..e788755 --- /dev/null +++ b/app/Models/Unit.php @@ -0,0 +1,19 @@ + 'json', + ]; +} diff --git a/app/Models/User.php b/app/Models/User.php index 23b4063..59992cd 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -17,12 +17,22 @@ class User extends Authenticatable * * @var array */ + protected $table = 'users'; protected $fillable = [ 'name', 'email', 'password', + 'role', + 'unit_id', ]; - + public function isAdmin() + { + return strtolower($this->role) === 'admin'; + } + public function unit() + { + return $this->belongsTo(Unit::class); + } /** * The attributes that should be hidden for serialization. * @@ -41,4 +51,9 @@ class User extends Authenticatable protected $casts = [ 'email_verified_at' => 'datetime', ]; + + + + + } diff --git a/app/Models/UserDevice.php b/app/Models/UserDevice.php new file mode 100644 index 0000000..50b4b4f --- /dev/null +++ b/app/Models/UserDevice.php @@ -0,0 +1,26 @@ + 'integer', + 'device_names' => 'json', + ]; + + function user() + { + return $this->belongsTo(User::class); + } +} diff --git a/bootstrap/helpers.php b/bootstrap/helpers.php new file mode 100644 index 0000000..b2f1e58 --- /dev/null +++ b/bootstrap/helpers.php @@ -0,0 +1,24 @@ +distinct()->get(); + $filteredData = []; + foreach ($data as $item) { + $deviceName = @explode('_', $item->device_name)[0]; + $deviceName = strtolower($deviceName); + + if (!in_array($deviceName, $filteredData)) { + if ($all) { + $filteredData[] = $deviceName; + } else { + if (in_array($deviceName, $user->unit?->device_names ?? [])) { + $filteredData[] = $deviceName; + } + } + } + } + return $filteredData; +} \ No newline at end of file diff --git a/composer.json b/composer.json index 5b40f87..1de9221 100644 --- a/composer.json +++ b/composer.json @@ -2,14 +2,19 @@ "name": "laravel/laravel", "type": "project", "description": "The Laravel Framework.", - "keywords": ["framework", "laravel"], + "keywords": [ + "framework", + "laravel" + ], "license": "MIT", "require": { "php": "^8.1", + "arielmejiadev/larapex-charts": "^8.1", "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^10.0", "laravel/sanctum": "^3.2", - "laravel/tinker": "^2.8" + "laravel/tinker": "^2.8", + "maatwebsite/excel": "^3.1" }, "require-dev": { "fakerphp/faker": "^1.9.1", @@ -25,7 +30,10 @@ "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" - } + }, + "files": [ + "bootstrap/helpers.php" + ] }, "autoload-dev": { "psr-4": { diff --git a/composer.lock b/composer.lock index 3d40435..de2cb5c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,84 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bfe12996eeecb6fdc8713a9fd9d431f8", + "content-hash": "1ccda874cbf1afd8f47cd844dee796d2", "packages": [ { - "name": "brick/math", - "version": "0.12.1", + "name": "arielmejiadev/larapex-charts", + "version": "8.1.0", "source": { "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + "url": "https://github.com/ArielMejiaDev/larapex-charts.git", + "reference": "5461a65f730c66735599e142e384d2689209eedf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "url": "https://api.github.com/repos/ArielMejiaDev/larapex-charts/zipball/5461a65f730c66735599e142e384d2689209eedf", + "reference": "5461a65f730c66735599e142e384d2689209eedf", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/support": "^9.0|^10.0", + "php": "^8.0|^8.2" + }, + "require-dev": { + "nunomaduro/collision": "^7.5", + "orchestra/testbench": "^7.0|^8.0", + "phpunit/phpunit": "^9.0|^10.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "LarapexChart": "ArielMejiaDev\\LarapexCharts\\Facades\\LarapexChart" + }, + "providers": [ + "ArielMejiaDev\\LarapexCharts\\LarapexChartsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "ArielMejiaDev\\LarapexCharts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "ArielMejiaDev", + "email": "arielmejiadev@gmail.com" + } + ], + "description": "Package to provide easy api to build apex charts on Laravel", + "homepage": "https://larapex-charts.netlify.app/", + "keywords": [ + "apexcharts", + "arielmejiadev", + "charts", + "larapex" + ], + "support": { + "issues": "https://github.com/ArielMejiaDev/larapex-charts/issues", + "source": "https://github.com/ArielMejiaDev/larapex-charts/tree/8.1.0" + }, + "time": "2024-02-08T16:17:30+00:00" + }, + { + "name": "brick/math", + "version": "0.12.3", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", "shasum": "" }, "require": { @@ -26,7 +90,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" + "vimeo/psalm": "6.8.8" }, "type": "library", "autoload": { @@ -56,7 +120,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" + "source": "https://github.com/brick/math/tree/0.12.3" }, "funding": [ { @@ -64,7 +128,7 @@ "type": "github" } ], - "time": "2023-11-29T23:19:16+00:00" + "time": "2025-02-28T13:11:00+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -135,6 +199,166 @@ ], "time": "2023-12-11T17:09:12+00:00" }, + { + "name": "composer/pcre", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, + "require-dev": { + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" + }, + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "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.3.2" + }, + "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-11-12T16:29:46+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" + }, + "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-09-19T14:15:21+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.3", @@ -380,16 +604,16 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.3", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + "reference": "8c784d071debd117328803d86b2097615b457500" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", + "reference": "8c784d071debd117328803d86b2097615b457500", "shasum": "" }, "require": { @@ -402,10 +626,14 @@ "require-dev": { "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -429,7 +657,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" }, "funding": [ { @@ -437,20 +665,20 @@ "type": "github" } ], - "time": "2023-08-10T19:36:49+00:00" + "time": "2024-10-09T13:47:03+00:00" }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { @@ -496,7 +724,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, "funding": [ { @@ -504,7 +732,68 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2025-03-06T22:45:56+00:00" + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.18.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "cb56001e54359df7ae76dc522d08845dc741621b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/cb56001e54359df7ae76dc522d08845dc741621b", + "reference": "cb56001e54359df7ae76dc522d08845dc741621b", + "shasum": "" + }, + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" + }, + "type": "library", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" + }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.18.0" + }, + "time": "2024-11-01T03:51:45+00:00" }, { "name": "fruitcake/php-cors", @@ -641,16 +930,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.2", + "version": "7.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", "shasum": "" }, "require": { @@ -747,7 +1036,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + "source": "https://github.com/guzzle/guzzle/tree/7.9.3" }, "funding": [ { @@ -763,20 +1052,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T11:22:20+00:00" + "time": "2025-03-27T13:37:11+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", "shasum": "" }, "require": { @@ -830,7 +1119,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.2.0" }, "funding": [ { @@ -846,20 +1135,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2025-03-27T13:27:01+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", "shasum": "" }, "require": { @@ -946,7 +1235,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.7.0" + "source": "https://github.com/guzzle/psr7/tree/2.7.1" }, "funding": [ { @@ -962,20 +1251,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T11:15:46+00:00" + "time": "2025-03-27T12:30:47+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.3", + "version": "v1.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/30e286560c137526eccd4ce21b2de477ab0676d2", + "reference": "30e286560c137526eccd4ce21b2de477ab0676d2", "shasum": "" }, "require": { @@ -1032,7 +1321,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.4" }, "funding": [ { @@ -1048,20 +1337,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T19:50:20+00:00" + "time": "2025-02-03T10:55:03+00:00" }, { "name": "laravel/framework", - "version": "v10.48.18", + "version": "v10.48.29", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "d9729d476c3efe79f950ebcb6de1ec8199a421e6" + "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d9729d476c3efe79f950ebcb6de1ec8199a421e6", - "reference": "d9729d476c3efe79f950ebcb6de1ec8199a421e6", + "url": "https://api.github.com/repos/laravel/framework/zipball/8f7f9247cb8aad1a769d6b9815a6623d89b46b47", + "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47", "shasum": "" }, "require": { @@ -1168,7 +1457,7 @@ "nyholm/psr7": "^1.2", "orchestra/testbench-core": "^8.23.4", "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", + "phpstan/phpstan": "~1.11.11", "phpunit/phpunit": "^10.0.7", "predis/predis": "^2.0.2", "symfony/cache": "^6.2", @@ -1255,20 +1544,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-07-30T15:05:11+00:00" + "time": "2025-03-12T14:42:01+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.24", + "version": "v0.1.25", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "409b0b4305273472f3754826e68f4edbd0150149" + "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/409b0b4305273472f3754826e68f4edbd0150149", - "reference": "409b0b4305273472f3754826e68f4edbd0150149", + "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95", + "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95", "shasum": "" }, "require": { @@ -1311,9 +1600,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.24" + "source": "https://github.com/laravel/prompts/tree/v0.1.25" }, - "time": "2024-06-17T13:58:22+00:00" + "time": "2024-08-12T22:06:33+00:00" }, { "name": "laravel/sanctum", @@ -1345,13 +1634,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, "laravel": { "providers": [ "Laravel\\Sanctum\\SanctumServiceProvider" ] + }, + "branch-alias": { + "dev-master": "3.x-dev" } }, "autoload": { @@ -1383,26 +1672,27 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.3", + "version": "v1.3.7", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", "shasum": "" }, "require": { "php": "^7.3|^8.0" }, "require-dev": { - "nesbot/carbon": "^2.61", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.61|^3.0", "pestphp/pest": "^1.21.3", "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" + "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" }, "type": "library", "extra": { @@ -1439,26 +1729,26 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-11-08T14:08:06+00:00" + "time": "2024-11-14T18:34:49+00:00" }, { "name": "laravel/tinker", - "version": "v2.9.0", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", "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", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.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" @@ -1466,10 +1756,10 @@ "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." }, "type": "library", "extra": { @@ -1503,22 +1793,22 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" + "source": "https://github.com/laravel/tinker/tree/v2.10.1" }, - "time": "2024-01-04T16:10:04+00:00" + "time": "2025-01-27T14:24:01+00:00" }, { "name": "league/commonmark", - "version": "2.5.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "ac815920de0eff6de947eac0a6a94e5ed0fb147c" + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/ac815920de0eff6de947eac0a6a94e5ed0fb147c", - "reference": "ac815920de0eff6de947eac0a6a94e5ed0fb147c", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", + "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", "shasum": "" }, "require": { @@ -1531,8 +1821,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.31.0", - "commonmark/commonmark.js": "0.31.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -1543,8 +1833,9 @@ "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", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^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" }, @@ -1554,7 +1845,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.6-dev" + "dev-main": "2.8-dev" } }, "autoload": { @@ -1611,7 +1902,7 @@ "type": "tidelift" } ], - "time": "2024-07-24T12:52:09+00:00" + "time": "2025-05-05T12:20:28+00:00" }, { "name": "league/config", @@ -1697,16 +1988,16 @@ }, { "name": "league/flysystem", - "version": "3.28.0", + "version": "3.30.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", - "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e", + "reference": "2203e3151755d874bb2943649dae1eb8533ac93e", "shasum": "" }, "require": { @@ -1730,13 +2021,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", - "ext-mongodb": "^1.3", + "ext-mongodb": "^1.3|^2", "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", + "mongodb/mongodb": "^1.2|^2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -1774,22 +2065,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.30.0" }, - "time": "2024-05-22T10:09:12+00:00" + "time": "2025-06-25T13:29:59+00:00" }, { "name": "league/flysystem-local", - "version": "3.28.0", + "version": "3.30.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", - "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", + "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", "shasum": "" }, "require": { @@ -1823,22 +2114,22 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" }, - "time": "2024-05-06T20:05:52+00:00" + "time": "2025-05-21T10:34:19+00:00" }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", "shasum": "" }, "require": { @@ -1869,7 +2160,7 @@ "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" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -1881,20 +2172,286 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { - "name": "monolog/monolog", - "version": "3.7.0", + "name": "maatwebsite/excel", + "version": "3.1.64", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" + "url": "https://github.com/SpartnerNL/Laravel-Excel.git", + "reference": "e25d44a2d91da9179cd2d7fec952313548597a79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", - "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", + "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/e25d44a2d91da9179cd2d7fec952313548597a79", + "reference": "e25d44a2d91da9179cd2d7fec952313548597a79", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "ext-json": "*", + "illuminate/support": "5.8.*||^6.0||^7.0||^8.0||^9.0||^10.0||^11.0||^12.0", + "php": "^7.0||^8.0", + "phpoffice/phpspreadsheet": "^1.29.9", + "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||^10.0", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Excel": "Maatwebsite\\Excel\\Facades\\Excel" + }, + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ] + } + }, + "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.64" + }, + "funding": [ + { + "url": "https://laravel-excel.com/commercial-support", + "type": "custom" + }, + { + "url": "https://github.com/patrickbrouwers", + "type": "github" + } + ], + "time": "2025-02-24T11:12:50+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "reference": "aeadcf5c412332eb426c0f9b4485f6accba2a99f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.2" + }, + "require-dev": { + "brianium/paratest": "^7.7", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^11.0", + "vimeo/psalm": "^6.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.2" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + } + ], + "time": "2025-01-27T12:07:53+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": "monolog/monolog", + "version": "3.9.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", + "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", "shasum": "" }, "require": { @@ -1914,12 +2471,14 @@ "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.5.17", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -1970,7 +2529,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.7.0" + "source": "https://github.com/Seldaek/monolog/tree/3.9.0" }, "funding": [ { @@ -1982,20 +2541,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:40:51+00:00" + "time": "2025-03-24T10:02:05+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.5", + "version": "2.73.0", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075", "shasum": "" }, "require": { @@ -2015,7 +2574,7 @@ "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", + "ondrejmirtes/better-reflection": "<6", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", @@ -2028,10 +2587,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -2041,6 +2596,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -2089,28 +2648,28 @@ "type": "tidelift" } ], - "time": "2024-06-03T19:18:41+00:00" + "time": "2025-01-08T20:10:23+00:00" }, { "name": "nette/schema", - "version": "v1.3.0", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + "reference": "da801d52f0354f70a638673c4a0f04e16529431d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", + "reference": "da801d52f0354f70a638673c4a0f04e16529431d", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.3" + "php": "8.1 - 8.4" }, "require-dev": { - "nette/tester": "^2.4", + "nette/tester": "^2.5.2", "phpstan/phpstan-nette": "^1.0", "tracy/tracy": "^2.8" }, @@ -2149,26 +2708,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.0" + "source": "https://github.com/nette/schema/tree/v1.3.2" }, - "time": "2023-12-11T11:54:22+00:00" + "time": "2024-10-06T23:10:23+00:00" }, { "name": "nette/utils", - "version": "v4.0.4", + "version": "v4.0.7", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "url": "https://api.github.com/repos/nette/utils/zipball/e67c4061eb40b9c113b218214e42cb5a0dda28f2", + "reference": "e67c4061eb40b9c113b218214e42cb5a0dda28f2", "shasum": "" }, "require": { - "php": ">=8.0 <8.4" + "php": "8.0 - 8.4" }, "conflict": { "nette/finder": "<3", @@ -2235,22 +2794,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" + "source": "https://github.com/nette/utils/tree/v4.0.7" }, - "time": "2024-01-17T16:50:36+00:00" + "time": "2025-06-03T04:55:08+00:00" }, { "name": "nikic/php-parser", - "version": "v5.1.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", - "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", "shasum": "" }, "require": { @@ -2293,39 +2852,38 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" }, - "time": "2024-07-01T20:03:41+00:00" + "time": "2025-05-31T08:24:38+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.15.1", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" + "php": "^8.1", + "symfony/console": "^6.4.15" }, "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", + "illuminate/console": "^10.48.24", + "illuminate/support": "^10.48.24", + "laravel/pint": "^1.18.2", + "pestphp/pest": "^2.36.0", + "pestphp/pest-plugin-mock": "2.0.0", + "phpstan/phpstan": "^1.12.11", + "phpstan/phpstan-strict-rules": "^1.6.1", + "symfony/var-dumper": "^6.4.15", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -2365,7 +2923,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" }, "funding": [ { @@ -2381,7 +2939,113 @@ "type": "github" } ], - "time": "2023-02-08T01:06:31+00:00" + "time": "2024-11-21T10:36:35+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.29.11", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "05b6c4378ddf3e81b460ea645c42b46432c0db25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/05b6c4378ddf3e81b460ea645c42b46432c0db25", + "reference": "05b6c4378ddf3e81b460ea645c42b46432c0db25", + "shasum": "" + }, + "require": { + "composer/pcre": "^1||^2||^3", + "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 || ^3.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", + "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.11" + }, + "time": "2025-06-23T01:22:06+00:00" }, { "name": "phpoption/phpoption", @@ -2771,16 +3435,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -2815,9 +3479,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -2872,16 +3536,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.4", + "version": "v0.12.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" + "reference": "1b801844becfe648985372cb4b12ad6840245ace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1b801844becfe648985372cb4b12ad6840245ace", + "reference": "1b801844becfe648985372cb4b12ad6840245ace", "shasum": "" }, "require": { @@ -2908,12 +3572,12 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, "bamarni-bin": { "bin-links": false, "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" } }, "autoload": { @@ -2945,9 +3609,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.9" }, - "time": "2024-06-10T01:18:23+00:00" + "time": "2025-06-23T02:35:06+00:00" }, { "name": "ralouphie/getallheaders", @@ -2995,16 +3659,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -3012,25 +3676,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "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" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -3068,37 +3729,26 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "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" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.9.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -3106,26 +3756,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "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", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "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" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -3160,32 +3807,22 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.9.0" }, - "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" + "time": "2025-06-25T14:20:11+00:00" }, { "name": "symfony/console", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" + "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", + "url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93", + "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93", "shasum": "" }, "require": { @@ -3250,7 +3887,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.10" + "source": "https://github.com/symfony/console/tree/v6.4.23" }, "funding": [ { @@ -3266,20 +3903,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-06-27T19:37:22+00:00" }, { "name": "symfony/css-selector", - "version": "v7.1.1", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", "shasum": "" }, "require": { @@ -3315,7 +3952,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.1" + "source": "https://github.com/symfony/css-selector/tree/v7.3.0" }, "funding": [ { @@ -3331,20 +3968,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -3352,12 +3989,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3382,7 +4019,7 @@ "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" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -3398,20 +4035,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "b088e0b175c30b4e06d8085200fa465b586f44fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/b088e0b175c30b4e06d8085200fa465b586f44fa", + "reference": "b088e0b175c30b4e06d8085200fa465b586f44fa", "shasum": "" }, "require": { @@ -3457,7 +4094,7 @@ "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.10" + "source": "https://github.com/symfony/error-handler/tree/v6.4.23" }, "funding": [ { @@ -3473,20 +4110,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-06-13T07:39:48+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.1", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { @@ -3537,7 +4174,7 @@ "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" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -3553,20 +4190,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -3575,12 +4212,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3613,7 +4250,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -3629,20 +4266,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/finder", - "version": "v6.4.10", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "af29198d87112bebdd397bd7735fbd115997824c" + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c", - "reference": "af29198d87112bebdd397bd7735fbd115997824c", + "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "shasum": "" }, "require": { @@ -3677,7 +4314,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.10" + "source": "https://github.com/symfony/finder/tree/v6.4.17" }, "funding": [ { @@ -3693,20 +4330,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T07:06:38+00:00" + "time": "2024-12-29T13:51:37+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" + "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", - "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/452d19f945ee41345fd8a50c18b60783546b7bd3", + "reference": "452d19f945ee41345fd8a50c18b60783546b7bd3", "shasum": "" }, "require": { @@ -3716,12 +4353,12 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", + "symfony/cache": "^6.4.12|^7.1.5", "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", @@ -3754,7 +4391,7 @@ "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.10" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.23" }, "funding": [ { @@ -3770,20 +4407,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:36:27+00:00" + "time": "2025-05-26T09:17:58+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "147e0daf618d7575b5007055340d09aece5cf068" + "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068", - "reference": "147e0daf618d7575b5007055340d09aece5cf068", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2bb2cba685aabd859f22cf6946554e8e7f3c329a", + "reference": "2bb2cba685aabd859f22cf6946554e8e7f3c329a", "shasum": "" }, "require": { @@ -3868,7 +4505,7 @@ "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.10" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.23" }, "funding": [ { @@ -3884,20 +4521,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T14:52:04+00:00" + "time": "2025-06-28T08:14:51+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.9", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" + "reference": "a480322ddf8e54de262c9bca31fdcbe26b553de5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", - "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "url": "https://api.github.com/repos/symfony/mailer/zipball/a480322ddf8e54de262c9bca31fdcbe26b553de5", + "reference": "a480322ddf8e54de262c9bca31fdcbe26b553de5", "shasum": "" }, "require": { @@ -3948,7 +4585,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.9" + "source": "https://github.com/symfony/mailer/tree/v6.4.23" }, "funding": [ { @@ -3964,20 +4601,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:59:05+00:00" + "time": "2025-06-26T21:24:02+00:00" }, { "name": "symfony/mime", - "version": "v6.4.9", + "version": "v6.4.21", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7d048964877324debdcb4e0549becfa064a20d43" + "reference": "fec8aa5231f3904754955fad33c2db50594d22d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", - "reference": "7d048964877324debdcb4e0549becfa064a20d43", + "url": "https://api.github.com/repos/symfony/mime/zipball/fec8aa5231f3904754955fad33c2db50594d22d1", + "reference": "fec8aa5231f3904754955fad33c2db50594d22d1", "shasum": "" }, "require": { @@ -4033,7 +4670,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.9" + "source": "https://github.com/symfony/mime/tree/v6.4.21" }, "funding": [ { @@ -4049,24 +4686,24 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2025-04-27T13:27:38+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -4077,8 +4714,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4112,7 +4749,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -4128,24 +4765,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4153,8 +4790,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4190,7 +4827,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -4206,26 +4843,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", - "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" }, "suggest": { "ext-intl": "For best performance" @@ -4233,8 +4869,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4274,7 +4910,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -4290,24 +4926,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4315,8 +4951,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4355,7 +4991,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4371,24 +5007,25 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-iconv": "*", + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -4399,8 +5036,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4435,7 +5072,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4451,103 +5088,30 @@ "type": "tidelift" } ], - "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", - "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": { - "source": "https://github.com/symfony/polyfill-php72/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" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4588,7 +5152,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -4604,30 +5168,30 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", - "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4664,7 +5228,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" }, "funding": [ { @@ -4680,24 +5244,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:35:24+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.30.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", - "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-uuid": "*" @@ -4708,8 +5272,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4743,7 +5307,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.32.0" }, "funding": [ { @@ -4759,20 +5323,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", - "version": "v6.4.8", + "version": "v6.4.20", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" + "reference": "e2a61c16af36c9a07e5c9906498b73e091949a20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", - "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "url": "https://api.github.com/repos/symfony/process/zipball/e2a61c16af36c9a07e5c9906498b73e091949a20", + "reference": "e2a61c16af36c9a07e5c9906498b73e091949a20", "shasum": "" }, "require": { @@ -4804,7 +5368,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.8" + "source": "https://github.com/symfony/process/tree/v6.4.20" }, "funding": [ { @@ -4820,20 +5384,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-03-10T17:11:00+00:00" }, { "name": "symfony/routing", - "version": "v6.4.10", + "version": "v6.4.22", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87" + "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87", + "url": "https://api.github.com/repos/symfony/routing/zipball/1f5234e8457164a3a0038a4c0a4ba27876a9c670", + "reference": "1f5234e8457164a3a0038a4c0a4ba27876a9c670", "shasum": "" }, "require": { @@ -4887,7 +5451,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.10" + "source": "https://github.com/symfony/routing/tree/v6.4.22" }, "funding": [ { @@ -4903,20 +5467,20 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:26:24+00:00" + "time": "2025-04-27T16:08:38+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -4929,12 +5493,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4970,7 +5534,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4986,20 +5550,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v7.1.3", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { @@ -5057,7 +5621,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.3" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -5073,20 +5637,20 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:25:37+00:00" + "time": "2025-04-20T20:19:01+00:00" }, { "name": "symfony/translation", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9" + "reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9", - "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9", + "url": "https://api.github.com/repos/symfony/translation/zipball/de8afa521e04a5220e9e58a1dc99971ab7cac643", + "reference": "de8afa521e04a5220e9e58a1dc99971ab7cac643", "shasum": "" }, "require": { @@ -5152,7 +5716,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.10" + "source": "https://github.com/symfony/translation/tree/v6.4.23" }, "funding": [ { @@ -5168,20 +5732,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-06-26T21:24:02+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "shasum": "" }, "require": { @@ -5189,12 +5753,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -5230,7 +5794,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" }, "funding": [ { @@ -5246,20 +5810,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-27T08:32:26+00:00" }, { "name": "symfony/uid", - "version": "v6.4.8", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" + "reference": "9c8592da78d7ee6af52011eef593350d87e814c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "url": "https://api.github.com/repos/symfony/uid/zipball/9c8592da78d7ee6af52011eef593350d87e814c0", + "reference": "9c8592da78d7ee6af52011eef593350d87e814c0", "shasum": "" }, "require": { @@ -5304,7 +5868,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.8" + "source": "https://github.com/symfony/uid/tree/v6.4.23" }, "funding": [ { @@ -5320,20 +5884,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-06-26T08:06:12+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.10", + "version": "v6.4.23", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4" + "reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600", + "reference": "d55b1834cdbfcc31bc2cd7e095ba5ed9a88f6600", "shasum": "" }, "require": { @@ -5389,7 +5953,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.23" }, "funding": [ { @@ -5405,35 +5969,37 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-06-27T15:05:27+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", "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" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -5456,22 +6022,22 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2024-12-21T16:25:41+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.6.1", + "version": "v5.6.2", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", "shasum": "" }, "require": { @@ -5530,7 +6096,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -5542,20 +6108,20 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:52:34+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -5580,7 +6146,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -5592,7 +6158,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -5616,7 +6182,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "webmozart/assert", @@ -5680,16 +6246,16 @@ "packages-dev": [ { "name": "fakerphp/faker", - "version": "v1.23.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -5737,32 +6303,32 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "filp/whoops", - "version": "2.15.4", + "version": "2.18.3", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + "reference": "59a123a3d459c5a23055802237cb317f609867e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "url": "https://api.github.com/repos/filp/whoops/zipball/59a123a3d459c5a23055802237cb317f609867e5", + "reference": "59a123a3d459c5a23055802237cb317f609867e5", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", + "php": "^7.1 || ^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" + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -5802,7 +6368,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" + "source": "https://github.com/filp/whoops/tree/2.18.3" }, "funding": [ { @@ -5810,24 +6376,24 @@ "type": "github" } ], - "time": "2023-11-03T12:00:00+00:00" + "time": "2025-06-16T00:02:10+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -5835,8 +6401,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -5859,22 +6425,22 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "laravel/pint", - "version": "v1.17.1", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "b5b6f716db298671c1dfea5b1082ec2c0ae7064f" + "reference": "941d1927c5ca420c22710e98420287169c7bcaf7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/b5b6f716db298671c1dfea5b1082ec2c0ae7064f", - "reference": "b5b6f716db298671c1dfea5b1082ec2c0ae7064f", + "url": "https://api.github.com/repos/laravel/pint/zipball/941d1927c5ca420c22710e98420287169c7bcaf7", + "reference": "941d1927c5ca420c22710e98420287169c7bcaf7", "shasum": "" }, "require": { @@ -5882,16 +6448,16 @@ "ext-mbstring": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": "^8.1.0" + "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.59.3", - "illuminate/view": "^10.48.12", - "larastan/larastan": "^2.9.7", - "laravel-zero/framework": "^10.4.0", + "friendsofphp/php-cs-fixer": "^3.75.0", + "illuminate/view": "^11.44.7", + "larastan/larastan": "^3.4.0", + "laravel-zero/framework": "^11.36.1", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.34.8" + "nunomaduro/termwind": "^2.3.1", + "pestphp/pest": "^2.36.0" }, "bin": [ "builds/pint" @@ -5927,32 +6493,32 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-08-01T09:06:33+00:00" + "time": "2025-05-08T08:38:12+00:00" }, { "name": "laravel/sail", - "version": "v1.31.0", + "version": "v1.43.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "48d89608a3bb5be763c9bb87121d31e7da27c1cb" + "reference": "3e7d899232a8c5e3ea4fc6dee7525ad583887e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/48d89608a3bb5be763c9bb87121d31e7da27c1cb", - "reference": "48d89608a3bb5be763c9bb87121d31e7da27c1cb", + "url": "https://api.github.com/repos/laravel/sail/zipball/3e7d899232a8c5e3ea4fc6dee7525ad583887e72", + "reference": "3e7d899232a8c5e3ea4fc6dee7525ad583887e72", "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", + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.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", + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", "phpstan/phpstan": "^1.10" }, "bin": [ @@ -5990,7 +6556,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-07-22T14:36:50+00:00" + "time": "2025-05-19T13:19:21+00:00" }, { "name": "mockery/mockery", @@ -6077,16 +6643,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -6125,7 +6691,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -6133,44 +6699,44 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "nunomaduro/collision", - "version": "v7.10.0", + "version": "v7.12.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + "reference": "995245421d3d7593a6960822063bdba4f5d7cf1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/995245421d3d7593a6960822063bdba4f5d7cf1a", + "reference": "995245421d3d7593a6960822063bdba4f5d7cf1a", "shasum": "" }, "require": { - "filp/whoops": "^2.15.3", - "nunomaduro/termwind": "^1.15.1", + "filp/whoops": "^2.17.0", + "nunomaduro/termwind": "^1.17.0", "php": "^8.1.0", - "symfony/console": "^6.3.4" + "symfony/console": "^6.4.17" }, "conflict": { "laravel/framework": ">=11.0.0" }, "require-dev": { - "brianium/paratest": "^7.3.0", - "laravel/framework": "^10.28.0", - "laravel/pint": "^1.13.3", - "laravel/sail": "^1.25.0", - "laravel/sanctum": "^3.3.1", - "laravel/tinker": "^2.8.2", - "nunomaduro/larastan": "^2.6.4", - "orchestra/testbench-core": "^8.13.0", - "pestphp/pest": "^2.23.2", - "phpunit/phpunit": "^10.4.1", - "sebastian/environment": "^6.0.1", - "spatie/laravel-ignition": "^2.3.1" + "brianium/paratest": "^7.4.8", + "laravel/framework": "^10.48.29", + "laravel/pint": "^1.21.2", + "laravel/sail": "^1.41.0", + "laravel/sanctum": "^3.3.3", + "laravel/tinker": "^2.10.1", + "nunomaduro/larastan": "^2.10.0", + "orchestra/testbench-core": "^8.35.0", + "pestphp/pest": "^2.36.0", + "phpunit/phpunit": "^10.5.36", + "sebastian/environment": "^6.1.0", + "spatie/laravel-ignition": "^2.9.1" }, "type": "library", "extra": { @@ -6229,7 +6795,7 @@ "type": "patreon" } ], - "time": "2023-10-11T15:45:01+00:00" + "time": "2025-03-14T22:35:49+00:00" }, { "name": "phar-io/manifest", @@ -6351,32 +6917,32 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.15", + "version": "10.1.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae" + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", - "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -6388,7 +6954,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.1.x-dev" } }, "autoload": { @@ -6417,7 +6983,7 @@ "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/10.1.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, "funding": [ { @@ -6425,7 +6991,7 @@ "type": "github" } ], - "time": "2024-06-29T08:25:15+00:00" + "time": "2024-08-22T04:31:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -6672,16 +7238,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.29", + "version": "10.5.47", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f" + "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e9e80872b4e8064401788ee8a32d40b4455318f", - "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", + "reference": "3637b3e50d32ab3a0d1a33b3b6177169ec3d95a3", "shasum": "" }, "require": { @@ -6691,18 +7257,18 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.13.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-code-coverage": "^10.1.16", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-invoker": "^4.0.0", "phpunit/php-text-template": "^3.0.1", "phpunit/php-timer": "^6.0.0", "sebastian/cli-parser": "^2.0.1", "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.1", + "sebastian/comparator": "^5.0.3", "sebastian/diff": "^5.1.1", "sebastian/environment": "^6.1.0", "sebastian/exporter": "^5.1.2", @@ -6753,7 +7319,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.29" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.47" }, "funding": [ { @@ -6764,12 +7330,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-07-30T11:08:00+00:00" + "time": "2025-06-20T11:29:11+00:00" }, { "name": "sebastian/cli-parser", @@ -6941,16 +7515,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", "shasum": "" }, "require": { @@ -6961,7 +7535,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^10.5" }, "type": "library", "extra": { @@ -7006,7 +7580,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" }, "funding": [ { @@ -7014,7 +7588,7 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2024-10-18T14:56:07+00:00" }, { "name": "sebastian/complexity", @@ -7689,27 +8263,27 @@ }, { "name": "spatie/backtrace", - "version": "1.6.2", + "version": "1.7.4", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/cd37a49fce7137359ac30ecc44ef3e16404cccbe", + "reference": "cd37a49fce7137359ac30ecc44ef3e16404cccbe", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "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" + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -7736,7 +8310,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.2" + "source": "https://github.com/spatie/backtrace/tree/1.7.4" }, "funding": [ { @@ -7748,34 +8322,34 @@ "type": "other" } ], - "time": "2024-07-22T08:21:24+00:00" + "time": "2025-05-08T15:41:09+00:00" }, { "name": "spatie/error-solutions", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/spatie/error-solutions.git", - "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67" + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/ae7393122eda72eed7cc4f176d1e96ea444f2d67", - "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", "shasum": "" }, "require": { "php": "^8.0" }, "require-dev": { - "illuminate/broadcasting": "^10.0|^11.0", - "illuminate/cache": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", - "livewire/livewire": "^2.11|^3.3.5", + "illuminate/broadcasting": "^10.0|^11.0|^12.0", + "illuminate/cache": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "livewire/livewire": "^2.11|^3.5.20", "openai-php/client": "^0.10.1", - "orchestra/testbench": "^7.0|8.22.3|^9.0", - "pestphp/pest": "^2.20", - "phpstan/phpstan": "^1.11", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.20|^3.0", + "phpstan/phpstan": "^2.1", "psr/simple-cache": "^3.0", "psr/simple-cache-implementation": "^3.0", "spatie/ray": "^1.28", @@ -7814,7 +8388,7 @@ ], "support": { "issues": "https://github.com/spatie/error-solutions/issues", - "source": "https://github.com/spatie/error-solutions/tree/1.1.1" + "source": "https://github.com/spatie/error-solutions/tree/1.1.3" }, "funding": [ { @@ -7822,24 +8396,24 @@ "type": "github" } ], - "time": "2024-07-25T11:06:04+00:00" + "time": "2025-02-14T12:29:50+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.8.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122" + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0", "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", @@ -7883,7 +8457,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.8.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" }, "funding": [ { @@ -7891,20 +8465,20 @@ "type": "github" } ], - "time": "2024-08-01T08:27:26+00:00" + "time": "2025-02-14T13:42:06+00:00" }, { "name": "spatie/ignition", - "version": "1.15.0", + "version": "1.15.1", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2" + "reference": "31f314153020aee5af3537e507fef892ffbf8c85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/e3a68e137371e1eb9edc7f78ffa733f3b98991d2", - "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2", + "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", + "reference": "31f314153020aee5af3537e507fef892ffbf8c85", "shasum": "" }, "require": { @@ -7917,7 +8491,7 @@ "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0", + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", "mockery/mockery": "^1.4", "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", @@ -7974,27 +8548,27 @@ "type": "github" } ], - "time": "2024-06-12T14:55:22+00:00" + "time": "2025-02-21T14:31:39+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.8.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c" + "reference": "1baee07216d6748ebd3a65ba97381b051838707a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/3c067b75bfb50574db8f7e2c3978c65eed71126c", - "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a", + "reference": "1baee07216d6748ebd3a65ba97381b051838707a", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0|^12.0", "php": "^8.1", "spatie/ignition": "^1.15", "symfony/console": "^6.2.3|^7.0", @@ -8003,12 +8577,12 @@ "require-dev": { "livewire/livewire": "^2.11|^3.3.5", "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1", - "orchestra/testbench": "8.22.3|^9.0", - "pestphp/pest": "^2.34", + "openai-php/client": "^0.8.1|^0.10", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.16", + "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0", + "phpstan/phpstan-phpunit": "^1.3.16|^2.0", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -8018,12 +8592,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], "aliases": { "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] } }, "autoload": { @@ -8065,24 +8639,25 @@ "type": "github" } ], - "time": "2024-06-12T15:01:18+00:00" + "time": "2025-02-20T13:13:55+00:00" }, { "name": "symfony/yaml", - "version": "v7.1.1", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0c3555045a46ab3cd4cc5a69d161225195230edb", + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -8120,7 +8695,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" + "source": "https://github.com/symfony/yaml/tree/v7.3.1" }, "funding": [ { @@ -8136,7 +8711,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2025-06-03T06:57:57+00:00" }, { "name": "theseer/tokenizer", diff --git a/config/app.php b/config/app.php index bca112f..4056fd2 100644 --- a/config/app.php +++ b/config/app.php @@ -69,7 +69,7 @@ | */ - 'timezone' => 'UTC', + 'timezone' => 'Asia/Jakarta', /* |-------------------------------------------------------------------------- diff --git a/config/session.php b/config/session.php index 8fed97c..8fcdb4b 100644 --- a/config/session.php +++ b/config/session.php @@ -33,7 +33,7 @@ 'lifetime' => env('SESSION_LIFETIME', 120), - 'expire_on_close' => false, + 'expire_on_close' => true, /* |-------------------------------------------------------------------------- diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 444fafb..07f1253 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -15,11 +15,15 @@ public function up(): void $table->id(); $table->string('name'); $table->string('email')->unique(); + $table->string('role'); + $table->string('unit'); $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); + $table->string('password'); // Letakkan setelah 'unit' jika ingin mengikuti konvensi umum + $table->rememberToken(); $table->timestamps(); }); + } /** diff --git a/database/migrations/2024_09_04_080556_create_sensor_jarak_table.php b/database/migrations/2024_09_04_080556_create_sensor_jarak_table.php new file mode 100644 index 0000000..1231be3 --- /dev/null +++ b/database/migrations/2024_09_04_080556_create_sensor_jarak_table.php @@ -0,0 +1,32 @@ +id('id_distance'); + $table->string('distance', 20); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('sensor_jarak'); + } +} diff --git a/database/migrations/2024_12_08_001149_create_user_devices_table.php b/database/migrations/2024_12_08_001149_create_user_devices_table.php new file mode 100644 index 0000000..7c016dd --- /dev/null +++ b/database/migrations/2024_12_08_001149_create_user_devices_table.php @@ -0,0 +1,28 @@ +id(); + $table->foreignId('user_id'); + $table->json('device_names'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('user_devices'); + } +}; diff --git a/database/migrations/2024_12_08_095707_create_units_table.php b/database/migrations/2024_12_08_095707_create_units_table.php new file mode 100644 index 0000000..b210384 --- /dev/null +++ b/database/migrations/2024_12_08_095707_create_units_table.php @@ -0,0 +1,27 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('units'); + } +}; diff --git a/database/migrations/2024_12_08_095839_add_unit_id_column_to_users_table.php b/database/migrations/2024_12_08_095839_add_unit_id_column_to_users_table.php new file mode 100644 index 0000000..ad9351e --- /dev/null +++ b/database/migrations/2024_12_08_095839_add_unit_id_column_to_users_table.php @@ -0,0 +1,29 @@ +foreignId('unit_id'); + $table->dropColumn('unit'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('unit_id'); + $table->string('unit'); + }); + } +}; diff --git a/database/migrations/2024_12_11_220355_drop_user_devices_table.php b/database/migrations/2024_12_11_220355_drop_user_devices_table.php new file mode 100644 index 0000000..a995835 --- /dev/null +++ b/database/migrations/2024_12_11_220355_drop_user_devices_table.php @@ -0,0 +1,23 @@ +json('device_names')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('units', function (Blueprint $table) { + $table->dropColumn('device_names'); + }); + } +}; diff --git a/database/seeders/NamaSeeder.php b/database/seeders/NamaSeeder.php new file mode 100644 index 0000000..6f28a38 --- /dev/null +++ b/database/seeders/NamaSeeder.php @@ -0,0 +1,17 @@ + 'admin', + 'email' => 'enggarsusmita@gmail.com', + 'role' => 'admin', + 'unit' => 'Unit Pengguna', + 'email_verified_at' => null, + 'password' => Hash::make('enggar123'), + 'remember_token' => null, + 'created_at' => now(), + 'updated_at' => now(), + ]); + } +} + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..49f1aa9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1257 @@ +{ + "name": "pdam-website", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "pdam-website", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@syncfusion/ej2-charts": "^27.2.2", + "@types/highcharts": "^7.0.0", + "esbuild": "^0.24.0", + "highcharts": "^11.4.8" + }, + "devDependencies": { + "axios": "^1.1.2", + "laravel-vite-plugin": "^0.7.2", + "vite": "^4.5.5" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@syncfusion/ej2-base": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-base/-/ej2-base-27.2.2.tgz", + "integrity": "sha512-bc/CTAC4BYenD2aw60h2A5wqM5Bzne2QGtAUHR25cSNMtPApAkQ67/unChlE28ZV5eSW3tVfw94bLH2q2tnmRA==", + "dependencies": { + "@syncfusion/ej2-icons": "~27.2.2" + }, + "bin": { + "syncfusion-license": "bin/syncfusion-license.js" + } + }, + "node_modules/@syncfusion/ej2-buttons": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-buttons/-/ej2-buttons-27.2.2.tgz", + "integrity": "sha512-8UzIGgROhpZ/JpxUssNAKzV9f5QKB2BeUOrmYXADZtcOROiqLTQhVIRdXZswUElDsPDoares12tmNA4ncxCCtw==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-calendars": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-calendars/-/ej2-calendars-27.2.2.tgz", + "integrity": "sha512-dv5MGB2ZPoCfnSc57cNQ3wIBECyZZ39T1ilfvLdAam1RQYaU+FISRkDGBS7zfy0242SeGDAGAD8esE4mNn4mjw==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-buttons": "~27.2.2", + "@syncfusion/ej2-inputs": "~27.2.2", + "@syncfusion/ej2-lists": "~27.2.2", + "@syncfusion/ej2-popups": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-charts": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-charts/-/ej2-charts-27.2.2.tgz", + "integrity": "sha512-PM7jSKTVOA6we5MLJP+KFToY4lcBR4e2l3IbCKfp/+Dk+QCXoC0N2JfJM60f+5x+pknsQLgf0K2ZoQglTsA2pQ==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-calendars": "~27.2.2", + "@syncfusion/ej2-data": "~27.2.2", + "@syncfusion/ej2-excel-export": "~27.2.2", + "@syncfusion/ej2-navigations": "~27.2.2", + "@syncfusion/ej2-pdf-export": "~27.2.2", + "@syncfusion/ej2-svg-base": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-compression": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-compression/-/ej2-compression-27.2.2.tgz", + "integrity": "sha512-ivgdD7SpOZnuZan3KTB07UK26XpxWERwv+DBBeVhOWCkG9OJVhr20J83hZ+YxjSkwAHyZdHmeTBveVx+OSHJkQ==", + "dependencies": { + "@syncfusion/ej2-file-utils": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-data": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-data/-/ej2-data-27.2.2.tgz", + "integrity": "sha512-RN0dJLRQ+lTrbPL7lu5xh4z4bIp4ff+8m53wSPmQFdDeSdbPkFkp3QEZmYP9H/3QqX0R7+tsjU52i5lBIPEgqQ==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-excel-export": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-excel-export/-/ej2-excel-export-27.2.2.tgz", + "integrity": "sha512-HOF1SrXPjYmrKH6HC9Oaai1Wdg2F7kjqG3yEA/Yx1OoMmMURIGSHZDJUEZNmW+lJRHYMEOzr2vnscd7+AvW5IA==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-compression": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-file-utils": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-file-utils/-/ej2-file-utils-27.2.2.tgz", + "integrity": "sha512-h2ikniDoz80G+mwuEpXTpo0wukNVyQWEKH12UtbdIhWAnkvHfd64P3/GZqFGu02lFbKUugdEqS4ilknj5B4z/Q==" + }, + "node_modules/@syncfusion/ej2-icons": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-icons/-/ej2-icons-27.2.2.tgz", + "integrity": "sha512-Jl4Dvu+rocNDmY2wEwcwyYlGWJ2xRf8izdnARffR5Lu41OjZIh8fgo4fU2lXHdbqNXApm7DeItDY4soBtjgDCQ==" + }, + "node_modules/@syncfusion/ej2-inputs": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-inputs/-/ej2-inputs-27.2.2.tgz", + "integrity": "sha512-jsEUv9+psqsPwWlFJ/Z32TXOviGUoHAUwxpLebz7U/Fm/5xANN8LDnHcXeS2rIvMr4JPNC12TyrrEtXIoozuhw==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-buttons": "~27.2.2", + "@syncfusion/ej2-popups": "~27.2.2", + "@syncfusion/ej2-splitbuttons": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-lists": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-lists/-/ej2-lists-27.2.2.tgz", + "integrity": "sha512-BZid7fPAccd0lB4xVIDQQ4Eo+gMZ9tExiMUz/D8GxTDuCHR6TAULLY55Ur/mKiY+8p+96BCmlpP8StyToS+77A==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-buttons": "~27.2.2", + "@syncfusion/ej2-data": "~27.2.2", + "@syncfusion/ej2-popups": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-navigations": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-navigations/-/ej2-navigations-27.2.2.tgz", + "integrity": "sha512-mHRaRa2bn1iDuLm1Pp79x3v1bUdSpvYkynxfdIU6WO6SeD3S6kI/7awAliMaaxDFL5ZYP8xD/eK2ySYbTYsajg==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-buttons": "~27.2.2", + "@syncfusion/ej2-data": "~27.2.2", + "@syncfusion/ej2-inputs": "~27.2.2", + "@syncfusion/ej2-lists": "~27.2.2", + "@syncfusion/ej2-popups": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-pdf-export": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-pdf-export/-/ej2-pdf-export-27.2.2.tgz", + "integrity": "sha512-he7+mlXMzlsELrm4IR1Mn2wagJZRztavte18iymrtfuwDbd5TTKwh0zmFttnFmfpdbTGG8ggAJCf5hJKCiNTcw==", + "dependencies": { + "@syncfusion/ej2-compression": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-popups": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-popups/-/ej2-popups-27.2.2.tgz", + "integrity": "sha512-S7N5VSdQW/zdwrdSGv89fVHMGwA/Dz2Ijhg8q31SnsdeIptkZ/oaAfvzoyHX8Qxc9a5Y7B0DI3llbjjQWnZvHg==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-buttons": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-splitbuttons": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-splitbuttons/-/ej2-splitbuttons-27.2.2.tgz", + "integrity": "sha512-Z/zE59bxz15Vmuh6YtrdISaYkpnqECzvpbvWU6CGHB0DEw2Td11uhjdA+xCdigMTwJuObdUxwZQu1wo7O938oA==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2", + "@syncfusion/ej2-popups": "~27.2.2" + } + }, + "node_modules/@syncfusion/ej2-svg-base": { + "version": "27.2.2", + "resolved": "https://registry.npmjs.org/@syncfusion/ej2-svg-base/-/ej2-svg-base-27.2.2.tgz", + "integrity": "sha512-BMKow6dg121FnRe2JlypxYOuq/mu9PyJgu2AVv+Qzpd9Lr/+G7HFQ4VowAHCqJ1ZKw/I9SJQPtCD2rgSOk+GmQ==", + "dependencies": { + "@syncfusion/ej2-base": "~27.2.2" + } + }, + "node_modules/@types/highcharts": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/highcharts/-/highcharts-7.0.0.tgz", + "integrity": "sha512-YDevls0s9uqz6VEbchxp+NEaKssAPq5aDZgqEUpxOIUCQEncQtXxibp1w4lvgKyhM4qDejAcSZ+DKfA/kzqR0A==", + "deprecated": "This is a stub types definition. highcharts provides its own type definitions, so you do not need this installed.", + "dependencies": { + "highcharts": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/highcharts": { + "version": "11.4.8", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.4.8.tgz", + "integrity": "sha512-5Tke9LuzZszC4osaFisxLIcw7xgNGz4Sy3Jc9pRMV+ydm6sYqsPYdU8ELOgpzGNrbrRNDRBtveoR5xS3SzneEA==" + }, + "node_modules/laravel-vite-plugin": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.7.8.tgz", + "integrity": "sha512-HWYqpQYHR3kEQ1LsHX7gHJoNNf0bz5z5mDaHBLzS+PGLCTmYqlU5/SZyeEgObV7z7bC/cnStYcY9H1DI1D5Udg==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "vite-plugin-full-reload": "^1.0.5" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vite": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", + "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-full-reload": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz", + "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "picomatch": "^2.3.1" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + } + } +} diff --git a/package.json b/package.json index 3a76ed0..55dbf4a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,36 @@ { - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build" - }, - "devDependencies": { - "axios": "^1.1.2", - "laravel-vite-plugin": "^0.7.2", - "vite": "^4.0.0" - } + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.1.2", + "laravel-vite-plugin": "^0.7.2", + "vite": "^4.5.5" + }, + "dependencies": { + "@syncfusion/ej2-charts": "^27.2.2", + "@types/highcharts": "^7.0.0", + "esbuild": "^0.24.0", + "highcharts": "^11.4.8" + }, + "name": "pdam-website", + "description": "

\"Laravel

", + "version": "1.0.0", + "main": "vite.config.js", + "directories": { + "test": "tests" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/enggarsusmita/pdam-website.git" + }, + "keywords": [], + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/enggarsusmita/pdam-website/issues" + }, + "homepage": "https://github.com/enggarsusmita/pdam-website#readme" } diff --git a/public/.DS_Store b/public/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bd075b25dc2b1199fa42a6a53b8a53cff49d175e GIT binary patch literal 6148 zcmeHKJ8Hu~5S?*c7`svFa<7mZEW$Z~FJN$RFa#NF6iBDa=gQIi=0k{(Q@BVI-oVV; zot?Kruh3{jMBD!LS)>t>1>8`s7N%zB<`bJ`MuBkLagbgva+H&Flj{2k<1WGZ1Y`e` z|FJ!H@2Bo9?!HfEmI_b-DnJFO02O#x0qec6#VU}I3Qz$m@U4J-9}3*CCJurA=|J!i z060h54QrnzfW;EPnm7a^1Jj@agQ_`VXwZ=_SyvN>z@Urf@S*u+%?U;Q>A1gmxo8b! zqyki6tiV%j8|(is@L%TtF^M}WKn4Dl0y^JpH!WT%d+X%otk)L!4sJDHa5Jo(g5d2K j=I*}FE literal 0 HcmV?d00001 diff --git a/public/assets/css/style.css b/public/assets/css/style.css index 69ff1c2..bedf7ec 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -12,6 +12,26 @@ :root { scroll-behavior: smooth; } +.gauge-chart-container { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 250px; + margin-top: 0; + padding-top: 0; +} + +.gauge-chart { + width: 200px; + height: 200px; + margin-top: -20px; /* Sesuaikan nilai ini jika perlu */ + transform: translate(-15px, -30px); /* Geser chart ke kiri dan atas */ +} + + + + body { font-family: "Open Sans", sans-serif; diff --git a/public/syncfusion/material.css b/public/syncfusion/material.css new file mode 100644 index 0000000..9cd5745 --- /dev/null +++ b/public/syncfusion/material.css @@ -0,0 +1,1014 @@ +.e-dialog .e-icon-dlg-close::before { + content: "\e7fc"; + position: relative; +} +.e-dialog .e-icon-dlg-close { + opacity: initial; +} +.e-dialog .e-icon-dlg-close:active { + opacity: initial; +} +.e-dialog .e-icon-dlg-close:hover { + opacity: initial; +} +.e-dialog .e-south-east::before, +.e-dialog .e-south-west::before, +.e-dialog .e-north-east::before, +.e-dialog .e-north-west::before { + content: "\eb05"; +} + +/* stylelint-disable property-no-vendor-prefix */ +.e-dialog { + border: none; + border-radius: 2px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + /* stylelint-disable declaration-no-important */ + /* stylelint-enable declaration-no-important */ +} +.e-dialog.e-popup { + width: 100%; +} +.e-dialog.e-dlg-resizable { + padding-bottom: 15px; + -ms-touch-action: none; + touch-action: none; +} +.e-dialog .e-dlg-header-content { + border-radius: 1px 1px 0 0; + line-height: 30px; +} +.e-dialog .e-dlg-header-content + .e-dlg-content { + padding-top: 0; +} +.e-dialog .e-btn .e-btn-icon.e-icon-dlg-close { + font-size: 12px; + width: auto; +} +.e-dialog .e-dlg-header { + display: block; + font-size: 18px; + font-weight: normal; + overflow: hidden; + text-overflow: ellipsis; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + vertical-align: top; + white-space: nowrap; + width: 80%; +} +.e-dialog .e-dlg-header.e-hide { + display: none; +} +.e-dialog .e-dlg-modal { + position: fixed; +} +.e-dialog .e-scroll-disabled { + overflow: hidden !important; +} +.e-dialog .e-dlg-content { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + font-size: 13px; + font-weight: normal; + line-height: normal; + overflow: auto; + overflow-x: hidden; +} +.e-dialog .e-dlg-content.e-hide { + display: none; +} +.e-dialog .e-footer-content { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top: none; + bottom: 0; + display: block; + right: 0; + width: 100%; +} +.e-dialog .e-footer-content.e-hide { + display: none; +} +.e-dialog .e-footer-content { + text-align: right; +} +.e-dialog .e-resize-handle { + height: 15px; + position: absolute; + width: 15px; +} +.e-dialog .e-resize-handle.e-south-east { + bottom: 0; + cursor: nwse-resize; + right: 0; +} +.e-dialog .e-resize-handle.e-south-west { + bottom: 0; + cursor: nesw-resize; + left: 0; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} +.e-dialog .e-resize-handle.e-north-east { + cursor: nesw-resize; + right: 0; + top: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); +} +.e-dialog .e-resize-handle.e-north-west { + cursor: nwse-resize; + left: 0; + top: 0; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.e-dialog .e-south, +.e-dialog .e-north, +.e-dialog .e-east, +.e-dialog .e-west { + background-color: transparent; + background-repeat: repeat; + overflow: visible; + position: absolute; +} +.e-dialog .e-east, +.e-dialog .e-west { + cursor: ew-resize; +} +.e-dialog .e-south, +.e-dialog .e-north { + cursor: ns-resize; +} +.e-dialog.e-blazor-hidden { + left: 0; + position: absolute; +} + +.e-dialog .e-dlg-header-content { + border-bottom: none; + padding: 18px; +} +.e-dialog .e-dlg-content { + padding: 18px; +} +.e-dialog .e-footer-content { + padding: 8px; +} +.e-dialog .e-footer-content .e-btn { + margin-left: 6px; +} + +.e-alert-dialog .e-footer-content { + border-top: none; +} + +.e-rtl .e-footer-content .e-btn { + margin-right: 6px; +} + +.e-dialog.e-draggable > .e-dlg-header-content { + cursor: move; +} + +.e-dialog.e-device.e-draggable.e-popup-open { + -ms-touch-action: none; + touch-action: none; +} + +.e-dialog { + max-height: 98%; + max-width: 100%; + min-width: 240px; + position: absolute; +} + +.e-rtl .e-footer-content .e-btn { + margin-left: 0; +} + +.e-rtl .e-footer-content { + text-align: left; +} + +.e-rtl .e-footer-content { + text-align: left; +} + +.e-dialog.e-rtl .e-dlg-header-content .e-btn.e-dlg-closeicon-btn { + float: left; + left: 0; + right: 0; +} + +.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn { + background-color: transparent; + border-color: transparent; + border-radius: 50%; + bottom: 0; + float: right; + height: 30px; + left: 0; + position: relative; + width: 30px; +} + +.e-rtl.e-dialog .e-resize-handle.e-south-west { + bottom: 0; + cursor: sw-resize; + direction: ltr; + left: 0; + text-align: initial; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +/* stylelint-disable declaration-no-important */ +.e-dlg-target.e-scroll-disabled { + overflow: hidden !important; +} + +/* stylelint-enable declaration-no-important */ +.e-dlg-overlay { + height: 100%; + left: 0; + opacity: 0.5; + position: fixed; + top: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; + width: 100%; +} +.e-dlg-overlay.e-fade { + opacity: 0; +} + +.e-dlg-overflow-hidden { + overflow: auto; +} + +/* stylelint-disable declaration-no-important */ +.e-dlg-fullscreen { + height: 100% !important; + left: 0 !important; + width: 100% !important; +} + +/* stylelint-enable declaration-no-important */ +.e-popup.e-popup-open.e-dialog { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; +} + +.e-dlg-container { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + display: none; + height: 100%; + left: 0; + position: fixed; + top: 0; + width: 100%; +} + +.e-dlg-center-center { + -webkit-align-items: center; + -webkit-justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} + +.e-dlg-left-center { + -webkit-align-items: center; + -webkit-justify-content: flex-start; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.e-dlg-right-center { + -webkit-align-items: center; + -webkit-justify-content: flex-end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.e-dlg-left-top { + -webkit-align-items: flex-start; + -webkit-justify-content: flex-start; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.e-dlg-right-top { + -webkit-align-items: flex-start; + -webkit-justify-content: flex-end; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.e-dlg-center-top { + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.e-dlg-left-bottom { + -webkit-align-items: flex-end; + -webkit-justify-content: flex-start; + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.e-dlg-right-bottom { + -webkit-align-items: flex-end; + -webkit-justify-content: flex-end; + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.e-dlg-center-bottom { + -webkit-align-items: center; + -webkit-justify-content: flex-end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.e-dialog .e-btn.e-dlg-closeicon-btn:hover, +.e-dialog .e-btn.e-dlg-closeicon-btn:focus, +.e-dialog .e-btn.e-dlg-closeicon-btn:active { + background-color: #e0e0e0; + border-color: transparent; + -webkit-box-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; +} + +.e-dialog .e-btn.e-dlg-closeicon-btn:active { + background-color: #e0e0e0; +} + +.e-content-placeholder.e-dialog.e-placeholder-dialog { + background-size: 400px 210px; + min-height: 210px; +} + +@media (min-width: 768px) { + .e-alert-dialog.e-dialog.e-popup, + .e-confirm-dialog.e-dialog.e-popup { + margin: 30px; + width: 600px; + } +} +@media (max-width: 768px) { + .e-alert-dialog.e-dialog.e-popup, + .e-confirm-dialog.e-dialog.e-popup { + margin: 30px; + width: auto; + } +} +@media (max-width: 768px) { + .e-prompt-dialog.e-dialog.e-popup, + .e-prompt-dialog.e-dialog.e-popup { + margin: 30px; + width: auto; + } +} +@media (min-width: 768px) { + .e-prompt-dialog.e-dialog.e-popup, + .e-prompt-dialog.e-dialog.e-popup { + margin: 30px; + width: 600px; + } +} +.e-dlg-ref-element { + display: none; +} + +.e-dialog .e-footer-content { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.e-dialog { + background-color: #fff; + -webkit-box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); +} + +.e-dlg-overlay { + background-color: #383838; +} + +.e-footer-content { + background-color: #fff; +} + +.e-dlg-header, +.e-dlg-header * { + color: rgba(0, 0, 0, 0.87); + font-size: 18px; + font-weight: normal; +} + +.e-dlg-content { + color: rgba(0, 0, 0, 0.87); +} + +.e-device .e-dlg-content { + font-size: 14px; +} + +.e-dlg-header-content { + background-color: #fff; +} + +.e-dlg-content { + background-color: #fff; +} + +.e-icon-dlg-close { + color: #000; +} + +.e-dialog .e-btn.e-dlg-closeicon-btn:hover span { + color: #000; +} + +.e-dialog .e-btn.e-dlg-closeicon-btn:active span, +.e-dialog .e-btn.e-dlg-closeicon-btn:focus span { + border-radius: 50%; + color: #000; + opacity: 1; +} + +.e-icon-dlg-close:active { + border-radius: 50%; + color: #000; + opacity: 1; +} + +.e-icon-dlg-close:hover { + color: #000; +} + +.e-dlg-header-content .e-dlg-closeicon-btn:hover { + background-color: transparent; +} + +.e-dlg-header-content .e-dlg-closeicon-btn:active { + background-color: transparent; +} + +.e-south-east { + color: #000; +} + +.e-rtl .e-south-east { + color: transparent; +} + +.e-rtl .e-south-west { + color: #000; +} + +.e-south-west, +.e-north-east, +.e-north-west { + color: transparent; +} + +.e-bigger.e-dialog .e-dlg-header-content, +*.e-bigger .e-dialog .e-dlg-header-content { + padding: 24px 24px 20px; +} +.e-bigger.e-dialog .e-dlg-header, +*.e-bigger .e-dialog .e-dlg-header { + font-size: 18px; +} +.e-bigger.e-dialog .e-dlg-content, +*.e-bigger .e-dialog .e-dlg-content { + font-size: 13px; + padding: 24px; +} +.e-bigger.e-dialog .e-footer-content, +*.e-bigger .e-dialog .e-footer-content { + padding: 8px; +} +.e-bigger.e-dialog .e-footer-content .e-btn, +*.e-bigger .e-dialog .e-footer-content .e-btn { + margin-left: 8px; +} +.e-bigger.e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn, +*.e-bigger .e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn { + bottom: 3px; + left: 3px; + height: 36px; + width: 36px; +} +.e-bigger.e-dialog .e-btn .e-btn-icon.e-icon-dlg-close, +*.e-bigger .e-dialog .e-btn .e-btn-icon.e-icon-dlg-close { + font-size: 12px; + width: auto; +} + +.e-bigger.e-rtl .e-footer-content .e-btn, +.e-bigger .e-rtl .e-footer-content .e-btn { + margin-left: 0; + margin-right: 8px; +} + +.e-bigger .e-dlg-header-content + .e-dlg-content { + padding-top: 0; +} + +.e-bigger .e-content-placeholder.e-dialog.e-placeholder-dialog, +.e-bigger.e-content-placeholder.e-dialog.e-placeholder-dialog { + background-size: 400px 220px; + min-height: 220px; +} + +/*! popup layout */ +.e-popup { + height: auto; + position: absolute; + width: auto; + z-index: 1000; +} + +.e-popup.e-popup-open { + display: block; +} + +.e-popup.e-popup-close { + display: none; +} + +.e-tooltip-close::before { + content: "\e7e9"; + font-size: 16px; +} + +.e-arrow-tip-inner.e-tip-right::before { + content: "\e848"; +} + +.e-arrow-tip-inner.e-tip-top::before { + content: "\e918"; +} + +.e-arrow-tip-inner.e-tip-bottom::before { + content: "\e919"; +} + +.e-arrow-tip-inner.e-tip-left::before { + content: "\e84b"; +} + +.e-tooltip-popup-container { + position: relative; +} + +.e-tooltip-wrap { + max-width: 350px; + min-width: 30px; + padding: 0; + position: absolute; + visibility: visible; +} +.e-tooltip-wrap .e-arrow-tip { + overflow: hidden; + position: absolute; +} +.e-tooltip-wrap .e-arrow-tip.e-tip-bottom { + height: 8px; + left: 50%; + top: 100%; + width: 16px; +} +.e-tooltip-wrap .e-arrow-tip.e-tip-top { + height: 8px; + left: 50%; + top: -9px; + width: 16px; +} +.e-tooltip-wrap .e-arrow-tip.e-tip-left { + height: 16px; + left: -9px; + top: 48%; + width: 8px; +} +.e-tooltip-wrap .e-arrow-tip.e-tip-right { + height: 16px; + left: 100%; + top: 50%; + width: 8px; +} +.e-tooltip-wrap .e-tooltip-close { + cursor: pointer; + float: right; + position: absolute; + right: -9px; + top: -9px; + z-index: inherit; +} +.e-tooltip-wrap .e-tip-content { + background-color: inherit; + height: 100%; + line-height: 16px; + overflow-wrap: break-word; + overflow-x: hidden; + padding: 3px 6px; + position: relative; + white-space: normal; + width: 100%; + word-break: break-word; + z-index: 1; +} +.e-tooltip-wrap { + border-radius: 2px; + -webkit-filter: none; + filter: none; + opacity: 0.9; +} +.e-tooltip-wrap.e-popup { + background-color: #616161; + border: 1px solid #616161; +} +.e-tooltip-wrap .e-arrow-tip-outer { + height: 0; + left: 0; + position: absolute; + top: 0; + width: 0; +} +.e-tooltip-wrap .e-arrow-tip-outer.e-tip-bottom { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #616161; +} +.e-tooltip-wrap .e-arrow-tip-outer.e-tip-top { + border-bottom: 8px solid #616161; + border-left: 8px solid transparent; + border-right: 8px solid transparent; +} +.e-tooltip-wrap .e-arrow-tip-outer.e-tip-left { + border-bottom: 8px solid transparent; + border-right: 8px solid #616161; + border-top: 8px solid transparent; +} +.e-tooltip-wrap .e-arrow-tip-outer.e-tip-right { + border-bottom: 8px solid transparent; + border-left: 8px solid #616161; + border-top: 8px solid transparent; +} +.e-tooltip-wrap .e-arrow-tip-inner { + height: 0; + position: absolute; + width: 0; + z-index: 10; +} +.e-tooltip-wrap .e-arrow-tip-inner.e-tip-right, .e-tooltip-wrap .e-arrow-tip-inner.e-tip-left, .e-tooltip-wrap .e-arrow-tip-inner.e-tip-bottom, .e-tooltip-wrap .e-arrow-tip-inner.e-tip-top { + color: #616161; + font-family: "e-icons"; + font-size: 16px; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + text-transform: none; +} +.e-tooltip-wrap .e-arrow-tip-inner.e-tip-bottom, .e-tooltip-wrap .e-arrow-tip-inner.e-tip-top { + right: 16px; +} +.e-tooltip-wrap .e-arrow-tip-inner.e-tip-right, .e-tooltip-wrap .e-arrow-tip-inner.e-tip-left { + bottom: 16px; +} +.e-tooltip-wrap .e-tooltip-close { + background-color: #fff; + border-color: transparent; + border-radius: 8px; + color: #616161; +} +.e-tooltip-wrap .e-tooltip-close:hover { + background-color: #fff; + color: #616161; +} +.e-tooltip-wrap .e-tip-content { + border-radius: inherit; + color: #fff; + font-family: "Roboto", "Segoe UI", "GeezaPro", "DejaVu Serif", "sans-serif", "-apple-system", "BlinkMacSystemFont"; + font-size: 11px; +} + +.e-bigger .e-tooltip-wrap .e-tip-content, +.e-tooltip-wrap.e-bigger .e-tip-content { + line-height: 20px; + padding: 5px 8px; +} +.e-bigger .e-tooltip-wrap .e-tip-content, +.e-tooltip-wrap.e-bigger .e-tip-content { + font-size: 14px; +} + +/* stylelint-disable property-no-vendor-prefix */ +@-webkit-keyframes material-spinner-rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes material-spinner-rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@-webkit-keyframes fabric-spinner-rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes fabric-spinner-rotate { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +/* stylelint-disable-line no-empty-source */ +.e-spinner-pane { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + height: 100%; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + left: 0; + position: absolute; + text-align: center; + top: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + vertical-align: middle; + width: 100%; + z-index: 1000; +} +.e-spinner-pane::after { + content: "Material"; + display: none; +} +.e-spinner-pane.e-spin-left { + /* stylelint-disable property-no-vendor-prefix */ +} +.e-spinner-pane.e-spin-left .e-spinner-inner { + -webkit-transform: translateX(0%) translateY(-50%); + left: 0; + padding-left: 10px; + transform: translateX(0%) translateY(-50%); +} +.e-spinner-pane.e-spin-right .e-spinner-inner { + -webkit-transform: translateX(-100%) translateY(-50%); + left: 100%; + padding-right: 10px; + transform: translateX(-100%) translateY(-50%); +} +.e-spinner-pane.e-spin-center .e-spinner-inner { + -webkit-transform: translateX(-50%) translateY(-50%); + left: 50%; + transform: translateX(-50%) translateY(-50%); +} +.e-spinner-pane.e-spin-hide { + display: none; +} +.e-spinner-pane.e-spin-show { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; +} +.e-spinner-pane .e-spinner-inner { + -webkit-transform: translateX(-50%) translateY(-50%); + left: 50%; + margin: 0; + position: absolute; + text-align: center; + top: 50%; + transform: translateX(-50%) translateY(-50%); + z-index: 1000; +} +.e-spinner-pane .e-spinner-inner .e-spin-label { + font-family: "Roboto", Segoe UI; + font-size: 13px; + margin-top: 16px; + text-align: center; +} +.e-spinner-pane .e-spinner-inner .e-spin-material, +.e-spinner-pane .e-spinner-inner .e-spin-material3 { + -webkit-animation: material-spinner-rotate 1568.63ms linear infinite; + animation: material-spinner-rotate 1568.63ms linear infinite; + display: block; + margin: 0 auto; +} +.e-spinner-pane .e-spinner-inner .e-spin-material .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-material3 .e-path-circle { + fill: none; + stroke-linecap: square; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap4 { + -webkit-animation: material-spinner-rotate 0.75s linear infinite; + animation: material-spinner-rotate 0.75s linear infinite; + border-radius: 50%; + display: block; + margin: 0 auto; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap4 .e-path-circle { + fill: none; + stroke-linecap: square; + stroke-width: 4; +} +.e-spinner-pane .e-spinner-inner .e-spin-fluent, +.e-spinner-pane .e-spinner-inner .e-spin-fluent2, +.e-spinner-pane .e-spinner-inner .e-spin-fabric { + -webkit-animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.53, 0.21, 0.29, 0.67); + animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.53, 0.21, 0.29, 0.67); + display: block; + margin: 0 auto; + overflow: visible; +} +.e-spinner-pane .e-spinner-inner .e-spin-fluent .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-fluent .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-fluent2 .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-fluent2 .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-fabric .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-fabric .e-path-circle { + fill: none; + stroke-width: 1.5; +} +.e-spinner-pane .e-spinner-inner .e-spin-tailwind { + -webkit-animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.21, 0.21, 0.21, 0.21); + animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.21, 0.21, 0.21, 0.21); + display: block; + margin: 0 auto; + overflow: visible; +} +.e-spinner-pane .e-spinner-inner .e-spin-tailwind .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-tailwind .e-path-circle { + fill: none; + stroke-width: 4.5; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5, +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5v3 { + -webkit-animation: material-spinner-rotate 0.75s linear infinite; + animation: material-spinner-rotate 0.75s linear infinite; + border-radius: 50%; + display: block; + margin: 0 auto; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5 .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5v3 .e-path-circle { + fill: none; + stroke-linecap: square; + stroke-width: 4; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap { + display: block; + margin: 0 auto; +} +.e-spinner-pane .e-spinner-inner .e-spin-high-contrast { + -webkit-animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.53, 0.21, 0.29, 0.67); + animation: fabric-spinner-rotate 1.3s infinite cubic-bezier(0.53, 0.21, 0.29, 0.67); + display: block; + margin: 0 auto; + overflow: visible; +} +.e-spinner-pane .e-spinner-inner .e-spin-high-contrast .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-high-contrast .e-path-circle { + fill: none; + stroke-width: 1.5; +} + +.e-spinner-pane { + background-color: transparent; +} +.e-spinner-pane.e-spin-overlay { + background-color: rgba(0, 0, 0, 0.4); +} +.e-spinner-pane.e-spin-overlay .e-spinner-inner .e-spin-label { + color: #fff; +} +.e-spinner-pane.e-spin-overlay .e-spinner-inner .e-spin-bootstrap { + fill: #e3165b; + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-label { + color: rgba(0, 0, 0, 0.87); +} +.e-spinner-pane .e-spinner-inner .e-spin-fluent .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-fluent2 .e-path-circle, +.e-spinner-pane .e-spinner-inner .e-spin-fabric .e-path-circle { + stroke: rgba(227, 22, 91, 0.4); +} +.e-spinner-pane .e-spinner-inner .e-spin-fluent .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-fluent2 .e-path-arc, +.e-spinner-pane .e-spinner-inner .e-spin-fabric .e-path-arc { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-tailwind .e-path-circle { + stroke: rgba(227, 22, 91, 0.4); +} +.e-spinner-pane .e-spinner-inner .e-spin-tailwind .e-path-arc { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5, +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap5v3 { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-high-contrast .e-path-circle { + stroke: rgba(227, 22, 91, 0.4); +} +.e-spinner-pane .e-spinner-inner .e-spin-high-contrast .e-path-arc { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-material, +.e-spinner-pane .e-spinner-inner .e-spin-material3 { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap4 { + stroke: #e3165b; +} +.e-spinner-pane .e-spinner-inner .e-spin-bootstrap { + fill: #e3165b; + stroke: #e3165b; +} \ No newline at end of file diff --git a/public/syncfusion/syncfusion-helper.js b/public/syncfusion/syncfusion-helper.js new file mode 100644 index 0000000..1b50b00 --- /dev/null +++ b/public/syncfusion/syncfusion-helper.js @@ -0,0 +1 @@ +var _0x5d2500=_0x1290;function _0x1290(_0x1faa98,_0x11e3e9){var _0x2c99c1=_0x2c99();return _0x1290=function(_0x1290b7,_0x38225c){_0x1290b7=_0x1290b7-0x141;var _0x174fcb=_0x2c99c1[_0x1290b7];return _0x174fcb;},_0x1290(_0x1faa98,_0x11e3e9);}(function(_0x548c88,_0x4da237){var _0x4960af=_0x1290,_0x8ba828=_0x548c88();while(!![]){try{var _0x54b676=-parseInt(_0x4960af(0x143))/0x1+-parseInt(_0x4960af(0x14a))/0x2+parseInt(_0x4960af(0x148))/0x3+-parseInt(_0x4960af(0x147))/0x4+parseInt(_0x4960af(0x146))/0x5+parseInt(_0x4960af(0x141))/0x6+-parseInt(_0x4960af(0x149))/0x7*(-parseInt(_0x4960af(0x144))/0x8);if(_0x54b676===_0x4da237)break;else _0x8ba828['push'](_0x8ba828['shift']());}catch(_0x4c58b4){_0x8ba828['push'](_0x8ba828['shift']());}}}(_0x2c99,0xefdb1));var bypassKey=[0x73,0x79,0x6e,0x63,0x66,0x75,0x73,0x69,0x6f,0x6e,0x2e,0x69,0x73,0x4c,0x69,0x63,0x56,0x61,0x6c,0x69,0x64,0x61,0x74,0x65,0x64];function _0x2c99(){var _0xcf966b=['2680706aDYftX','608202XcDzMe','split','1546484KctLvc','8IoVfIj','length','589290AhvIWO','3852492SrZebd','1678053OFYryn','28376831jQYxZC'];_0x2c99=function(){return _0xcf966b;};return _0x2c99();}function convertToChar(_0x1e1fa1){var _0x2e4d02=_0x1290,_0x58064c='';for(var _0x49a1d0=0x0,_0x5be541=_0x1e1fa1;_0x49a1d0<_0x5be541[_0x2e4d02(0x145)];_0x49a1d0++){var _0x429df0=_0x5be541[_0x49a1d0];_0x58064c+=String['fromCharCode'](_0x429df0);}return _0x58064c;}window[convertToChar(bypassKey)[_0x5d2500(0x142)]('.')[0x0]]={},window[convertToChar(bypassKey)[_0x5d2500(0x142)]('.')[0x0]][convertToChar(bypassKey)['split']('.')[0x1]]=!![]; \ No newline at end of file diff --git a/resources/.DS_Store b/resources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..96ac68ec716551f6488c6f527073926b5f58ce03 GIT binary patch literal 6148 zcmeHK%}T>S5Z<+|X(&Pt3Oz1(Em+%HC|*LWFJMFuDz%|OgE3p0v^kVQ&iX<=iO=KA z?gm;c9!2a7?0&QJvzz%K`@wcDS3uTrh;Tb6A#tOx&D=6*KL=BYQH-Qnn3$~Y+X zac~ob`N%oEkV!U|zINDl-5xp3<+5`&Xo+sGziNr) zpwn)NUbnwm+4ZC2lk=<5OZ=M1H%%l5#+4ixEa4rLwTc%0EQw|E1lBU6j3gumhyh}N z7}!k)%z036>}L5?H8DU8{J;S24+0vZYp~F$whrj<`i%Z6A`0mEmOvB+U4w;2@PKfg z3aC@Ld17##4t8PUT!V#1ozA#g8Rju7myZ{&RtLLK;f%W)sV4@AflUS~dg$Q!e+j?L z)<^zk3XO;XV&I=Kz^g-l=s{8DZ2eXqp0xtnBQz9@D^LLeed7`U1KdZN%BlSVb%=8f W78-FDw5xPLx(Fyjs3Qh`fq^f+y-OSb literal 0 HcmV?d00001 diff --git a/resources/js/app.js b/resources/js/app.js index e59d6a0..50e0fe6 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1 +1,2 @@ -import './bootstrap'; +import "./bootstrap"; +import "@syncfusion/ej2-charts"; diff --git a/resources/js/sensor-data.js b/resources/js/sensor-data.js new file mode 100644 index 0000000..ece19e0 --- /dev/null +++ b/resources/js/sensor-data.js @@ -0,0 +1,69 @@ +// import "highcharts/css/highcharts.css"; +import "highcharts/css/stocktools/gui.css"; + +import axios from "axios"; +import HighCharts from "highcharts"; +import stock from "highcharts/modules/stock"; + +stock(HighCharts); + +document.addEventListener("DOMContentLoaded", () => loadData()); +const btnFilters = document.querySelectorAll(".js-btn-filter"); +const deviceNameEl = document.getElementById("device-name"); +const container = document.getElementById("container"); + +const loadData = async (by = "date") => { + btnFilters.forEach((btn) => { + btn.classList.remove("active"); + if (btn.dataset.by == by) { + btn.classList.add("active"); + } + }); + + try { + const { data } = await axios.get("/sensor-data/filter", { + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + params: { + by, + device_name: deviceNameEl.innerText, + }, + }); + renderChart(data.data); + } catch (err) { + alert("Terjadi kesalahan: \n", err.toString()); + } +}; + +btnFilters.forEach((btnFilter) => { + btnFilter.addEventListener("click", () => { + loadData(btnFilter.dataset.by); + }); +}); + +function renderChart(items = []) { + const keys = Object.keys(items); + + + + let series = []; + keys.forEach((key) => { + series.push({ + name: key, + data: items[key].map((item) => { + const millis = Date.parse(item.waktu); + return [millis, item.pressure || item.distance]; + }), + type: "spline", + }); + }); + + const chart = HighCharts.stockChart("container", { + rangeSelector: { + selected: 1, + }, + series, + }); +} diff --git a/resources/views/.DS_Store b/resources/views/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..245fd003f3aef025e6845652e456e344e3b29ca7 GIT binary patch literal 6148 zcmeHK%}T>S5Z<+|X(&Pu3Oz1(Em+%HC|*LXFJMFuDm5WRgXwN*QhO+cob`o#5}(JJ z-3_!@Jc`&E*!^bbXE*af_J=XX2lMEZu{vX{3JsB?vPICm)wO4X5xJg2hKqC>CMw)A z&EGWPw^vxeA~s<$TmSx#aGJzv)@pt7y;8Zd?>Mega~}L>weYhbo2P?dc88;DrIN7F zgYYIEFGlsl3njB4mgAXDh@&xt+~3ABQj39_%P7^kzHzv2)g9Fv%Vqnl-xQs0Z`Bmb ze!JBa-A-?{a;rzjC+AnAmt-QkhypskB@l&0&th&6JRsbp z0-98ApBUVvgI(A-&th)Sq%*EphI#DD#p8wR)xj=wIOCo{>WKkjV3UE88P@Uqzl2|A z>mz?Ng+{~xG4RhA;N_t|96(X_Z2eXqp0xtnBQz9@%TWOVed7`U1KdX%+G+d(b%^sU W<_2*VwCi+0x(H}Os3Qh`fq^f?1_xv{ER@vMUQnptVc62o!O9;ZkV@*_LigvFv4NN2W7%XLgrM zswGC_E%9#R6H(DeqDCXeK-4D_B}UVbNFpKnAins-3mVb?%$Wt2OX7nu1m`4kzWM)i z{xkFc^Zj%7pJj}pEuUS^SUqD*rh}taP2CL|ALqw)P4YFBgdlsyoOIC{OPhB3y19WO zh(Hj5AOb-If(Qf=xHTd`dp2+KP4;~;8uUQ~f(ZOCBf#Ge5jr@=eVh>Jy*jA#N&rG$ z0(gzisSfaLB0k1_oDk@l(wd@rfNu)F#DFlT@d%$z8252PpfG0;<_!Lo;a4c|u1Gt zzT6|zDYT0(5*3M(M`wJGWaW-(by}z|**~BTCXI}3C5(gmkT%01w>nAOp3@8DPG810 z^P`qCq}60nW+rc@T)ova`DD_~a56dDG`HK1;TpEppLF&8ZfT*iq2z#L=iGL0u^~;% zJNgct)-nou2dzj;)$*%t8{^A3JN2AH7>&n-gUYe#v%?FQG&bM2KEAQD`{BtMT1~C0 z*3IfG7>R%%qAtgW9j_pW)NkeGAD zrnE{jpEe%L8}0!uD$C*;p#@Pz);=E0(oJ^TS-xV{8wrIL+#}1oxV}B7Q!mtNXjuap zqw1`tb0IKk{Nq+l$>#d zF4W#3%i33u@C$dP9CzE8Ze6~m_ARnJ;Ebel`nDp`uVm3B%ie<}JvZ5yHC#LAMdP6b zp-?|xsx_O{v*h&L`Z=|sM5tHRz9$>aunGndo}Pu^y&R42Ip;l-Xnd)7HcDY~vExdV4=Ywk3EuU;ZOy}u!=ghiUvm=X^HmzK9f9quu z3eJ{jdNut$#+T)Z$9Rtw*Rs{iLv?<*mr_FCe_0Y1cMIDwP+9A9{>pTv*&2|r)M zOUy4fxGkg#;YB^K|2N+J`~Pj>Yv4o>fgl1mjsPk<5*=+c zcC&XKueBp|?4g4VQ@Kst#|eR?q4uAD2>53|wuAjY K*#B?q{r_*##%^2y literal 0 HcmV?d00001 diff --git a/resources/views/admin/layout/main.blade.php b/resources/views/admin/layout/main.blade.php index d374dc1..c6ec6cf 100644 --- a/resources/views/admin/layout/main.blade.php +++ b/resources/views/admin/layout/main.blade.php @@ -6,11 +6,12 @@ Dashboard -PDAM - + - + + @@ -19,29 +20,44 @@ rel="stylesheet"> - - - - - - - + + + + + + + - + - + + @stack('custom-resource') - + @vite(['resources/js/app.js']) - + + @@ -60,82 +76,9 @@ @@ -146,76 +89,60 @@