Update Metronic v8.2.1
This commit is contained in:
parent
054743f3a0
commit
1c297c9c8a
BIN
app/.DS_Store
vendored
Normal file
BIN
app/.DS_Store
vendored
Normal file
Binary file not shown.
100
app/Actions/SamplePermissionApi.php
Normal file
100
app/Actions/SamplePermissionApi.php
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Spatie\Permission\Models\Permission;
|
||||||
|
|
||||||
|
class SamplePermissionApi
|
||||||
|
{
|
||||||
|
public function datatableList(Request $request)
|
||||||
|
{
|
||||||
|
$draw = $request->input('draw', 0);
|
||||||
|
$start = $request->input('start', 0);
|
||||||
|
$length = $request->input('length', 10);
|
||||||
|
$columns = $request->input('columns');
|
||||||
|
$searchValue = $request->input('search.value');
|
||||||
|
|
||||||
|
$orderColumn = $request->input('order.0.column', 0); // Get the order column index
|
||||||
|
$orderDir = $request->input('order.0.dir', 'asc'); // Get the order direction (ASC or DESC)
|
||||||
|
|
||||||
|
$query = Permission::query()->with('roles');
|
||||||
|
|
||||||
|
if ($searchValue) {
|
||||||
|
$searchColumns = ['name'];
|
||||||
|
$query->where(function ($query) use ($searchValue, $searchColumns) {
|
||||||
|
foreach ($searchColumns as $column) {
|
||||||
|
$query->orWhere(DB::raw("LOWER($column)"), 'LIKE', '%' . strtolower($searchValue) . '%');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the column name for ordering based on the orderColumn index
|
||||||
|
$orderColumnName = $columns[$orderColumn]['data'] ?? 'id';
|
||||||
|
|
||||||
|
// Apply ordering to the query
|
||||||
|
$query->orderBy($orderColumnName, $orderDir);
|
||||||
|
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
$records = $query->offset($start)->limit($length)->get();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'draw' => $draw,
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $totalRecords,
|
||||||
|
'data' => $records,
|
||||||
|
'orderColumnName' => $orderColumnName,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create(Request $request)
|
||||||
|
{
|
||||||
|
$permission = $request->all();
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string',
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = Validator::make($permission, $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['errors' => $validator->errors()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = Permission::create($permission);
|
||||||
|
|
||||||
|
return response()->json(['success' => $updated]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get($id)
|
||||||
|
{
|
||||||
|
return Permission::findOrFail($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($id, Request $request)
|
||||||
|
{
|
||||||
|
$permission = $request->all();
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string',
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = Validator::make($permission, $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['errors' => $validator->errors()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = Permission::findOrFail($id)->update($permission);
|
||||||
|
|
||||||
|
return response()->json(['success' => $updated]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete($id)
|
||||||
|
{
|
||||||
|
return Permission::destroy($id);
|
||||||
|
}
|
||||||
|
}
|
171
app/Actions/SampleRoleApi.php
Normal file
171
app/Actions/SampleRoleApi.php
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions;
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Spatie\Permission\Models\Role;
|
||||||
|
|
||||||
|
class SampleRoleApi
|
||||||
|
{
|
||||||
|
public $roles_description = [
|
||||||
|
'administrator' => 'Best for business owners and company administrators',
|
||||||
|
'developer' => 'Best for developers or people primarily using the API',
|
||||||
|
'analyst' => 'Best for people who need full access to analytics data, but don\'t need to update business settings',
|
||||||
|
'support' => 'Best for employees who regularly refund payments and respond to disputes',
|
||||||
|
'trial' => 'Best for people who need to preview content data, but don\'t need to make any updates',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function datatableList(Request $request)
|
||||||
|
{
|
||||||
|
$draw = $request->input('draw', 0);
|
||||||
|
$start = $request->input('start', 0);
|
||||||
|
$length = $request->input('length', 10);
|
||||||
|
$columns = $request->input('columns');
|
||||||
|
$searchValue = $request->input('search.value');
|
||||||
|
|
||||||
|
$orderColumn = $request->input('order.0.column', 0); // Get the order column index
|
||||||
|
$orderDir = $request->input('order.0.dir', 'asc'); // Get the order direction (ASC or DESC)
|
||||||
|
|
||||||
|
$query = Role::query()->with('permissions')->with('users');
|
||||||
|
|
||||||
|
if ($searchValue) {
|
||||||
|
$searchColumns = ['name'];
|
||||||
|
$query->where(function ($query) use ($searchValue, $searchColumns) {
|
||||||
|
foreach ($searchColumns as $column) {
|
||||||
|
$query->orWhere(DB::raw("LOWER($column)"), 'LIKE', '%' . strtolower($searchValue) . '%');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the column name for ordering based on the orderColumn index
|
||||||
|
$orderColumnName = $columns[$orderColumn]['data'] ?? 'id';
|
||||||
|
|
||||||
|
// Apply ordering to the query
|
||||||
|
$query->orderBy($orderColumnName, $orderDir);
|
||||||
|
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
$records = $query->offset($start)->limit($length)->get();
|
||||||
|
|
||||||
|
foreach ($records as $i => $role) {
|
||||||
|
$records[$i]->description = $this->roles_description[$role->name] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'draw' => $draw,
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $totalRecords,
|
||||||
|
'data' => $records,
|
||||||
|
'orderColumnName' => $orderColumnName,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function usersDatatableList(Request $request)
|
||||||
|
{
|
||||||
|
$role_id = $request->input('id', 0);
|
||||||
|
$draw = $request->input('draw', 0);
|
||||||
|
$start = $request->input('start', 0);
|
||||||
|
$length = $request->input('length', 10);
|
||||||
|
$columns = $request->input('columns');
|
||||||
|
$searchValue = $request->input('search.value');
|
||||||
|
|
||||||
|
$orderColumn = $request->input('order.0.column', 0); // Get the order column index
|
||||||
|
$orderDir = $request->input('order.0.dir', 'asc'); // Get the order direction (ASC or DESC)
|
||||||
|
|
||||||
|
$query = User::whereHas('roles', function ($query) use ($role_id) {
|
||||||
|
$query->where('id', $role_id);
|
||||||
|
})->with('roles');
|
||||||
|
|
||||||
|
if ($searchValue) {
|
||||||
|
$searchColumns = ['name'];
|
||||||
|
$query->where(function ($query) use ($searchValue, $searchColumns) {
|
||||||
|
foreach ($searchColumns as $column) {
|
||||||
|
$query->orWhere(DB::raw("LOWER($column)"), 'LIKE', '%' . strtolower($searchValue) . '%');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the column name for ordering based on the orderColumn index
|
||||||
|
$orderColumnName = $columns[$orderColumn]['data'] ?? 'id';
|
||||||
|
|
||||||
|
// Apply ordering to the query
|
||||||
|
$query->orderBy($orderColumnName, $orderDir);
|
||||||
|
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
$records = $query->offset($start)->limit($length)->get();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'role_id' => $role_id,
|
||||||
|
'draw' => $draw,
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $totalRecords,
|
||||||
|
'data' => $records,
|
||||||
|
'orderColumnName' => $orderColumnName,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create(Request $request)
|
||||||
|
{
|
||||||
|
$role = $request->all();
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string',
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = Validator::make($role, $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['errors' => $validator->errors()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = Role::create($role);
|
||||||
|
|
||||||
|
return response()->json(['success' => $updated]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get($id, $relations = ['permissions', 'users'])
|
||||||
|
{
|
||||||
|
return Role::with($relations)->findOrFail($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($id, Request $request)
|
||||||
|
{
|
||||||
|
$role = $request->all();
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string',
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = Validator::make($role, $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['errors' => $validator->errors()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = Role::findOrFail($id)->update($role);
|
||||||
|
|
||||||
|
return response()->json(['success' => $updated]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete($id)
|
||||||
|
{
|
||||||
|
return Role::destroy($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteUser($id, $user_id = null)
|
||||||
|
{
|
||||||
|
$user = User::find($user_id);
|
||||||
|
|
||||||
|
if ($user) {
|
||||||
|
return $user->roles()->detach($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
102
app/Actions/SampleUserApi.php
Normal file
102
app/Actions/SampleUserApi.php
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions;
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
|
class SampleUserApi
|
||||||
|
{
|
||||||
|
public function datatableList(Request $request)
|
||||||
|
{
|
||||||
|
$draw = $request->input('draw', 0);
|
||||||
|
$start = $request->input('start', 0);
|
||||||
|
$length = $request->input('length', 10);
|
||||||
|
$columns = $request->input('columns');
|
||||||
|
$searchValue = $request->input('search.value');
|
||||||
|
|
||||||
|
$orderColumn = $request->input('order.0.column', 0); // Get the order column index
|
||||||
|
$orderDir = $request->input('order.0.dir', 'asc'); // Get the order direction (ASC or DESC)
|
||||||
|
|
||||||
|
$query = User::query()->with('roles');
|
||||||
|
|
||||||
|
if ($searchValue) {
|
||||||
|
$searchColumns = ['name', 'email'];
|
||||||
|
$query->where(function ($query) use ($searchValue, $searchColumns) {
|
||||||
|
foreach ($searchColumns as $column) {
|
||||||
|
$query->orWhere(DB::raw("LOWER($column)"), 'LIKE', '%' . strtolower($searchValue) . '%');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the column name for ordering based on the orderColumn index
|
||||||
|
$orderColumnName = $columns[$orderColumn]['data'] ?? 'id';
|
||||||
|
|
||||||
|
// exclude core user for demo purpose
|
||||||
|
$query->whereNotIn('id', [1]);
|
||||||
|
|
||||||
|
// Apply ordering to the query
|
||||||
|
$query->orderBy($orderColumnName, $orderDir);
|
||||||
|
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
$records = $query->offset($start)->limit($length)->get();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'draw' => $draw,
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $totalRecords,
|
||||||
|
'data' => $records,
|
||||||
|
'orderColumnName' => $orderColumnName,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create(Request $request)
|
||||||
|
{
|
||||||
|
$user = $request->all();
|
||||||
|
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string',
|
||||||
|
'email' => 'required|email|unique:users,email',
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = Validator::make($user, $rules);
|
||||||
|
if ($validator->fails()) {
|
||||||
|
return response()->json(['errors' => $validator->errors()], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$updated = User::create($user);
|
||||||
|
|
||||||
|
return response()->json(['success' => $updated]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get($id)
|
||||||
|
{
|
||||||
|
return User::findOrFail($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($id, Request $request)
|
||||||
|
{
|
||||||
|
$data = $request->validate([
|
||||||
|
'name' => 'required|string',
|
||||||
|
'email' => 'required|email|unique:users,email,' . $id,
|
||||||
|
'role' => 'required|string',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$user = User::findOrFail($id);
|
||||||
|
$user->update($data);
|
||||||
|
|
||||||
|
$user->assignRole($request->role);
|
||||||
|
|
||||||
|
return response()->json(['success' => true]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete($id)
|
||||||
|
{
|
||||||
|
return User::destroy($id);
|
||||||
|
}
|
||||||
|
}
|
@ -24,13 +24,13 @@ class PermissionsDataTable extends DataTable
|
|||||||
})
|
})
|
||||||
->addColumn('assigned_to', function (Permission $permission) {
|
->addColumn('assigned_to', function (Permission $permission) {
|
||||||
$roles = $permission->roles;
|
$roles = $permission->roles;
|
||||||
return view('pages.apps.user-management.permissions.columns._assign-to', compact('roles'));
|
return view('pages/apps.user-management.permissions.columns._assign-to', compact('roles'));
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (Permission $permission) {
|
->editColumn('created_at', function (Permission $permission) {
|
||||||
return $permission->created_at->format('d M Y, h:i a');
|
return $permission->created_at->format('d M Y, h:i a');
|
||||||
})
|
})
|
||||||
->addColumn('actions', function (Permission $permission) {
|
->addColumn('actions', function (Permission $permission) {
|
||||||
return view('pages.apps.user-management.permissions.columns._actions', compact('permission'));
|
return view('pages/apps.user-management.permissions.columns._actions', compact('permission'));
|
||||||
})
|
})
|
||||||
->setRowId('id');
|
->setRowId('id');
|
||||||
}
|
}
|
||||||
@ -56,7 +56,7 @@ class PermissionsDataTable extends DataTable
|
|||||||
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
||||||
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
||||||
->orderBy(0)
|
->orderBy(0)
|
||||||
->drawCallback("function() {" . file_get_contents(resource_path('views/pages//apps/user-management/permissions/columns/_draw-scripts.js')) . "}");
|
->drawCallback("function() {" . file_get_contents(resource_path('views/pages/apps/user-management/permissions/columns/_draw-scripts.js')) . "}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,13 +23,13 @@ class UsersAssignedRoleDataTable extends DataTable
|
|||||||
return (new EloquentDataTable($query))
|
return (new EloquentDataTable($query))
|
||||||
->rawColumns(['user'])
|
->rawColumns(['user'])
|
||||||
->editColumn('user', function (User $user) {
|
->editColumn('user', function (User $user) {
|
||||||
return view('pages.apps.user-management.roles.columns._user', compact('user'));
|
return view('pages/apps.user-management.roles.columns._user', compact('user'));
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (User $user) {
|
->editColumn('created_at', function (User $user) {
|
||||||
return $user->created_at->format('d M Y, h:i a');
|
return $user->created_at->format('d M Y, h:i a');
|
||||||
})
|
})
|
||||||
->addColumn('action', function (User $user) {
|
->addColumn('action', function (User $user) {
|
||||||
return view('pages.apps.user-management.roles.columns._actions', compact('user'));
|
return view('pages/apps.user-management.roles.columns._actions', compact('user'));
|
||||||
})
|
})
|
||||||
->setRowId('id');
|
->setRowId('id');
|
||||||
}
|
}
|
||||||
@ -57,7 +57,7 @@ class UsersAssignedRoleDataTable extends DataTable
|
|||||||
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
||||||
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
||||||
->orderBy(1)
|
->orderBy(1)
|
||||||
->drawCallback("function() {" . file_get_contents(resource_path('views/pages//apps/user-management/users/columns/_draw-scripts.js')) . "}");
|
->drawCallback("function() {" . file_get_contents(resource_path('views/pages/apps/user-management/users/columns/_draw-scripts.js')) . "}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,7 +21,7 @@ class UsersDataTable extends DataTable
|
|||||||
return (new EloquentDataTable($query))
|
return (new EloquentDataTable($query))
|
||||||
->rawColumns(['user', 'last_login_at'])
|
->rawColumns(['user', 'last_login_at'])
|
||||||
->editColumn('user', function (User $user) {
|
->editColumn('user', function (User $user) {
|
||||||
return view('pages.apps.user-management.users.columns._user', compact('user'));
|
return view('pages/apps.user-management.users.columns._user', compact('user'));
|
||||||
})
|
})
|
||||||
->editColumn('role', function (User $user) {
|
->editColumn('role', function (User $user) {
|
||||||
return ucwords($user->roles->first()?->name);
|
return ucwords($user->roles->first()?->name);
|
||||||
@ -33,7 +33,7 @@ class UsersDataTable extends DataTable
|
|||||||
return $user->created_at->format('d M Y, h:i a');
|
return $user->created_at->format('d M Y, h:i a');
|
||||||
})
|
})
|
||||||
->addColumn('action', function (User $user) {
|
->addColumn('action', function (User $user) {
|
||||||
return view('pages.apps.user-management.users.columns._actions', compact('user'));
|
return view('pages/apps.user-management.users.columns._actions', compact('user'));
|
||||||
})
|
})
|
||||||
->setRowId('id');
|
->setRowId('id');
|
||||||
}
|
}
|
||||||
@ -60,7 +60,7 @@ class UsersDataTable extends DataTable
|
|||||||
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
->addTableClass('table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer text-gray-600 fw-semibold')
|
||||||
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
->setTableHeadClass('text-start text-muted fw-bold fs-7 text-uppercase gs-0')
|
||||||
->orderBy(2)
|
->orderBy(2)
|
||||||
->drawCallback("function() {" . file_get_contents(resource_path('views/pages//apps/user-management/users/columns/_draw-scripts.js')) . "}");
|
->drawCallback("function() {" . file_get_contents(resource_path('views/pages/apps/user-management/users/columns/_draw-scripts.js')) . "}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,7 +13,7 @@ class PermissionManagementController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(PermissionsDataTable $dataTable)
|
public function index(PermissionsDataTable $dataTable)
|
||||||
{
|
{
|
||||||
return $dataTable->render('pages.apps.user-management.permissions.list');
|
return $dataTable->render('pages/apps.user-management.permissions.list');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,7 +14,7 @@ class RoleManagementController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
return view('pages.apps.user-management.roles.list');
|
return view('pages/apps.user-management.roles.list');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,7 +39,7 @@ class RoleManagementController extends Controller
|
|||||||
public function show(Role $role, UsersAssignedRoleDataTable $dataTable)
|
public function show(Role $role, UsersAssignedRoleDataTable $dataTable)
|
||||||
{
|
{
|
||||||
return $dataTable->with('role', $role)
|
return $dataTable->with('role', $role)
|
||||||
->render('pages.apps.user-management.roles.show', compact('role'));
|
->render('pages/apps.user-management.roles.show', compact('role'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -14,7 +14,7 @@ class UserManagementController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(UsersDataTable $dataTable)
|
public function index(UsersDataTable $dataTable)
|
||||||
{
|
{
|
||||||
return $dataTable->render('pages.apps.user-management.users.list');
|
return $dataTable->render('pages/apps.user-management.users.list');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,7 +38,7 @@ class UserManagementController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(User $user)
|
public function show(User $user)
|
||||||
{
|
{
|
||||||
return view('pages.apps.user-management.users.show', compact('user'));
|
return view('pages/apps.user-management.users.show', compact('user'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -20,7 +20,7 @@ class AuthenticatedSessionController extends Controller
|
|||||||
{
|
{
|
||||||
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
|
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
|
||||||
|
|
||||||
return view('pages.auth.login');
|
return view('pages/auth.login');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,7 +17,7 @@ class ConfirmablePasswordController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show()
|
public function show()
|
||||||
{
|
{
|
||||||
return view('pages.auth.confirm-password');
|
return view('pages/auth.confirm-password');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -18,6 +18,6 @@ class EmailVerificationPromptController extends Controller
|
|||||||
{
|
{
|
||||||
return $request->user()->hasVerifiedEmail()
|
return $request->user()->hasVerifiedEmail()
|
||||||
? redirect()->intended(RouteServiceProvider::HOME)
|
? redirect()->intended(RouteServiceProvider::HOME)
|
||||||
: view('pages.auth.verify-email');
|
: view('pages/auth.verify-email');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ class NewPasswordController extends Controller
|
|||||||
{
|
{
|
||||||
addJavascriptFile('assets/js/custom/authentication/reset-password/new-password.js');
|
addJavascriptFile('assets/js/custom/authentication/reset-password/new-password.js');
|
||||||
|
|
||||||
return view('pages.auth.reset-password', ['request' => $request]);
|
return view('pages/auth.reset-password', ['request' => $request]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,7 +17,7 @@ class PasswordResetLinkController extends Controller
|
|||||||
{
|
{
|
||||||
addJavascriptFile('assets/js/custom/authentication/reset-password/reset-password.js');
|
addJavascriptFile('assets/js/custom/authentication/reset-password/reset-password.js');
|
||||||
|
|
||||||
return view('pages.auth.forgot-password');
|
return view('pages/auth.forgot-password');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -23,7 +23,7 @@ class RegisteredUserController extends Controller
|
|||||||
{
|
{
|
||||||
addJavascriptFile('assets/js/custom/authentication/sign-up/general.js');
|
addJavascriptFile('assets/js/custom/authentication/sign-up/general.js');
|
||||||
|
|
||||||
return view('pages.auth.register');
|
return view('pages/auth.register');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -8,6 +8,6 @@ class DashboardController extends Controller
|
|||||||
{
|
{
|
||||||
addVendors(['amcharts', 'amcharts-maps', 'amcharts-stock']);
|
addVendors(['amcharts', 'amcharts-maps', 'amcharts-stock']);
|
||||||
|
|
||||||
return view('pages.dashboards.index');
|
return view('pages/dashboards.index');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ class AddUserModal extends Component
|
|||||||
{
|
{
|
||||||
use WithFileUploads;
|
use WithFileUploads;
|
||||||
|
|
||||||
|
public $user_id;
|
||||||
public $name;
|
public $name;
|
||||||
public $email;
|
public $email;
|
||||||
public $role;
|
public $role;
|
||||||
@ -76,10 +77,16 @@ class AddUserModal extends Component
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a new user record in the database
|
// Create a new user record in the database
|
||||||
$user = User::updateOrCreate([
|
$user = $this->user_id ? User::find($this->user_id) : User::updateOrCreate([
|
||||||
'email' => $this->email,
|
'email' => $this->email,
|
||||||
], $data);
|
], $data);
|
||||||
|
|
||||||
|
if ($this->edit_mode) {
|
||||||
|
foreach ($data as $k => $v) {
|
||||||
|
$user->$k = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->edit_mode) {
|
if ($this->edit_mode) {
|
||||||
// Assign selected role for user
|
// Assign selected role for user
|
||||||
$user->syncRoles($this->role);
|
$user->syncRoles($this->role);
|
||||||
@ -123,6 +130,7 @@ class AddUserModal extends Component
|
|||||||
|
|
||||||
$user = User::find($id);
|
$user = User::find($id);
|
||||||
|
|
||||||
|
$this->user_id = $user->id;
|
||||||
$this->saved_avatar = $user->profile_photo_url;
|
$this->saved_avatar = $user->profile_photo_url;
|
||||||
$this->name = $user->name;
|
$this->name = $user->name;
|
||||||
$this->email = $user->email;
|
$this->email = $user->email;
|
||||||
|
11
app/Models/Address.php
Normal file
11
app/Models/Address.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Address extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
}
|
@ -2,15 +2,14 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
use Illuminate\Support\Facades\Storage;
|
|
||||||
use Laravel\Sanctum\HasApiTokens;
|
use Laravel\Sanctum\HasApiTokens;
|
||||||
use Spatie\Permission\Traits\HasRoles;
|
use Spatie\Permission\Traits\HasRoles;
|
||||||
|
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable implements MustVerifyEmail
|
||||||
{
|
{
|
||||||
use HasApiTokens, HasFactory, Notifiable;
|
use HasApiTokens, HasFactory, Notifiable;
|
||||||
use HasRoles;
|
use HasRoles;
|
||||||
@ -57,4 +56,14 @@ class User extends Authenticatable
|
|||||||
|
|
||||||
return $this->profile_photo_path;
|
return $this->profile_photo_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function addresses()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Address::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDefaultAddressAttribute()
|
||||||
|
{
|
||||||
|
return $this->addresses?->first();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
33
database/factories/AddressFactory.php
Normal file
33
database/factories/AddressFactory.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Address>
|
||||||
|
*/
|
||||||
|
class AddressFactory extends Factory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Define the model's default state.
|
||||||
|
*
|
||||||
|
* @return array<string, mixed>
|
||||||
|
*/
|
||||||
|
public function definition(): array
|
||||||
|
{
|
||||||
|
$user = User::inRandomOrder()->first(); // Retrieve a random user
|
||||||
|
|
||||||
|
return [
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'address_line_1' => $this->faker->address(),
|
||||||
|
'address_line_2' => null,
|
||||||
|
'city' => $this->faker->city(),
|
||||||
|
'postal_code' => $this->faker->postcode(),
|
||||||
|
'state' => $this->faker->state(),
|
||||||
|
'country' => $this->faker->country(),
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('addresses', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->unsignedBigInteger('user_id');
|
||||||
|
$table->string('address_line_1');
|
||||||
|
$table->string('address_line_2')->nullable();
|
||||||
|
$table->string('city');
|
||||||
|
$table->string('postal_code');
|
||||||
|
$table->string('state');
|
||||||
|
$table->string('country');
|
||||||
|
$table->unsignedTinyInteger('type');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('addresses');
|
||||||
|
}
|
||||||
|
};
|
@ -3,6 +3,8 @@
|
|||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
|
|
||||||
|
use App\Models\Address;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
class DatabaseSeeder extends Seeder
|
class DatabaseSeeder extends Seeder
|
||||||
@ -19,7 +21,9 @@ class DatabaseSeeder extends Seeder
|
|||||||
RolesPermissionsSeeder::class,
|
RolesPermissionsSeeder::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
\App\Models\User::factory(10)->create();
|
\App\Models\User::factory(20)->create();
|
||||||
|
|
||||||
|
Address::factory(20)->create();
|
||||||
|
|
||||||
// \App\Models\User::factory()->create([
|
// \App\Models\User::factory()->create([
|
||||||
// 'name' => 'Test User',
|
// 'name' => 'Test User',
|
||||||
|
BIN
resources/_keenthemes/src/.DS_Store
vendored
BIN
resources/_keenthemes/src/.DS_Store
vendored
Binary file not shown.
@ -248,7 +248,11 @@ var KTApp = function () {
|
|||||||
var parentEl = document.querySelector(element.getAttribute('data-dropdown-parent'));
|
var parentEl = document.querySelector(element.getAttribute('data-dropdown-parent'));
|
||||||
|
|
||||||
if (parentEl && parentEl.hasAttribute("data-kt-menu")) {
|
if (parentEl && parentEl.hasAttribute("data-kt-menu")) {
|
||||||
var menu = new KTMenu(parentEl);
|
var menu = KTMenu.getInstance(parentEl);
|
||||||
|
|
||||||
|
if (!menu) {
|
||||||
|
menu = new KTMenu(parentEl);
|
||||||
|
}
|
||||||
|
|
||||||
if (menu) {
|
if (menu) {
|
||||||
$(element).on('select2:unselect', function (e) {
|
$(element).on('select2:unselect', function (e) {
|
||||||
@ -385,7 +389,8 @@ var KTApp = function () {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
initTinySlider(el);
|
const obj = initTinySlider(el);
|
||||||
|
KTUtil.data(el).set('tns', tns);
|
||||||
|
|
||||||
el.setAttribute("data-kt-initialized", "1");
|
el.setAttribute("data-kt-initialized", "1");
|
||||||
});
|
});
|
||||||
|
@ -16,6 +16,7 @@ var KTDialer = function(element, options) {
|
|||||||
min: null,
|
min: null,
|
||||||
max: null,
|
max: null,
|
||||||
step: 1,
|
step: 1,
|
||||||
|
currency: false,
|
||||||
decimals: 0,
|
decimals: 0,
|
||||||
prefix: "",
|
prefix: "",
|
||||||
suffix: ""
|
suffix: ""
|
||||||
@ -46,6 +47,10 @@ var KTDialer = function(element, options) {
|
|||||||
the.inputElement = the.element.querySelector('input[type]');
|
the.inputElement = the.element.querySelector('input[type]');
|
||||||
|
|
||||||
// Set Values
|
// Set Values
|
||||||
|
if (_getOption('currency') === 'true') {
|
||||||
|
the.options.currency = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (_getOption('decimals')) {
|
if (_getOption('decimals')) {
|
||||||
the.options.decimals = parseInt(_getOption('decimals'));
|
the.options.decimals = parseInt(_getOption('decimals'));
|
||||||
}
|
}
|
||||||
@ -176,7 +181,13 @@ var KTDialer = function(element, options) {
|
|||||||
|
|
||||||
// Format
|
// Format
|
||||||
var _format = function(val){
|
var _format = function(val){
|
||||||
return the.options.prefix + parseFloat(val).toFixed(the.options.decimals) + the.options.suffix;
|
val = parseFloat(val).toFixed(the.options.decimals);
|
||||||
|
|
||||||
|
if (the.options.currency) {
|
||||||
|
val = val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||||
|
}
|
||||||
|
|
||||||
|
return the.options.prefix + val + the.options.suffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get option
|
// Get option
|
||||||
|
@ -42,6 +42,7 @@ var KTDrawer = function(element, options) {
|
|||||||
the.name = the.element.getAttribute('data-kt-drawer-name');
|
the.name = the.element.getAttribute('data-kt-drawer-name');
|
||||||
the.shown = false;
|
the.shown = false;
|
||||||
the.lastWidth;
|
the.lastWidth;
|
||||||
|
the.lastHeight;
|
||||||
the.toggleElement = null;
|
the.toggleElement = null;
|
||||||
|
|
||||||
// Set initialized
|
// Set initialized
|
||||||
@ -137,6 +138,7 @@ var KTDrawer = function(element, options) {
|
|||||||
|
|
||||||
var _update = function() {
|
var _update = function() {
|
||||||
var width = _getWidth();
|
var width = _getWidth();
|
||||||
|
var height = _getHeight();
|
||||||
var direction = _getOption('direction');
|
var direction = _getOption('direction');
|
||||||
|
|
||||||
var top = _getOption('top');
|
var top = _getOption('top');
|
||||||
@ -156,8 +158,15 @@ var KTDrawer = function(element, options) {
|
|||||||
KTUtil.addClass(the.element, the.options.baseClass);
|
KTUtil.addClass(the.element, the.options.baseClass);
|
||||||
KTUtil.addClass(the.element, the.options.baseClass + '-' + direction);
|
KTUtil.addClass(the.element, the.options.baseClass + '-' + direction);
|
||||||
|
|
||||||
KTUtil.css(the.element, 'width', width, true);
|
if (width) {
|
||||||
the.lastWidth = width;
|
KTUtil.css(the.element, 'width', width, true);
|
||||||
|
the.lastWidth = width;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (height) {
|
||||||
|
KTUtil.css(the.element, 'height', height, true);
|
||||||
|
the.lastHeight = height;
|
||||||
|
}
|
||||||
|
|
||||||
if (top) {
|
if (top) {
|
||||||
KTUtil.css(the.element, 'top', top);
|
KTUtil.css(the.element, 'top', top);
|
||||||
@ -187,6 +196,7 @@ var KTDrawer = function(element, options) {
|
|||||||
KTUtil.removeClass(the.element, the.options.baseClass + '-' + direction);
|
KTUtil.removeClass(the.element, the.options.baseClass + '-' + direction);
|
||||||
|
|
||||||
KTUtil.css(the.element, 'width', '');
|
KTUtil.css(the.element, 'width', '');
|
||||||
|
KTUtil.css(the.element, 'height', '');
|
||||||
|
|
||||||
if (top) {
|
if (top) {
|
||||||
KTUtil.css(the.element, 'top', '');
|
KTUtil.css(the.element, 'top', '');
|
||||||
@ -275,6 +285,16 @@ var KTDrawer = function(element, options) {
|
|||||||
return width;
|
return width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _getHeight = function() {
|
||||||
|
var height = _getOption('height');
|
||||||
|
|
||||||
|
if ( height === 'auto') {
|
||||||
|
height = KTUtil.css(the.element, 'height');
|
||||||
|
}
|
||||||
|
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
|
||||||
var _destroy = function() {
|
var _destroy = function() {
|
||||||
KTUtil.data(the.element).remove('drawer');
|
KTUtil.data(the.element).remove('drawer');
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,10 @@ var KTMenu = function(element, options) {
|
|||||||
// Event Handlers
|
// Event Handlers
|
||||||
// Toggle handler
|
// Toggle handler
|
||||||
var _click = function(element, e) {
|
var _click = function(element, e) {
|
||||||
|
if (element.hasAttribute('href') && element.getAttribute("href") !== "#") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
if (the.disabled === true) {
|
if (the.disabled === true) {
|
||||||
|
@ -101,7 +101,7 @@ var KTAppCalendar = function () {
|
|||||||
start: YM + '-01',
|
start: YM + '-01',
|
||||||
end: YM + '-02',
|
end: YM + '-02',
|
||||||
description: 'Toto lorem ipsum dolor sit incid idunt ut',
|
description: 'Toto lorem ipsum dolor sit incid idunt ut',
|
||||||
className: "fc-event-danger fc-event-solid-warning",
|
className: "border-success bg-success text-inverse-success",
|
||||||
location: 'Federation Square'
|
location: 'Federation Square'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -110,7 +110,7 @@ var KTAppCalendar = function () {
|
|||||||
start: YM + '-14T13:30:00',
|
start: YM + '-14T13:30:00',
|
||||||
description: 'Lorem ipsum dolor incid idunt ut labore',
|
description: 'Lorem ipsum dolor incid idunt ut labore',
|
||||||
end: YM + '-14T14:30:00',
|
end: YM + '-14T14:30:00',
|
||||||
className: "fc-event-success",
|
className: "border-warning bg-warning text-inverse-success",
|
||||||
location: 'Meeting Room 7.03'
|
location: 'Meeting Room 7.03'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -119,9 +119,8 @@ var KTAppCalendar = function () {
|
|||||||
start: YM + '-02',
|
start: YM + '-02',
|
||||||
description: 'Lorem ipsum dolor sit tempor incid',
|
description: 'Lorem ipsum dolor sit tempor incid',
|
||||||
end: YM + '-03',
|
end: YM + '-03',
|
||||||
className: "fc-event-primary",
|
className: "border-info bg-info text-info-success",
|
||||||
location: 'Seoul, Korea'
|
location: 'Seoul, Korea'
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: uid(),
|
id: uid(),
|
||||||
|
@ -297,7 +297,7 @@ var KTAppEcommerceSaveProduct = function () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'sku': {
|
'barcode': {
|
||||||
validators: {
|
validators: {
|
||||||
notEmpty: {
|
notEmpty: {
|
||||||
message: 'Product barcode is required'
|
message: 'Product barcode is required'
|
||||||
|
156
resources/_keenthemes/src/js/widgets/charts/widget-47.js
Normal file
156
resources/_keenthemes/src/js/widgets/charts/widget-47.js
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
// Class definition
|
||||||
|
var KTChartsWidget47 = function () {
|
||||||
|
var chart = {
|
||||||
|
self: null,
|
||||||
|
rendered: false
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Private methods
|
||||||
|
var initChart = function(chart) {
|
||||||
|
var element = document.getElementById("kt_charts_widget_47");
|
||||||
|
|
||||||
|
if (!element) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var height = parseInt(KTUtil.css(element, 'height'));
|
||||||
|
var baseColor = KTUtil.getCssVariableValue('--bs-white');
|
||||||
|
var lightColor = KTUtil.getCssVariableValue('--bs-white');
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
series: [{
|
||||||
|
name: 'Sales',
|
||||||
|
data: [5, 5, 15, 15, 19, 16, 27, 24, 34, 25, 40, 30, 19, 17, 22, 10, 14, 14]
|
||||||
|
}],
|
||||||
|
chart: {
|
||||||
|
fontFamily: 'inherit',
|
||||||
|
type: 'area',
|
||||||
|
height: height,
|
||||||
|
toolbar: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
dataLabels: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
fill: {
|
||||||
|
type: "gradient",
|
||||||
|
gradient: {
|
||||||
|
shadeIntensity: 1,
|
||||||
|
opacityFrom: 0.5,
|
||||||
|
opacityTo: 0,
|
||||||
|
stops: [0, 80, 100]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stroke: {
|
||||||
|
curve: 'smooth',
|
||||||
|
show: true,
|
||||||
|
width: 2,
|
||||||
|
colors: [baseColor]
|
||||||
|
},
|
||||||
|
xaxis: {
|
||||||
|
axisBorder: {
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
axisTicks: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
labels: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
crosshairs: {
|
||||||
|
position: 'front',
|
||||||
|
stroke: {
|
||||||
|
color: baseColor,
|
||||||
|
width: 1,
|
||||||
|
dashArray: 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yaxis: {
|
||||||
|
labels: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
states: {
|
||||||
|
normal: {
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hover: {
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
active: {
|
||||||
|
allowMultipleDataPointsSelection: false,
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
colors: [lightColor],
|
||||||
|
grid: {
|
||||||
|
yaxis: {
|
||||||
|
lines: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
markers: {
|
||||||
|
strokeColor: baseColor,
|
||||||
|
strokeWidth: 2
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
chart.self = new ApexCharts(element, options);
|
||||||
|
|
||||||
|
// Set timeout to properly get the parent elements width
|
||||||
|
setTimeout(function() {
|
||||||
|
chart.self.render();
|
||||||
|
chart.rendered = true;
|
||||||
|
}, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Public methods
|
||||||
|
return {
|
||||||
|
init: function () {
|
||||||
|
initChart(chart);
|
||||||
|
|
||||||
|
// Update chart on theme mode change
|
||||||
|
KTThemeMode.on("kt.thememode.change", function() {
|
||||||
|
if (chart.rendered) {
|
||||||
|
chart.self.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
initChart(chart);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
// Webpack support
|
||||||
|
if (typeof module !== 'undefined') {
|
||||||
|
module.exports = KTChartsWidget47;
|
||||||
|
}
|
||||||
|
|
||||||
|
// On document ready
|
||||||
|
KTUtil.onDOMContentLoaded(function() {
|
||||||
|
KTChartsWidget47.init();
|
||||||
|
});
|
156
resources/_keenthemes/src/js/widgets/charts/widget-48.js
Normal file
156
resources/_keenthemes/src/js/widgets/charts/widget-48.js
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
// Class definition
|
||||||
|
var KTChartsWidget48 = function () {
|
||||||
|
var chart = {
|
||||||
|
self: null,
|
||||||
|
rendered: false
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Private methods
|
||||||
|
var initChart = function(chart) {
|
||||||
|
var element = document.getElementById("kt_charts_widget_48");
|
||||||
|
|
||||||
|
if (!element) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var height = parseInt(KTUtil.css(element, 'height'));
|
||||||
|
var baseColor = KTUtil.getCssVariableValue('--bs-danger');
|
||||||
|
var lightColor = KTUtil.getCssVariableValue('--bs-danger');
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
series: [{
|
||||||
|
name: 'Sales',
|
||||||
|
data: [5, 5, 15, 15, 19, 16, 27, 24, 34, 25, 40, 30, 19, 17, 22, 10, 14, 14]
|
||||||
|
}],
|
||||||
|
chart: {
|
||||||
|
fontFamily: 'inherit',
|
||||||
|
type: 'area',
|
||||||
|
height: height,
|
||||||
|
toolbar: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
dataLabels: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
fill: {
|
||||||
|
type: "gradient",
|
||||||
|
gradient: {
|
||||||
|
shadeIntensity: 1,
|
||||||
|
opacityFrom: 0.5,
|
||||||
|
opacityTo: 0,
|
||||||
|
stops: [0, 120, 50]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
stroke: {
|
||||||
|
curve: 'smooth',
|
||||||
|
show: true,
|
||||||
|
width: 2,
|
||||||
|
colors: [baseColor]
|
||||||
|
},
|
||||||
|
xaxis: {
|
||||||
|
axisBorder: {
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
axisTicks: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
labels: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
crosshairs: {
|
||||||
|
position: 'front',
|
||||||
|
stroke: {
|
||||||
|
color: baseColor,
|
||||||
|
width: 1,
|
||||||
|
dashArray: 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yaxis: {
|
||||||
|
labels: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
states: {
|
||||||
|
normal: {
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hover: {
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
active: {
|
||||||
|
allowMultipleDataPointsSelection: false,
|
||||||
|
filter: {
|
||||||
|
type: 'none',
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
enabled: false
|
||||||
|
},
|
||||||
|
colors: [lightColor],
|
||||||
|
grid: {
|
||||||
|
yaxis: {
|
||||||
|
lines: {
|
||||||
|
show: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
markers: {
|
||||||
|
strokeColor: baseColor,
|
||||||
|
strokeWidth: 2
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
chart.self = new ApexCharts(element, options);
|
||||||
|
|
||||||
|
// Set timeout to properly get the parent elements width
|
||||||
|
setTimeout(function() {
|
||||||
|
chart.self.render();
|
||||||
|
chart.rendered = true;
|
||||||
|
}, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Public methods
|
||||||
|
return {
|
||||||
|
init: function () {
|
||||||
|
initChart(chart);
|
||||||
|
|
||||||
|
// Update chart on theme mode change
|
||||||
|
KTThemeMode.on("kt.thememode.change", function() {
|
||||||
|
if (chart.rendered) {
|
||||||
|
chart.self.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
initChart(chart);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}();
|
||||||
|
|
||||||
|
// Webpack support
|
||||||
|
if (typeof module !== 'undefined') {
|
||||||
|
module.exports = KTChartsWidget48;
|
||||||
|
}
|
||||||
|
|
||||||
|
// On document ready
|
||||||
|
KTUtil.onDOMContentLoaded(function() {
|
||||||
|
KTChartsWidget48.init();
|
||||||
|
});
|
@ -209,7 +209,4 @@ if (typeof module !== 'undefined') {
|
|||||||
// On document ready
|
// On document ready
|
||||||
KTUtil.onDOMContentLoaded(function() {
|
KTUtil.onDOMContentLoaded(function() {
|
||||||
KTTablesWidget14.init();
|
KTTablesWidget14.init();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.8025 3H5.1975C4.21686 3 3.27639 3.38956 2.58297 4.08297C1.88956 4.77639 1.5 5.71686 1.5 6.6975V11.3025C1.5 12.2831 1.88956 13.2236 2.58297 13.917C3.27639 14.6104 4.21686 15 5.1975 15H12.8025C13.2881 15 13.7689 14.9044 14.2175 14.7185C14.6661 14.5327 15.0737 14.2604 15.417 13.917C15.7604 13.5737 16.0327 13.1661 16.2185 12.7175C16.4044 12.2689 16.5 11.7881 16.5 11.3025V6.6975C16.5 6.21194 16.4044 5.73113 16.2185 5.28253C16.0327 4.83393 15.7604 4.42632 15.417 4.08297C15.0737 3.73963 14.6661 3.46727 14.2175 3.28146C13.7689 3.09564 13.2881 3 12.8025 3ZM10.5525 9.6825L8.25 11.0925C8.12869 11.1662 7.98987 11.206 7.84796 11.2079C7.70605 11.2097 7.56622 11.1736 7.443 11.1032C7.31978 11.0328 7.21765 10.9307 7.14722 10.8074C7.0768 10.6842 7.04064 10.5444 7.0425 10.4025V7.5975C7.04064 7.45559 7.0768 7.31577 7.14722 7.19256C7.21765 7.06934 7.31978 6.96723 7.443 6.89681C7.56622 6.8264 7.70605 6.79026 7.84796 6.79214C7.98987 6.79402 8.12869 6.83385 8.25 6.9075L10.59 8.3175C10.7077 8.38868 10.8049 8.48919 10.8721 8.60919C10.9394 8.72919 10.9743 8.86458 10.9736 9.00213C10.9728 9.13968 10.9364 9.27467 10.8678 9.39393C10.7993 9.51318 10.701 9.61261 10.5825 9.6825H10.5525Z" fill="#F1416C"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -9,10 +9,10 @@
|
|||||||
<link rel="stylesheet" href="style.css"></head>
|
<link rel="stylesheet" href="style.css"></head>
|
||||||
<body>
|
<body>
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs: 573)</small></h1>
|
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> KeenIcons <small class="fgc1">(Glyphs: 573)</small></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix mhl ptl">
|
<div class="clearfix mhl ptl">
|
||||||
<h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
|
<h1 class="mvm mtn fgc1">Grid Size: 24</h1>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="ki-duotone ki-abstract-1"><span class="path1"></span><span class="path2"></span></span>
|
<span class="ki-duotone ki-abstract-1"><span class="path1"></span><span class="path2"></span></span>
|
||||||
@ -8047,12 +8047,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<input id="testText" type="text" class="phl size1of1 mvl"
|
<input id="testText" type="text" class="phl size1of1 mvl"
|
||||||
placeholder="Type some text to test..." value=""/>
|
placeholder="Type some text to test..." value=""/>
|
||||||
<div id="testDrive" class="ki-duotone ki-" style="font-family: icomoon">
|
<div id="testDrive" class="ki-duotone ki-" style="font-family: KeenIcons">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
|
<p class="mhl">Generated by <a href="https://KeenIcons.io/app">IcoMoon</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="demo-files/demo.js"></script>
|
<script src="demo-files/demo.js"></script>
|
||||||
|
@ -19,10 +19,23 @@
|
|||||||
font-variant: normal;
|
font-variant: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
position: relative;
|
|
||||||
|
|
||||||
|
/* Better Font Rendering =========== */
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
direction: ltr;
|
direction: ltr;
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
direction: ltr;
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
direction: ltr;
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
direction: ltr;
|
||||||
|
position: relative;
|
||||||
|
display: inline-flex;
|
||||||
|
direction: ltr;
|
||||||
|
position: relative;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
<link rel="stylesheet" href="style.css"></head>
|
<link rel="stylesheet" href="style.css"></head>
|
||||||
<body>
|
<body>
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs: 573)</small></h1>
|
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> KeenIcons <small class="fgc1">(Glyphs: 573)</small></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix mhl ptl">
|
<div class="clearfix mhl ptl">
|
||||||
<h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
|
<h1 class="mvm mtn fgc1">Grid Size: 24</h1>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="ki-outline ki-abstract-1"></span>
|
<span class="ki-outline ki-abstract-1"></span>
|
||||||
@ -8047,12 +8047,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<input id="testText" type="text" class="phl size1of1 mvl"
|
<input id="testText" type="text" class="phl size1of1 mvl"
|
||||||
placeholder="Type some text to test..." value=""/>
|
placeholder="Type some text to test..." value=""/>
|
||||||
<div id="testDrive" class="ki-outline ki-" style="font-family: icomoon">
|
<div id="testDrive" class="ki-outline ki-" style="font-family: KeenIcons">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
|
<p class="mhl">Generated by <a href="https://KeenIcons.io/app">IcoMoon</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="demo-files/demo.js"></script>
|
<script src="demo-files/demo.js"></script>
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
<link rel="stylesheet" href="style.css"></head>
|
<link rel="stylesheet" href="style.css"></head>
|
||||||
<body>
|
<body>
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> icomoon <small class="fgc1">(Glyphs: 573)</small></h1>
|
<h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> KeenIcons <small class="fgc1">(Glyphs: 573)</small></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix mhl ptl">
|
<div class="clearfix mhl ptl">
|
||||||
<h1 class="mvm mtn fgc1">Grid Size: Unknown</h1>
|
<h1 class="mvm mtn fgc1">Grid Size: 24</h1>
|
||||||
<div class="glyph fs1">
|
<div class="glyph fs1">
|
||||||
<div class="clearfix bshadow0 pbs">
|
<div class="clearfix bshadow0 pbs">
|
||||||
<span class="ki-solid ki-abstract-1"></span>
|
<span class="ki-solid ki-abstract-1"></span>
|
||||||
@ -8047,12 +8047,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<input id="testText" type="text" class="phl size1of1 mvl"
|
<input id="testText" type="text" class="phl size1of1 mvl"
|
||||||
placeholder="Type some text to test..." value=""/>
|
placeholder="Type some text to test..." value=""/>
|
||||||
<div id="testDrive" class="ki-solid ki-" style="font-family: icomoon">
|
<div id="testDrive" class="ki-solid ki-" style="font-family: KeenIcons">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<![endif]-->
|
<!--<![endif]-->
|
||||||
<div class="bgc1 clearfix">
|
<div class="bgc1 clearfix">
|
||||||
<p class="mhl">Generated by <a href="https://icomoon.io/app">IcoMoon</a></p>
|
<p class="mhl">Generated by <a href="https://KeenIcons.io/app">IcoMoon</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="demo-files/demo.js"></script>
|
<script src="demo-files/demo.js"></script>
|
||||||
|
BIN
resources/_keenthemes/src/sass/.DS_Store
vendored
Normal file
BIN
resources/_keenthemes/src/sass/.DS_Store
vendored
Normal file
Binary file not shown.
@ -13,6 +13,7 @@
|
|||||||
@import "components/variables.custom";
|
@import "components/variables.custom";
|
||||||
@import "components/variables";
|
@import "components/variables";
|
||||||
@import "components/variables-dark";
|
@import "components/variables-dark";
|
||||||
|
@import "components/variables.override";
|
||||||
|
|
||||||
// Bootstrap initializaton
|
// Bootstrap initializaton
|
||||||
@import "bootstrap/scss/functions";
|
@import "bootstrap/scss/functions";
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
// Base
|
// Base
|
||||||
.card {
|
.card {
|
||||||
|
--#{$prefix}card-box-shadow: var(--#{$prefix}root-card-box-shadow);
|
||||||
|
--#{$prefix}card-border-color: var(--#{$prefix}root-card-border-color);
|
||||||
|
|
||||||
@if ($card-border-enabled) {
|
@if ($card-border-enabled) {
|
||||||
border: $card-border-width $card-border-style var(--#{$prefix}card-border-color);
|
border: $card-border-width $card-border-style var(--#{$prefix}card-border-color);
|
||||||
} @else {
|
} @else {
|
||||||
@ -59,7 +62,7 @@
|
|||||||
.card-label {
|
.card-label {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 1.275rem;
|
font-size: 1.275rem;
|
||||||
color: var(--#{$prefix}text-dark);
|
color: var(--#{$prefix}text-gray-900);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-label {
|
.card-label {
|
||||||
|
@ -5,11 +5,20 @@
|
|||||||
code:not([class*="language-"]) {
|
code:not([class*="language-"]) {
|
||||||
font-weight: $code-font-weight;
|
font-weight: $code-font-weight;
|
||||||
color: var(--#{$prefix}code-color);
|
color: var(--#{$prefix}code-color);
|
||||||
line-height: inherit;
|
border: 1px solid var(--#{$prefix}code-border-color);
|
||||||
font-size: inherit;
|
|
||||||
background-color: var(--#{$prefix}code-bg);
|
background-color: var(--#{$prefix}code-bg);
|
||||||
padding: $code-padding;
|
|
||||||
margin: $code-margin;
|
|
||||||
box-shadow: var(--#{$prefix}code-box-shadow);
|
|
||||||
@include border-radius($code-border-radius);
|
@include border-radius($code-border-radius);
|
||||||
|
line-height: inherit;
|
||||||
|
font-size: $code-font-size;
|
||||||
|
padding: $code-padding;
|
||||||
|
margin: $code-margin;
|
||||||
|
box-shadow: $code-shadow;
|
||||||
|
|
||||||
|
@each $name, $value in $theme-colors {
|
||||||
|
&.code-#{$name} {
|
||||||
|
color: var(--#{$prefix}#{$name});
|
||||||
|
background-color: var(--#{$prefix}#{$name}-light);
|
||||||
|
border: 1px solid var(--#{$prefix}#{$name});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,22 @@
|
|||||||
transform: translateX(100%);
|
transform: translateX(100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.drawer-bottom {
|
||||||
|
bottom: 0;
|
||||||
|
top: auto;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
transform: translateY(100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.drawer-top {
|
||||||
|
top: 0;
|
||||||
|
bottom: auto;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
transform: translateY(-100%);
|
||||||
|
}
|
||||||
|
|
||||||
&.drawer-on {
|
&.drawer-on {
|
||||||
transform: none;
|
transform: none;
|
||||||
box-shadow: var(--#{$prefix}drawer-box-shadow);
|
box-shadow: var(--#{$prefix}drawer-box-shadow);
|
||||||
|
@ -48,6 +48,11 @@
|
|||||||
--#{$prefix}#{$name}-inverse: #{$value};
|
--#{$prefix}#{$name}-inverse: #{$value};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Contextual clarity state colors
|
||||||
|
@each $name, $value in $theme-clarity-colors {
|
||||||
|
--#{$prefix}#{$name}-clarity: #{$value};
|
||||||
|
}
|
||||||
|
|
||||||
// Contextual rbg colors
|
// Contextual rbg colors
|
||||||
@each $name, $value in $theme-colors {
|
@each $name, $value in $theme-colors {
|
||||||
--#{$prefix}#{$name}-rgb: #{to-rgb($value)};
|
--#{$prefix}#{$name}-rgb: #{to-rgb($value)};
|
||||||
@ -83,6 +88,9 @@
|
|||||||
--#{$prefix}input-solid-bg-focus: #{$input-solid-bg-focus};
|
--#{$prefix}input-solid-bg-focus: #{$input-solid-bg-focus};
|
||||||
--#{$prefix}input-solid-placeholder-color: #{$input-solid-placeholder-color};
|
--#{$prefix}input-solid-placeholder-color: #{$input-solid-placeholder-color};
|
||||||
|
|
||||||
|
// Card
|
||||||
|
--#{$prefix}root-card-box-shadow: #{$card-box-shadow};
|
||||||
|
--#{$prefix}root-card-border-color: #{$card-border-color};
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip
|
||||||
--#{$prefix}tooltip-box-shadow: #{$tooltip-box-shadow-dark};
|
--#{$prefix}tooltip-box-shadow: #{$tooltip-box-shadow-dark};
|
||||||
@ -97,7 +105,8 @@
|
|||||||
|
|
||||||
// Code
|
// Code
|
||||||
--#{$prefix}code-bg: #{$code-bg};
|
--#{$prefix}code-bg: #{$code-bg};
|
||||||
--#{$prefix}code-box-shadow: #{$code-box-shadow};
|
--#{$prefix}code-shadow: #{$code-shadow};
|
||||||
|
--#{$prefix}code-border-color: #{$code-border-color};
|
||||||
--#{$prefix}code-color: #{$code-color};
|
--#{$prefix}code-color: #{$code-color};
|
||||||
|
|
||||||
// Symbol
|
// Symbol
|
||||||
@ -195,6 +204,11 @@
|
|||||||
--#{$prefix}#{$name}-inverse: #{$value};
|
--#{$prefix}#{$name}-inverse: #{$value};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Contextual clarity state colors
|
||||||
|
@each $name, $value in $theme-clarity-colors-dark {
|
||||||
|
--#{$prefix}#{$name}-clarity: #{$value};
|
||||||
|
}
|
||||||
|
|
||||||
// Contextual rbg colors
|
// Contextual rbg colors
|
||||||
@each $name, $value in $theme-colors-dark {
|
@each $name, $value in $theme-colors-dark {
|
||||||
--#{$prefix}#{$name}-rgb: #{to-rgb($value)};
|
--#{$prefix}#{$name}-rgb: #{to-rgb($value)};
|
||||||
@ -234,7 +248,8 @@
|
|||||||
--#{$prefix}tooltip-box-shadow: #{$tooltip-box-shadow-dark};
|
--#{$prefix}tooltip-box-shadow: #{$tooltip-box-shadow-dark};
|
||||||
|
|
||||||
// Card
|
// Card
|
||||||
--#{$prefix}card-box-shadow: #{$card-box-shadow-dark};
|
--#{$prefix}root-card-box-shadow: #{$card-box-shadow-dark};
|
||||||
|
--#{$prefix}root-card-border-color: #{$card-border-color-dark};
|
||||||
|
|
||||||
// Table
|
// Table
|
||||||
--#{$prefix}table-striped-bg: #{$table-striped-bg-dark};
|
--#{$prefix}table-striped-bg: #{$table-striped-bg-dark};
|
||||||
@ -246,7 +261,8 @@
|
|||||||
|
|
||||||
// Code
|
// Code
|
||||||
--#{$prefix}code-bg: #{$code-bg-dark};
|
--#{$prefix}code-bg: #{$code-bg-dark};
|
||||||
--#{$prefix}code-box-shadow: #{$code-box-shadow-dark};
|
--#{$prefix}code-shadow: #{$code-shadow-dark};
|
||||||
|
--#{$prefix}code-border-color: #{$code-border-color-dark};
|
||||||
--#{$prefix}code-color: #{$code-color-dark};
|
--#{$prefix}code-color: #{$code-color-dark};
|
||||||
|
|
||||||
// Symbol
|
// Symbol
|
||||||
|
@ -79,33 +79,41 @@
|
|||||||
@include scrollbar-color(transparent, var(--#{$prefix}scrollbar-color));
|
@include scrollbar-color(transparent, var(--#{$prefix}scrollbar-color));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
.scroll-ps {
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||||
padding-left: var(--#{$prefix}scrollbar-size) !important;
|
@include media-breakpoint-up($breakpoint) {
|
||||||
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||||
|
|
||||||
|
.scroll#{$infix}-ps {
|
||||||
|
padding-left: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-ms {
|
||||||
|
margin-left: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-mb {
|
||||||
|
margin-bottom: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-pe {
|
||||||
|
padding-right: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-me {
|
||||||
|
margin-right: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-px {
|
||||||
|
padding-left: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
padding-right: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll#{$infix}-mx {
|
||||||
|
margin-left: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
margin-right: var(--#{$prefix}scrollbar-size) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.scroll-ms {
|
|
||||||
margin-left: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-mb {
|
|
||||||
margin-bottom: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-pe {
|
|
||||||
padding-right: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-me {
|
|
||||||
margin-right: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-px {
|
|
||||||
padding-left: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
padding-right: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-mx {
|
|
||||||
margin-left: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
margin-right: var(--#{$prefix}scrollbar-size) !important;
|
|
||||||
}
|
|
||||||
|
@ -59,6 +59,22 @@
|
|||||||
border-collapse: separate;
|
border-collapse: separate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Row Rounded
|
||||||
|
&.table-rows-rounded {
|
||||||
|
th,td {
|
||||||
|
&:first-child {
|
||||||
|
border-top-left-radius: 6px;
|
||||||
|
border-bottom-left-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-top-right-radius: 6px;
|
||||||
|
border-bottom-right-radius: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Flush
|
// Flush
|
||||||
&.table-flush {
|
&.table-flush {
|
||||||
tr, th, td {
|
tr, th, td {
|
||||||
|
@ -4,6 +4,10 @@
|
|||||||
|
|
||||||
// Base
|
// Base
|
||||||
.timeline {
|
.timeline {
|
||||||
|
// Variables
|
||||||
|
--#{$prefix}timeline-icon-size: #{$timeline-icon-size};
|
||||||
|
--#{$prefix}timeline-icon-space: #{$timeline-icon-space};
|
||||||
|
|
||||||
// Item
|
// Item
|
||||||
.timeline-item {
|
.timeline-item {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -27,17 +31,15 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
top:0;
|
top: var(--#{$prefix}timeline-icon-size);
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
transform: translate(50%);
|
transform: translate(50%);
|
||||||
border-left-width: 1px;
|
border-left-width: 1px;
|
||||||
border-left-style: dashed;
|
border-left-style: solid;
|
||||||
border-left-color: var(--#{$prefix}gray-300);
|
border-left-color: var(--#{$prefix}gray-300);
|
||||||
}
|
width: var(--#{$prefix}timeline-icon-size);
|
||||||
|
margin-top: var(--#{$prefix}timeline-icon-space);
|
||||||
// Line solid
|
margin-bottom: var(--#{$prefix}timeline-icon-space);
|
||||||
.timeline-line-solid {
|
|
||||||
border-left-style: solid !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Icon
|
// Icon
|
||||||
@ -45,6 +47,14 @@
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
|
width: var(--#{$prefix}timeline-icon-size);
|
||||||
|
height: var(--#{$prefix}timeline-icon-size);
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border: 1px solid var(--#{$prefix}gray-300);
|
||||||
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Content
|
// Content
|
||||||
@ -72,4 +82,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Line solid
|
||||||
|
&.timeline-border-dashed {
|
||||||
|
.timeline-line {
|
||||||
|
border-left-style: dashed !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-icon {
|
||||||
|
border-style: dashed !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
92
resources/_keenthemes/src/sass/components/_tree.scss
Normal file
92
resources/_keenthemes/src/sass/components/_tree.scss
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
//
|
||||||
|
// Tree
|
||||||
|
//
|
||||||
|
|
||||||
|
.tree {
|
||||||
|
// Css variables
|
||||||
|
--#{$prefix}tree-icon-size: #{$tree-icon-size};
|
||||||
|
--#{$prefix}tree-icon-gap: #{$tree-icon-gap};
|
||||||
|
--#{$prefix}tree-icon-color-open: var(--#{$prefix}success);
|
||||||
|
--#{$prefix}tree-icon-color-default: var(--#{$prefix}gray-500);
|
||||||
|
--#{$prefix}tree-icon-color-close: var(--#{$prefix}gray-500);
|
||||||
|
--#{$prefix}tree-line-color: var(--#{$prefix}gray-200);
|
||||||
|
|
||||||
|
.tree-node {
|
||||||
|
padding-left: $tree-node-padding-x;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-sub {
|
||||||
|
padding: $tree-node-padding-y 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-content {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: $tree-node-padding-y 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-wrapper {
|
||||||
|
padding-left: calc(var(--#{$prefix}tree-icon-size) + var(--#{$prefix}tree-icon-size));
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-section {
|
||||||
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
padding-left: var(--#{$prefix}tree-icon-gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-toggle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: var(--#{$prefix}tree-icon-size);
|
||||||
|
|
||||||
|
.tree-icon-default {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: var(--#{$prefix}tree-icon-color-default);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-icon-open {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: var(--#{$prefix}tree-icon-color-open);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-icon-close {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
color: var(--#{$prefix}tree-icon-color-close);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.collapsed {
|
||||||
|
.tree-icon-close {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-icon-open {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(.collapsed) {
|
||||||
|
.tree-icon-close {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tree-icon-open {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .tree-node {
|
||||||
|
padding-left: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.tree-line {
|
||||||
|
.tree-sub {
|
||||||
|
border-left: 1px solid var(--#{$prefix}tree-line-color);
|
||||||
|
margin-left: calc(var(--#{$prefix}tree-icon-size) / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,10 @@
|
|||||||
$utilities: map-merge(
|
$utilities: map-merge(
|
||||||
$utilities,
|
$utilities,
|
||||||
(
|
(
|
||||||
|
"cursor": (
|
||||||
|
property: cursor,
|
||||||
|
values: help wait crosshair not-allowed zoom-in grab pointer
|
||||||
|
),
|
||||||
"position": (
|
"position": (
|
||||||
property: position,
|
property: position,
|
||||||
responsive: true,
|
responsive: true,
|
||||||
|
@ -1,17 +1,19 @@
|
|||||||
|
// Bootstrap color system
|
||||||
|
|
||||||
//
|
//
|
||||||
// Bootstrap & Custom Variables
|
// Bootstrap & Custom Variables
|
||||||
// Safely override any variable in _variables.custom.scss
|
// Safely override any variable in _variables.custom.scss
|
||||||
//
|
//
|
||||||
|
|
||||||
$gray-100-dark: #1b1b29 !default;
|
$gray-100-dark: #1B1C22 !default;
|
||||||
$gray-200-dark: #2B2B40 !default;
|
$gray-200-dark: #26272F !default;
|
||||||
$gray-300-dark: #323248 !default;
|
$gray-300-dark: #363843 !default;
|
||||||
$gray-400-dark: #474761 !default;
|
$gray-400-dark: #464852 !default;
|
||||||
$gray-500-dark: #565674 !default;
|
$gray-500-dark: #636674 !default;
|
||||||
$gray-600-dark: #6D6D80 !default;
|
$gray-600-dark: #808290 !default;
|
||||||
$gray-700-dark: #92929F !default;
|
$gray-700-dark: #9A9CAE !default;
|
||||||
$gray-800-dark: #CDCDDE !default;
|
$gray-800-dark: #B5B7C8 !default;
|
||||||
$gray-900-dark: #FFFFFF !default;
|
$gray-900-dark: #F5F5F5 !default;
|
||||||
|
|
||||||
$grays-dark: (
|
$grays-dark: (
|
||||||
"100": $gray-100-dark,
|
"100": $gray-100-dark,
|
||||||
@ -30,90 +32,131 @@ $text-muted-dark: $gray-500-dark !default;
|
|||||||
|
|
||||||
// Bootstrap contextual colors
|
// Bootstrap contextual colors
|
||||||
// Primary colors
|
// Primary colors
|
||||||
$primary-light-dark: #212E48 !default;
|
$primary-dark: #006AE6 !default;
|
||||||
|
$primary-active-dark: #107EFF !default;
|
||||||
|
$primary-light-dark: #172331 !default;
|
||||||
|
$primary-clarity-dark: rgba(#006AE6, 0.2) !default;
|
||||||
|
$primary-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Secondary colors
|
// Secondary colors
|
||||||
$secondary-dark: $gray-300-dark !default;
|
$secondary-dark: $gray-300-dark !default;
|
||||||
$secondary-active-dark: $gray-400-dark !default;
|
$secondary-active-dark: $gray-400-dark !default;
|
||||||
$secondary-light-dark: $gray-100-dark !default;
|
$secondary-light-dark: $gray-300-dark !default;
|
||||||
$secondary-inverse-dark: $gray-700-dark !default;
|
$secondary-clarity-dark: rgba($gray-300-dark, 0.2) !default;
|
||||||
|
$secondary-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Light colors
|
// Light colors
|
||||||
$light-dark: $gray-200-dark !default;
|
$light-dark: $gray-100-dark !default;
|
||||||
$light-active-dark: $gray-300-dark !default;
|
$light-active-dark: #1F212A !default;
|
||||||
$light-inverse-dark: $gray-600-dark !default;
|
$light-light-dark: #1F212A !default;
|
||||||
|
$light-clarity-dark: rgba(31, 33, 42, 0.20) !default;
|
||||||
|
$light-inverse-dark: $gray-600-dark !default;
|
||||||
|
|
||||||
// Success colors
|
// Success colors
|
||||||
$success-light-dark: #1C3833 !default;
|
$success-dark: #00A261 !default;
|
||||||
|
$success-active-dark: #01BF73 !default;
|
||||||
|
$success-light-dark: #1F212A !default;
|
||||||
|
$success-clarity-dark: rgba(#00A261, 0.2) !default;
|
||||||
|
$success-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Info colors
|
// Info colors
|
||||||
$info-light-dark: #2F264F !default;
|
$info-dark: #883FFF !default;
|
||||||
|
$info-active-dark: #9E63FF !default;
|
||||||
|
$info-light-dark: #272134 !default;
|
||||||
|
$info-clarity-dark: rgba(#883FFF, 0.2) !default;
|
||||||
|
$info-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Warning colors
|
// Warning colors
|
||||||
$warning-light-dark: #392F28 !default;
|
$warning-dark: #C59A00 !default;
|
||||||
|
$warning-active-dark: #D9AA00 !default;
|
||||||
|
$warning-light-dark: #242320 !default;
|
||||||
|
$warning-clarity-dark: rgba(#C59A00, 0.2) !default;
|
||||||
|
$warning-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Danger colors
|
// Danger colors
|
||||||
$danger-light-dark: #3A2434 !default;
|
$danger-dark: #E42855 !default;
|
||||||
|
$danger-active-dark: #FF3767 !default;
|
||||||
|
$danger-light-dark: #302024 !default;
|
||||||
|
$danger-clarity-dark: rgba(#E42855, 0.2) !default;
|
||||||
|
$danger-inverse-dark: $white !default;
|
||||||
|
|
||||||
// Dark colors
|
// Dark colors
|
||||||
$dark-dark: $gray-900-dark !default;
|
$dark-dark: #272A34 !default;
|
||||||
$dark-active-dark: lighten($gray-900-dark, 3%) !default;
|
$dark-active-dark: #2D2F39 !default;
|
||||||
$dark-light-dark: $gray-200-dark !default;
|
$dark-light-dark: #1E2027 !default;
|
||||||
$dark-inverse-dark: $gray-100-dark !default;
|
$dark-clarity-dark: rgba(#272A34, 0.2) !default;
|
||||||
|
$dark-inverse-dark: $white !default;
|
||||||
|
|
||||||
|
// Contextual colors
|
||||||
$theme-colors-dark: (
|
$theme-colors-dark: (
|
||||||
"white": $white, // custom color type
|
|
||||||
"light": $light-dark,
|
"light": $light-dark,
|
||||||
"primary": $primary,
|
"primary": $primary-dark,
|
||||||
"success": $success,
|
|
||||||
"info": $info,
|
|
||||||
"warning": $warning,
|
|
||||||
"danger": $danger,
|
|
||||||
"dark": $dark-dark,
|
|
||||||
"secondary": $secondary-dark,
|
"secondary": $secondary-dark,
|
||||||
|
"success": $success-dark,
|
||||||
|
"info": $info-dark,
|
||||||
|
"warning": $warning-dark,
|
||||||
|
"danger": $danger-dark,
|
||||||
|
"dark": $dark-dark
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
|
// Contextual active state colors
|
||||||
$theme-active-colors-dark: (
|
$theme-active-colors-dark: (
|
||||||
"primary": $primary-active,
|
"primary": $primary-active-dark,
|
||||||
"secondary": $secondary-active-dark,
|
"secondary": $secondary-active-dark,
|
||||||
"light": $light-active-dark,
|
"light": $light-active-dark,
|
||||||
"success": $success-active,
|
"success": $success-active-dark,
|
||||||
"info": $info-active,
|
"info": $info-active-dark,
|
||||||
"warning": $warning-active,
|
"warning": $warning-active-dark,
|
||||||
"danger": $danger-active,
|
"danger": $danger-active-dark,
|
||||||
"dark": $dark-active-dark
|
"dark": $dark-active-dark
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
|
// Contextual inverse state colors
|
||||||
$theme-inverse-colors-dark: (
|
$theme-inverse-colors-dark: (
|
||||||
"primary": $primary-inverse,
|
"primary": $primary-inverse-dark,
|
||||||
"secondary": $secondary-inverse-dark,
|
"secondary": $secondary-inverse-dark,
|
||||||
"light": $light-inverse,
|
"light": $light-inverse-dark,
|
||||||
"success": $success-inverse,
|
"success": $success-inverse-dark,
|
||||||
"info": $info-inverse,
|
"info": $info-inverse-dark,
|
||||||
"warning": $warning-inverse,
|
"warning": $warning-inverse-dark,
|
||||||
"danger": $danger-inverse,
|
"danger": $danger-inverse-dark,
|
||||||
"dark": $dark-inverse-dark
|
"dark": $dark-inverse-dark
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
|
// Contextual light state colors
|
||||||
$theme-light-colors-dark: (
|
$theme-light-colors-dark: (
|
||||||
"primary": $primary-light-dark,
|
"primary": $primary-light-dark,
|
||||||
|
"secondary": $secondary-light-dark,
|
||||||
"success": $success-light-dark,
|
"success": $success-light-dark,
|
||||||
"info": $info-light-dark,
|
"info": $info-light-dark,
|
||||||
"warning": $warning-light-dark,
|
"warning": $warning-light-dark,
|
||||||
"danger": $danger-light-dark,
|
"danger": $danger-light-dark,
|
||||||
"dark": $dark-light-dark,
|
"dark": $dark-light-dark,
|
||||||
"secondary": $secondary-light-dark
|
"light": $light-light-dark
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
|
// Contextual light state colors
|
||||||
|
$theme-clarity-colors-dark: (
|
||||||
|
"primary": $primary-clarity-dark,
|
||||||
|
"secondary": $secondary-clarity-dark,
|
||||||
|
"success": $success-clarity-dark,
|
||||||
|
"info": $info-clarity-dark,
|
||||||
|
"warning": $warning-clarity-dark,
|
||||||
|
"danger": $danger-clarity-dark,
|
||||||
|
"dark": $dark-clarity-dark,
|
||||||
|
"light": $light-clarity-dark,
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
// Text colors
|
||||||
$theme-text-colors-dark: (
|
$theme-text-colors-dark: (
|
||||||
"white": $white,
|
"white": $white,
|
||||||
"primary": $primary,
|
"primary": $primary-dark,
|
||||||
"secondary": $secondary-dark,
|
"secondary": $secondary-dark,
|
||||||
"light": $light-dark,
|
"light": $light-dark,
|
||||||
"success": $success,
|
"success": $success-dark,
|
||||||
"info": $info,
|
"info": $info-dark,
|
||||||
"warning": $warning,
|
"warning": $warning-dark,
|
||||||
"danger": $danger,
|
"danger": $danger-dark,
|
||||||
"dark": $dark-dark,
|
"dark": $dark-dark,
|
||||||
"muted": $text-muted-dark,
|
"muted": $text-muted-dark,
|
||||||
"gray-100": $gray-100-dark,
|
"gray-100": $gray-100-dark,
|
||||||
@ -131,7 +174,7 @@ $theme-text-colors-dark: (
|
|||||||
// Body
|
// Body
|
||||||
//
|
//
|
||||||
// Settings for the `<body>` element.
|
// Settings for the `<body>` element.
|
||||||
$body-bg-dark: #1e1e2d !default;
|
$body-bg-dark: #1C1D22 !default;
|
||||||
$body-bg-rgb-dark: to-rgb($body-bg-dark) !default;
|
$body-bg-rgb-dark: to-rgb($body-bg-dark) !default;
|
||||||
$body-color-dark: $gray-900-dark !default;
|
$body-color-dark: $gray-900-dark !default;
|
||||||
|
|
||||||
@ -139,7 +182,7 @@ $body-color-dark: $gray-900-dark !default;
|
|||||||
// Links
|
// Links
|
||||||
//
|
//
|
||||||
// Style anchor elements.
|
// Style anchor elements.
|
||||||
$link-color-dark: $primary !default;
|
$link-color-dark: $primary-dark !default;
|
||||||
|
|
||||||
|
|
||||||
// Components
|
// Components
|
||||||
@ -149,16 +192,16 @@ $border-color-dark: $gray-200-dark !default;
|
|||||||
$border-dashed-color-dark: $gray-300-dark !default;
|
$border-dashed-color-dark: $gray-300-dark !default;
|
||||||
|
|
||||||
// Keenthemes hover states
|
// Keenthemes hover states
|
||||||
$component-hover-color-dark: $primary !default;
|
$component-hover-color-dark: $primary-dark !default;
|
||||||
$component-hover-bg-dark: $gray-100-dark !default;
|
$component-hover-bg-dark: $gray-100-dark !default;
|
||||||
|
|
||||||
// Keenthemes active states
|
// Keenthemes active states
|
||||||
$component-active-color-dark: $primary-inverse !default;
|
$component-active-color-dark: $primary-inverse !default;
|
||||||
$component-active-bg-dark: $primary !default;
|
$component-active-bg-dark: $primary-dark !default;
|
||||||
|
|
||||||
// Keenthemes checked states
|
// Keenthemes checked states
|
||||||
$component-checked-color-dark: $primary-inverse !default;
|
$component-checked-color-dark: $primary-inverse !default;
|
||||||
$component-checked-bg-dark: $primary !default;
|
$component-checked-bg-dark: $primary-dark !default;
|
||||||
|
|
||||||
$headings-color-dark: $gray-900-dark !default;
|
$headings-color-dark: $gray-900-dark !default;
|
||||||
$blockquote-footer-color-dark: $gray-600-dark !default;
|
$blockquote-footer-color-dark: $gray-600-dark !default;
|
||||||
@ -174,7 +217,7 @@ $box-shadow-inset-dark: inset 0 1px 2px rgba($black, .075) !default;
|
|||||||
|
|
||||||
// Card
|
// Card
|
||||||
$card-box-shadow-dark: null !default;
|
$card-box-shadow-dark: null !default;
|
||||||
|
$card-border-color-dark: $border-color-dark !default;
|
||||||
|
|
||||||
// Tables
|
// Tables
|
||||||
$table-striped-bg-dark: rgba($gray-100-dark, 0.75) !default;
|
$table-striped-bg-dark: rgba($gray-100-dark, 0.75) !default;
|
||||||
@ -191,7 +234,7 @@ $form-switch-bg-image-solid-dark: url("data:image/svg+xml,<svg
|
|||||||
|
|
||||||
// Accordion
|
// Accordion
|
||||||
$accordion-icon-color-dark: $body-color-dark!default;
|
$accordion-icon-color-dark: $body-color-dark!default;
|
||||||
$accordion-icon-active-color-dark: $primary !default;
|
$accordion-icon-active-color-dark: $primary-dark !default;
|
||||||
$accordion-button-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
$accordion-button-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
||||||
$accordion-button-active-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
$accordion-button-active-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
|
||||||
|
|
||||||
@ -216,9 +259,10 @@ $tooltip-bg-dark: $gray-200-dark !default;
|
|||||||
$tooltip-box-shadow-dark: 0px 0px 30px rgba(0, 0, 0, 0.15) !default;
|
$tooltip-box-shadow-dark: 0px 0px 30px rgba(0, 0, 0, 0.15) !default;
|
||||||
|
|
||||||
// Code
|
// Code
|
||||||
$code-bg-dark: $gray-200-dark !default;
|
$code-bg-dark: #2b2b40 !default;
|
||||||
$code-color-dark: #b93993 !default;
|
$code-shadow-dark: rgba(0, 0, 0, 0.08) 0px 3px 9px 0px !default;
|
||||||
$code-box-shadow-dark: 0px 3px 9px rgba(0, 0, 0, 0.08) !default;
|
$code-color-dark: #b93993 !default;
|
||||||
|
$code-border-color-dark: transparent !default;
|
||||||
|
|
||||||
// Symbol
|
// Symbol
|
||||||
$symbol-border-color-dark: rgba($body-bg, 0.5);
|
$symbol-border-color-dark: rgba($body-bg, 0.5);
|
||||||
|
@ -4,60 +4,3 @@
|
|||||||
// are not accessible in this file but you can override any global variable as shown below:
|
// are not accessible in this file but you can override any global variable as shown below:
|
||||||
//
|
//
|
||||||
|
|
||||||
// Bootstrap color system
|
|
||||||
$white: #ffffff;
|
|
||||||
|
|
||||||
// Gray colors
|
|
||||||
$gray-100-dark: #1b1b29;
|
|
||||||
$gray-200-dark: #2B2B40;
|
|
||||||
$gray-300-dark: #323248;
|
|
||||||
$gray-400-dark: #474761;
|
|
||||||
$gray-500-dark: #565674;
|
|
||||||
$gray-600-dark: #6D6D80;
|
|
||||||
$gray-700-dark: #92929F;
|
|
||||||
$gray-800-dark: #CDCDDE;
|
|
||||||
$gray-900-dark: #FFFFFF;
|
|
||||||
|
|
||||||
// Theme colors
|
|
||||||
// Primary
|
|
||||||
$primary: #3E97FF;
|
|
||||||
$primary-active: #0095e8;
|
|
||||||
$primary-light: #f1faff;
|
|
||||||
$primary-light-dark: #212e48;
|
|
||||||
$primary-inverse: $white;
|
|
||||||
|
|
||||||
// Success
|
|
||||||
$success: #50cd89;
|
|
||||||
$success-active: #47be7d;
|
|
||||||
$success-light: #e8fff3;
|
|
||||||
$success-light-dark: #1c3238;
|
|
||||||
$success-inverse: $white;
|
|
||||||
|
|
||||||
// Info
|
|
||||||
$info: #7239ea;
|
|
||||||
$info-active: #5014d0;
|
|
||||||
$info-light: #f8f5ff;
|
|
||||||
$info-light-dark: #2f264f;
|
|
||||||
$info-inverse: $white;
|
|
||||||
|
|
||||||
// Danger
|
|
||||||
$danger: #f1416c;
|
|
||||||
$danger-active: #d9214e;
|
|
||||||
$danger-light: #fff5f8;
|
|
||||||
$danger-light-dark: #3a2434;
|
|
||||||
$danger-inverse: $white;
|
|
||||||
|
|
||||||
// Warning
|
|
||||||
$warning: #ffc700;
|
|
||||||
$warning-active: #f1bc00;
|
|
||||||
$warning-light: #fff8dd;
|
|
||||||
$warning-light-dark: #392f28;
|
|
||||||
$warning-inverse: $white;
|
|
||||||
|
|
||||||
// Card Box Shadow
|
|
||||||
$card-border-enabled: true;
|
|
||||||
$card-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.03);
|
|
||||||
$card-box-shadow-dark: none;
|
|
||||||
|
|
||||||
// Body
|
|
||||||
$body-bg-dark: #1c1c1c;
|
|
@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// To make future updates easier consider overriding the global variables from _variables.bootstrap.scss and _variables.custom.scss for current demo in this file.
|
||||||
|
// Note that this file is included first and variables defined in _variables.bootstrap.scss and _variables.custom.scss
|
||||||
|
// are not accessible in this file but you can override any global variable as shown below:
|
||||||
|
//
|
||||||
|
|
||||||
|
// Body bg
|
||||||
|
$body-bg-dark: $coal-100;
|
||||||
|
|
||||||
|
// Card
|
||||||
|
$card-box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.03);
|
||||||
|
$card-box-shadow-dark: none;
|
||||||
|
$card-border-enabled: true;
|
||||||
|
$card-border-color: $gray-200;
|
||||||
|
$card-border-color-dark: $dark-light-dark;
|
@ -6,6 +6,16 @@
|
|||||||
// Prefix for :root CSS variables
|
// Prefix for :root CSS variables
|
||||||
$prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`
|
$prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`
|
||||||
|
|
||||||
|
// Custom coal colors
|
||||||
|
$coal-100: #15171C !default;
|
||||||
|
$coal-200: #13141A !default;
|
||||||
|
$coal-300: #111217 !default;
|
||||||
|
$coal-400: #0F1014 !default;
|
||||||
|
$coal-500: #0D0E12 !default;
|
||||||
|
$coal-600: #0B0C10 !default;
|
||||||
|
$coal-black: #000000 !default;
|
||||||
|
$coal-clarity: rgba(#18191F, 50) !default;
|
||||||
|
|
||||||
|
|
||||||
// Bootstrap color system
|
// Bootstrap color system
|
||||||
$white: #ffffff !default;
|
$white: #ffffff !default;
|
||||||
@ -13,9 +23,9 @@ $black:#000000 !default;
|
|||||||
|
|
||||||
// Bootstrap grey colors
|
// Bootstrap grey colors
|
||||||
$gray-100: #F9F9F9 !default;
|
$gray-100: #F9F9F9 !default;
|
||||||
$gray-200: #F1F1F2 !default;
|
$gray-200: #F1F1F4 !default;
|
||||||
$gray-300: #DBDFE9 !default;
|
$gray-300: #DBDFE9 !default;
|
||||||
$gray-400: #B5B5C3 !default;
|
$gray-400: #C4CADA !default;
|
||||||
$gray-500: #99A1B7 !default;
|
$gray-500: #99A1B7 !default;
|
||||||
$gray-600: #78829D !default;
|
$gray-600: #78829D !default;
|
||||||
$gray-700: #4B5675 !default;
|
$gray-700: #4B5675 !default;
|
||||||
@ -40,52 +50,59 @@ $grays: (
|
|||||||
|
|
||||||
// Bootstrap contextual colors
|
// Bootstrap contextual colors
|
||||||
// Primary colors
|
// Primary colors
|
||||||
$primary: #3699FF !default;
|
$primary: #1B84FF !default;
|
||||||
$primary-active: #187DE4 !default;
|
$primary-active: #056EE9 !default;
|
||||||
$primary-light: #F1FAFF !default;
|
$primary-light: #E9F3FF !default;
|
||||||
$primary-inverse: $white !default;
|
$primary-clarity: rgba(#1B84FF, 0.2) !default;
|
||||||
|
$primary-inverse: $white !default;
|
||||||
|
|
||||||
// Secondary colors
|
// Secondary colors
|
||||||
$secondary: $gray-300 !default;
|
$secondary: #F9F9F9 !default;
|
||||||
$secondary-active: $gray-400 !default;
|
$secondary-active: $gray-300 !default;
|
||||||
$secondary-light: $gray-100 !default;
|
$secondary-light: #F9F9F9 !default;
|
||||||
$secondary-inverse: $gray-700 !default;
|
$secondary-clarity: rgba(#F9F9F9, 0.2) !default;
|
||||||
|
$secondary-inverse: $gray-800 !default;
|
||||||
|
|
||||||
// Light colors
|
// Light colors
|
||||||
$light: $gray-100 !default;
|
$light: $gray-100 !default;
|
||||||
$light-active: $gray-200 !default;
|
$light-active: #FCFCFC !default;
|
||||||
$light-light: gba($gray-100, 0.75) !default;
|
$light-light: #ffffff !default;
|
||||||
$light-inverse: $gray-600 !default;
|
$light-clarity: rgba($white, 0.2) !default;
|
||||||
|
$light-inverse: $gray-800 !default;
|
||||||
|
|
||||||
// Success colors
|
// Success colors
|
||||||
$success: #1BC5BD !default;
|
$success: #17C653 !default;
|
||||||
$success-active: #0BB7AF !default;
|
$success-active: #04B440 !default;
|
||||||
$success-light: #C9F7F5 !default;
|
$success-light: #DFFFEA !default;
|
||||||
|
$success-clarity: rgba(#17C653, 0.2) !default;
|
||||||
$success-inverse: $white !default;
|
$success-inverse: $white !default;
|
||||||
|
|
||||||
// Info colors
|
// Info colors
|
||||||
$info: #8950FC !default;
|
$info: #7239EA !default;
|
||||||
$info-active: #7337EE !default;
|
$info-active: #5014D0 !default;
|
||||||
$info-light: #EEE5FF !default;
|
$info-light: #F8F5FF !default;
|
||||||
|
$info-clarity: rgba(#7239EA, 0.2) !default;
|
||||||
$info-inverse: $white !default;
|
$info-inverse: $white !default;
|
||||||
|
|
||||||
// Warning colors
|
// Warning colors
|
||||||
$warning: #FFA800 !default;
|
$warning: #F6C000 !default;
|
||||||
$warning-active: #EE9D01 !default;
|
$warning-active: #DEAD00 !default;
|
||||||
$warning-light: #FFF4DE !default;
|
$warning-light: #FFF8DD !default;
|
||||||
|
$warning-clarity: rgba(#F6C000, 0.2) !default;
|
||||||
$warning-inverse: $white !default;
|
$warning-inverse: $white !default;
|
||||||
|
|
||||||
// Danger colors
|
// Danger colors
|
||||||
$danger: #F64E60 !default;
|
$danger: #F8285A !default;
|
||||||
$danger-active: #EE2D41 !default;
|
$danger-active: #D81A48 !default;
|
||||||
$danger-light: #FFE2E5 !default;
|
$danger-light: #FFEEF3 !default;
|
||||||
|
$danger-clarity: rgba(#F8285A, 0.2) !default;
|
||||||
$danger-inverse: $white !default;
|
$danger-inverse: $white !default;
|
||||||
|
|
||||||
// Dark colors
|
// Dark colors
|
||||||
$dark: $gray-900 !default;
|
$dark: #1E2129 !default;
|
||||||
$dark-active: darken($gray-900, 3%) !default;
|
$dark-active: #111318 !default;
|
||||||
$dark-light: $gray-200 !default;
|
$dark-light: #F9F9F9 !default;
|
||||||
|
$dark-clarity: rgba(#1E2129, 0.2) !default;
|
||||||
$dark-inverse: $white !default;
|
$dark-inverse: $white !default;
|
||||||
|
|
||||||
// Contextual colors
|
// Contextual colors
|
||||||
@ -132,7 +149,20 @@ $theme-light-colors: (
|
|||||||
"info": $info-light,
|
"info": $info-light,
|
||||||
"warning": $warning-light,
|
"warning": $warning-light,
|
||||||
"danger": $danger-light,
|
"danger": $danger-light,
|
||||||
"dark": $dark-light
|
"dark": $dark-light,
|
||||||
|
"light": $light-light
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
// Contextual light state colors
|
||||||
|
$theme-clarity-colors: (
|
||||||
|
"primary": $primary-clarity,
|
||||||
|
"secondary": $secondary-clarity,
|
||||||
|
"success": $success-clarity,
|
||||||
|
"info": $info-clarity,
|
||||||
|
"warning": $warning-clarity,
|
||||||
|
"danger": $danger-clarity,
|
||||||
|
"dark": $dark-clarity,
|
||||||
|
"light": $light-clarity,
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
// Text colors
|
// Text colors
|
||||||
@ -335,6 +365,7 @@ $font-family-sans-serif: Inter, Helvetica, "sans-serif" !default;
|
|||||||
|
|
||||||
$font-size-base: 1rem !default; // Assumes the browser default, typically `13px`
|
$font-size-base: 1rem !default; // Assumes the browser default, typically `13px`
|
||||||
$font-size-lg: $font-size-base * 1.075 !default; // 14.04px
|
$font-size-lg: $font-size-base * 1.075 !default; // 14.04px
|
||||||
|
$font-size-xl: $font-size-base * 1.21 !default; // 16.04px
|
||||||
$font-size-sm: $font-size-base * .95 !default; // 12.025px
|
$font-size-sm: $font-size-base * .95 !default; // 12.025px
|
||||||
|
|
||||||
$font-weight-lighter: lighter !default;
|
$font-weight-lighter: lighter !default;
|
||||||
@ -380,6 +411,7 @@ $font-sizes: (
|
|||||||
sm: $font-size-sm,
|
sm: $font-size-sm,
|
||||||
base: $font-size-base, // 13px
|
base: $font-size-base, // 13px
|
||||||
lg: $font-size-lg,
|
lg: $font-size-lg,
|
||||||
|
xl: $font-size-xl,
|
||||||
|
|
||||||
fluid: 100%, // 100%
|
fluid: 100%, // 100%
|
||||||
|
|
||||||
@ -500,7 +532,7 @@ $btn-line-height: $input-btn-line-height !default;
|
|||||||
$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
|
$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
|
||||||
|
|
||||||
$btn-padding-y-sm: $input-btn-padding-y-sm !default;
|
$btn-padding-y-sm: $input-btn-padding-y-sm !default;
|
||||||
$btn-padding-x-sm: 1.25rem !default;
|
$btn-padding-x-sm: 1rem !default;
|
||||||
$btn-font-size-sm: $input-btn-font-size-sm !default;
|
$btn-font-size-sm: $input-btn-font-size-sm !default;
|
||||||
|
|
||||||
$btn-padding-y-lg: $input-btn-padding-y-lg !default;
|
$btn-padding-y-lg: $input-btn-padding-y-lg !default;
|
||||||
@ -510,11 +542,11 @@ $btn-font-size-lg: $input-btn-font-size-lg !default;
|
|||||||
$btn-border-width: $input-btn-border-width !default;
|
$btn-border-width: $input-btn-border-width !default;
|
||||||
|
|
||||||
$btn-font-weight: $font-weight-semibold !default;
|
$btn-font-weight: $font-weight-semibold !default;
|
||||||
$btn-box-shadow: null !default;
|
$btn-box-shadow: none !default;
|
||||||
$btn-focus-width: $input-btn-focus-width !default;
|
$btn-focus-width: $input-btn-focus-width !default;
|
||||||
$btn-focus-box-shadow: null !default;
|
$btn-focus-box-shadow: none !default;
|
||||||
$btn-disabled-opacity: .65 !default;
|
$btn-disabled-opacity: .65 !default;
|
||||||
$btn-active-box-shadow: null !default;
|
$btn-active-box-shadow: none !default;
|
||||||
|
|
||||||
$btn-link-color: var(--#{$prefix}link-color) !default;
|
$btn-link-color: var(--#{$prefix}link-color) !default;
|
||||||
$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;
|
$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;
|
||||||
@ -747,7 +779,7 @@ $pagination-disabled-border-color: transparent !default;
|
|||||||
|
|
||||||
// Card
|
// Card
|
||||||
$card-box-shadow: 0px 0px 20px 0px rgba(76,87,125,0.02) !default;
|
$card-box-shadow: 0px 0px 20px 0px rgba(76,87,125,0.02) !default;
|
||||||
$card-border-color: var(--#{$prefix}border-color) !default;
|
$card-border-color: $border-color !default;
|
||||||
$card-border-width: 1px !default;
|
$card-border-width: 1px !default;
|
||||||
$card-border-style: solid !default;
|
$card-border-style: solid !default;
|
||||||
$card-border-dashed-color: var(--#{$prefix}border-dashed-color) !default;
|
$card-border-dashed-color: var(--#{$prefix}border-dashed-color) !default;
|
||||||
@ -759,8 +791,8 @@ $card-border-radius: $border-radius-lg !default;
|
|||||||
$card-header-py: 0.5rem !default;
|
$card-header-py: 0.5rem !default;
|
||||||
$card-header-height: 70px !default;
|
$card-header-height: 70px !default;
|
||||||
$card-border-enabled: false !default;
|
$card-border-enabled: false !default;
|
||||||
|
$card-title-color: var(--#{$prefix}gray-900) !default;
|
||||||
|
|
||||||
// Accordion
|
// Accordion
|
||||||
$accordion-color: var(--#{$prefix}body-color) !default;
|
$accordion-color: var(--#{$prefix}body-color) !default;
|
||||||
$accordion-bg: var(--#{$prefix}body-bg) !default;
|
$accordion-bg: var(--#{$prefix}body-bg) !default;
|
||||||
@ -840,7 +872,6 @@ $badge-size: 1.75rem !default;
|
|||||||
$badge-size-sm: 1.5rem !default;
|
$badge-size-sm: 1.5rem !default;
|
||||||
$badge-size-lg: 2rem !default;
|
$badge-size-lg: 2rem !default;
|
||||||
|
|
||||||
|
|
||||||
// Modals
|
// Modals
|
||||||
// Padding applied to the modal body
|
// Padding applied to the modal body
|
||||||
$modal-inner-padding: 1.75rem !default;
|
$modal-inner-padding: 1.75rem !default;
|
||||||
@ -940,13 +971,15 @@ $btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.
|
|||||||
$btn-close-focus-shadow: none !default;
|
$btn-close-focus-shadow: none !default;
|
||||||
|
|
||||||
// Code
|
// Code
|
||||||
$code-bg: #F1F3F8 !default;
|
$code-bg: #f1f3f8 !default;
|
||||||
$code-box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.08) !default;
|
$code-shadow: 0px 3px 9px rgba(0,0,0,.08);
|
||||||
|
$code-color: #b93993 !default;
|
||||||
|
$code-border-color: transparent !default;
|
||||||
$code-padding: 0.1rem 0.4rem !default;
|
$code-padding: 0.1rem 0.4rem !default;
|
||||||
$code-margin: 0 0.5rem !default;
|
$code-margin: 0 0.5rem !default;
|
||||||
|
$code-font-size: 1rem !default;
|
||||||
$code-font-weight: 400 !default;
|
$code-font-weight: 400 !default;
|
||||||
$code-border-radius: 0.3rem !default;
|
$code-border-radius: 0.3rem !default;
|
||||||
$code-color: #b93993 !default;
|
|
||||||
$code-space: 0.25rem !default;
|
$code-space: 0.25rem !default;
|
||||||
|
|
||||||
// Opacity
|
// Opacity
|
||||||
@ -1079,6 +1112,10 @@ $symbol-border-color: rgba(var(--#{$prefix}body-bg), 0.5);
|
|||||||
$symbol-label-color: var(--#{$prefix}gray-800);
|
$symbol-label-color: var(--#{$prefix}gray-800);
|
||||||
$symbol-label-bg: var(--#{$prefix}gray-100);
|
$symbol-label-bg: var(--#{$prefix}gray-100);
|
||||||
|
|
||||||
|
// Keenthemes timeline component
|
||||||
|
$timeline-icon-size: 38px;
|
||||||
|
$timeline-icon-space: 0.35rem;
|
||||||
|
|
||||||
|
|
||||||
// Keenthemes bullet component
|
// Keenthemes bullet component
|
||||||
$bullet-bg-color: var(--#{$prefix}gray-400) !default;
|
$bullet-bg-color: var(--#{$prefix}gray-400) !default;
|
||||||
@ -1151,12 +1188,20 @@ $menu-arrow-size: 9px !default;
|
|||||||
$menu-arrow-space: 5px !default;
|
$menu-arrow-space: 5px !default;
|
||||||
$menu-heading-color: $text-muted !default;
|
$menu-heading-color: $text-muted !default;
|
||||||
|
|
||||||
|
// Keenthemes tree component
|
||||||
|
$tree-icon-size: 16px !default;
|
||||||
|
$tree-icon-gap: 14px !default;
|
||||||
|
$tree-node-padding-y: 0.35rem !default;
|
||||||
|
$tree-node-padding-x: 1.25rem !default;
|
||||||
|
|
||||||
|
|
||||||
// Keenthemes scrollbar component
|
// Keenthemes scrollbar component
|
||||||
$scrollbar-size: 5px !default;
|
$scrollbar-size: 5px !default;
|
||||||
$scrollbar-overlay-size: 19px !default;
|
$scrollbar-overlay-size: 19px !default;
|
||||||
$scrollbar-overlay-space: 7px !default;
|
$scrollbar-overlay-space: 7px !default;
|
||||||
$scrollbar-color: $gray-200 !default;
|
$scrollbar-color: $gray-200 !default;
|
||||||
$scrollbar-hover-color: $gray-300 !default;
|
$scrollbar-hover-color: $gray-300 !default;
|
||||||
|
$body-scrollbar-width: 15px !default;
|
||||||
|
|
||||||
// Keenthemes overlay component
|
// Keenthemes overlay component
|
||||||
$overlay-bg: rgba($black, 0.05) !default;
|
$overlay-bg: rgba($black, 0.05) !default;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove border
|
// Remove border
|
||||||
&:not(.btn-outline):not(.btn-dashed):not(.btn-bordered):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon) {
|
&:not(.btn-outline):not(.btn-dashed):not(.btn-bordered):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon):not(.btn-hover-outline) {
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: calc(#{$btn-padding-y} + #{$btn-border-width}) calc(#{$btn-padding-x} + #{$btn-border-width});
|
padding: calc(#{$btn-padding-y} + #{$btn-border-width}) calc(#{$btn-padding-x} + #{$btn-border-width});
|
||||||
|
|
||||||
|
@ -20,6 +20,24 @@
|
|||||||
@include button-custom-variant($color, $icon-color, $border-color, $bg-color, $color-active, $icon-color-active, $border-color-active, $bg-color-active);
|
@include button-custom-variant($color, $icon-color, $border-color, $bg-color, $color-active, $icon-color-active, $border-color-active, $bg-color-active);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Outline hover basic style
|
||||||
|
.btn.btn-hover-outline {
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
|
||||||
|
$color: null;
|
||||||
|
$icon-color: null;
|
||||||
|
$border-color: null;
|
||||||
|
$bg-color: null;
|
||||||
|
|
||||||
|
$color-active: null;
|
||||||
|
$icon-color-active: null;
|
||||||
|
$border-color-active: $input-border-color;
|
||||||
|
$bg-color-active: null;
|
||||||
|
|
||||||
|
@include button-custom-variant($color, $icon-color, $border-color, $bg-color, $color-active, $icon-color-active, $border-color-active, $bg-color-active);
|
||||||
|
}
|
||||||
|
|
||||||
// Theme colors
|
// Theme colors
|
||||||
@each $name, $value in $theme-colors {
|
@each $name, $value in $theme-colors {
|
||||||
// Base
|
// Base
|
||||||
|
@ -0,0 +1,74 @@
|
|||||||
|
//
|
||||||
|
// Buttons Base
|
||||||
|
//
|
||||||
|
|
||||||
|
// Base
|
||||||
|
.btn {
|
||||||
|
}
|
||||||
|
|
||||||
|
// With icon
|
||||||
|
.btn {
|
||||||
|
// Font icon
|
||||||
|
> i {
|
||||||
|
display: inline-flex;
|
||||||
|
font-size: $font-size-base;
|
||||||
|
padding-right: 0.35rem;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Icon only button
|
||||||
|
&.btn-icon {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0;
|
||||||
|
height: $input-height;
|
||||||
|
width: $input-height;
|
||||||
|
line-height: 1;
|
||||||
|
|
||||||
|
i {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sizes
|
||||||
|
&.btn-sm {
|
||||||
|
height: $input-height-sm;
|
||||||
|
width: $input-height-sm;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.btn-lg {
|
||||||
|
height: $input-height-lg;
|
||||||
|
width: $input-height-lg;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.btn-circle {
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Utilities
|
||||||
|
.btn {
|
||||||
|
.btn-reset {
|
||||||
|
background-color: transparent;
|
||||||
|
border: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
user-select: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.btn-flex {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.btn-trim-start {
|
||||||
|
justify-content: flex-start !important;
|
||||||
|
padding-left: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.btn-trim-end {
|
||||||
|
justify-content: flex-end !important;
|
||||||
|
padding-right: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// Buttons Theme
|
||||||
|
//
|
||||||
|
|
||||||
|
// Theme colors
|
||||||
|
@each $name, $value in $theme-colors {
|
||||||
|
// Base
|
||||||
|
.btn.btn-#{$name} {
|
||||||
|
$color: var(--#{$prefix}#{$name}-inverse);
|
||||||
|
$icon-color: var(--#{$prefix}#{$name}-inverse);
|
||||||
|
$border-color: var(--#{$prefix}#{$name});
|
||||||
|
$bg-color: var(--#{$prefix}#{$name});
|
||||||
|
|
||||||
|
$color-active: var(--#{$prefix}#{$name}-inverse);
|
||||||
|
$icon-color-active: var(--#{$prefix}#{$name}-inverse);
|
||||||
|
$border-color-active: var(--#{$prefix}#{$name}-active);
|
||||||
|
$bg-color-active: var(--#{$prefix}#{$name}-active);
|
||||||
|
|
||||||
|
@include button-custom-variant($color, $icon-color, $border-color, $bg-color, $color-active, $icon-color-active, $border-color-active, $bg-color-active);
|
||||||
|
}
|
||||||
|
}
|
@ -64,6 +64,7 @@
|
|||||||
@import "cookiealert";
|
@import "cookiealert";
|
||||||
@import "print";
|
@import "print";
|
||||||
@import "helpers";
|
@import "helpers";
|
||||||
|
@import "tree";
|
||||||
@import "testimonials-slider";
|
@import "testimonials-slider";
|
||||||
//
|
//
|
||||||
// Components
|
// Components
|
||||||
|
@ -137,6 +137,13 @@
|
|||||||
background-color: var(--#{$prefix}gray-#{$name});
|
background-color: var(--#{$prefix}gray-#{$name});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bg-hover-gray-#{$name} {
|
||||||
|
&:hover {
|
||||||
|
--#{$prefix}bg-rgb-color: var(--#{$prefix}gray-#{$name}-rgb);
|
||||||
|
background-color: var(--#{$prefix}gray-#{$name});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.bg-gray-#{$name}i {
|
.bg-gray-#{$name}i {
|
||||||
--#{$prefix}bg-rgb-color: var(--#{$prefix}gray-#{$name}-rgb);
|
--#{$prefix}bg-rgb-color: var(--#{$prefix}gray-#{$name}-rgb);
|
||||||
background-color: var(--#{$prefix}gray-#{$name}) !important;
|
background-color: var(--#{$prefix}gray-#{$name}) !important;
|
||||||
|
@ -126,6 +126,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// No wrap
|
||||||
|
.menu-nowrap {
|
||||||
|
.menu-title,
|
||||||
|
.menu-link {
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Center alignment
|
// Center alignment
|
||||||
.menu-center {
|
.menu-center {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -358,6 +358,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.menu-state-gray-900 {
|
||||||
|
.menu-item {
|
||||||
|
@include menu-link-hover-state( var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), null );
|
||||||
|
@include menu-link-show-state( var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), null );
|
||||||
|
@include menu-link-here-state( var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), null );
|
||||||
|
@include menu-link-active-state( var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), var(--#{$prefix}gray-900), null );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Primary title color states
|
// Primary title color states
|
||||||
.menu-hover-title-primary {
|
.menu-hover-title-primary {
|
||||||
.menu-item {
|
.menu-item {
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.stepper-title {
|
.stepper-title {
|
||||||
color: var(--#{$prefix}dark);
|
color: var(--#{$prefix}gray-900);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@
|
|||||||
&.current.mark-completed:last-child,
|
&.current.mark-completed:last-child,
|
||||||
&.completed {
|
&.completed {
|
||||||
.stepper-title {
|
.stepper-title {
|
||||||
color: var(--#{$prefix}gray-400);
|
color: var(--#{$prefix}gray-500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,8 +34,8 @@
|
|||||||
--#{$prefix}stepper-label-desc-opacity-completed: 1;
|
--#{$prefix}stepper-label-desc-opacity-completed: 1;
|
||||||
|
|
||||||
--#{$prefix}stepper-label-desc-color: var(--#{$prefix}text-muted);
|
--#{$prefix}stepper-label-desc-color: var(--#{$prefix}text-muted);
|
||||||
--#{$prefix}stepper-label-desc-color-current: var(--#{$prefix}gray-400);
|
--#{$prefix}stepper-label-desc-color-current: var(--#{$prefix}gray-500);
|
||||||
--#{$prefix}stepper-label-desc-color-completed: var(--#{$prefix}gray-400);
|
--#{$prefix}stepper-label-desc-color-completed: var(--#{$prefix}gray-500);
|
||||||
|
|
||||||
--#{$prefix}stepper-line-border: 1px dashed var(--#{$prefix}gray-300);
|
--#{$prefix}stepper-line-border: 1px dashed var(--#{$prefix}gray-300);
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
// Reboot
|
// Reboot
|
||||||
$app-bg-color: #fcfcfc;
|
$app-bg-color: #fcfcfc;
|
||||||
$app-bg-color-dark: transparent;
|
$app-bg-color-dark: $coal-400;
|
||||||
$app-blank-bg-color: $app-bg-color;
|
$app-blank-bg-color: $app-bg-color;
|
||||||
$app-blank-bg-color-dark: $app-bg-color-dark;
|
$app-blank-bg-color-dark: $app-bg-color-dark;
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ $app-container-padding-x-mobile: 20px;
|
|||||||
$app-header-base-height: 74px;
|
$app-header-base-height: 74px;
|
||||||
$app-header-base-height-mobile: 60px;
|
$app-header-base-height-mobile: 60px;
|
||||||
$app-header-base-bg-color: transparent;
|
$app-header-base-bg-color: transparent;
|
||||||
$app-header-base-bg-color-dark: #131313;
|
$app-header-base-bg-color-dark: $coal-500;
|
||||||
$app-header-base-bg-color-mobile: $app-header-base-bg-color;
|
$app-header-base-bg-color-mobile: $app-header-base-bg-color;
|
||||||
$app-header-base-bg-color-mobile-dark: $app-header-base-bg-color-dark;
|
$app-header-base-bg-color-mobile-dark: $app-header-base-bg-color-dark;
|
||||||
$app-header-base-box-shadow: none;
|
$app-header-base-box-shadow: none;
|
||||||
@ -40,7 +40,7 @@ $app-header-light-separator-color: #E4E6EF;
|
|||||||
$app-header-light-separator-color-dark: $border-color-dark;
|
$app-header-light-separator-color-dark: $border-color-dark;
|
||||||
|
|
||||||
// Header dark
|
// Header dark
|
||||||
$app-header-dark-bg-color:#131313;
|
$app-header-dark-bg-color:$coal-600;
|
||||||
$app-header-dark-separator-color: #282a3d;
|
$app-header-dark-separator-color: #282a3d;
|
||||||
$app-header-dark-scrollbar-color: #3b3b64;
|
$app-header-dark-scrollbar-color: #3b3b64;
|
||||||
$app-header-dark-scrollbar-color-hover: lighten($app-header-dark-scrollbar-color, 3%);
|
$app-header-dark-scrollbar-color-hover: lighten($app-header-dark-scrollbar-color, 3%);
|
||||||
@ -64,7 +64,7 @@ $app-sidebar-minimize-width: 75px;
|
|||||||
|
|
||||||
// Sidebar light
|
// Sidebar light
|
||||||
$app-sidebar-light-bg-color: $body-bg;
|
$app-sidebar-light-bg-color: $body-bg;
|
||||||
$app-sidebar-light-bg-color-dark:#131313;
|
$app-sidebar-light-bg-color-dark:$coal-500;
|
||||||
|
|
||||||
$app-sidebar-light-box-shadow: 0 0 28px 0 rgba(82,63,105,.05);
|
$app-sidebar-light-box-shadow: 0 0 28px 0 rgba(82,63,105,.05);
|
||||||
$app-sidebar-light-box-shadow-dark: none;
|
$app-sidebar-light-box-shadow-dark: none;
|
||||||
@ -86,11 +86,11 @@ $app-sidebar-light-header-menu-link-bg-color-active: #F7F8FB;
|
|||||||
$app-sidebar-light-header-menu-link-bg-color-active-dark: $gray-100-dark;
|
$app-sidebar-light-header-menu-link-bg-color-active-dark: $gray-100-dark;
|
||||||
|
|
||||||
// Sidebar dark
|
// Sidebar dark
|
||||||
$app-sidebar-dark-bg-color: #131313;
|
$app-sidebar-dark-bg-color: $coal-500;
|
||||||
$app-sidebar-dark-separator-color: #393945;
|
$app-sidebar-dark-separator-color: $light-light-dark;
|
||||||
$app-sidebar-dark-scrollbar-color-hover: lighten($app-sidebar-dark-separator-color, 2%);
|
$app-sidebar-dark-scrollbar-color-hover: lighten($app-sidebar-dark-separator-color, 2%);
|
||||||
$app-sidebar-dark-menu-heading-color: #626671;
|
$app-sidebar-dark-menu-heading-color: $gray-500-dark;
|
||||||
$app-sidebar-dark-menu-sub-link-color: #888A8E;
|
$app-sidebar-dark-menu-sub-link-color: $gray-600-dark;;
|
||||||
$app-sidebar-dark-menu-link-bg-color-active: #1C1C21;
|
$app-sidebar-dark-menu-link-bg-color-active: #1C1C21;
|
||||||
|
|
||||||
// Aside base
|
// Aside base
|
||||||
@ -116,7 +116,7 @@ $app-footer-height: 60px;
|
|||||||
$app-footer-height-mobile: auto;
|
$app-footer-height-mobile: auto;
|
||||||
$app-footer-bg-color: transparent;
|
$app-footer-bg-color: transparent;
|
||||||
$app-footer-bg-color-dark: transparent;
|
$app-footer-bg-color-dark: transparent;
|
||||||
$app-footer-box-shadow: 0px 10px 30px 0px rgba(82,63,105,0.05);
|
$app-footer-box-shadow: 0px 10px 30px 0px rgba(49, 25, 79, 0.05);
|
||||||
$app-footer-box-shadow-dark: none;
|
$app-footer-box-shadow-dark: none;
|
||||||
|
|
||||||
// Scrolltop
|
// Scrolltop
|
||||||
|
@ -139,6 +139,16 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Aside
|
||||||
|
[data-kt-app-header-fixed="true"][data-kt-app-aside-fixed="true"][data-kt-app-aside-push-header="true"] &,
|
||||||
|
[data-kt-app-header-fixed="true"][data-kt-app-aside-sticky="on"][data-kt-app-aside-push-header="true"] & {
|
||||||
|
right: calc(
|
||||||
|
var(--#{$prefix}app-aside-width) +
|
||||||
|
var(--#{$prefix}app-aside-gap-start, 0px) +
|
||||||
|
var(--#{$prefix}app-aside-gap-end, 0px)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Toolbar
|
// Toolbar
|
||||||
[data-kt-app-header-fixed="true"][data-kt-app-toolbar-fixed="true"] & {
|
[data-kt-app-header-fixed="true"][data-kt-app-toolbar-fixed="true"] & {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
.btn-custom {
|
.btn-custom {
|
||||||
@include button-custom-variant(
|
@include button-custom-variant(
|
||||||
$color:var(--#{$prefix}gray-200),
|
$color: $gray-600-dark,
|
||||||
$icon-color: var(--#{$prefix}gray-200),
|
$icon-color: $gray-600-dark,
|
||||||
$border-color: null,
|
$border-color: null,
|
||||||
$bg-color: null,
|
$bg-color: null,
|
||||||
$color-active: var(--#{$prefix}primary),
|
$color-active: var(--#{$prefix}primary),
|
||||||
@ -28,10 +28,10 @@
|
|||||||
// Menu root links
|
// Menu root links
|
||||||
> .menu-item {
|
> .menu-item {
|
||||||
@include menu-link-default-state(
|
@include menu-link-default-state(
|
||||||
$title-color: #858585,
|
$title-color: $gray-600-dark,
|
||||||
$icon-color:#C5C5D8,
|
$icon-color:$gray-600-dark,
|
||||||
$bullet-color:#787887,
|
$bullet-color:$gray-600-dark,
|
||||||
$arrow-color: #787887,
|
$arrow-color: $gray-600-dark,
|
||||||
$bg-color: null,
|
$bg-color: null,
|
||||||
$all-links: false
|
$all-links: false
|
||||||
);
|
);
|
||||||
|
@ -125,6 +125,13 @@
|
|||||||
background-color: var(--#{$prefix}app-header-minimize-bg-color);
|
background-color: var(--#{$prefix}app-header-minimize-bg-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Modal open fix
|
||||||
|
[data-kt-app-header-fixed="true"].modal-open {
|
||||||
|
.app-header {
|
||||||
|
padding-right: $body-scrollbar-width !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dark mode
|
// Dark mode
|
||||||
|
@ -30,72 +30,55 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menu {
|
.menu {
|
||||||
> .menu-item {
|
.menu-item {
|
||||||
.menu-heading {
|
.menu-heading {
|
||||||
color: $app-sidebar-dark-menu-heading-color !important;
|
color: $app-sidebar-dark-menu-heading-color !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@include menu-link-default-state(
|
@include menu-link-default-state(
|
||||||
$title-color: $gray-300,
|
$title-color: $gray-700-dark,
|
||||||
$icon-color: #7F8194,
|
$icon-color: $gray-400-dark,
|
||||||
$bullet-color:#7F8194,
|
$bullet-color:$gray-400-dark,
|
||||||
$arrow-color: var(--#{$prefix}gray-700),
|
$arrow-color: $gray-400-dark,
|
||||||
$bg-color: null
|
$bg-color: null,
|
||||||
);
|
$all-links: true
|
||||||
|
|
||||||
@include menu-link-hover-state(
|
|
||||||
$title-color: var(--#{$prefix}primary-inverse),
|
|
||||||
$icon-color: var(--#{$prefix}primary-inverse),
|
|
||||||
$bullet-color: var(--#{$prefix}primary-inverse),
|
|
||||||
$arrow-color: var(--#{$prefix}primary-inverse),
|
|
||||||
$bg-color: null
|
|
||||||
);
|
);
|
||||||
|
|
||||||
@include menu-link-here-state(
|
@include menu-link-here-state(
|
||||||
$title-color: $gray-300,
|
$title-color: $gray-900-dark,
|
||||||
$icon-color: var(--#{$prefix}primary-inverse),
|
$icon-color: $gray-900-dark,
|
||||||
$bullet-color: var(--#{$prefix}primary-inverse),
|
$bullet-color: $gray-900-dark,
|
||||||
$arrow-color: var(--#{$prefix}gray-700),
|
$arrow-color: $gray-900-dark,
|
||||||
$bg-color: null
|
$bg-color: null,
|
||||||
|
$all-links: true
|
||||||
);
|
);
|
||||||
|
|
||||||
@include menu-link-show-state(
|
@include menu-link-show-state(
|
||||||
$title-color: $gray-300,
|
$title-color: $gray-900-dark,
|
||||||
$icon-color: var(--#{$prefix}primary-inverse),
|
$icon-color: $gray-900-dark,
|
||||||
$bullet-color: var(--#{$prefix}primary-inverse),
|
$bullet-color: $gray-900-dark,
|
||||||
$arrow-color: var(--#{$prefix}gray-700),
|
$arrow-color: $gray-900-dark,
|
||||||
$bg-color: null
|
$bg-color: null,
|
||||||
|
$all-links: true
|
||||||
|
);
|
||||||
|
|
||||||
|
@include menu-link-hover-state(
|
||||||
|
$title-color: $gray-900-dark,
|
||||||
|
$icon-color: $gray-900-dark,
|
||||||
|
$bullet-color: $gray-900-dark,
|
||||||
|
$arrow-color: $gray-900-dark,
|
||||||
|
$bg-color: null,
|
||||||
|
$all-links: true
|
||||||
);
|
);
|
||||||
|
|
||||||
@include menu-link-active-state(
|
@include menu-link-active-state(
|
||||||
$title-color: var(--#{$prefix}primary-inverse),
|
$title-color: $gray-900-dark,
|
||||||
$icon-color: var(--#{$prefix}primary-inverse),
|
$icon-color: $gray-900-dark,
|
||||||
$bullet-color: var(--#{$prefix}primary-inverse),
|
$bullet-color: $gray-900-dark,
|
||||||
$arrow-color: var(--#{$prefix}primary-inverse),
|
$arrow-color: $gray-900-dark,
|
||||||
$bg-color: $app-sidebar-dark-menu-link-bg-color-active
|
$bg-color: $app-sidebar-dark-menu-link-bg-color-active,
|
||||||
|
$all-links: true
|
||||||
);
|
);
|
||||||
|
|
||||||
.menu-sub {
|
|
||||||
.menu-item {
|
|
||||||
.menu-link {
|
|
||||||
.menu-title {
|
|
||||||
color: $app-sidebar-dark-menu-sub-link-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.active {
|
|
||||||
.menu-title {
|
|
||||||
color: var(--#{$prefix}white);
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-bullet {
|
|
||||||
.bullet {
|
|
||||||
background-color: var(--#{$prefix}white);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -116,7 +99,7 @@
|
|||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
[data-kt-app-layout="dark-sidebar"] {
|
[data-kt-app-layout="dark-sidebar"] {
|
||||||
.app-sidebar {
|
.app-sidebar {
|
||||||
border-right: 1px dashed $app-sidebar-dark-separator-color;
|
border-right: 1px solid $app-sidebar-dark-separator-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -185,7 +185,7 @@
|
|||||||
color: var(--#{$prefix}gray-700);
|
color: var(--#{$prefix}gray-700);
|
||||||
|
|
||||||
&.available.off {
|
&.available.off {
|
||||||
color: var(--#{$prefix}gray-400);
|
color: var(--#{$prefix}gray-500);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
&.draggable-mirror {
|
&.draggable-mirror {
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
transition: opacity 0.3s ease;
|
transition: opacity 0.3s ease;
|
||||||
border: 2px dashed var(--#{$prefix}gray-300) !important;
|
border: 1px dashed var(--#{$prefix}gray-300) !important;
|
||||||
@include border-radius($border-radius);
|
@include border-radius($border-radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -390,14 +390,14 @@ span.flatpickr-weekday {
|
|||||||
&.notAllowed,
|
&.notAllowed,
|
||||||
&.notAllowed.prevMonthDay,
|
&.notAllowed.prevMonthDay,
|
||||||
&.notAllowed.nextMonthDay {
|
&.notAllowed.nextMonthDay {
|
||||||
color: var(--#{$prefix}gray-400);
|
color: var(--#{$prefix}gray-500);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
}
|
}
|
||||||
&.flatpickr-disabled,
|
&.flatpickr-disabled,
|
||||||
&.flatpickr-disabled:hover {
|
&.flatpickr-disabled:hover {
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
color: var(--#{$prefix}gray-400);
|
color: var(--#{$prefix}gray-500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const gulpConfig = {
|
const gulpConfig = {
|
||||||
name: "metronic",
|
name: "{theme}",
|
||||||
desc: "Gulp build config",
|
desc: "Gulp build config",
|
||||||
version: "8.2.0",
|
version: "{version}",
|
||||||
config: {
|
config: {
|
||||||
debug: false,
|
debug: false,
|
||||||
compile: {
|
compile: {
|
||||||
@ -23,11 +23,11 @@ const gulpConfig = {
|
|||||||
cssSourcemaps: false,
|
cssSourcemaps: false,
|
||||||
},
|
},
|
||||||
path: {
|
path: {
|
||||||
src: "../src",
|
src: "../src/{theme}/{demo}",
|
||||||
common_src: "../src",
|
common_src: "../src/{theme}/{demo}",
|
||||||
node_modules: "node_modules",
|
node_modules: "node_modules",
|
||||||
},
|
},
|
||||||
dist: ["../../../public/assets"],
|
dist: ["../../../themes/{theme}/html/assets"],
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
base: {
|
base: {
|
||||||
@ -94,11 +94,11 @@ const gulpConfig = {
|
|||||||
styles: [
|
styles: [
|
||||||
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/css/tempus-dominus.min.css",
|
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/css/tempus-dominus.min.css",
|
||||||
],
|
],
|
||||||
scripts: [
|
scripts: [
|
||||||
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/js/tempus-dominus.min.js",
|
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/js/tempus-dominus.min.js",
|
||||||
"{$config.path.common_src}/js/vendors/plugins/tempus-dominus.init.js",
|
"{$config.path.common_src}/js/vendors/plugins/tempus-dominus.init.js",
|
||||||
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/locales/de.js",
|
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/locales/de.js",
|
||||||
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/plugins/customDateFormat.js",
|
"{$config.path.node_modules}/@eonasdan/tempus-dominus/dist/plugins/customDateFormat.js",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
flatpickr: {
|
flatpickr: {
|
||||||
@ -280,17 +280,7 @@ const gulpConfig = {
|
|||||||
draggable: {
|
draggable: {
|
||||||
src: {
|
src: {
|
||||||
scripts: [
|
scripts: [
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/draggable.bundle.js",
|
"{$config.path.node_modules}/@shopify/draggable/build/umd/index.min.js",
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/draggable.bundle.legacy.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/draggable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/sortable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/droppable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/swappable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/plugins.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/plugins/collidable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/plugins/resize-mirror.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/plugins/snappable.js",
|
|
||||||
"{$config.path.node_modules}/@shopify/draggable/lib/plugins/swap-animation.js",
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
dist: {
|
dist: {
|
||||||
|
@ -72,7 +72,7 @@ if (typeof docsOption !== 'undefined') {
|
|||||||
theme += '.net-core'
|
theme += '.net-core'
|
||||||
}
|
}
|
||||||
build.config.path.src = '../../../themes/docs/{theme}/src';
|
build.config.path.src = '../../../themes/docs/{theme}/src';
|
||||||
build.config.dist = ['../../../themes/docs/{theme}/dist/assets'];
|
build.config.dist = ['../../../themes/docs/{theme}/assets'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,43 +1,42 @@
|
|||||||
{
|
{
|
||||||
"name": "keenthemes",
|
"name": "keenthemes",
|
||||||
"version": "1.0.0",
|
"version": "8.2.1",
|
||||||
"author": "Keenthemes",
|
"author": "Keenthemes",
|
||||||
"license": "ISC",
|
|
||||||
"homepage": "https://keenthemes.com/",
|
"homepage": "https://keenthemes.com/",
|
||||||
"description": "Packages used by yarn, npm, gulp and webpack",
|
"description": "Packages used by yarn, npm, gulp and webpack",
|
||||||
"main": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ckeditor/ckeditor5-alignment": "38.1.1",
|
"@ckeditor/ckeditor5-alignment": "40.0.0",
|
||||||
"@ckeditor/ckeditor5-build-balloon": "38.1.1",
|
"@ckeditor/ckeditor5-build-balloon": "40.0.0",
|
||||||
"@ckeditor/ckeditor5-build-balloon-block": "38.1.1",
|
"@ckeditor/ckeditor5-build-balloon-block": "40.0.0",
|
||||||
"@ckeditor/ckeditor5-build-classic": "38.1.1",
|
"@ckeditor/ckeditor5-build-classic": "40.0.0",
|
||||||
"@ckeditor/ckeditor5-build-decoupled-document": "38.1.1",
|
"@ckeditor/ckeditor5-build-decoupled-document": "40.0.0",
|
||||||
"@ckeditor/ckeditor5-build-inline": "38.1.1",
|
"@ckeditor/ckeditor5-build-inline": "40.0.0",
|
||||||
"@eonasdan/tempus-dominus": "^6.7.11",
|
"@eonasdan/tempus-dominus": "^6.7.16",
|
||||||
"@fortawesome/fontawesome-free": "^6.4.0",
|
"@fortawesome/fontawesome-free": "^6.4.2",
|
||||||
"@popperjs/core": "2.11.8",
|
"@popperjs/core": "2.11.8",
|
||||||
"@shopify/draggable": "^1.0.0-beta.12",
|
"@shopify/draggable": "^1.1.3",
|
||||||
"@yaireo/tagify": "^4.17.8",
|
"@yaireo/tagify": "^4.17.9",
|
||||||
"acorn": "^8.10.0",
|
"acorn": "^8.10.0",
|
||||||
"apexcharts": "3.41.0",
|
"apexcharts": "3.44.0",
|
||||||
"autosize": "^6.0.1",
|
"autosize": "^6.0.1",
|
||||||
"axios": "^1.4.0",
|
"axios": "^1.6.0",
|
||||||
"bootstrap": "5.3.0",
|
"bootstrap": "5.3.2",
|
||||||
"bootstrap-cookie-alert": "^1.2.2",
|
"bootstrap-cookie-alert": "^1.2.2",
|
||||||
"bootstrap-daterangepicker": "^3.1.0",
|
"bootstrap-daterangepicker": "^3.1.0",
|
||||||
"bootstrap-icons": "^1.10.5",
|
"bootstrap-icons": "^1.11.1",
|
||||||
"bootstrap-maxlength": "^1.10.1",
|
"bootstrap-maxlength": "^1.10.1",
|
||||||
"bootstrap-multiselectsplitter": "^1.0.4",
|
"bootstrap-multiselectsplitter": "^1.0.4",
|
||||||
"chalk": "^5.3.0",
|
"chalk": "^5.3.0",
|
||||||
"chart.js": "^4.3.0",
|
"chart.js": "^4.4.0",
|
||||||
"clipboard": "^2.0.11",
|
"clipboard": "^2.0.11",
|
||||||
"countup.js": "^2.7.0",
|
"countup.js": "^2.8.0",
|
||||||
"cropperjs": "^1.5.13",
|
"cropperjs": "^1.6.1",
|
||||||
"datatables.net": "^1.13.5",
|
"datatables.net": "^1.13.6",
|
||||||
"datatables.net-bs5": "^1.13.5",
|
"datatables.net-bs5": "^1.13.6",
|
||||||
"datatables.net-buttons": "^2.4.1",
|
"datatables.net-buttons": "^2.4.2",
|
||||||
"datatables.net-buttons-bs5": "^2.4.1",
|
"datatables.net-buttons-bs5": "^2.4.2",
|
||||||
"datatables.net-colreorder": "^1.7.0",
|
"datatables.net-colreorder": "^1.7.0",
|
||||||
"datatables.net-colreorder-bs5": "^1.7.0",
|
"datatables.net-colreorder-bs5": "^1.7.0",
|
||||||
"datatables.net-datetime": "^1.5.0",
|
"datatables.net-datetime": "^1.5.0",
|
||||||
@ -45,13 +44,13 @@
|
|||||||
"datatables.net-fixedcolumns-bs5": "^4.3.0",
|
"datatables.net-fixedcolumns-bs5": "^4.3.0",
|
||||||
"datatables.net-fixedheader": "^3.4.0",
|
"datatables.net-fixedheader": "^3.4.0",
|
||||||
"datatables.net-fixedheader-bs5": "^3.4.0",
|
"datatables.net-fixedheader-bs5": "^3.4.0",
|
||||||
"datatables.net-plugins": "^1.13.5",
|
"datatables.net-plugins": "^1.13.6",
|
||||||
"datatables.net-responsive": "^2.5.0",
|
"datatables.net-responsive": "^2.5.0",
|
||||||
"datatables.net-responsive-bs5": "^2.5.0",
|
"datatables.net-responsive-bs5": "^2.5.0",
|
||||||
"datatables.net-rowgroup": "^1.4.0",
|
"datatables.net-rowgroup": "^1.4.1",
|
||||||
"datatables.net-rowgroup-bs5": "^1.4.0",
|
"datatables.net-rowgroup-bs5": "^1.4.1",
|
||||||
"datatables.net-rowreorder": "^1.4.0",
|
"datatables.net-rowreorder": "^1.4.1",
|
||||||
"datatables.net-rowreorder-bs5": "^1.4.0",
|
"datatables.net-rowreorder-bs5": "^1.4.1",
|
||||||
"datatables.net-scroller": "^2.2.0",
|
"datatables.net-scroller": "^2.2.0",
|
||||||
"datatables.net-scroller-bs5": "^2.2.0",
|
"datatables.net-scroller-bs5": "^2.2.0",
|
||||||
"datatables.net-select": "^1.7.0",
|
"datatables.net-select": "^1.7.0",
|
||||||
@ -60,44 +59,42 @@
|
|||||||
"es6-promise": "^4.2.8",
|
"es6-promise": "^4.2.8",
|
||||||
"es6-promise-polyfill": "^1.2.0",
|
"es6-promise-polyfill": "^1.2.0",
|
||||||
"es6-shim": "^0.35.8",
|
"es6-shim": "^0.35.8",
|
||||||
"esri-leaflet": "^3.0.10",
|
"esri-leaflet": "^3.0.11",
|
||||||
"esri-leaflet-geocoder": "^3.1.4",
|
"esri-leaflet-geocoder": "^3.1.4",
|
||||||
"flatpickr": "^4.6.13",
|
"flatpickr": "^4.6.13",
|
||||||
"flot": "^4.2.3",
|
"flot": "^4.2.6",
|
||||||
"fslightbox": "^3.4.1",
|
"fslightbox": "^3.4.1",
|
||||||
"fullcalendar": "^5.8.0",
|
"fullcalendar": "^5.8.0",
|
||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.8",
|
||||||
"inputmask": "^5.0.8",
|
"inputmask": "^5.0.8",
|
||||||
"jkanban": "^1.3.1",
|
"jkanban": "^1.3.1",
|
||||||
"jquery": "3.7.0",
|
"jquery": "3.7.1",
|
||||||
"jquery.repeater": "^1.2.1",
|
"jquery.repeater": "^1.2.1",
|
||||||
"jstree": "^3.3.15",
|
"jstree": "^3.3.16",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"leaflet": "^1.9.4",
|
"leaflet": "^1.9.4",
|
||||||
"line-awesome": "^1.3.0",
|
"line-awesome": "^1.3.0",
|
||||||
"lozad": "^1.16.0",
|
"lozad": "^1.16.0",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"nouislider": "^15.7.1",
|
"nouislider": "^15.7.1",
|
||||||
"npm": "^9.8.0",
|
"npm": "^10.2.1",
|
||||||
"pdfmake": "^0.2.7",
|
"pdfmake": "^0.2.7",
|
||||||
"prism-themes": "^1.9.0",
|
"prism-themes": "^1.9.0",
|
||||||
"prismjs": "^1.29.0",
|
"prismjs": "^1.29.0",
|
||||||
"quill": "^1.3.7",
|
"quill": "^1.3.7",
|
||||||
"select2": "^4.1.0-rc.0",
|
"select2": "^4.1.0-rc.0",
|
||||||
"smooth-scroll": "^16.1.3",
|
"smooth-scroll": "^16.1.3",
|
||||||
"sweetalert2": "11.7.16",
|
"sweetalert2": "11.4.8",
|
||||||
"tiny-slider": "^2.9.4",
|
"tiny-slider": "^2.9.4",
|
||||||
"tinymce": "^5.8.2",
|
"tinymce": "^5.8.2",
|
||||||
"toastr": "^2.1.4",
|
"toastr": "^2.1.4",
|
||||||
"typed.js": "2.0.16",
|
"typed.js": "2.0.16",
|
||||||
"vis-timeline": "^7.7.2",
|
"vis-timeline": "^7.7.3",
|
||||||
"wnumb": "^1.2.0"
|
"wnumb": "^1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.22.5",
|
"@babel/core": "^7.23.0",
|
||||||
"@babel/plugin-transform-modules-commonjs": "^7.22.5",
|
"@babel/runtime": "^7.23.1",
|
||||||
"@babel/preset-env": "^7.22.5",
|
|
||||||
"@babel/register": "^7.22.5",
|
|
||||||
"copy-webpack-plugin": "^11.0.0",
|
"copy-webpack-plugin": "^11.0.0",
|
||||||
"css-loader": "^5.2.7",
|
"css-loader": "^5.2.7",
|
||||||
"css-minimizer-webpack-plugin": "^5.0.1",
|
"css-minimizer-webpack-plugin": "^5.0.1",
|
||||||
@ -105,6 +102,7 @@
|
|||||||
"extract-loader": "^5.1.0",
|
"extract-loader": "^5.1.0",
|
||||||
"file-loader": "^6.2.0",
|
"file-loader": "^6.2.0",
|
||||||
"fs-extra": "^11.1.1",
|
"fs-extra": "^11.1.1",
|
||||||
|
"glob": "^10.3.10",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "^4.0.2",
|
||||||
"gulp-clean-css": "^4.3.0",
|
"gulp-clean-css": "^4.3.0",
|
||||||
"gulp-concat": "^2.6.1",
|
"gulp-concat": "^2.6.1",
|
||||||
@ -121,22 +119,19 @@
|
|||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"mini-css-extract-plugin": "^2.7.6",
|
"mini-css-extract-plugin": "^2.7.6",
|
||||||
"postcss-loader": "^7.3.3",
|
"postcss-loader": "^7.3.3",
|
||||||
"pretty": "^2.0.0",
|
|
||||||
"replace-in-file-webpack-plugin": "^1.0.6",
|
"replace-in-file-webpack-plugin": "^1.0.6",
|
||||||
"rtlcss-webpack-plugin": "^4.0.7",
|
"rtlcss-webpack-plugin": "^4.0.7",
|
||||||
"sass-loader": "^13.3.2",
|
"sass-loader": "^13.3.2",
|
||||||
"script-loader": "^0.7.2",
|
|
||||||
"terser-webpack-plugin": "^5.3.9",
|
"terser-webpack-plugin": "^5.3.9",
|
||||||
"url-loader": "^4.1.1",
|
"url-loader": "^4.1.1",
|
||||||
"webpack": "^5.88.1",
|
"webpack": "^5.88.2",
|
||||||
"webpack-cli": "^5.1.4",
|
"webpack-cli": "^5.1.4",
|
||||||
"webpack-dev-server": "^4.15.1",
|
"webpack-dev-server": "^4.15.1",
|
||||||
"webpack-exclude-assets-plugin": "^0.1.1",
|
"webpack-exclude-assets-plugin": "^0.1.1",
|
||||||
"webpack-log": "^3.0.2",
|
"webpack-log": "^3.0.2",
|
||||||
"webpack-merge-and-include-globally": "^2.3.4",
|
"webpack-merge-and-include-globally": "^2.3.4",
|
||||||
"webpack-messages": "^2.0.4",
|
"webpack-messages": "^2.0.4",
|
||||||
"yargs": "^17.7.2",
|
"yargs": "^17.7.2"
|
||||||
"yarn-install": "^1.0.0"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
BIN
resources/mix/.DS_Store
vendored
Normal file
BIN
resources/mix/.DS_Store
vendored
Normal file
Binary file not shown.
@ -36,12 +36,12 @@ module.exports = [
|
|||||||
|
|
||||||
// Select2 - Select2 is a jQuery based replacement for select boxes: https://select2.org/
|
// Select2 - Select2 is a jQuery based replacement for select boxes: https://select2.org/
|
||||||
'node_modules/select2/dist/js/select2.full.js',
|
'node_modules/select2/dist/js/select2.full.js',
|
||||||
'resources/_keenthemes/src/js/vendors/plugins/select2.init.js',
|
'resources/_keenthemes/src/metronic/demo1/js/vendors/plugins/select2.init.js',
|
||||||
|
|
||||||
// FormValidation - Best premium validation library for JavaScript. Zero dependencies. Learn more: https://formvalidation.io/
|
// FormValidation - Best premium validation library for JavaScript. Zero dependencies. Learn more: https://formvalidation.io/
|
||||||
"resources/_keenthemes/src/plugins/@form-validation/umd/bundle/popular.min.js",
|
"resources/_keenthemes/src/metronic/demo1/plugins/@form-validation/umd/bundle/popular.min.js",
|
||||||
"resources/_keenthemes/src/plugins/@form-validation/umd/bundle/full.min.js",
|
"resources/_keenthemes/src/metronic/demo1/plugins/@form-validation/umd/bundle/full.min.js",
|
||||||
"resources/_keenthemes/src/plugins/@form-validation/umd/plugin-bootstrap5/index.min.js",
|
"resources/_keenthemes/src/metronic/demo1/plugins/@form-validation/umd/plugin-bootstrap5/index.min.js",
|
||||||
|
|
||||||
// Bootstrap Maxlength - This plugin integrates by default with Twitter bootstrap using badges to display the maximum length of the field where the user is inserting text: https://github.com/mimo84/bootstrap-maxlength
|
// Bootstrap Maxlength - This plugin integrates by default with Twitter bootstrap using badges to display the maximum length of the field where the user is inserting text: https://github.com/mimo84/bootstrap-maxlength
|
||||||
'node_modules/bootstrap-maxlength/src/bootstrap-maxlength.js',
|
'node_modules/bootstrap-maxlength/src/bootstrap-maxlength.js',
|
||||||
@ -64,7 +64,7 @@ module.exports = [
|
|||||||
|
|
||||||
// DropzoneJS - is an open source library that provides drag'n'drop file uploads with image previews: https://www.dropzonejs.com/
|
// DropzoneJS - is an open source library that provides drag'n'drop file uploads with image previews: https://www.dropzonejs.com/
|
||||||
'node_modules/dropzone/dist/min/dropzone.min.js',
|
'node_modules/dropzone/dist/min/dropzone.min.js',
|
||||||
'resources/_keenthemes/src/js/vendors/plugins/dropzone.init.js',
|
'resources/_keenthemes/src/metronic/demo1/js/vendors/plugins/dropzone.init.js',
|
||||||
|
|
||||||
// Quill - is a free, open source WYSIWYG editor built for the modern web. Completely customize it for any need with its modular architecture and expressive API: https://quilljs.com/
|
// Quill - is a free, open source WYSIWYG editor built for the modern web. Completely customize it for any need with its modular architecture and expressive API: https://quilljs.com/
|
||||||
'node_modules/quill/dist/quill.js',
|
'node_modules/quill/dist/quill.js',
|
||||||
@ -74,7 +74,7 @@ module.exports = [
|
|||||||
'node_modules/@yaireo/tagify/dist/tagify.min.js',
|
'node_modules/@yaireo/tagify/dist/tagify.min.js',
|
||||||
|
|
||||||
// Toastr - is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended: https://github.com/CodeSeven/toastr
|
// Toastr - is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended: https://github.com/CodeSeven/toastr
|
||||||
'resources/_keenthemes/src/plugins/toastr/build/toastr.min.js',
|
'resources/_keenthemes/src/metronic/demo1/plugins/toastr/build/toastr.min.js',
|
||||||
|
|
||||||
// Apexcharts - modern charting library that helps developers to create beautiful and interactive visualizations for web pages: https://apexcharts.com/
|
// Apexcharts - modern charting library that helps developers to create beautiful and interactive visualizations for web pages: https://apexcharts.com/
|
||||||
'node_modules/apexcharts/dist/apexcharts.min.js',
|
'node_modules/apexcharts/dist/apexcharts.min.js',
|
||||||
@ -84,7 +84,7 @@ module.exports = [
|
|||||||
|
|
||||||
// Sweetalert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes: https://sweetalert2.github.io/
|
// Sweetalert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes: https://sweetalert2.github.io/
|
||||||
'node_modules/sweetalert2/dist/sweetalert2.min.js',
|
'node_modules/sweetalert2/dist/sweetalert2.min.js',
|
||||||
'resources/_keenthemes/src/js/vendors/plugins/sweetalert2.init.js',
|
'resources/_keenthemes/src/metronic/demo1/js/vendors/plugins/sweetalert2.init.js',
|
||||||
|
|
||||||
// CountUp.js - is a dependency-free, lightweight JavaScript class that can be used to quickly create animations that display numerical data in a more interesting way.
|
// CountUp.js - is a dependency-free, lightweight JavaScript class that can be used to quickly create animations that display numerical data in a more interesting way.
|
||||||
'node_modules/countup.js/dist/countUp.umd.js',
|
'node_modules/countup.js/dist/countUp.umd.js',
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
@import "~apexcharts/dist/apexcharts.css";
|
@import "~apexcharts/dist/apexcharts.css";
|
||||||
|
|
||||||
// FormValidation - Best premium validation library for JavaScript. Zero dependencies. Learn more: https://formvalidation.io/
|
// FormValidation - Best premium validation library for JavaScript. Zero dependencies. Learn more: https://formvalidation.io/
|
||||||
@import "../_keenthemes/src/plugins/@form-validation/umd/styles/index.css";
|
@import "../_keenthemes/src/metronic/demo1/plugins/@form-validation/umd/styles/index.css";
|
||||||
|
|
||||||
// Bootstrap Daterangepicker
|
// Bootstrap Daterangepicker
|
||||||
@import "~bootstrap-daterangepicker/daterangepicker.css";
|
@import "~bootstrap-daterangepicker/daterangepicker.css";
|
||||||
@ -35,7 +35,7 @@
|
|||||||
@import "~@yaireo/tagify/dist/tagify.css";
|
@import "~@yaireo/tagify/dist/tagify.css";
|
||||||
|
|
||||||
// Toastr - is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended: https://github.com/CodeSeven/toastr
|
// Toastr - is a Javascript library for non-blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended: https://github.com/CodeSeven/toastr
|
||||||
@import "../_keenthemes/src/plugins/toastr/build/toastr.css";
|
@import "../_keenthemes/src/metronic/demo1/plugins/toastr/build/toastr.css";
|
||||||
|
|
||||||
// Sweetalert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes: https://sweetalert2.github.io/
|
// Sweetalert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes: https://sweetalert2.github.io/
|
||||||
@import "~sweetalert2/dist/sweetalert2.css";
|
@import "~sweetalert2/dist/sweetalert2.css";
|
||||||
@ -56,12 +56,12 @@
|
|||||||
@import "~tiny-slider/dist/tiny-slider.css";
|
@import "~tiny-slider/dist/tiny-slider.css";
|
||||||
|
|
||||||
// Keenthemes Vendors customization
|
// Keenthemes Vendors customization
|
||||||
@import "../_keenthemes/src/sass/plugins";
|
@import "../_keenthemes/src/metronic/demo1/sass/plugins";
|
||||||
|
|
||||||
// Keenicons - High quality and pixel perfect font icons available in 3 styles, duotone, outline and solid for Metronic elements
|
// Keenicons - High quality and pixel perfect font icons available in 3 styles, duotone, outline and solid for Metronic elements
|
||||||
@import "../_keenthemes/src/plugins/keenicons/duotone/style.css";
|
@import "../_keenthemes/src/metronic/demo1/plugins/keenicons/duotone/style.css";
|
||||||
@import "../_keenthemes/src/plugins/keenicons/outline/style.css";
|
@import "../_keenthemes/src/metronic/demo1/plugins/keenicons/outline/style.css";
|
||||||
@import "../_keenthemes/src/plugins/keenicons/solid/style.css";
|
@import "../_keenthemes/src/metronic/demo1/plugins/keenicons/solid/style.css";
|
||||||
|
|
||||||
// Tempus Dominus is the successor to the very popular Eonasdan/bootstrap-datetimepicker. The plugin provide a robust date and time picker designed to integrate into your Bootstrap project.
|
// Tempus Dominus is the successor to the very popular Eonasdan/bootstrap-datetimepicker. The plugin provide a robust date and time picker designed to integrate into your Bootstrap project.
|
||||||
@import "@eonasdan/tempus-dominus/dist/css/tempus-dominus.min.css";
|
@import "@eonasdan/tempus-dominus/dist/css/tempus-dominus.min.css";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
const glob = require('glob');
|
const glob = require('glob');
|
||||||
|
|
||||||
// Keenthemes' plugins
|
// Keenthemes' plugins
|
||||||
var componentJs = glob.sync(`resources/_keenthemes/src/js/components/*.js`) || [];
|
var componentJs = glob.sync(`resources/_keenthemes/src/metronic/demo1/js/components/*.js`) || [];
|
||||||
var coreLayoutJs = glob.sync(`resources/_keenthemes/src/js/layout/*.js`) || [];
|
var coreLayoutJs = glob.sync(`resources/_keenthemes/src/metronic/demo1/js/layout/*.js`) || [];
|
||||||
|
|
||||||
module.exports = [
|
module.exports = [
|
||||||
...componentJs,
|
...componentJs,
|
||||||
|
BIN
resources/mix/vendors/.DS_Store
vendored
Normal file
BIN
resources/mix/vendors/.DS_Store
vendored
Normal file
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
module.exports = [
|
module.exports = [
|
||||||
'node_modules/datatables.net/js/jquery.dataTables.js',
|
'node_modules/datatables.net/js/jquery.dataTables.js',
|
||||||
'node_modules/datatables.net-bs5/js/dataTables.bootstrap5.js',
|
'node_modules/datatables.net-bs5/js/dataTables.bootstrap5.js',
|
||||||
'resources/_keenthemes/src/js/vendors/plugins/datatables.init.js',
|
'resources/_keenthemes/src/metronic/demo1/js/vendors/plugins/datatables.init.js',
|
||||||
'node_modules/jszip/dist/jszip.js',
|
'node_modules/jszip/dist/jszip.js',
|
||||||
'node_modules/pdfmake/build/pdfmake.js',
|
'node_modules/pdfmake/build/pdfmake.js',
|
||||||
'node_modules/pdfmake/build/vfs_fonts.js',
|
'node_modules/pdfmake/build/vfs_fonts.js',
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
// Draggable - a lightweight, responsive, modern drag & drop library: https://shopify.github.io/draggable/
|
// Draggable - a lightweight, responsive, modern drag & drop library: https://shopify.github.io/draggable/
|
||||||
|
|
||||||
module.exports = [
|
module.exports = [
|
||||||
'node_modules/@shopify/draggable/lib/draggable.bundle.js',
|
'node_modules/@shopify/draggable/build/umd',
|
||||||
'node_modules/@shopify/draggable/lib/draggable.bundle.legacy.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/draggable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/sortable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/droppable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/swappable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/plugins.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/plugins/collidable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/plugins/resize-mirror.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/plugins/snappable.js',
|
|
||||||
'node_modules/@shopify/draggable/lib/plugins/swap-animation.js'
|
|
||||||
];
|
];
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
module.exports = [
|
module.exports = [
|
||||||
'node_modules/fullcalendar/main.js',
|
'node_modules/fullcalendar/main.js',
|
||||||
'node_modules/fullcalendar/locales-all.min.js',
|
'node_modules/fullcalendar/locales-all.min.js',
|
||||||
];
|
];
|
@ -1 +1 @@
|
|||||||
@import "fullcalendar/main.min.css";
|
@import "~fullcalendar/main.min.css";
|
@ -1,3 +1,3 @@
|
|||||||
<x-system-layout>
|
<x-system-layout>
|
||||||
@include('pages.system.not_found')
|
@include('pages/system.not_found')
|
||||||
</x-system-layout>
|
</x-system-layout>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
<x-system-layout>
|
<x-system-layout>
|
||||||
@include('pages.system.error')
|
@include('pages/system.error')
|
||||||
</x-system-layout>
|
</x-system-layout>
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
<!--end::Logo-->
|
<!--end::Logo-->
|
||||||
|
|
||||||
<!--begin::Image-->
|
<!--begin::Image-->
|
||||||
<img class="d-none d-lg-block mx-auto w-500px mb-10 mb-lg-20" src="{{ image('misc/bg-login.png') }}" alt=""/>
|
<img class="d-none d-lg-block mx-auto w-275px w-md-50 w-xl-500px mb-10 mb-lg-20" src="{{ image('misc/auth-screens.png') }}" alt=""/>
|
||||||
<!--end::Image-->
|
<!--end::Image-->
|
||||||
|
|
||||||
<!--begin::Title-->
|
<!--begin::Title-->
|
||||||
|
@ -38,8 +38,7 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
<!--end::Custom Stylesheets-->
|
<!--end::Custom Stylesheets-->
|
||||||
|
|
||||||
@yield('styles')
|
@livewireStyles
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<!--end::Head-->
|
<!--end::Head-->
|
||||||
|
|
||||||
@ -69,13 +68,10 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
<!--end::Custom Javascript-->
|
<!--end::Custom Javascript-->
|
||||||
@stack('scripts')
|
@stack('scripts')
|
||||||
@yield('scripts')
|
|
||||||
@stack('customscript')
|
|
||||||
|
|
||||||
<!--end::Javascript-->
|
<!--end::Javascript-->
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('livewire:initialized', () => {
|
document.addEventListener('livewire:load', () => {
|
||||||
Livewire.on('success', (message) => {
|
Livewire.on('success', (message) => {
|
||||||
toastr.success(message);
|
toastr.success(message);
|
||||||
});
|
});
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<!--begin::Footer container-->
|
<!--begin::Footer container-->
|
||||||
<div class="app-container container-xxl d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
|
<div class="app-container container-xxl d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
|
||||||
<!--begin::Copyright-->
|
<!--begin::Copyright-->
|
||||||
<div class="text-dark order-2 order-md-1">
|
<div class="text-gray-900 order-2 order-md-1">
|
||||||
<span class="text-muted fw-semibold me-1">{{ date('Y') }}©</span>
|
<span class="text-muted fw-semibold me-1">{{ date('Y') }}©</span>
|
||||||
<a href="https://keenthemes.com" target="_blank" class="text-gray-800 text-hover-primary">Keenthemes</a>
|
<a href="https://keenthemes.com" target="_blank" class="text-gray-800 text-hover-primary">Keenthemes</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--begin::Page title-->
|
<!--begin::Page title-->
|
||||||
<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
|
<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
|
||||||
<!--begin::Title-->
|
<!--begin::Title-->
|
||||||
<h1 class="page-heading d-flex text-dark fw-bold fs-3 flex-column justify-content-center my-0">
|
<h1 class="page-heading d-flex text-gray-900 fw-bold fs-3 flex-column justify-content-center my-0">
|
||||||
@yield('title')
|
@yield('title')
|
||||||
</h1>
|
</h1>
|
||||||
<!--end::Title-->
|
<!--end::Title-->
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
<div class="menu-item p-0 m-0">
|
<div class="menu-item p-0 m-0">
|
||||||
<!--begin:Menu link-->
|
<!--begin:Menu link-->
|
||||||
<a href="{{ route('dashboard') }}" class="menu-link">
|
<a href="{{ route('dashboard') }}" class="menu-link">
|
||||||
<span class="menu-custom-icon d-flex flex-center flex-shrink-0 rounded w-40px h-40px me-3">{!! getIcon('chart-simple', 'text-dark fs-1') !!}</span>
|
<span class="menu-custom-icon d-flex flex-center flex-shrink-0 rounded w-40px h-40px me-3">{!! getIcon('chart-simple', 'text-gray-900 fs-1') !!}</span>
|
||||||
<span class="d-flex flex-column">
|
<span class="d-flex flex-column">
|
||||||
<span class="fs-6 fw-bold text-gray-800">Marketing</span>
|
<span class="fs-6 fw-bold text-gray-800">Marketing</span>
|
||||||
<span class="fs-7 fw-semibold text-muted">Campaings & conversions</span>
|
<span class="fs-7 fw-semibold text-muted">Campaings & conversions</span>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!--begin::Preferences-->
|
<!--begin::Preferences-->
|
||||||
<form data-kt-search-element="advanced-options-form" class="pt-1 d-none">
|
<form data-kt-search-element="advanced-options-form" class="pt-1 d-none">
|
||||||
<!--begin::Heading-->
|
<!--begin::Heading-->
|
||||||
<h3 class="fw-bold text-dark mb-7">Advanced Search</h3>
|
<h3 class="fw-bold text-gray-900 mb-7">Advanced Search</h3>
|
||||||
<!--end::Heading-->
|
<!--end::Heading-->
|
||||||
<!--begin::Input group-->
|
<!--begin::Input group-->
|
||||||
<div class="mb-5">
|
<div class="mb-5">
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<!--end::Input-->
|
<!--end::Input-->
|
||||||
<!--begin::Spinner-->
|
<!--begin::Spinner-->
|
||||||
<span class="position-absolute top-50 end-0 translate-middle-y lh-0 d-none me-1" data-kt-search-element="spinner">
|
<span class="position-absolute top-50 end-0 translate-middle-y lh-0 d-none me-1" data-kt-search-element="spinner">
|
||||||
<span class="spinner-border h-15px w-15px align-middle text-gray-400"></span>
|
<span class="spinner-border h-15px w-15px align-middle text-gray-500"></span>
|
||||||
</span>
|
</span>
|
||||||
<!--end::Spinner-->
|
<!--end::Spinner-->
|
||||||
<!--begin::Reset-->
|
<!--begin::Reset-->
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<!--begin::Preferences-->
|
<!--begin::Preferences-->
|
||||||
<form data-kt-search-element="preferences" class="pt-1 d-none">
|
<form data-kt-search-element="preferences" class="pt-1 d-none">
|
||||||
<!--begin::Heading-->
|
<!--begin::Heading-->
|
||||||
<h3 class="fw-bold text-dark mb-7">Search Preferences</h3>
|
<h3 class="fw-bold text-gray-900 mb-7">Search Preferences</h3>
|
||||||
<!--end::Heading-->
|
<!--end::Heading-->
|
||||||
<!--begin::Input group-->
|
<!--begin::Input group-->
|
||||||
<div class="pb-4 border-bottom">
|
<div class="pb-4 border-bottom">
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<h3 class="fs-5 text-muted m-0 pb-5" data-kt-search-element="category-title">Users</h3>
|
<h3 class="fs-5 text-muted m-0 pb-5" data-kt-search-element="category-title">Users</h3>
|
||||||
<!--end::Category title-->
|
<!--end::Category title-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<img src="{{ image('avatars/300-6.jpg') }}" alt="" />
|
<img src="{{ image('avatars/300-6.jpg') }}" alt="" />
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<img src="{{ image('avatars/300-2.jpg') }}" alt="" />
|
<img src="{{ image('avatars/300-2.jpg') }}" alt="" />
|
||||||
@ -38,7 +38,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<img src="{{ image('avatars/300-9.jpg') }}" alt="" />
|
<img src="{{ image('avatars/300-9.jpg') }}" alt="" />
|
||||||
@ -53,7 +53,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<img src="{{ image('avatars/300-14.jpg') }}" alt="" />
|
<img src="{{ image('avatars/300-14.jpg') }}" alt="" />
|
||||||
@ -68,7 +68,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<img src="{{ image('avatars/300-11.jpg') }}" alt="" />
|
<img src="{{ image('avatars/300-11.jpg') }}" alt="" />
|
||||||
@ -86,7 +86,7 @@
|
|||||||
<h3 class="fs-5 text-muted m-0 pt-5 pb-5" data-kt-search-element="category-title">Customers</h3>
|
<h3 class="fs-5 text-muted m-0 pt-5 pb-5" data-kt-search-element="category-title">Customers</h3>
|
||||||
<!--end::Category title-->
|
<!--end::Category title-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">
|
<span class="symbol-label bg-light">
|
||||||
@ -103,7 +103,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">
|
<span class="symbol-label bg-light">
|
||||||
@ -120,7 +120,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">
|
<span class="symbol-label bg-light">
|
||||||
@ -137,7 +137,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">
|
<span class="symbol-label bg-light">
|
||||||
@ -154,7 +154,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">
|
<span class="symbol-label bg-light">
|
||||||
@ -174,7 +174,7 @@
|
|||||||
<h3 class="fs-5 text-muted m-0 pt-5 pb-5" data-kt-search-element="category-title">Projects</h3>
|
<h3 class="fs-5 text-muted m-0 pt-5 pb-5" data-kt-search-element="category-title">Projects</h3>
|
||||||
<!--end::Category title-->
|
<!--end::Category title-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/general/gen005.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/general/gen005.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
||||||
@ -189,7 +189,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/general/gen032.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/general/gen032.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
||||||
@ -204,7 +204,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/communication/com012.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/communication/com012.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
||||||
@ -219,7 +219,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<!--end::Item-->
|
<!--end::Item-->
|
||||||
<!--begin::Item-->
|
<!--begin::Item-->
|
||||||
<a href="#" class="d-flex text-dark text-hover-primary align-items-center mb-5">
|
<a href="#" class="d-flex text-gray-900 text-hover-primary align-items-center mb-5">
|
||||||
<!--begin::Symbol-->
|
<!--begin::Symbol-->
|
||||||
<div class="symbol symbol-40px me-4">
|
<div class="symbol symbol-40px me-4">
|
||||||
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/communication/com006.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
<span class="symbol-label bg-light">{!! getSvgIcon('duotune/communication/com006.svg', 'svg-icon svg-icon-2 svg-icon-primary') !!}</span>
|
||||||
|
@ -3,11 +3,24 @@
|
|||||||
<!--begin::Footer container-->
|
<!--begin::Footer container-->
|
||||||
<div class="app-container container-fluid d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
|
<div class="app-container container-fluid d-flex flex-column flex-md-row flex-center flex-md-stack py-3">
|
||||||
<!--begin::Copyright-->
|
<!--begin::Copyright-->
|
||||||
<div class="text-dark order-2 order-md-1">
|
<div class="text-gray-900 order-2 order-md-1">
|
||||||
<span class="text-muted fw-semibold me-1">{{ date('Y') }}©</span>
|
<span class="text-muted fw-semibold me-1">{{ date('Y') }}©</span>
|
||||||
<a href="https://putrakuningan.com" target="_blank" class="text-gray-800 text-hover-primary">Daeng Deni Mardaeni</a>
|
<a href="https://keenthemes.com" target="_blank" class="text-gray-800 text-hover-primary">Keenthemes</a>
|
||||||
</div>
|
</div>
|
||||||
<!--end::Copyright-->
|
<!--end::Copyright-->
|
||||||
|
<!--begin::Menu-->
|
||||||
|
<ul class="menu menu-gray-600 menu-hover-primary fw-semibold order-1">
|
||||||
|
<li class="menu-item">
|
||||||
|
<a href="https://keenthemes.com" target="_blank" class="menu-link px-2">About</a>
|
||||||
|
</li>
|
||||||
|
<li class="menu-item">
|
||||||
|
<a href="https://devs.keenthemes.com" target="_blank" class="menu-link px-2">Support</a>
|
||||||
|
</li>
|
||||||
|
<li class="menu-item">
|
||||||
|
<a href="https://1.envato.market/EA4JP" target="_blank" class="menu-link px-2">Purchase</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!--end::Menu-->
|
||||||
</div>
|
</div>
|
||||||
<!--end::Footer container-->
|
<!--end::Footer container-->
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--begin::Page title-->
|
<!--begin::Page title-->
|
||||||
<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
|
<div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
|
||||||
<!--begin::Title-->
|
<!--begin::Title-->
|
||||||
<h1 class="page-heading d-flex text-dark fw-bold fs-3 flex-column justify-content-center my-0">
|
<h1 class="page-heading d-flex text-gray-900 fw-bold fs-3 flex-column justify-content-center my-0">
|
||||||
@yield('title')
|
@yield('title')
|
||||||
</h1>
|
</h1>
|
||||||
<!--end::Title-->
|
<!--end::Title-->
|
||||||
|
@ -2,5 +2,6 @@
|
|||||||
<div id="kt_app_sidebar" class="app-sidebar flex-column" data-kt-drawer="true" data-kt-drawer-name="app-sidebar" data-kt-drawer-activate="{default: true, lg: false}" data-kt-drawer-overlay="true" data-kt-drawer-width="225px" data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_app_sidebar_mobile_toggle">
|
<div id="kt_app_sidebar" class="app-sidebar flex-column" data-kt-drawer="true" data-kt-drawer-name="app-sidebar" data-kt-drawer-activate="{default: true, lg: false}" data-kt-drawer-overlay="true" data-kt-drawer-width="225px" data-kt-drawer-direction="start" data-kt-drawer-toggle="#kt_app_sidebar_mobile_toggle">
|
||||||
@include(config('settings.KT_THEME_LAYOUT_DIR').'/partials/sidebar-layout/sidebar/_logo')
|
@include(config('settings.KT_THEME_LAYOUT_DIR').'/partials/sidebar-layout/sidebar/_logo')
|
||||||
@include(config('settings.KT_THEME_LAYOUT_DIR').'/partials/sidebar-layout/sidebar/_menu')
|
@include(config('settings.KT_THEME_LAYOUT_DIR').'/partials/sidebar-layout/sidebar/_menu')
|
||||||
|
@include(config('settings.KT_THEME_LAYOUT_DIR').'/partials/sidebar-layout/sidebar/_footer')
|
||||||
</div>
|
</div>
|
||||||
<!--end::Sidebar-->
|
<!--end::Sidebar-->
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
<div class="menu-item p-0 m-0">
|
<div class="menu-item p-0 m-0">
|
||||||
<!--begin:Menu link-->
|
<!--begin:Menu link-->
|
||||||
<a href="{{ route('dashboard') }}" class="menu-link">
|
<a href="{{ route('dashboard') }}" class="menu-link">
|
||||||
<span class="menu-custom-icon d-flex flex-center flex-shrink-0 rounded w-40px h-40px me-3">{!! getIcon('chart-simple', 'text-dark fs-1') !!}</span>
|
<span class="menu-custom-icon d-flex flex-center flex-shrink-0 rounded w-40px h-40px me-3">{!! getIcon('chart-simple', 'text-gray-900 fs-1') !!}</span>
|
||||||
<span class="d-flex flex-column">
|
<span class="d-flex flex-column">
|
||||||
<span class="fs-6 fw-bold text-gray-800">Marketing</span>
|
<span class="fs-6 fw-bold text-gray-800">Marketing</span>
|
||||||
<span class="fs-7 fw-semibold text-muted">Campaings & conversions</span>
|
<span class="fs-7 fw-semibold text-muted">Campaings & conversions</span>
|
||||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user