@progress/kendo-theme-classic 6.1.1-dev.1 → 6.1.1-dev.11

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
@@ -16,66 +16,171 @@ $equilateral-height: .8660254038 !default;
16
16
  // #endregion
17
17
 
18
18
  // #region @import "./_color.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_color.import.scss
19
+ /// Returns the alpha channel of a color.
20
+ /// @param {Color} $color - The color to get the alpha channel for.
21
+ /// @return {Number} - The alpha channel of the color.
22
+ ///
23
+ /// @example scss - Usage
24
+ /// @debug k-color-alpha( rgba( 0, 0, 0, 0.5 ) ); // => 0.5
25
+ /// @debug k-color-alpha( #000 ); // => 1
19
26
  @function k-color-alpha( $color ) {
20
27
  @return alpha( $color );
21
28
  }
22
29
 
30
+ /// Returns the red channel of a color.
31
+ /// @param {Color} $color - The color to get the red channel for.
32
+ /// @return {Number} - The red channel of the color.
33
+ ///
34
+ /// @example scss - Usage
35
+ /// @debug k-color-red( #ff0000 ); // => 255
23
36
  @function k-color-red( $color ) {
24
37
  @return red( $color );
25
38
  }
26
39
 
40
+ /// Returns the green channel of a color.
41
+ /// @param {Color} $color - The color to get the green channel for.
42
+ /// @return {Number} - The green channel of the color.
43
+ ///
44
+ /// @example scss - Usage
45
+ /// @debug k-color-green( #00ff00 ); // => 255
27
46
  @function k-color-green( $color ) {
28
47
  @return green( $color );
29
48
  }
30
49
 
50
+ /// Returns the blue channel of a color.
51
+ /// @param {Color} $color - The color to get the blue channel for.
52
+ /// @return {Number} - The blue channel of the color.
53
+ ///
54
+ /// @example scss - Usage
55
+ /// @debug k-color-blue( #0000ff ); // => 255
31
56
  @function k-color-blue( $color ) {
32
57
  @return blue( $color );
33
58
  }
34
59
 
60
+ /// Returns the hue of a color.
61
+ /// @param {Color} $color - The color to get the hue for.
62
+ /// @return {Number} - The hue of the color.
63
+ ///
64
+ /// @example scss - Usage
65
+ /// @debug k-color-hue( #e1d7d2 ); // => 20deg
35
66
  @function k-color-hue( $color ) {
36
67
  @return hue( $color );
37
68
  }
38
69
 
70
+ /// Returns the saturation of a color.
71
+ /// @param {Color} $color - The color to get the saturation for.
72
+ /// @return {Number} - The saturation of the color.
73
+ ///
74
+ /// @example scss - Usage
75
+ /// @debug k-color-saturation( #e1d7d2 ); // => 20%
39
76
  @function k-color-saturation( $color ) {
40
77
  @return saturation( $color );
41
78
  }
42
79
 
80
+ /// Returns the lightness of a color.
81
+ /// @param {Color} $color - The color to get the lightness for.
82
+ /// @return {Number} - The lightness of the color.
83
+ ///
84
+ /// @example scss - Usage
85
+ /// @debug k-color-lightness( #e1d7d2 ); // => 80%
43
86
  @function k-color-lightness( $color ) {
44
87
  @return lightness( $color );
45
88
  }
46
89
 
90
+ /// Returns a color that is a mix of two colors.
91
+ /// @param {Color} $color1 - The first color.
92
+ /// @param {Color} $color2 - The second color.
93
+ /// @param {Number} $weight - The weight of the first color in the mix.
94
+ /// @return {Color} - The mixed color.
95
+ ///
96
+ /// @example scss - Usage
97
+ /// @debug k-color-mix( #f00, #00f ); // => #800080
47
98
  @function k-color-mix( $color1, $color2, $weight: 50% ) {
48
99
  @return mix( $color1, $color2, $weight );
49
100
  }
50
101
 
102
+ /// Makes a color darker by decreasing its lightness.
103
+ /// @param {Color} $color - The color to darken.
104
+ /// @param {Number} $amount - The amount to darken the color.
105
+ /// @return {Color} - The darkened color.
106
+ ///
107
+ /// @example scss - Usage
108
+ /// @debug k-color-darken( #f00, 10% ); // => #e60000
51
109
  @function k-color-darken( $color, $amount) {
52
110
  @return darken( $color, $amount );
53
111
  }
54
112
 
113
+ /// Makes a color lighter by increasing its lightness.
114
+ /// @param {Color} $color - The color to lighten.
115
+ /// @param {Number} $amount - The amount to lighten the color.
116
+ /// @return {Color} - The lightened color.
117
+ ///
118
+ /// @example scss - Usage
119
+ /// @debug k-color-lighten( #f00, 10% ); // => #ff1a1a
55
120
  @function k-color-lighten( $color, $amount) {
56
121
  @return lighten( $color, $amount );
57
122
  }
58
123
 
124
+ /// Increases or decreases the hue of a color.
125
+ /// @param {Color} $color - The color to adjust the hue for.
126
+ /// @param {Number} $degrees - The amount to adjust the hue.
127
+ /// @return {Color} - The adjusted color.
128
+ ///
129
+ /// @example scss - Usage
130
+ /// @debug k-color-adjust-hue( #f00, 10deg ); // => #ff1a00
59
131
  @function k-color-adjust-hue( $color, $degrees ) {
60
132
  @return adjust-hue( $color, $degrees );
61
133
  }
62
134
 
135
+ /// Increases the saturation of a color.
136
+ /// @param {Color} $color - The color to saturate.
137
+ /// @param {Number} $amount - The amount to saturate the color.
138
+ /// @return {Color} - The saturated color.
139
+ ///
140
+ /// @example scss - Usage
141
+ /// @debug k-color-saturate( #f00, 10% ); // => #ff3333
63
142
  @function k-color-saturate( $color, $amount ) {
64
143
  @return saturate( $color, $amount );
65
144
  }
66
145
 
146
+ /// Decreases the saturation of a color.
147
+ /// @param {Color} $color - The color to desaturate.
148
+ /// @param {Number} $amount - The amount to desaturate the color.
149
+ /// @return {Color} - The desaturated color.
150
+ ///
151
+ /// @example scss - Usage
152
+ /// @debug k-color-desaturate( #f00, 10% ); // => #e60000
67
153
  @function k-color-desaturate( $color, $amount ) {
68
154
  @return desaturate( $color, $amount );
69
155
  }
70
156
 
157
+ /// Returns a gray color with the same lightness as the input color.
158
+ /// @param {Color} $color - The color to convert to grayscale.
159
+ /// @return {Color} - The grayscale color.
160
+ ///
161
+ /// @example scss - Usage
162
+ /// @debug k-color-grayscale( #f00 ); // => #808080
71
163
  @function k-color-grayscale( $color ) {
72
164
  @return grayscale( $color );
73
165
  }
74
166
 
167
+ /// Returns the RGB complement of a color. This identical to adjusting the hue
168
+ /// by 180 degrees.
169
+ /// @param {Color} $color - The color to get the complement for.
170
+ /// @return {Color} - The complement color.
171
+ ///
172
+ /// @example scss - Usage
173
+ /// @debug k-color-complement( #f00 ); // => #00ffff
75
174
  @function k-color-complement( $color ) {
76
175
  @return complement( $color );
77
176
  }
78
177
 
178
+ /// Returns the inverse of a color.
179
+ /// @param {Color} $color - The color to invert.
180
+ /// @return {Color} - The inverted color.
181
+ ///
182
+ /// @example scss - Usage
183
+ /// @debug k-color-invert( #f00 ); // => #00ffff
79
184
  @function k-color-invert( $color ) {
80
185
  @return invert( $color );
81
186
  }
@@ -355,17 +460,31 @@ $_linear-channel-values: (
355
460
  1
356
461
  );
357
462
 
358
- // The contrast ratio to reach against white, to determine if color changes from "light" to "dark".
359
- // Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
360
- // See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
361
- // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
463
+ /// The contrast ratio to reach against white, to determine if color changes from "light" to "dark".
464
+ /// Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
465
+ /// @type Number
466
+ /// @group accessibility
467
+ ///
468
+ /// @link https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
469
+ /// @link https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
362
470
  $wcag-min-contrast-ratio: 7 !default;
471
+ /// Default dark color for WCAG 2.0.
472
+ /// @type Color
473
+ /// @group accessibility
363
474
  $wcag-dark: black !default;
475
+ /// Default light color for WCAG 2.0.
476
+ /// @type Color
477
+ /// @group accessibility
364
478
  $wcag-light: white !default;
365
479
 
366
- // Calculate the luminance for a color.
367
- // See https://www.w3.org/TR/WCAG/#dfn-relative-luminance
368
- // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
480
+ /// Calculate the relative luminance for a color.
481
+ /// @param {Color} $color - The color to calculate the relative luminance for.
482
+ /// @return {Number} - The relative luminance for the color.
483
+ ///
484
+ /// @group accessibility
485
+ ///
486
+ /// @link https://www.w3.org/TR/WCAG/#dfn-relative-luminance
487
+ /// @link https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
369
488
  @function k-color-luminance( $color ) {
370
489
  $red: k-list-nth( $_linear-channel-values, k-color-red( $color ) + 1 );
371
490
  $green: k-list-nth( $_linear-channel-values, k-color-green( $color ) + 1 );
@@ -374,9 +493,15 @@ $wcag-light: white !default;
374
493
  @return .2126 * $red + .7152 * $green + .0722 * $blue;
375
494
  }
376
495
 
377
- // Calculate the luminance for a color.
378
- // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
379
- // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
496
+ /// Calculates contrast ratio between two colors
497
+ /// @param {Color} $background - The background color
498
+ /// @param {Color} $foreground - The foreground color
499
+ /// @return {Number} - The contrast ratio between the two colors
500
+ ///
501
+ /// @group accessibility
502
+ ///
503
+ /// @link https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
504
+ /// @link https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
380
505
  @function k-color-contrast-ratio( $background, $foreground ) {
381
506
  // sass-lint:disable-block variable-name-format
382
507
  $backLum: k-color-luminance( $background ) + .05;
@@ -385,15 +510,34 @@ $wcag-light: white !default;
385
510
  @return k-math-div( k-math-max( $backLum, $foreLum ), k-math-min( $backLum, $foreLum ) );
386
511
  }
387
512
 
513
+ /// Checks if a color is dark
514
+ /// @param {Color} $color - The color to check
515
+ /// @return {Boolean} - True if the color is dark, false otherwise
516
+ ///
517
+ /// @group accessibility
388
518
  @function k-is-dark( $color ) {
389
519
  @return if( k-color-luminance( $color ) < .5, true, false );
390
520
  }
521
+
522
+ /// Checks if a color is light
523
+ /// @param {Color} $color - The color to check
524
+ /// @return {Boolean} - True if the color is light, false otherwise
525
+ ///
526
+ /// @group accessibility
391
527
  @function k-is-light( $color ) {
392
528
  @return if( k-color-luminance( $color ) < .5, false, true );
393
529
  }
394
530
 
395
531
 
396
- // Contrast functions
532
+ /// Calculates the contrast ratio between a background color and a foreground color.
533
+ /// If the contrast ratio is not high enough, it will return the color with the highest contrast ratio.
534
+ /// @param {Color} $background - The background color
535
+ /// @param {Color} $dark - The dark color to use as a fallback
536
+ /// @param {Color} $light - The light color to use as a fallback
537
+ /// @param {Number} $min-ratio - The minimum contrast ratio to reach
538
+ /// @return {Color} - The color with the highest contrast ratio
539
+ ///
540
+ /// @group accessibility
397
541
  @function k-contrast-color( $background, $dark: $wcag-dark, $light: $wcag-light, $min-ratio: $wcag-min-contrast-ratio ) {
398
542
  $foregrounds: $light, $dark, #ffffff, #000000;
399
543
  $max-ratio: 0;
@@ -464,13 +608,38 @@ $kendo-color-level-step: 8% !default;
464
608
  @return k-color-mix( $base, $color, $level * $kendo-color-level-step );
465
609
  }
466
610
 
611
+ /// Makes a color lighter by mixing it with white
612
+ /// @param {Color} $color - The color to lighten
613
+ /// @param {Number} $level - The amount to lighten the color
614
+ /// @return {Color} - The lightened color
615
+ ///
616
+ /// @group color-system
617
+ ///
618
+ /// @example scss - Usage
619
+ /// @debug k-color-tint( #f00, 1 ); // => #ff1a1a
467
620
  @function k-color-tint( $color, $level: 1 ) {
468
621
  @return k-color-level( $color, -$level );
469
622
  }
623
+
624
+ /// Makes a color darker by mixing it with black
625
+ /// @param {Color} $color - The color to darken
626
+ /// @param {Number} $level - The amount to darken the color
627
+ /// @return {Color} - The darkened color
628
+ ///
629
+ /// @group color-system
630
+ ///
631
+ /// @example scss - Usage
632
+ /// @debug k-color-shade( #f00, 1 ); // => #e60000
470
633
  @function k-color-shade( $color, $level: 1 ) {
471
634
  @return k-color-level( $color, $level );
472
635
  }
473
636
 
637
+ /// Shades the color in light themes and tints it in dark themes
638
+ /// @param {Color} $color - The color to shade or tint
639
+ /// @param {Number} $level - The amount to shade or tint the color
640
+ /// @return {Color} - The shaded or tinted color
641
+ ///
642
+ /// @group color-system
474
643
  @function k-try-shade( $color, $level: 1 ) {
475
644
  $_dark-theme: if( k-meta-variable-exists( kendo-is-dark-theme ), $kendo-is-dark-theme, false );
476
645
 
@@ -480,6 +649,13 @@ $kendo-color-level-step: 8% !default;
480
649
 
481
650
  @return k-color-shade( $color, $level );
482
651
  }
652
+
653
+ /// Tints the color in light themes and shades it in dark themes
654
+ /// @param {Color} $color - The color to tint or shade
655
+ /// @param {Number} $level - The amount to tint or shade the color
656
+ /// @return {Color} - The tinted or shaded color
657
+ ///
658
+ /// @group color-system
483
659
  @function k-try-tint( $color, $level: 1 ) {
484
660
  $_dark-theme: if( k-meta-variable-exists( kendo-is-dark-theme ), $kendo-is-dark-theme, false );
485
661
 
@@ -490,7 +666,12 @@ $kendo-color-level-step: 8% !default;
490
666
  @return k-color-tint( $color, $level );
491
667
  }
492
668
 
493
-
669
+ /// Darkens the color in light themes and lightens it in dark themes
670
+ /// @param {Color} $color - The color to darken or lighten
671
+ /// @param {Number} $level - The amount to darken or lighten the color
672
+ /// @return {Color} - The darkened or lightened color
673
+ ///
674
+ /// @group color-system
494
675
  @function k-try-darken( $color, $amount ) {
495
676
  $_dark-theme: if( k-meta-variable-exists( kendo-is-dark-theme ), $kendo-is-dark-theme, false );
496
677
 
@@ -500,6 +681,12 @@ $kendo-color-level-step: 8% !default;
500
681
  @return k-color-darken( $color, $amount );
501
682
  }
502
683
 
684
+ /// Lightens the color in light themes and darkens it in dark themes
685
+ /// @param {Color} $color - The color to lighten or darken
686
+ /// @param {Number} $level - The amount to lighten or darken the color
687
+ /// @return {Color} - The lightened or darkened color
688
+ ///
689
+ /// @group color-system
503
690
  @function k-try-lighten( $color, $amount ) {
504
691
  $_dark-theme: if( k-meta-variable-exists( kendo-is-dark-theme ), $kendo-is-dark-theme, false );
505
692
 
@@ -509,6 +696,15 @@ $kendo-color-level-step: 8% !default;
509
696
  @return k-color-lighten( $color, $amount );
510
697
  }
511
698
 
699
+ /// Converts a color with alpha to solid color mixed with a background color
700
+ /// @param {Color} $color - The color to convert
701
+ /// @param {Color} $bg - The background color
702
+ /// @return {Color} - The converted color
703
+ ///
704
+ /// @group color-system
705
+ ///
706
+ /// @example scss - Usage
707
+ /// @debug k-rgba-to-mix( rgba( #f00, 0.5 ), #fff ); // => #ff8080
512
708
  @function k-rgba-to-mix( $color, $bg ) {
513
709
  $percent: k-color-alpha( $color ) * 100%;
514
710
 
@@ -571,7 +767,11 @@ $_kendo-svg-escaped-characters: (
571
767
  (")", "%29")
572
768
  ) !default;
573
769
 
574
- // See https://codepen.io/kevinweber/pen/dXWoRw
770
+ /// Escapes SVG characters in a string
771
+ /// @param {String} $string - The string to escape
772
+ /// @return {String} - The escaped string
773
+ ///
774
+ /// @link https://codepen.io/kevinweber/pen/dXWoRw
575
775
  @function k-escape-svg($string) {
576
776
  @if k-string-index($string, "data:image/svg+xml") {
577
777
  @each $char, $encoded in $_kendo-svg-escaped-characters {
@@ -594,6 +794,9 @@ $_kendo-escape-class-name: (
594
794
  "/": "\\/"
595
795
  );
596
796
 
797
+ /// Escapes special characters in a class name
798
+ /// @param {String} $text - The string to escape
799
+ /// @return {String} - The escaped string
597
800
  @function k-escape-class-name( $text ) {
598
801
  $_text: $text;
599
802
 
@@ -606,40 +809,110 @@ $_kendo-escape-class-name: (
606
809
 
607
810
  // #endregion
608
811
  // #region @import "./_lang.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_lang.import.scss
812
+ /// Returns the value of a variable if it is not null,
813
+ /// otherwise returns the fallback value.
814
+ /// @param {Any} $var - The variable to check.
815
+ /// @param {Any} $fallback - The fallback value.
816
+ /// @return {Any} - The value of the variable or the fallback value.
817
+ ///
818
+ /// @example scss - Usage
819
+ /// $foo: null;
820
+ /// @debug k-if-var( $foo, "bar" ); // => "bar"
821
+ /// $foo: "baz";
822
+ /// @debug k-if-var( $foo, "bar" ); // => "baz"
609
823
  @function k-if-var( $var, $fallback ) {
610
824
  @return if( $var != null, $var, $fallback );
611
825
  }
612
826
 
613
827
  // #endregion
614
828
  // #region @import "./_list.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_list.import.scss
829
+ /// Returns a copy of `$list` with `$val` appended to the end.
830
+ /// @param {List} $list - The list to process.
831
+ /// @param {Any} $val - The value to append to `$list`.
832
+ /// @param {String} $separator - The separator to use between `$list` and `$val`.
833
+ /// @return {List} - A copy of `$list` with `$val` appended to the end.
834
+ ///
835
+ /// @example scss - Usage
836
+ /// @debug k-list-append( ( "foo", "bar" ), "baz" ); // => "foo, bar, baz"
615
837
  @function k-list-append( $list, $val, $separator: auto ) {
616
838
  @return append( $list, $val, $separator );
617
839
  }
618
840
 
841
+ /// Checks whether `$list` contains `$value`.
842
+ /// @param {List} $list - The list to check.
843
+ /// @param {Any} $value - The value to check for.
844
+ /// @return {Boolean} - Whether `$list` contains `$value`.
845
+ ///
846
+ /// @example scss - Usage
847
+ /// @debug k-list-includes( ( "foo", "bar" ), "foo" ); // => true
848
+ /// @debug k-list-includes( ( "foo", "bar" ), "baz" ); // => false
619
849
  @function k-list-includes( $list, $value ) {
620
850
  @return k-list-index( $list, $value ) != null;
621
851
  }
622
852
 
853
+ /// Returns the index of `$value` in `$list`.
854
+ /// @param {List} $list - The list to check.
855
+ /// @param {Any} $value - The value to check for.
856
+ /// @return {Number} - The index of `$value` in `$list`.
857
+ ///
858
+ /// @example scss - Usage
859
+ /// @debug k-list-index( ( "foo", "bar" ), "foo" ); // => 1
623
860
  @function k-list-index( $list, $value ) {
624
861
  @return index( $list, $value );
625
862
  }
626
863
 
864
+ /// Returns whether `$list` is bracketed.
865
+ /// @param {List} $list - The list to check.
866
+ /// @return {Boolean} - Whether `$list` is bracketed.
867
+ ///
868
+ /// @example scss - Usage
869
+ /// @debug k-list-is-bracketed( ( "foo", "bar" ) ); // => false
870
+ /// @debug k-list-is-bracketed( [ "foo", "bar" ] ); // => true
627
871
  @function k-list-is-bracketed( $list ) {
628
872
  @return is-bracketed( $list );
629
873
  }
630
874
 
875
+ /// Joins two lists together.
876
+ /// @param {List} $list1 - The first list to join.
877
+ /// @param {List} $list2 - The second list to join.
878
+ /// @param {String} $separator - The separator to use between `$list1` and `$list2`.
879
+ /// @param {Boolean} $bracketed - Whether the result should be bracketed.
880
+ /// @return {List} - The joined list.
881
+ ///
882
+ /// @example scss - Usage
883
+ /// @debug k-list-join( ( "foo", "bar" ), ( "baz", "qux" ) ); // => "foo, bar, baz, qux"
884
+ /// @debug k-list-join( ( "foo", "bar" ), ( "baz", "qux" ), " " ); // => "foo bar baz qux"
631
885
  @function k-list-join( $list1, $list2, $separator: auto, $bracketed: auto ) {
632
886
  @return join( $list1, $list2, $separator, $bracketed );
633
887
  }
634
888
 
889
+ /// Returns the length of `$list`.
890
+ /// @param {List} $list - The list to check.
891
+ /// @return {Number} - The length of `$list`.
892
+ ///
893
+ /// @example scss - Usage
894
+ /// @debug k-list-length( ( "foo", "bar" ) ); // => 2
635
895
  @function k-list-length( $list ) {
636
896
  @return length( $list );
637
897
  }
638
898
 
899
+ /// Returns the nth item in `$list`.
900
+ /// @param {List} $list - The list to check.
901
+ /// @param {Number} $n - The index of the item to return.
902
+ /// @return {Any} - The nth item in `$list`.
903
+ ///
904
+ /// @example scss - Usage
905
+ /// @debug k-list-nth( ( "foo", "bar" ), 1 ); // => "foo"
639
906
  @function k-list-nth( $list, $n ) {
640
907
  @return nth( $list, $n );
641
908
  }
642
909
 
910
+ /// Reverse the order of items in `$list`.
911
+ /// @param {List} $list - The list to reverse.
912
+ /// @return {List} - The reversed list.
913
+ ///
914
+ /// @example scss - Usage
915
+ /// @debug k-list-reverse( ( "foo", "bar" ) ); // => "bar, foo"
643
916
  @function k-list-reverse( $list: null ) {
644
917
  $result: ();
645
918
 
@@ -658,64 +931,185 @@ $_kendo-escape-class-name: (
658
931
  @return $result;
659
932
  }
660
933
 
934
+ /// Returns the separator of `$list`.
935
+ /// @param {List} $list - The list to check.
936
+ /// @return {String} - The separator of `$list`.
937
+ ///
938
+ /// @example scss - Usage
939
+ /// @debug k-list-separator( ( "foo", "bar" ) ); // => ","
661
940
  @function k-list-separator( $list ) {
662
941
  @return list-separator( $list );
663
942
  }
664
943
 
944
+ /// Returns a copy of `$list` with `$val` inserted at `$n`.
945
+ /// @param {List} $list - The list to process.
946
+ /// @param {Number} $n - The index at which to insert `$val`.
947
+ /// @param {Any} $val - The value to insert.
948
+ /// @return {List} - A copy of `$list` with `$val` inserted at `$n`.
949
+ ///
950
+ /// @example scss - Usage
951
+ /// @debug k-list-set-nth( ( "foo", "bar" ), 1, "baz" ); // => "baz, bar"
665
952
  @function k-list-set-nth( $list, $n, $value ) {
666
953
  @return set-nth( $list, $n, $value );
667
954
  }
668
955
 
956
+ /// Combines two lists into a single list of two-item lists.
957
+ /// @param {List} $list1 - The first list to combine.
958
+ /// @param {List} $list2 - The second list to combine.
959
+ /// @return {List} - A list of two-item lists.
960
+ ///
961
+ /// @example scss - Usage
962
+ /// @debug k-list-zip( ( "foo", "bar" ), ( "baz", "qux" ) ); // => ((foo, baz), (bar, qux))
669
963
  @function k-list-zip( $lists... ) {
670
964
  @return zip( $lists... );
671
965
  }
672
966
 
673
967
  // #endregion
674
968
  // #region @import "./_math.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_math.import.scss
969
+ /// Returns the absolute value of a number.
970
+ /// @param {Number} $number - The number to get the absolute value of.
971
+ /// @return {Number} - The absolute value of `$number`.
972
+ ///
973
+ /// @example scss - Usage
974
+ /// @debug k-math-abs( -10 ); // => 10
675
975
  @function k-math-abs( $number ) {
676
976
  @return abs( $number );
677
977
  }
678
978
 
979
+ /// Returns the smallest integer greater than or equal to a number.
980
+ /// @param {Number} $number - The number to get the ceiling of.
981
+ /// @return {Number} - The ceiling of `$number`.
982
+ ///
983
+ /// @example scss - Usage
984
+ /// @debug k-math-ceil( 10.1 ); // => 11
679
985
  @function k-math-ceil( $number ) {
680
986
  @return ceil( $number );
681
987
  }
682
988
 
683
- @function k-math-clamp( $value, $min, $max ) {
684
- @return k-math-max( $min, k-math-min( $max, $value ) );
685
- }
686
-
989
+ /// Returns the largest integer less than or equal to a number.
990
+ /// @param {Number} $number - The number to get the floor of.
991
+ /// @return {Number} - The floor of `$number`.
992
+ ///
993
+ /// @example scss - Usage
994
+ /// @debug k-math-floor( 10.9 ); // => 10
995
+ @function k-math-floor( $number ) {
996
+ @return floor( $number );
997
+ }
998
+
999
+ /// Restricts `$number` to the range between `$min` and `$max`. If `$number` is
1000
+ /// less than `$min`, `$min` is returned. If `$number` is greater than `$max`,
1001
+ /// `$max` is returned. Otherwise, `$number` is returned.
1002
+ /// @param {Number} $number - The number to clamp.
1003
+ /// @param {Number} $min - The minimum value.
1004
+ /// @param {Number} $max - The maximum value.
1005
+ /// @return {Number} - The clamped number.
1006
+ ///
1007
+ /// @example scss - Usage
1008
+ /// @debug k-math-clamp( 10, 0, 5 ); // => 5
1009
+ @function k-math-clamp( $number, $min, $max ) {
1010
+ @return k-math-max( $min, k-math-min( $max, $number ) );
1011
+ }
1012
+
1013
+ /// Returns whether two numbers have compatible units.
1014
+ /// @param {Number} $a - The first number.
1015
+ /// @param {Number} $b - The second number.
1016
+ /// @return {Boolean} - Whether the numbers have compatible units.
1017
+ ///
1018
+ /// @example scss - Usage
1019
+ /// @debug k-math-compatible( 10px, 10px ); // => true
1020
+ /// @debug k-math-compatible( 10px, 10em ); // => false
687
1021
  @function k-math-compatible( $a, $b ) {
688
1022
  @return comparable( $a, $b );
689
1023
  }
690
1024
 
1025
+ /// Returns the quotient of two numbers.
1026
+ /// @param {Number} $a - The dividend.
1027
+ /// @param {Number} $b - The divisor.
1028
+ /// @return {Number} - The quotient of `$a` and `$b`.
1029
+ ///
1030
+ /// @example scss - Usage
1031
+ /// @debug k-math-div( 10, 2 ); // => 5
1032
+ /// @debug k-math-div( 10px, 2 ); // => 5px
691
1033
  @function k-math-div( $a, $b ) {
692
1034
  @return ( $a / $b );
693
1035
  }
694
1036
 
1037
+ /// Returns whether `$number` has no units.
1038
+ /// @param {Number} $number - The number to check.
1039
+ /// @return {Boolean} - Whether `$number` has no units.
1040
+ ///
1041
+ /// @example scss - Usage
1042
+ /// @debug k-math-is-unitless( 10 ); // => true
1043
+ /// @debug k-math-is-unitless( 10px ); // => false
695
1044
  @function k-math-is-unitless( $number ) {
696
1045
  @return unitless( $number );
697
1046
  }
698
1047
 
1048
+ /// Returns the larger of two numbers.
1049
+ /// @param {Number} $a - The first number.
1050
+ /// @param {Number} $b - The second number.
1051
+ /// @return {Number} - The larger of `$a` and `$b`.
1052
+ ///
1053
+ /// @example scss - Usage
1054
+ /// @debug k-math-max( 10, 20 ); // => 20
1055
+ /// @debug k-math-max( 10px, 20px ); // => 20px
699
1056
  @function k-math-max( $a, $b ) {
700
1057
  @return max( $a, $b );
701
1058
  }
702
1059
 
1060
+ /// Returns the smaller of two numbers.
1061
+ /// @param {Number} $a - The first number.
1062
+ /// @param {Number} $b - The second number.
1063
+ /// @return {Number} - The smaller of `$a` and `$b`.
1064
+ ///
1065
+ /// @example scss - Usage
1066
+ /// @debug k-math-min( 10, 20 ); // => 10
1067
+ /// @debug k-math-min( 10px, 20px ); // => 10px
703
1068
  @function k-math-min( $a, $b ) {
704
1069
  @return min( $a, $b );
705
1070
  }
706
1071
 
1072
+ /// Returns the remainder of two numbers.
1073
+ /// @param {Number} $a - The dividend.
1074
+ /// @param {Number} $b - The divisor.
1075
+ /// @return {Number} - The remainder of `$a` and `$b`.
1076
+ ///
1077
+ /// @example scss - Usage
1078
+ /// @debug k-math-mod( 10, 3 ); // => 1
1079
+ /// @debug k-math-mod( 10px, 3 ); // => 1px
707
1080
  @function k-math-mod( $a, $b ) {
708
1081
  @return ( $a % $b );
709
1082
  }
710
1083
 
1084
+ /// Returns the product of two numbers.
1085
+ /// @param {Number} $a - The first number.
1086
+ /// @param {Number} $b - The second number.
1087
+ /// @return {Number} - The product of `$a` and `$b`.
1088
+ ///
1089
+ /// @example scss - Usage
1090
+ /// @debug k-math-mul( 10, 2 ); // => 20
1091
+ /// @debug k-math-mul( 10px, 2 ); // => 20px
711
1092
  @function k-math-mul( $a, $b ) {
712
1093
  @return ( $a * $b );
713
1094
  }
714
1095
 
1096
+ /// Converts a unitless number to a percentage.
1097
+ /// @param {Number} $number - The number to convert.
1098
+ /// @return {Number} - The percentage.
1099
+ ///
1100
+ /// @example scss - Usage
1101
+ /// @debug k-math-percentage( 0.5 ); // => 50%
715
1102
  @function k-math-percentage( $number ) {
716
- @return ( $number * 100% );
1103
+ @return percentage( $number );
717
1104
  }
718
1105
 
1106
+ /// Returns the result of raising `$x` to the power of `$n`.
1107
+ /// @param {Number} $x - The base.
1108
+ /// @param {Number} $n - The exponent.
1109
+ /// @return {Number} - The result of raising `$x` to the power of `$n`.
1110
+ ///
1111
+ /// @example scss - Usage
1112
+ /// @debug k-math-pow( 2, 3 ); // => 8
719
1113
  @function k-math-pow( $x, $n ) {
720
1114
  $ret: 1;
721
1115
 
@@ -737,10 +1131,12 @@ $_kendo-escape-class-name: (
737
1131
 
738
1132
  }
739
1133
 
740
- @function k-math-percentage( $number ) {
741
- @return percentage( $number );
742
- }
743
-
1134
+ /// Returns a random number between 0 and 1.
1135
+ /// @param {Number} $limit - The upper limit of the random number.
1136
+ /// @return {Number} - A random number between 0 and 1.
1137
+ ///
1138
+ /// @example scss - Usage
1139
+ /// @debug k-math-random(); // => 0.123456789
744
1140
  @function k-math-random( $limit: null ) {
745
1141
  @if ( $limit == null ) {
746
1142
  @return random();
@@ -749,6 +1145,14 @@ $_kendo-escape-class-name: (
749
1145
  @return random( $limit );
750
1146
  }
751
1147
 
1148
+ /// Returns the result of rounding `$number` to the nearest integer
1149
+ /// using the specified `$precision`.
1150
+ /// @param {Number} $number - The number to round.
1151
+ /// @param {Number} $precision - The number of decimal places to round to.
1152
+ /// @return {Number} - The rounded number.
1153
+ ///
1154
+ /// @example scss - Usage
1155
+ /// @debug k-math-round( 10.123456789, 3 ); // => 10.123
752
1156
  @function k-math-round( $number, $precision: 0 ) {
753
1157
 
754
1158
  @if ( $precision == 0 ) {
@@ -760,10 +1164,22 @@ $_kendo-escape-class-name: (
760
1164
  @return k-math-div( round( $number * $pow ), $pow );
761
1165
  }
762
1166
 
1167
+ /// Returns a string representation of `$number`'s unit.
1168
+ /// @param {Number} $number - The number to get the unit of.
1169
+ /// @return {String} - The unit of `$number`.
1170
+ ///
1171
+ /// @example scss - Usage
1172
+ /// @debug k-math-unit( 10px ); // => px
763
1173
  @function k-math-unit( $number ) {
764
1174
  @return unit( $number );
765
1175
  }
766
1176
 
1177
+ /// Remove the unit from a number.
1178
+ /// @param {Number} $number - The number to remove the unit from.
1179
+ /// @return {Number} - The unitless number.
1180
+ ///
1181
+ /// @example scss - Usage
1182
+ /// @debug k-math-strip-unit( 10px ); // => 10
767
1183
  @function k-math-strip-unit($number) {
768
1184
  @if ( k-meta-type-of( $number ) == "number" ) and not k-math-is-unitless( $number ) {
769
1185
  @return k-math-div( $number, 1 * k-math-unit( $number) );
@@ -774,6 +1190,12 @@ $_kendo-escape-class-name: (
774
1190
 
775
1191
  // #endregion
776
1192
  // #region @import "./_map.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_map.import.scss
1193
+ /// Returns the value at `$key` in `$map`.
1194
+ /// @param {Map} $map - The map to get the value from.
1195
+ /// @param {Any} $key - The key to get the value for.
1196
+ ///
1197
+ /// @example scss - Usage
1198
+ /// @debug k-map-get( ( "foo": "bar" ), "foo" ); // => "bar"
777
1199
  @function k-map-get( $map, $keys... ) {
778
1200
  @each $key in $keys {
779
1201
  $map: map-get( $map, $key );
@@ -781,14 +1203,35 @@ $_kendo-escape-class-name: (
781
1203
  @return $map;
782
1204
  }
783
1205
 
1206
+ /// Returns whether `$map` has a value at `$key`.
1207
+ /// @param {Map} $map - The map to check.
1208
+ /// @param {Any} $key - The key to check.
1209
+ /// @return {Boolean} - Whether `$map` has a value at `$key`.
1210
+ ///
1211
+ /// @example scss - Usage
1212
+ /// @debug k-map-has( ( "foo": "bar" ), "foo" ); // => true
1213
+ /// @debug k-map-has( ( "foo": "bar" ), "bar" ); // => false
784
1214
  @function k-map-has-key( $map, $key ) {
785
1215
  @return map-has-key( $map, $key );
786
1216
  }
787
1217
 
1218
+ /// Returns a comma separated list of the keys in `$map`.
1219
+ /// @param {Map} $map - The map to get the keys from.
1220
+ /// @return {List} - A comma separated list of the keys in `$map`.
1221
+ ///
1222
+ /// @example scss - Usage
1223
+ /// @debug k-map-keys( ( "foo": "bar", "baz": "qux" ) ); // => "foo, baz"
788
1224
  @function k-map-keys( $map ) {
789
1225
  @return map-keys( $map );
790
1226
  }
791
1227
 
1228
+ /// Returns a map with the keys and values from `$map` and `$args`.
1229
+ /// @param {Map} $map - The map to merge.
1230
+ /// @param {Map} $args - The map to merge into `$map`.
1231
+ /// @return {Map} - A map with the keys and values from `$map` and `$args`.
1232
+ ///
1233
+ /// @example scss - Usage
1234
+ /// @debug k-map-merge( ( "foo": "bar" ), ( "baz": "qux" ) ); // => ( "foo": "bar", "baz": "qux" )
792
1235
  @function k-map-merge( $map, $args... ) {
793
1236
  @each $arg in $args {
794
1237
  $map: map-merge( $map, $arg );
@@ -796,14 +1239,35 @@ $_kendo-escape-class-name: (
796
1239
  @return $map;
797
1240
  }
798
1241
 
1242
+ /// Returns a map with the keys and values from `$map` except for `$keys`.
1243
+ /// @param {Map} $map - The map to remove keys from.
1244
+ /// @param {Any} $keys - The keys to remove from `$map`.
1245
+ /// @return {Map} - A map with the keys and values from `$map` except for `$keys`.
1246
+ ///
1247
+ /// @example scss - Usage
1248
+ /// @debug k-map-remove( ( "foo": "bar", "baz": "qux" ), "foo" ); // => ( "baz": "qux" )
799
1249
  @function k-map-remove( $map, $keys... ) {
800
1250
  @return map-remove( $map, $keys... );
801
1251
  }
802
1252
 
1253
+ /// Sets a single key and value in `$map`.
1254
+ /// @param {Map} $map - The map to set the value in.
1255
+ /// @param {Any} $key - The key to set the value for.
1256
+ /// @param {Any} $value - The value to set.
1257
+ /// @return {Map} - A map with the key and value set.
1258
+ ///
1259
+ /// @example scss - Usage
1260
+ /// @debug k-map-set( ( "foo": "bar" ), "baz", "qux" ); // => ( "foo": "bar", "baz": "qux" )
803
1261
  @function k-map-set( $map, $key, $value ) {
804
1262
  @return k-map-merge( $map, ( $key: $value ) );
805
1263
  }
806
1264
 
1265
+ /// Returns a comma separated list of the values in `$map`.
1266
+ /// @param {Map} $map - The map to get the values from.
1267
+ /// @return {List} - A comma separated list of the values in `$map`.
1268
+ ///
1269
+ /// @example scss - Usage
1270
+ /// @debug k-map-values( ( "foo": "bar", "baz": "qux" ) ); // => "bar, qux"
807
1271
  @function k-map-values( $map ) {
808
1272
  @return map-values( $map );
809
1273
  }
@@ -812,101 +1276,300 @@ $_kendo-escape-class-name: (
812
1276
  // #region @import "./_meta.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_meta.import.scss
813
1277
  // Adapted from https://css-tricks.com/snippets/sass/advanced-type-checking/
814
1278
 
1279
+ /// A wrapper around the `call()` function.
1280
+ /// Calls the function `$function` with the arguments `$args`.
1281
+ /// @param {Function} $function - The function to call.
1282
+ /// @param {List} $args - The arguments to pass to `$function`.
1283
+ /// @return {Any} - The result of calling `$function` with `$args`.
1284
+ ///
1285
+ /// @example scss - Usage
1286
+ /// @debug k-meta-call( k-meta-get-function( "k-string-replace" ), "foo bar", "bar", "baz" ); // => "foo baz"
815
1287
  @function k-meta-call( $function, $args... ) {
816
1288
  @return call( $function, $args... );
817
1289
  }
818
1290
 
1291
+ /// A wrapper around the `function-exists()` function.
1292
+ /// Returns whether a function with the name `$name` exists.
1293
+ /// @param {String} $name - The name of the function to check.
1294
+ /// @return {Boolean} - Whether a function with the name `$name` exists.
1295
+ ///
1296
+ /// @example scss - Usage
1297
+ /// @debug k-meta-function-exists( "k-string-replace" ); // => true
819
1298
  @function k-meta-function-exists( $name ) {
820
1299
  @return function-exists( $name );
821
1300
  }
822
1301
 
1302
+ /// A wrapper around the `get-function()` function.
1303
+ /// Returns the function with the name `$name`.
1304
+ /// @param {String} $name - The name of the function to get.
1305
+ /// @param {Boolean} $css - Whether to return the CSS representation of the function.
1306
+ /// @param {Module} $module - The module to get the function from.
1307
+ /// @return {Function} - The function with the name `$name`.
1308
+ ///
1309
+ /// @example scss - Usage
1310
+ /// @debug k-meta-get-function( "k-string-replace" ); // => Function
823
1311
  @function k-meta-get-function( $name, $args... ) {
824
1312
  @return get-function( $name, $args... );
825
1313
  }
826
1314
 
1315
+ /// A wrapper around the `inspect()` function.
1316
+ /// Returns a string representation of `$value`.
1317
+ /// @param {Any} $value - The value to inspect.
1318
+ /// @return {String} - A string representation of `$value`.
1319
+ ///
1320
+ /// @example scss - Usage
1321
+ /// @debug k-meta-inspect( "foo bar" ); // => "foo bar"
827
1322
  @function k-meta-inspect( $value ) {
828
1323
  @return inspect( $value );
829
1324
  }
830
1325
 
1326
+ /// A wrapper around the `keywords()` function.
1327
+ /// Returns a map of the keywords in `$args`.
1328
+ /// @param {List} $args - The arguments to process.
1329
+ /// @return {Map} - A map of the keywords in `$args`.
1330
+ ///
1331
+ /// @example scss - Usage
1332
+ /// @debug k-meta-keywords( ( "foo" "bar" "baz" "qux" ) ); // => ( "foo": "bar", "baz": "qux" )
831
1333
  @function k-meta-keywords( $args ) {
832
1334
  @return keywords( $args );
833
1335
  }
834
1336
 
1337
+ /// A wrapper around the `type-of()` function.
1338
+ /// Returns the type of `$value`.
1339
+ /// @param {Any} $value - The value to get the type of.
1340
+ /// @return {String} - The type of `$value`.
1341
+ ///
1342
+ /// @example scss - Usage
1343
+ /// @debug k-meta-type-of( "foo bar" ); // => "string"
835
1344
  @function k-meta-type-of( $value ) {
836
1345
  @return type-of( $value );
837
1346
  }
838
1347
 
1348
+ /// A wrapper around the `variable-exists()` function.
1349
+ /// Returns whether a variable with the name `$name` exists.
1350
+ /// @param {String} $name - The name of the variable to check.
1351
+ /// @return {Boolean} - Whether a variable with the name `$name` exists.
1352
+ ///
1353
+ /// @example scss - Usage
1354
+ /// @debug k-meta-variable-exists( "foo" ); // => true
839
1355
  @function k-meta-variable-exists( $name ) {
840
1356
  @return variable-exists( $name );
841
1357
  }
842
1358
 
1359
+ /// Checks whether `$value` is a <number> CSS data type.
1360
+ /// @param {Any} $value - The value to check.
1361
+ /// @return {Boolean} - Whether `$value` is a number.
1362
+ ///
1363
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/number
1364
+ ///
1365
+ /// @example scss - Usage
1366
+ /// @debug k-meta-is-number( 1 ); // => true
1367
+ /// @debug k-meta-is-number( "foo" ); // => false
843
1368
  @function k-meta-is-number( $value ) {
844
1369
  @return k-meta-type-of( $value ) == "number";
845
1370
  }
846
1371
 
1372
+ /// Checks whether `$value` is a <integer> CSS data type.
1373
+ /// @param {Any} $value - The value to check.
1374
+ /// @return {Boolean} - Whether `$value` is a integer.
1375
+ ///
1376
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/integer
1377
+ ///
1378
+ /// @example scss - Usage
1379
+ /// @debug k-meta-is-integer( 1 ); // => true
1380
+ /// @debug k-meta-is-integer( 1.5 ); // => false
847
1381
  @function k-meta-is-integer( $value ) {
848
1382
  @return k-meta-is-number( $value ) and k-math-round( $value ) == $value;
849
1383
  }
850
1384
 
1385
+ /// Checks whether `$value` is a <time> CSS data type.
1386
+ /// @param {Any} $value - The value to check.
1387
+ /// @return {Boolean} - Whether `$value` is a time.
1388
+ ///
1389
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/time
1390
+ ///
1391
+ /// @example scss - Usage
1392
+ /// @debug k-meta-is-time( 1s ); // => true
1393
+ /// @debug k-meta-is-time( 1 ); // => false
851
1394
  @function k-meta-is-time( $value ) {
852
1395
  @return k-meta-is-number( $value ) and k-string-index( "ms" "s", k-math-unit( $value ) ) != null;
853
1396
  }
854
1397
 
1398
+ /// Checks whether `$value` is a valid duration period.
1399
+ /// @param {Any} $value - The value to check.
1400
+ /// @return {Boolean} - Whether `$value` is a duration.
1401
+ ///
1402
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/time
1403
+ ///
1404
+ /// @example scss - Usage
1405
+ /// @debug k-meta-is-duration( 1s ); // => true
1406
+ /// @debug k-meta-is-duration( 1 ); // => false
855
1407
  @function k-meta-is-duration( $value ) {
856
1408
  @return k-meta-is-time( $value );
857
1409
  }
858
1410
 
1411
+ /// Checks whether `$value` is a <angle> CSS data type.
1412
+ /// @param {Any} $value - The value to check.
1413
+ /// @return {Boolean} - Whether `$value` is a angle.
1414
+ ///
1415
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/angle
1416
+ ///
1417
+ /// @example scss - Usage
1418
+ /// @debug k-meta-is-angle( 1deg ); // => true
1419
+ /// @debug k-meta-is-angle( 1 ); // => false
859
1420
  @function k-meta-is-angle( $value ) {
860
1421
  @return k-meta-is-number( $value ) and k-string-index( "deg" "rad" "grad" "turn", k-math-unit( $value ) ) != null;
861
1422
  }
862
1423
 
1424
+ /// Checks whether `$value` is a <frequency> CSS data type.
1425
+ /// @param {Any} $value - The value to check.
1426
+ /// @return {Boolean} - Whether `$value` is a frequency.
1427
+ ///
1428
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/frequency
1429
+ ///
1430
+ /// @example scss - Usage
1431
+ /// @debug k-meta-is-frequency( 1Hz ); // => true
1432
+ /// @debug k-meta-is-frequency( 1 ); // => false
863
1433
  @function k-meta-is-frequency( $value ) {
864
1434
  @return k-meta-is-number( $value ) and k-string-index( "Hz" "kHz", k-math-unit( $value ) ) != null;
865
1435
  }
866
1436
 
1437
+ /// Checks whether `$value` is a relative <length> CSS data type.
1438
+ /// @param {Any} $value - The value to check.
1439
+ /// @return {Boolean} - Whether `$value` is a relative length.
1440
+ ///
1441
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/length#relative_length_units_based_on_font
1442
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/length#relative_length_units_based_on_viewport
1443
+ ///
1444
+ /// @example scss - Usage
1445
+ /// @debug k-meta-is-relative-length( 1em ); // => true
1446
+ /// @debug k-meta-is-relative-length( 1ch ); // => true
1447
+ /// @debug k-meta-is-relative-length( 1 ); // => false
867
1448
  @function k-meta-is-relative-length( $value ) {
868
1449
  @return k-meta-is-number( $value ) and k-string-index( "em" "ex" "ch" "rem" "vw" "vh" "vmin" "vmax", k-math-unit( $value ) ) != null;
869
1450
  }
870
1451
 
1452
+ /// Checks whether `$value` is an absolute <length> CSS data type.
1453
+ /// @param {Any} $value - The value to check.
1454
+ /// @return {Boolean} - Whether `$value` is an absolute length.
1455
+ ///
1456
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/length#absolute_length_units
1457
+ ///
1458
+ /// @example scss - Usage
1459
+ /// @debug k-meta-is-absolute-length( 1cm ); // => true
1460
+ /// @debug k-meta-is-absolute-length( 1 ); // => false
871
1461
  @function k-meta-is-absolute-length( $value ) {
872
1462
  @return k-meta-is-number( $value ) and k-string-index( "cm" "mm" "in" "px" "pt" "pc", k-math-unit( $value ) ) != null;
873
1463
  }
874
1464
 
1465
+ /// Checks whether `$value` is a <percentage> CSS data type.
1466
+ /// @param {Any} $value - The value to check.
1467
+ /// @return {Boolean} - Whether `$value` is a percentage.
1468
+ ///
1469
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/percentage
1470
+ ///
1471
+ /// @example scss - Usage
1472
+ /// @debug k-meta-is-percentage( 1% ); // => true
1473
+ /// @debug k-meta-is-percentage( 1 ); // => false
875
1474
  @function k-meta-is-percentage( $value ) {
876
1475
  @return k-meta-is-number( $value ) and k-math-unit( $value ) == "%";
877
1476
  }
878
1477
 
1478
+ /// Checks whether `$value` is a <length> CSS data type.
1479
+ /// @param {Any} $value - The value to check.
1480
+ /// @return {Boolean} - Whether `$value` is a length.
1481
+ ///
1482
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/length
1483
+ ///
1484
+ /// @example scss - Usage
1485
+ /// @debug k-meta-is-length( 1em ); // => true
1486
+ /// @debug k-meta-is-length( 1cm ); // => true
1487
+ /// @debug k-meta-is-length( 1 ); // => false
879
1488
  @function k-meta-is-length( $value ) {
880
1489
  @return k-meta-is-relative-length( $value ) or k-meta-is-absolute-length( $value );
881
1490
  }
882
1491
 
1492
+ /// Checks whether `$value` is a <resolution> CSS data type.
1493
+ /// @param {Any} $value - The value to check.
1494
+ /// @return {Boolean} - Whether `$value` is a resolution.
1495
+ ///
1496
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/resolution
1497
+ ///
1498
+ /// @example scss - Usage
1499
+ /// @debug k-meta-is-resolution( 1dpi ); // => true
1500
+ /// @debug k-meta-is-resolution( 1 ); // => false
883
1501
  @function k-meta-is-resolution( $value ) {
884
1502
  @return k-meta-is-number( $value ) and k-string-index( "dpi" "dpcm" "dppx", k-math-unit( $value ) ) != null;
885
1503
  }
886
1504
 
1505
+ /// Checks whether `$value` is a <position> CSS data type.
1506
+ /// @param {Any} $value - The value to check.
1507
+ /// @return {Boolean} - Whether `$value` is a position.
1508
+ ///
1509
+ /// @link https://developer.mozilla.org/en-US/docs/Web/CSS/position
1510
+ ///
1511
+ /// @example scss - Usage
1512
+ /// @debug k-meta-is-position( center ); // => true
887
1513
  @function k-meta-is-position( $value ) {
888
1514
  @return k-meta-is-length( $value ) or k-meta-is-percentage( $value ) or k-string-index( "top" "right" "bottom" "left" "center", $value ) != null;
889
1515
  }
890
1516
 
891
1517
  // #endregion
892
1518
  // #region @import "./_string.import.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/functions/_string.import.scss
1519
+ /// Returns the first index of `$substring` in `$string`, or `null` if `$string` doesn’t contain `$substring`.
1520
+ /// @param {String} $string - The string to process.
1521
+ /// @param {String} $substring - The substring to look for.
1522
+ /// @return {Number} - The first index of `$substring` in `$string`, or `null` if `$string` doesn’t contain `$substring`.
1523
+ ///
1524
+ /// @example scss - Usage
1525
+ /// @debug k-string-index( "foo bar", "bar" ); // => 5
893
1526
  @function k-string-index( $string, $substring ) {
894
1527
  @return str-index( $string, $substring );
895
1528
  }
896
1529
 
1530
+ /// Returns a copy of `$string` with `$insert` inserted at `$index`.
1531
+ /// @param {String} $string - The string to process.
1532
+ /// @param {String} $insert - The string to insert.
1533
+ /// @param {Number} $index - The index at which to insert `$insert`.
1534
+ /// @return {String} - The resulting string.
1535
+ ///
1536
+ /// @example scss - Usage
1537
+ /// @debug k-string-insert( "foo bar", "baz", 5 ); // => "foo baz bar"
897
1538
  @function k-string-insert( $string, $insert, $index ) {
898
1539
  @return str-insert( $string, $insert, $index );
899
1540
  }
900
1541
 
1542
+ /// Returns the length of `$string`.
1543
+ /// @param {String} $string - The string to process.
1544
+ /// @return {Number} - The length of `$string`.
1545
+ ///
1546
+ /// @example scss - Usage
1547
+ /// @debug k-string-length( "foo bar" ); // => 7
901
1548
  @function k-string-length( $string ) {
902
1549
  @return str-length( $string );
903
1550
  }
904
1551
 
1552
+ /// Returns a copy of `$string` with quotes added.
1553
+ /// @param {String} $string - The string to process.
1554
+ /// @return {String} - The resulting string.
1555
+ ///
1556
+ /// @example scss - Usage
1557
+ /// @debug k-string-quote( "foo bar" ); // => "foo bar"
905
1558
  @function k-string-quote( $string ) {
906
1559
  @return quote( $string );
907
1560
  }
908
1561
 
909
- // See https://www.sassmeister.com/gist/1b4f2da5527830088e4d
1562
+ /// Returns a copy of `$string` with all occurrences of `$search`
1563
+ /// replaced by `$replace`.
1564
+ /// @param {String} $string - The string to process.
1565
+ /// @param {String} $search - The substring to look for.
1566
+ /// @param {String} $replace - The replacement string.
1567
+ /// @return {String} - The resulting string.
1568
+ ///
1569
+ /// @link https://www.sassmeister.com/gist/1b4f2da5527830088e4d
1570
+ ///
1571
+ /// @example scss - Usage
1572
+ /// @debug k-string-replace( "foo bar", "bar", "baz" ); // => "foo baz"
910
1573
  @function k-string-replace( $string, $search, $replace: "" ) {
911
1574
  @if k-meta-type-of( $string ) == number {
912
1575
  $string: $string + "";
@@ -921,22 +1584,53 @@ $_kendo-escape-class-name: (
921
1584
  @return $string;
922
1585
  }
923
1586
 
1587
+ /// Returns a substring of `$string` starting at `$start-at` and ending at `$end-at`.
1588
+ /// @param {String} $string - The string to process.
1589
+ /// @param {Number} $start-at - The index at which to start the substring.
1590
+ /// @param {Number} $end-at - The index at which to end the substring.
1591
+ /// @return {String} - The resulting string.
1592
+ ///
1593
+ /// @example scss - Usage
1594
+ /// @debug k-string-slice( "foo bar", 5 ); // => "bar"
924
1595
  @function k-string-slice( $string, $start-at, $end-at: -1 ) {
925
1596
  @return str-slice( $string, $start-at, $end-at );
926
1597
  }
927
1598
 
1599
+ /// Returns a copy of `$string` with all uppercase letters converted to lowercase.
1600
+ /// @param {String} $string - The string to process.
1601
+ /// @return {String} - The resulting string.
1602
+ ///
1603
+ /// @example scss - Usage
1604
+ /// @debug k-string-to-lower-case( "FOO BAR" ); // => "foo bar"
928
1605
  @function k-string-to-lower-case( $string ) {
929
1606
  @return to-lower-case( $string );
930
1607
  }
931
1608
 
1609
+ /// Returns a copy of `$string` with all lowercase letters converted to uppercase.
1610
+ /// @param {String} $string - The string to process.
1611
+ /// @return {String} - The resulting string.
1612
+ ///
1613
+ /// @example scss - Usage
1614
+ /// @debug k-string-to-upper-case( "foo bar" ); // => "FOO BAR"
932
1615
  @function k-string-to-upper-case( $string ) {
933
1616
  @return to-upper-case( $string );
934
1617
  }
935
1618
 
1619
+ /// Returns a unique identifier.
1620
+ /// @return {String} - The unique identifier.
1621
+ ///
1622
+ /// @example scss - Usage
1623
+ /// @debug k-string-unique-id(); // => UNIQUE_ID
936
1624
  @function k-string-unique-id() {
937
1625
  @return unique-id();
938
1626
  }
939
1627
 
1628
+ /// Returns a copy of `$string` with quotes removed.
1629
+ /// @param {String} $string - The string to process.
1630
+ /// @return {String} - The resulting string.
1631
+ ///
1632
+ /// @example scss - Usage
1633
+ /// @debug k-string-unquote( "foo bar" ); // => foo bar
940
1634
  @function k-string-unquote( $string ) {
941
1635
  @return unquote( $string );
942
1636
  }
@@ -1049,20 +1743,126 @@ $_kendo-escape-class-name: (
1049
1743
  // #endregion
1050
1744
  // #region @import "./_variables.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/color-system/_variables.scss
1051
1745
  // Color constants
1746
+
1747
+ /// The color white.
1748
+ /// Note: you cannot change this value.
1749
+ /// @type Color
1750
+ /// @group color-system
1052
1751
  $kendo-color-white: #ffffff; // stylelint-disable-line scss/dollar-variable-default
1752
+
1753
+ /// The color black.
1754
+ /// Note: you cannot change this value.
1755
+ /// @type Color
1756
+ /// @group color-system
1053
1757
  $kendo-color-black: #000000; // stylelint-disable-line scss/dollar-variable-default
1054
1758
 
1759
+ /// The color transparent.
1760
+ /// Note: you cannot change this value.
1761
+ /// @type Color
1762
+ /// @group color-system
1055
1763
  $kendo-color-rgba-transparent: rgba( 0, 0, 0, 0 ); // stylelint-disable-line scss/dollar-variable-default
1056
1764
 
1765
+ /// A gradient that goes from transparent to black.
1766
+ /// Note: you cannot change this value.
1767
+ /// @type Gradient
1768
+ /// @group color-system
1057
1769
  $kendo-gradient-transparent-to-black: rgba( black, 0 ), black; // stylelint-disable-line scss/dollar-variable-default
1770
+
1771
+ /// A gradient that goes from transparent to white.
1772
+ /// Note: you cannot change this value.
1773
+ /// @type Gradient
1774
+ /// @group color-system
1058
1775
  $kendo-gradient-transparent-to-white: rgba( white, 0 ), white; // stylelint-disable-line scss/dollar-variable-default
1776
+
1777
+ /// A gradient that goes from black to transparent.
1778
+ /// Note: you cannot change this value.
1779
+ /// @type Gradient
1780
+ /// @group color-system
1059
1781
  $kendo-gradient-black-to-transparent: black, rgba( black, 0 ); // stylelint-disable-line scss/dollar-variable-default
1782
+
1783
+ /// A gradient that goes from white to transparent.
1784
+ /// Note: you cannot change this value.
1785
+ /// @type Gradient
1786
+ /// @group color-system
1060
1787
  $kendo-gradient-white-to-transparent: white, rgba( white, 0 ); // stylelint-disable-line scss/dollar-variable-default
1061
1788
 
1789
+ /// A gradient that cycles through the colors of the rainbow.
1790
+ /// Note: you cannot change this value.
1791
+ /// @type Gradient
1792
+ /// @group color-system
1062
1793
  $kendo-gradient-rainbow: #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000; // stylelint-disable-line scss/dollar-variable-default
1063
1794
 
1064
1795
  // #endregion
1065
1796
  // #region @import "./_palettes.scss"; -> packages/classic/node_modules/@progress/kendo-theme-core/scss/color-system/_palettes.scss
1797
+ /// Color palettes to be used in the Kendo UI themes.
1798
+ /// @access private
1799
+ /// @type Record<String, ColorMap>
1800
+ /// @prop {ColorMap} neutral - The neutral palette
1801
+ /// @prop {ColorMap} marsala - The marsala palette
1802
+ /// @prop {ColorMap} bootstrapGray - The Bootstrap gray palette
1803
+ /// @prop {ColorMap} bootstrapBlue - The Bootstrap blue palette
1804
+ /// @prop {ColorMap} bootstrapIndigo - The Bootstrap indigo palette
1805
+ /// @prop {ColorMap} bootstrapPurple - The Bootstrap purple palette
1806
+ /// @prop {ColorMap} bootstrapPink - The Bootstrap pink palette
1807
+ /// @prop {ColorMap} bootstrapRed - The Bootstrap red palette
1808
+ /// @prop {ColorMap} bootstrapOrange - The Bootstrap orange palette
1809
+ /// @prop {ColorMap} bootstrapYellow - The Bootstrap yellow palette
1810
+ /// @prop {ColorMap} bootstrapGreen - The Bootstrap green palette
1811
+ /// @prop {ColorMap} bootstrapTeal - The Bootstrap teal palette
1812
+ /// @prop {ColorMap} bootstrapCyan - The Bootstrap cyan palette
1813
+ /// @prop {ColorMap} fluentNeutral - The Fluent neutral palette
1814
+ /// @prop {ColorMap} materialGray - The Material gray palette
1815
+ /// @prop {ColorMap} materialBlueGray - The Material blue gray palette
1816
+ /// @prop {ColorMap} materialRed - The Material red palette
1817
+ /// @prop {ColorMap} materialPink - The Material pink palette
1818
+ /// @prop {ColorMap} materialPurple - The Material purple palette
1819
+ /// @prop {ColorMap} materialDeepPurple - The Material deep purple palette
1820
+ /// @prop {ColorMap} materialIndigo - The Material indigo palette
1821
+ /// @prop {ColorMap} materialBlue - The Material blue palette
1822
+ /// @prop {ColorMap} materialLightBlue - The Material light blue palette
1823
+ /// @prop {ColorMap} materialCyan - The Material cyan palette
1824
+ /// @prop {ColorMap} materialTeal - The Material teal palette
1825
+ /// @prop {ColorMap} materialGreen - The Material green palette
1826
+ /// @prop {ColorMap} materialLightGreen - The Material light green palette
1827
+ /// @prop {ColorMap} materialLime - The Material lime palette
1828
+ /// @prop {ColorMap} materialYellow - The Material yellow palette
1829
+ /// @prop {ColorMap} materialAmber - The Material amber palette
1830
+ /// @prop {ColorMap} materialOrange - The Material orange palette
1831
+ /// @prop {ColorMap} materialDeepOrange - The Material deep orange palette
1832
+ /// @prop {ColorMap} materialBrown - The Material brown palette
1833
+ /// @prop {ColorMap} primerGray - The Primer gray palette
1834
+ /// @prop {ColorMap} primerBlue - The Primer blue palette
1835
+ /// @prop {ColorMap} primerGreen - The Primer green palette
1836
+ /// @prop {ColorMap} primerYellow - The Primer yellow palette
1837
+ /// @prop {ColorMap} primerOrange - The Primer orange palette
1838
+ /// @prop {ColorMap} primerRed - The Primer red palette
1839
+ /// @prop {ColorMap} primerPurple - The Primer purple palette
1840
+ /// @prop {ColorMap} primerPink - The Primer pink palette
1841
+ /// @prop {ColorMap} primerCoral - The Primer coral palette
1842
+ /// @prop {ColorMap} tailwindNeutral - The Tailwind neutral palette
1843
+ /// @prop {ColorMap} tailwindSlate - The Tailwind slate palette
1844
+ /// @prop {ColorMap} tailwindGray - The Tailwind gray palette
1845
+ /// @prop {ColorMap} tailwindZinc - The Tailwind zinc palette
1846
+ /// @prop {ColorMap} tailwindStone - The Tailwind stone palette
1847
+ /// @prop {ColorMap} tailwindRed - The Tailwind red palette
1848
+ /// @prop {ColorMap} tailwindOrange - The Tailwind orange palette
1849
+ /// @prop {ColorMap} tailwindAmber - The Tailwind amber palette
1850
+ /// @prop {ColorMap} tailwindYellow - The Tailwind yellow palette
1851
+ /// @prop {ColorMap} tailwindLime - The Tailwind lime palette
1852
+ /// @prop {ColorMap} tailwindGreen - The Tailwind green palette
1853
+ /// @prop {ColorMap} tailwindEmerald - The Tailwind emerald palette
1854
+ /// @prop {ColorMap} tailwindTeal - The Tailwind teal palette
1855
+ /// @prop {ColorMap} tailwindCyan - The Tailwind cyan palette
1856
+ /// @prop {ColorMap} tailwindSky - The Tailwind sky palette
1857
+ /// @prop {ColorMap} tailwindBlue - The Tailwind blue palette
1858
+ /// @prop {ColorMap} tailwindIndigo - The Tailwind indigo palette
1859
+ /// @prop {ColorMap} tailwindViolet - The Tailwind violet palette
1860
+ /// @prop {ColorMap} tailwindPurple - The Tailwind purple palette
1861
+ /// @prop {ColorMap} tailwindFuchsia - The Tailwind fuchsia palette
1862
+ /// @prop {ColorMap} tailwindPink - The Tailwind pink palette
1863
+ /// @prop {ColorMap} tailwindRose - The Tailwind rose palette
1864
+ ///
1865
+ /// @group color-system
1066
1866
  $kendo-palettes: (
1067
1867
 
1068
1868
  // Kendo
@@ -6600,11 +7400,6 @@ $kendo-utils: (
6600
7400
  /// @group order
6601
7401
  /// @contextType css
6602
7402
 
6603
- /// This is equivalent to `order: 1;`, `order: 2;`, `order: 12;`, etc.
6604
- /// @name .from k-order-1 to k-order-12
6605
- /// @group order
6606
- /// @contextType css
6607
-
6608
7403
  @mixin kendo-utils--flex-grid--order() {
6609
7404
 
6610
7405
  // Order utility classes
@@ -25801,9 +26596,8 @@ $kendo-adaptive-actionsheet-footer-padding-x: k-map-get( $kendo-spacing, 4 ) !de
25801
26596
 
25802
26597
 
25803
26598
  // Actionsheet separator
25804
- .k-actionsheet > .k-hr {
26599
+ .k-actionsheet .k-hr {
25805
26600
  margin: 0;
25806
- border-color: inherit;
25807
26601
  flex: none;
25808
26602
  }
25809
26603
 
@@ -26071,6 +26865,11 @@ $kendo-adaptive-actionsheet-footer-padding-x: k-map-get( $kendo-spacing, 4 ) !de
26071
26865
  // Actionsheet action
26072
26866
  .k-actionsheet-action {}
26073
26867
 
26868
+ // Actionsheet separator
26869
+ .k-actionsheet .k-hr {
26870
+ border-color: $kendo-actionsheet-border;
26871
+ }
26872
+
26074
26873
 
26075
26874
  // Adaptive Actionsheet
26076
26875
  .k-adaptive-actionsheet .k-actionsheet-titlebar {
@@ -33551,8 +34350,6 @@ $kendo-grid-group-footer-second-cell-border: 1px !default;
33551
34350
 
33552
34351
  &.k-popup {
33553
34352
  padding: $kendo-grid-column-menu-popup-padding-y $kendo-grid-column-menu-popup-padding-x;
33554
- }
33555
- .k-popup > & {
33556
34353
  max-width: 100%;
33557
34354
  }
33558
34355