@progress/kendo-theme-utils 6.5.0-dev.0 → 6.5.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/all.scss CHANGED
@@ -4,15 +4,6 @@
4
4
  // #region @import "./index.import.scss"; -> scss/index.import.scss
5
5
  // #region @import "./_functions.scss"; -> scss/_functions.scss
6
6
  // #region @import "@progress/kendo-theme-core/scss/functions/index.import.scss"; -> node_modules/@progress/kendo-theme-core/scss/functions/index.import.scss
7
- // #region @import "../_variables.scss"; -> node_modules/@progress/kendo-theme-core/scss/_variables.scss
8
- // Equilateral triangle variables
9
- // stylelint-disable number-max-precision
10
- $equilateral-index: 1.7320508076 !default;
11
- $equilateral-height: .8660254038 !default;
12
- // stylelint-enable number-max-precision
13
-
14
- // #endregion
15
-
16
7
  // #region @import "./_color.import.scss"; -> node_modules/@progress/kendo-theme-core/scss/functions/_color.import.scss
17
8
  /// Returns the alpha channel of a color.
18
9
  /// @param {Color} $color - The color to get the alpha channel for.
@@ -1238,6 +1229,36 @@ $_kendo-escape-class-name: (
1238
1229
  @return $map;
1239
1230
  }
1240
1231
 
1232
+ /// Returns a deep-map with the keys and values from `$map` and `$args`.
1233
+ /// @param {Map} $maps - The maps to deep-merge.
1234
+ /// @return {Map} - A map with the keys and values from `$map` and `$args`.
1235
+ ///
1236
+ /// @example scss - Usage
1237
+ /// @debug k-map-deep-merge( ( "foo": ("bar": "baz", "baz": "qux" ) ), ( "foo": ("bar": "foo") ) ); // => ( "foo": ("bar": "foo", "baz": "qux" ))
1238
+ @function k-map-deep-merge($maps...) {
1239
+ $merged: ();
1240
+
1241
+ @each $map in $maps {
1242
+ @each $key, $val in $map {
1243
+ @if (k-meta-type-of($val) == 'map') {
1244
+ $current: k-map-get($merged, $key);
1245
+ @if (k-meta-type-of($current) == 'map') {
1246
+ $val: k-map-deep-merge($current, $val);
1247
+ $map: k-map-merge(
1248
+ $map,
1249
+ (
1250
+ $key: $val
1251
+ )
1252
+ );
1253
+ }
1254
+ }
1255
+ }
1256
+ $merged: k-map-merge($merged, $map);
1257
+ }
1258
+
1259
+ @return $merged;
1260
+ }
1261
+
1241
1262
  /// Returns a map with the keys and values from `$map` except for `$keys`.
1242
1263
  /// @param {Map} $map - The map to remove keys from.
1243
1264
  /// @param {Any} $keys - The keys to remove from `$map`.
@@ -1319,6 +1340,10 @@ $_kendo-escape-class-name: (
1319
1340
  /// @example scss - Usage
1320
1341
  /// @debug k-meta-function-exists( "k-string-replace" ); // => true
1321
1342
  @function k-meta-function-exists( $name ) {
1343
+ @if $name == "" {
1344
+ @return false;
1345
+ }
1346
+
1322
1347
  @return function-exists( $name );
1323
1348
  }
1324
1349
 
@@ -1539,6 +1564,15 @@ $_kendo-escape-class-name: (
1539
1564
 
1540
1565
  // #endregion
1541
1566
  // #region @import "./_string.import.scss"; -> node_modules/@progress/kendo-theme-core/scss/functions/_string.import.scss
1567
+ $svg-escaped-characters: (
1568
+ ("%", "%25"),
1569
+ ("<", "%3c"),
1570
+ (">", "%3e"),
1571
+ ("#", "%23"),
1572
+ ("(", "%28"),
1573
+ (")", "%29")
1574
+ ) !default;
1575
+
1542
1576
  /// Returns the first index of `$substring` in `$string`, or `null` if `$string` doesn’t contain `$substring`.
1543
1577
  /// @param {String} $string - The string to process.
1544
1578
  /// @param {String} $substring - The substring to look for.
@@ -1658,6 +1692,34 @@ $_kendo-escape-class-name: (
1658
1692
  @return unquote( $string );
1659
1693
  }
1660
1694
 
1695
+
1696
+ // See https://www.sassmeister.com/gist/1b4f2da5527830088e4d
1697
+ @function str-replace($string, $search, $replace: "") {
1698
+ $index: k-string-index($string, $search);
1699
+
1700
+ @if $index {
1701
+ @return k-string-slice($string, 1, $index - 1) + $replace + str-replace(k-string-slice($string, $index + k-string-length($search)), $search, $replace);
1702
+ }
1703
+
1704
+ @return $string;
1705
+ }
1706
+
1707
+ // See https://codepen.io/kevinweber/pen/dXWoRw
1708
+ @function escape-svg($string) {
1709
+ @if k-string-index($string, "data:image/svg+xml") {
1710
+ @each $char, $encoded in $svg-escaped-characters {
1711
+ // Do not escape the url brackets
1712
+ @if k-string-index($string, "url(") == 1 {
1713
+ $string: url("#{str-replace(k-string-slice($string, 6, -3), $char, $encoded)}");
1714
+ } @else {
1715
+ $string: str-replace($string, $char, $encoded);
1716
+ }
1717
+ }
1718
+ }
1719
+
1720
+ @return $string;
1721
+ }
1722
+
1661
1723
  // #endregion
1662
1724
 
1663
1725
  // #endregion
@@ -1,12 +1,4 @@
1
1
  {
2
- "equilateral-index": {
3
- "type": "Number",
4
- "value": "1.7320508076"
5
- },
6
- "equilateral-height": {
7
- "type": "Number",
8
- "value": "0.8660254038"
9
- },
10
2
  "wcag-min-contrast-ratio": {
11
3
  "type": "Number",
12
4
  "value": "7"
@@ -31,6 +23,10 @@
31
23
  "type": "Number",
32
24
  "value": "8%"
33
25
  },
26
+ "svg-escaped-characters": {
27
+ "type": "List",
28
+ "value": "(\"%\", \"%25\"), (\"<\", \"%3c\"), (\">\", \"%3e\"), (\"#\", \"%23\"), (\"(\", \"%28\"), (\")\", \"%29\")"
29
+ },
34
30
  "kendo-prefix": {
35
31
  "type": "String",
36
32
  "value": "k-"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@progress/kendo-theme-utils",
3
3
  "description": "Utility first library alongside Kendo UI",
4
- "version": "6.5.0-dev.0",
4
+ "version": "6.5.0-dev.2",
5
5
  "author": "Progress",
6
6
  "license": "Apache-2.0",
7
7
  "keywords": [
@@ -42,7 +42,7 @@
42
42
  "postpublish": "echo 'no postpublish for utils'"
43
43
  },
44
44
  "dependencies": {
45
- "@progress/kendo-theme-core": "6.5.0-dev.0"
45
+ "@progress/kendo-theme-core": "6.5.0-dev.2"
46
46
  },
47
- "gitHead": "b5525f1c4c71eb78873e1fb170ae20cd50a8468d"
47
+ "gitHead": "a2917c47e4830e54fac051c80e5ae9d26f894fa7"
48
48
  }