From 170f1960f6946e0904209979b36df087744ad313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kry=C5=A1p=C3=ADn?= Date: Sat, 31 Aug 2024 12:39:01 +0200 Subject: [PATCH] Feat(web): Introduce background image urls generator to themes #DS-1447 --- packages/web/src/scss/tools/_themes.scss | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/packages/web/src/scss/tools/_themes.scss b/packages/web/src/scss/tools/_themes.scss index 4e6b6b8f56..3777161e8c 100644 --- a/packages/web/src/scss/tools/_themes.scss +++ b/packages/web/src/scss/tools/_themes.scss @@ -1,6 +1,8 @@ +@use 'sass:map'; @use 'sass:meta'; @use '../settings/globals'; @use 'string' as string-tools; +@use 'svg'; @mixin generate($themes) { // The default theme will be applied to the :root element. @@ -16,6 +18,8 @@ @include generate-css-variables($token-type-value, '#{globals.$prefix}#{$token-type-name}'); } + + @include generate-background-image-urls($value); } $is-default-theme: false; @@ -31,3 +35,49 @@ } } } + +@mixin generate-background-image-urls($themed-tokens) { + // Checkbox + --#{globals.$prefix}checkbox-input-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}checkbox-input-disabled-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}checkbox-input-indeterminate-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}checkbox-input-indeterminate-disabled-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + + // Slider + --#{globals.$prefix}slider-thumb-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}slider-thumb-hover-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}slider-thumb-active-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}slider-thumb-disabled-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + + // Toggle + --#{globals.$prefix}toggle-input-mark-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}toggle-input-mark-disabled-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + --#{globals.$prefix}toggle-input-mark-indicators-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; + + // Tooltip + --#{globals.$prefix}tooltip-arrow-background-image-url: #{svg.escape( + url('data:image/svg+xml,') + )}; +}