From bea97f81b356d03f44a6a32eef79ea871f52ceea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Kuna?=
<1282324+codecalm@users.noreply.github.com>
Date: Thu, 30 Jul 2026 23:13:22 +0200
Subject: [PATCH] Remove `@hotwired/turbo` integration and Turbo loader demo
(#2735)
---
.changeset/remove-turbo.md | 6 +++
core/libs.json | 7 ----
core/package.json | 1 -
core/scss/tabler-vendors.scss | 1 -
core/scss/vendor/_turbo.scss | 5 ---
pnpm-lock.yaml | 57 ++--------------------------
preview/pages/turbo-loader.astro | 65 --------------------------------
shared/data/menu.json | 4 --
8 files changed, 9 insertions(+), 137 deletions(-)
create mode 100644 .changeset/remove-turbo.md
delete mode 100644 core/scss/vendor/_turbo.scss
delete mode 100644 preview/pages/turbo-loader.astro
diff --git a/.changeset/remove-turbo.md b/.changeset/remove-turbo.md
new file mode 100644
index 000000000..00a3ff3f4
--- /dev/null
+++ b/.changeset/remove-turbo.md
@@ -0,0 +1,6 @@
+---
+"@tabler/core": major
+"@tabler/preview": patch
+---
+
+Removed `@hotwired/turbo` integration, including `.turbo-progress-bar` styles and the Turbo loader preview demo.
diff --git a/core/libs.json b/core/libs.json
index e9fe1cc5b..060385180 100644
--- a/core/libs.json
+++ b/core/libs.json
@@ -160,13 +160,6 @@
"index.global.min.js"
]
},
- "turbo": {
- "npm": "@hotwired/turbo",
- "js": [
- "dist/turbo.es2017-umd.js"
- ],
- "head": true
- },
"driver.js": {
"npm": "driver.js",
"js": [
diff --git a/core/package.json b/core/package.json
index 84fc3651c..f4c2824c0 100644
--- a/core/package.json
+++ b/core/package.json
@@ -156,7 +156,6 @@
"@popperjs/core": "^2.11.8"
},
"devDependencies": {
- "@hotwired/turbo": "^8.0.23",
"@melloware/coloris": "^0.25.0",
"@types/node": "^26.1.1",
"@vitest/browser-playwright": "4.1.10",
diff --git a/core/scss/tabler-vendors.scss b/core/scss/tabler-vendors.scss
index 4e56bea0a..0db311bf5 100644
--- a/core/scss/tabler-vendors.scss
+++ b/core/scss/tabler-vendors.scss
@@ -12,5 +12,4 @@
@forward 'vendor/stars-rating';
@forward 'vendor/coloris';
@forward 'vendor/typed';
-@forward 'vendor/turbo';
@forward 'vendor/fullcalendar';
diff --git a/core/scss/vendor/_turbo.scss b/core/scss/vendor/_turbo.scss
deleted file mode 100644
index fdd58c41a..000000000
--- a/core/scss/vendor/_turbo.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@use '../config' as *;
-
-.turbo-progress-bar {
- background: var(--#{$prefix}primary);
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 75d9b113f..4e7b7fb70 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -94,9 +94,6 @@ importers:
specifier: ^2.11.8
version: 2.11.8
devDependencies:
- '@hotwired/turbo':
- specifier: ^8.0.23
- version: 8.0.23
'@melloware/coloris':
specifier: ^0.25.0
version: 0.25.0
@@ -770,10 +767,6 @@ packages:
peerDependencies:
'@fullcalendar/core': ~6.1.21
- '@hotwired/turbo@8.0.23':
- resolution: {integrity: sha512-GZ7cijxEZ6Ig71u7rD6LHaRv/wcE/hNsc+nEfiWOkLNqUgLOwo5MNGWOy5ZV9ZUDSiQx1no7YxjTNnT4O6//cQ==}
- engines: {node: '>= 18'}
-
'@img/colour@1.1.0':
resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
engines: {node: '>=18'}
@@ -1788,11 +1781,6 @@ packages:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
- baseline-browser-mapping@2.10.42:
- resolution: {integrity: sha512-c/jurFrDLyui7o1J86yLkRu4LMsTYcBohveus7/I2Hzdn9KIP2bdJPTue/lR1KH46enoPbD77GKeSYNdyPoD3Q==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
baseline-browser-mapping@2.11.6:
resolution: {integrity: sha512-69D/imtToCsIcAl8WBS2YaRwA4jO/j0HhU+hELqMEu9f54MoUtI6+XH5mrKU8rEFNEk/Ui1I2MK4/JkWacclGw==}
engines: {node: '>=6.0.0'}
@@ -1820,11 +1808,6 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.28.5:
- resolution: {integrity: sha512-Cu2E6QejHWzuDMTkuwgpABFgDfZrXLQq5V13YOACZx4mFAG4IwGTbTfHPMr4WtxlHoXSM8FIuRwYYCz5XiabaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
browserslist@4.28.7:
resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -1846,9 +1829,6 @@ packages:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
- caniuse-lite@1.0.30001800:
- resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==}
-
caniuse-lite@1.0.30001806:
resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==}
@@ -2151,9 +2131,6 @@ packages:
engines: {node: '>=20'}
hasBin: true
- electron-to-chromium@1.5.387:
- resolution: {integrity: sha512-TaxwufTFDufvPEoXdhwVrA3UdFWBeWGkYoJ1K8ldF1xe6gKfth6iRNS5lTQ5JPNOHdGQm8PT1QYKUqFLCiUefQ==}
-
electron-to-chromium@1.5.397:
resolution: {integrity: sha512-khGTy9U9x02KEtsKM8vx5A62BsRmcOsIgDpWr1ImE32Ax8GxHGPHZf+Eu9H8zOOyHJnB0jTbseyTHbq2XCT8yw==}
@@ -3148,10 +3125,6 @@ packages:
node-mock-http@1.0.4:
resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==}
- node-releases@2.0.50:
- resolution: {integrity: sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==}
- engines: {node: '>=18'}
-
node-releases@2.0.51:
resolution: {integrity: sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==}
engines: {node: '>=18'}
@@ -4509,7 +4482,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.29.7
'@babel/helper-validator-option': 7.29.7
- browserslist: 4.28.5
+ browserslist: 4.28.7
lru-cache: 5.1.1
semver: 6.3.1
@@ -4904,8 +4877,6 @@ snapshots:
'@fullcalendar/core': 6.1.21
'@fullcalendar/daygrid': 6.1.21(@fullcalendar/core@6.1.21)
- '@hotwired/turbo@8.0.23': {}
-
'@img/colour@1.1.0':
optional: true
@@ -5770,8 +5741,6 @@ snapshots:
balanced-match@4.0.4: {}
- baseline-browser-mapping@2.10.42: {}
-
baseline-browser-mapping@2.11.6: {}
better-path-resolve@1.0.0:
@@ -5795,14 +5764,6 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.28.5:
- dependencies:
- baseline-browser-mapping: 2.10.42
- caniuse-lite: 1.0.30001800
- electron-to-chromium: 1.5.387
- node-releases: 2.0.50
- update-browserslist-db: 1.2.3(browserslist@4.28.5)
-
browserslist@4.28.7:
dependencies:
baseline-browser-mapping: 2.11.6
@@ -5835,8 +5796,6 @@ snapshots:
es-errors: 1.3.0
function-bind: 1.1.2
- caniuse-lite@1.0.30001800: {}
-
caniuse-lite@1.0.30001806: {}
ccount@2.0.1: {}
@@ -6120,8 +6079,6 @@ snapshots:
minimatch: 10.2.5
semver: 7.8.5
- electron-to-chromium@1.5.387: {}
-
electron-to-chromium@1.5.397: {}
emoji-regex@10.6.0: {}
@@ -7441,8 +7398,8 @@ snapshots:
dependencies:
'@next/env': 16.2.10
'@swc/helpers': 0.5.15
- baseline-browser-mapping: 2.10.42
- caniuse-lite: 1.0.30001800
+ baseline-browser-mapping: 2.11.6
+ caniuse-lite: 1.0.30001806
postcss: 8.4.31
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -7479,8 +7436,6 @@ snapshots:
node-mock-http@1.0.4: {}
- node-releases@2.0.50: {}
-
node-releases@2.0.51: {}
nodemon@3.1.14:
@@ -8472,12 +8427,6 @@ snapshots:
ofetch: 1.5.1
ufo: 1.6.4
- update-browserslist-db@1.2.3(browserslist@4.28.5):
- dependencies:
- browserslist: 4.28.5
- escalade: 3.2.0
- picocolors: 1.1.1
-
update-browserslist-db@1.2.3(browserslist@4.28.7):
dependencies:
browserslist: 4.28.7
diff --git a/preview/pages/turbo-loader.astro b/preview/pages/turbo-loader.astro
deleted file mode 100644
index 6bdb1629b..000000000
--- a/preview/pages/turbo-loader.astro
+++ /dev/null
@@ -1,65 +0,0 @@
----
-// The {% capture_script %} block is registered synchronously (before any await).
-import DefaultLayout from '@shared/layouts/DefaultLayout.astro';
-import ButtonList from '@shared/components/ui/ButtonList.astro';
-import Card from '@shared/components/ui/Card.astro';
-import CardBody from '@shared/components/ui/CardBody.astro';
-import { addPageScript } from '@shared/lib/page-scripts';
-
-addPageScript(``);
----
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/shared/data/menu.json b/shared/data/menu.json
index 23c4fc593..568d224c5 100644
--- a/shared/data/menu.json
+++ b/shared/data/menu.json
@@ -494,10 +494,6 @@
"url": "tour.html",
"title": "Tour"
},
- "turbo": {
- "url": "turbo-loader.html",
- "title": "Turbo loader"
- },
"wysiwyg": {
"url": "wysiwyg.html",
"title": "WYSIWYG editor"