From 215eaa4acb309a7b062b798adb0ffc17512a3180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kuna?= <1282324+codecalm@users.noreply.github.com> Date: Sun, 23 Mar 2025 20:51:10 +0100 Subject: [PATCH] Add Turbo library integration and update dependencies (#2223) --- .changeset/ten-walls-smell.md | 5 ++ core/scss/tabler-vendors.scss | 2 + core/scss/vendor/_turbo.scss | 3 + pnpm-lock.yaml | 9 +++ preview/package.json | 1 + preview/pages/_data/libs.json | 9 +-- preview/pages/_includes/layout/js-libs.html | 13 +++++ preview/pages/_includes/layout/js.html | 26 +-------- preview/pages/_layouts/base.html | 1 + preview/pages/turbo-loader.html | 62 +++++++++++++++++++++ 10 files changed, 101 insertions(+), 30 deletions(-) create mode 100644 .changeset/ten-walls-smell.md create mode 100644 core/scss/vendor/_turbo.scss create mode 100644 preview/pages/_includes/layout/js-libs.html create mode 100644 preview/pages/turbo-loader.html diff --git a/.changeset/ten-walls-smell.md b/.changeset/ten-walls-smell.md new file mode 100644 index 000000000..d47f98b31 --- /dev/null +++ b/.changeset/ten-walls-smell.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": minor +--- + +Add Turbo library integration diff --git a/core/scss/tabler-vendors.scss b/core/scss/tabler-vendors.scss index acbeac433..df6871f0e 100644 --- a/core/scss/tabler-vendors.scss +++ b/core/scss/tabler-vendors.scss @@ -12,3 +12,5 @@ @import "vendor/stars-rating"; @import "vendor/coloris"; @import "vendor/typed"; +@import "vendor/turbo"; + diff --git a/core/scss/vendor/_turbo.scss b/core/scss/vendor/_turbo.scss new file mode 100644 index 000000000..60e48df2f --- /dev/null +++ b/core/scss/vendor/_turbo.scss @@ -0,0 +1,3 @@ +.turbo-progress-bar { + background: var(--#{$prefix}primary); +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 463a29a47..0fd566d6b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -101,6 +101,9 @@ importers: preview: dependencies: + '@hotwired/turbo': + specifier: ^8.0.13 + version: 8.0.13 '@melloware/coloris': specifier: ^0.24.0 version: 0.24.0 @@ -380,6 +383,10 @@ packages: '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@hotwired/turbo@8.0.13': + resolution: {integrity: sha512-M7qXUqcGab6G5PKOiwhgbByTtrPgKPFCTMNQ52QhzUEXEqmp0/ApEguUesh/FPiUjrmFec+3lq98KsWnYY2C7g==} + engines: {node: '>= 14'} + '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -3005,6 +3012,8 @@ snapshots: tslib: 2.8.1 optional: true + '@hotwired/turbo@8.0.13': {} + '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: '@img/sharp-libvips-darwin-arm64': 1.0.4 diff --git a/preview/package.json b/preview/package.json index 4d4261c83..89ca4c96f 100644 --- a/preview/package.json +++ b/preview/package.json @@ -31,6 +31,7 @@ "zip": "mkdir -p packages-zip && zip -r packages-zip/tabler-$(node -p \"require('./package.json').version\").zip demo/*" }, "dependencies": { + "@hotwired/turbo": "^8.0.13", "@melloware/coloris": "^0.24.0", "@tabler/core": "workspace:*", "@tabler/icons": "^3.31.0", diff --git a/preview/pages/_data/libs.json b/preview/pages/_data/libs.json index 4ca9f10b7..a0f70e90a 100644 --- a/preview/pages/_data/libs.json +++ b/preview/pages/_data/libs.json @@ -1,10 +1,4 @@ { - "global-libs": [ - ], - "js-files": { - "countup": "countup", - "nouislider": "nouislider" - }, "js": { "imask": "imask/dist/imask.min.js", "autosize": "autosize/dist/autosize.min.js", @@ -29,6 +23,9 @@ "typed.js": "typed.js/dist/typed.umd.js", "signature_pad": "signature_pad/dist/signature_pad.umd.min.js" }, + "js-head": { + "turbo": "@hotwired/turbo/dist/turbo.es2017-umd.js" + }, "css": { "mapbox": "https://api.mapbox.com/mapbox-gl-js/v1.8.0/mapbox-gl.css", "dropzone": "dropzone/dist/dropzone.css", diff --git a/preview/pages/_includes/layout/js-libs.html b/preview/pages/_includes/layout/js-libs.html new file mode 100644 index 000000000..a9294b9bd --- /dev/null +++ b/preview/pages/_includes/layout/js-libs.html @@ -0,0 +1,13 @@ +{% if page-libs -%} + +{% for lib in include.libs -%} +{% if page-libs contains lib[0] -%} +{% for file in lib[1] -%} + +{% endfor -%} +{% endif -%} +{% endfor -%} + +{% endif -%} \ No newline at end of file diff --git a/preview/pages/_includes/layout/js.html b/preview/pages/_includes/layout/js.html index e825de966..2e9620b80 100644 --- a/preview/pages/_includes/layout/js.html +++ b/preview/pages/_includes/layout/js.html @@ -3,17 +3,7 @@ {% assign google-maps-key = site.googleMapsKey -%} {% endif -%} -{% if page-libs -%} - - {% for lib in libs.js -%} - {% if page-libs contains lib[0] or libs.global-libs contains lib[0] -%} - {% for file in lib[1] -%} - - {% endfor -%} - {% endif -%} - {% endfor -%} - -{% endif -%} +{% include "layout/js-libs.html" libs=libs.js %} @@ -23,16 +13,4 @@ -{% scripts %} - -{% assign libs = page-libs | default: layout.page-libs %} -{% for lib in libs.js-files %} -{% if libs contains lib[0] or libs.global-libs contains lib[0] %} -{% for file in lib[1] %} - -{% assign filename = 'js/' | append: file | append: '.html' %} -{% include "{{ filename }}" %} - -{% endfor %} -{% endif %} -{% endfor %} +{% scripts %} \ No newline at end of file diff --git a/preview/pages/_layouts/base.html b/preview/pages/_layouts/base.html index 1b1c81bfd..c23dafff6 100644 --- a/preview/pages/_layouts/base.html +++ b/preview/pages/_layouts/base.html @@ -30,6 +30,7 @@ {% endif %} {% include "layout/css.html" %} + {% include "layout/js-libs.html" libs=libs.js-head %}