diff --git a/packages/web/src/scss/tools/_themes.scss b/packages/web/src/scss/tools/_themes.scss
index 6e4787113d..4ef418c30d 100644
--- a/packages/web/src/scss/tools/_themes.scss
+++ b/packages/web/src/scss/tools/_themes.scss
@@ -2,6 +2,7 @@
// As in Figma we make the first theme the default one.
// 2. Set the default text color in each theme.
+@use 'sass:map';
@use '../settings/globals';
@use 'string' as string-tools;
@use 'svg';
@@ -23,6 +24,8 @@
'#{globals.$prefix}#{$token-type-name}'
);
}
+
+ @include generate-background-image-urls($value);
}
// 2.
@@ -33,3 +36,49 @@
$is-default-theme: false;
}
}
+
+@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,')
+ )};
+}