@omnisass/library 0.2.0 → 2026.1.0-alpha.1

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.
Files changed (101) hide show
  1. package/.editorconfig +13 -0
  2. package/.omnisass/scripts/bump-version.sh +288 -0
  3. package/.sassdoc.yaml +21 -0
  4. package/.vscode/settings.json +17 -0
  5. package/_configs.scss +10 -45
  6. package/index.scss +5 -91
  7. package/modules/utilities/converters/_convert-em2px.scss +3 -49
  8. package/modules/utilities/converters/_convert-hex2rgb.scss +2 -44
  9. package/modules/utilities/converters/_convert-hex2rgba.scss +2 -57
  10. package/modules/utilities/converters/_convert-px2em.scss +3 -62
  11. package/modules/utilities/converters/_convert-px2rem.scss +3 -62
  12. package/modules/utilities/converters/_convert-rem2px.scss +3 -62
  13. package/modules/utilities/converters/_index.scss +10 -0
  14. package/modules/utilities/getters/_index.scss +23 -0
  15. package/modules/utilities/getters/color/_get-color-brightness.scss +2 -48
  16. package/modules/utilities/getters/color/_get-color-darkest.scss +13 -68
  17. package/modules/utilities/getters/list/_get-list-item-end.scss +2 -29
  18. package/modules/utilities/getters/list/_get-list-item-start.scss +2 -29
  19. package/modules/utilities/getters/list/_get-list-item.scss +6 -82
  20. package/modules/utilities/getters/number/_get-number-from-percent.scss +2 -40
  21. package/modules/utilities/getters/number/_get-number-height-by-ratio.scss +3 -35
  22. package/modules/utilities/getters/number/_get-number-max-safe.scss +112 -0
  23. package/modules/utilities/getters/number/_get-number-max.scss +10 -88
  24. package/modules/utilities/getters/number/_get-number-min-safe.scss +114 -0
  25. package/modules/utilities/getters/number/_get-number-min.scss +9 -84
  26. package/modules/utilities/getters/number/_get-number-percentage-of.scss +2 -58
  27. package/modules/utilities/getters/number/_get-number-unit.scss +5 -46
  28. package/modules/utilities/getters/number/_get-number-width-by-ratio.scss +3 -56
  29. package/modules/utilities/helpers/_index.scss +44 -0
  30. package/modules/utilities/helpers/color/_color-blend-steps.scss +5 -89
  31. package/modules/utilities/helpers/color/_color-blend.scss +11 -85
  32. package/modules/utilities/helpers/color/_color-hue-shift.scss +7 -61
  33. package/modules/utilities/helpers/color/_color-scale.scss +7 -74
  34. package/modules/utilities/helpers/color/_color-shade.scss +2 -60
  35. package/modules/utilities/helpers/color/_color-tint.scss +2 -60
  36. package/modules/utilities/helpers/color/_color-triad.scss +9 -53
  37. package/modules/utilities/helpers/list/_list-dedupe.scss +9 -50
  38. package/modules/utilities/helpers/list/_list-insert-at.scss +16 -86
  39. package/modules/utilities/helpers/list/_list-merge.scss +1 -1
  40. package/modules/utilities/helpers/list/_list-remove-at.scss +9 -71
  41. package/modules/utilities/helpers/list/_list-sum-numbers-safe.scss +17 -81
  42. package/modules/utilities/helpers/list/_list-sum-numbers.scss +9 -57
  43. package/modules/utilities/helpers/number/_number-ceil-to.scss +1 -1
  44. package/modules/utilities/helpers/number/_number-clamp-max.scss +1 -1
  45. package/modules/utilities/helpers/number/_number-clamp-min.scss +1 -1
  46. package/modules/utilities/helpers/number/_number-clamp.scss +1 -1
  47. package/modules/utilities/helpers/number/_number-denormalize.scss +1 -1
  48. package/modules/utilities/helpers/number/_number-fibonacci.scss +2 -2
  49. package/modules/utilities/helpers/number/_number-floor-to.scss +1 -1
  50. package/modules/utilities/helpers/number/_number-format-with-separator.scss +4 -4
  51. package/modules/utilities/helpers/number/_number-normalize.scss +1 -1
  52. package/modules/utilities/helpers/number/_number-random-between-int.scss +1 -1
  53. package/modules/utilities/helpers/number/_number-random-between.scss +1 -1
  54. package/modules/utilities/helpers/number/_number-range.scss +7 -7
  55. package/modules/utilities/helpers/number/_number-round-to-nearest.scss +1 -1
  56. package/modules/utilities/helpers/number/_number-round-to.scss +1 -1
  57. package/modules/utilities/helpers/number/_number-strip-unit.scss +2 -14
  58. package/modules/utilities/helpers/string/_string-capitalize.scss +1 -1
  59. package/modules/utilities/helpers/string/_string-replace.scss +1 -1
  60. package/modules/utilities/helpers/string/_string-trim-end.scss +2 -2
  61. package/modules/utilities/helpers/string/_string-trim-start.scss +2 -2
  62. package/modules/utilities/helpers/string/_string-trim.scss +1 -1
  63. package/modules/utilities/loggers/_index.scss +6 -0
  64. package/modules/utilities/validators/_index.scss +38 -0
  65. package/modules/utilities/validators/{misc/_is-time.scss → _is-time.scss} +2 -2
  66. package/modules/utilities/validators/color/_is-color-light.scss +1 -1
  67. package/modules/utilities/validators/color/_is-color-list.scss +1 -1
  68. package/modules/utilities/validators/list/_is-list-contained.scss +1 -1
  69. package/modules/utilities/validators/number/_is-int-even.scss +1 -1
  70. package/modules/utilities/validators/number/_is-int-odd.scss +1 -1
  71. package/modules/utilities/validators/number/_is-int.scss +1 -1
  72. package/modules/utilities/validators/number/_is-number-has-unit.scss +1 -1
  73. package/modules/utilities/validators/number/_is-number-negative.scss +1 -1
  74. package/modules/utilities/validators/number/_is-number-positive.scss +1 -1
  75. package/modules/utilities/validators/number/_is-number-unitless.scss +1 -1
  76. package/modules/utilities/validators/number/_is-number-zero.scss +1 -1
  77. package/modules/utilities/validators/string/_is-string-contained.scss +25 -25
  78. package/modules/utilities/validators/string/_is-string-empty.scss +1 -1
  79. package/modules/utilities/validators/string/_is-string-ending-with.scss +1 -1
  80. package/modules/utilities/validators/string/_is-string-starting-with.scss +1 -1
  81. package/modules/utilities/validators/type-of/_is-boolean.scss +1 -1
  82. package/modules/utilities/validators/type-of/_is-color.scss +1 -1
  83. package/modules/utilities/validators/type-of/_is-list.scss +1 -1
  84. package/modules/utilities/validators/type-of/_is-map.scss +1 -1
  85. package/modules/utilities/validators/type-of/_is-number.scss +1 -1
  86. package/modules/utilities/validators/type-of/_is-string.scss +1 -1
  87. package/modules/utilities/validators/type-of/_is-type.scss +1 -1
  88. package/package.json +5 -6
  89. package/package.scss +3 -3
  90. package/playground/index.scss +8 -0
  91. package/modules/utilities/converters/_convert-camel2kebab.scss +0 -186
  92. package/modules/utilities/converters/_convert-kebab2camel.scss +0 -232
  93. package/modules/utilities/converters/_convert-kebab2snake.scss +0 -118
  94. package/modules/utilities/converters/_convert-snake2kebab.scss +0 -173
  95. package/modules/utilities/helpers/misc/_url-encode.configs.scss +0 -64
  96. package/modules/utilities/helpers/misc/_url-encode.scss +0 -148
  97. package/modules/utilities/loggers/_log-invalid-type.scss +0 -151
  98. package/modules/utilities/loggers/_log-invalid-value.scss +0 -151
  99. package/test.md +0 -168
  100. package/test.scss +0 -405
  101. package/test.sh +0 -149
@@ -1,7 +1,4 @@
1
1
  @use 'sass:list';
2
- @use '../../loggers/log-invalid-type' as *;
3
- @use '../../validators/type-of/is-list' as *;
4
- @use '../../validators/type-of/is-number' as *;
5
2
 
6
3
  /// Удаляет элемент из списка по указанному индексу.
7
4
  ///
@@ -23,7 +20,7 @@
23
20
  /// ---
24
21
  /// @name list-remove-at
25
22
  /// @group utilities-helpers
26
- /// @since 2025.12.27
23
+ /// @since 0.0.1
27
24
  /// @access public
28
25
  /// @author Murad Rustamov (therteenten)
29
26
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -86,75 +83,16 @@
86
83
  /// является числом.
87
84
  @function list-remove-at($list, $index) {
88
85
 
89
- // Проверка типа первого параметра: ожидается список или arglist.
90
- // Функция is-list() проверяет, является ли $list валидным списком
91
- // или arglist (специальный тип для переменного числа аргументов).
92
- @if not is-list($list) {
93
-
94
- // Если $list не является списком, возвращаем ошибку через
95
- // стандартную функцию логирования. Это предотвращает
96
- // некорректные вычисления с некорректными данными.
97
- @return log-invalid-type(
98
- 'list-remove-at',
99
- $list,
100
- '$list',
101
- ('list', 'arglist')
102
- );
103
-
104
- }
105
-
106
- // Проверка типа второго параметра: ожидается числовое значение индекса.
107
- // $index определяет позицию элемента, который нужно удалить из списка.
108
- @else if not is-number($index) {
109
-
110
- // Если $index не является числом, возвращаем ошибку.
111
- // Проверка выполняется только если $list прошел валидацию.
112
- @return log-invalid-type(
113
- 'list-remove-at',
114
- $index,
115
- '$index',
116
- 'number'
117
- );
118
-
119
- }
120
-
121
- // Все параметры прошли валидацию - выполняем удаление элемента.
122
- @else {
123
-
124
- // Инициализация переменной для хранения результата.
125
- // $-result будет содержать новый список без удаленного элемента.
126
- $-result: ();
127
-
128
- // Определение длины исходного списка.
129
- // Функция list.length() возвращает количество элементов в списке.
130
- $-length: list.length($list);
131
-
132
- // Цикл по всем элементам исходного списка.
133
- // Переменная $i принимает значения от 1 до $-length включительно.
134
- @for $i from 1 through $-length {
135
-
136
- // Проверка: не является ли текущий индекс целевым индексом удаления.
137
- @if $i != $index {
138
-
139
- // Если текущий индекс НЕ равен индексу удаления,
140
- // добавляем элемент в результат.
141
- // - Функция list.nth() извлекает элемент списка по
142
- // указанному индексу.
143
- // - Функция list.append() добавляет элемент в конец
144
- // списка результата.
145
- $-result: list.append($-result, list.nth($list, $i));
146
-
147
- }
86
+ $-result: ();
87
+ $-length: list.length($list);
148
88
 
89
+ @for $-i from 1 through $-length {
90
+ @if $-i != $index {
91
+ $-result: list.append($-result, list.nth($list, $-i));
149
92
  }
150
-
151
- // Возвращаем новый список без удаленного элемента.
152
- // Если индекс был в пределах длины списка (1 ≤ $index ≤ $-length),
153
- // соответствующий элемент будет пропущен. Если индекс вне диапазона,
154
- // исходный список вернется без изменений. Порядок оставшихся
155
- // элементов сохраняется.
156
- @return $-result;
157
-
158
93
  }
159
94
 
95
+ @return $-result;
96
+
160
97
  }
98
+
@@ -1,8 +1,6 @@
1
1
  @use 'sass:math';
2
2
  @use 'sass:meta';
3
- @use '../../loggers/log-invalid-type' as *;
4
- @use '../../validators/type-of/is-list' as *;
5
- @use '../../validators/type-of/is-number' as *;
3
+ @use '../../validators' as validators; // need type-of/is-number
6
4
 
7
5
  /// Безопасно суммирует числовые значения в списке с
8
6
  /// проверкой единиц измерения.
@@ -31,7 +29,7 @@
31
29
  /// ---
32
30
  /// @name list-sum-numbers-safe
33
31
  /// @group utilities-helpers
34
- /// @since 2025.12.27
32
+ /// @since 0.0.1
35
33
  /// @access public
36
34
  /// @author Murad Rustamov (therteenten)
37
35
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -86,90 +84,28 @@
86
84
  /// чисел с несовместимыми единицами измерения.
87
85
  @function list-sum-numbers-safe($list) {
88
86
 
89
- // Проверка типа входного параметра: ожидается список или arglist.
90
- // Функция is-list() проверяет, является ли $list валидным списком
91
- // или arglist (специальный тип для переменного числа аргументов).
92
- @if not is-list($list) {
87
+ $-sum: 0;
88
+ $-first-unit: null;
93
89
 
94
- // Если $list не является списком, возвращаем ошибку через
95
- // стандартную функцию логирования. Это предотвращает
96
- // некорректные вычисления с некорректными данными.
97
- @return log-invalid-type(
98
- 'list-sum-numbers-safe',
99
- $list,
100
- '$list',
101
- ('list', 'arglist')
102
- );
90
+ @each $-item in $list {
103
91
 
104
- }
105
-
106
- // Основная логика выполняется только если $list является
107
- // корректным списком или arglist.
108
- @else {
109
-
110
- // Инициализация переменной для хранения суммы чисел.
111
- // $-sum будет содержать итоговую сумму совместимых числовых элементов.
112
- $-sum: 0;
113
-
114
- // Переменная для хранения единицы измерения первого найденного числа.
115
- // Используется для проверки совместимости единиц измерения
116
- // всех последующих чисел.
117
- $-first-unit: null;
118
-
119
- // Итерация по всем элементам исходного списка.
120
- // Переменная $-item содержит текущий обрабатываемый элемент.
121
- @each $-item in $list {
122
-
123
- // Проверка: является ли текущий элемент числом.
124
- // Функция is-number() возвращает true для числовых значений.
125
- @if is-number($-item) {
126
-
127
- // Проверка: является ли это первым найденным числом в списке.
128
- @if $-first-unit == null {
129
-
130
- // Если это первое число:
131
- // 1. Сохраняем его единицу измерения для последующей проверки
132
- // Функция math.unit() возвращает единицу измерения числа как строку.
133
- // 2. Инициализируем сумму значением этого числа
134
- $-first-unit: math.unit($-item);
135
- $-sum: $-item;
136
-
137
- }
138
-
139
- // Проверка: совместимы ли единицы измерения текущего числа
140
- // с единицей измерения первого числа.
141
- // Условие выполняется, если:
142
- // 1. Единицы измерения совпадают (math.unit($-item) == $-first-unit)
143
- // 2. Текущее число безразмерное (math.unit($-item) == '')
144
- @else if math.unit($-item) == $-first-unit or math.unit($-item) == '' {
145
-
146
- // Если единицы измерения совместимы, добавляем число к сумме.
147
- // Оператор + в Sass автоматически проверяет совместимость единиц,
148
- // но мы уже выполнили проверку выше для безопасности.
149
- $-sum: $-sum + $-item;
150
-
151
- } @else {
152
-
153
- // Если единицы измерения не совместимы:
154
- // Выводим предупреждение в консоль с информацией о пропущенном элементе.
155
- // Функция meta.inspect() преобразует значение в читаемую строку.
156
- // Функция math.unit() возвращает единицу измерения числа.
157
- // Это предупреждение помогает выявить потенциальные ошибки в данных.
158
- @warn "Пропускаю элемент «#{meta.inspect($-item)}»: единица «#{math.unit($-item)}» несовместима с «#{$-first-unit}»!";
159
-
160
- }
92
+ @if validators.is-number($-item) {
161
93
 
94
+ @if $-first-unit == null {
95
+ $-first-unit: math.unit($-item);
96
+ $-sum: $-item;
97
+ } @else if math.unit($-item) == $-first-unit or math.unit($-item) == '' {
98
+ $-sum: $-sum + $-item;
99
+ } @else {
100
+ @warn "⚠️ Пропускаю элемент «#{meta.inspect($-item)}»: единица «#{math.unit($-item)}» несовместима с «#{$-first-unit}»!";
162
101
  }
163
102
 
164
103
  }
165
104
 
166
- // Возвращаем итоговую сумму совместимых числовых элементов.
167
- // Если в списке не было чисел или все числа были пропущены из-за
168
- // несовместимости единиц измерения, возвращается 0 (начальное значение).
169
- // Единица измерения результата соответствует единице измерения
170
- // первого добавленного числа.
171
- @return $-sum;
172
-
173
105
  }
174
106
 
107
+ @return $-sum;
108
+
175
109
  }
110
+
111
+
@@ -1,6 +1,4 @@
1
- @use '../../loggers/log-invalid-type' as *;
2
- @use '../../validators/type-of/is-list' as *;
3
- @use '../../validators/type-of/is-number' as *;
1
+ @use '../../validators' as validators; // need type-of/is-number
4
2
 
5
3
  /// Суммирует все числовые значения в списке.
6
4
  ///
@@ -19,7 +17,7 @@
19
17
  /// ---
20
18
  /// @name list-sum-numbers
21
19
  /// @group utilities-helpers
22
- /// @since 2025.12.27
20
+ /// @since 0.0.1
23
21
  /// @access public
24
22
  /// @author Murad Rustamov (therteenten)
25
23
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -68,61 +66,15 @@
68
66
  /// (например, px + em).
69
67
  @function list-sum-numbers($list) {
70
68
 
71
- // Проверка типа входного параметра: ожидается список или arglist.
72
- // Функция is-list() проверяет, является ли $list валидным списком
73
- // или arglist (специальный тип для переменного числа аргументов).
74
- @if not is-list($list) {
75
-
76
- // Если $list не является списком, возвращаем ошибку через
77
- // стандартную функцию логирования. Это предотвращает
78
- // некорректные вычисления с некорректными данными.
79
- @return log-invalid-type(
80
- 'list-sum-numbers',
81
- $list,
82
- '$list',
83
- ('list', 'arglist')
84
- );
85
-
86
- }
87
-
88
- // Основная логика выполняется только если $list является
89
- // корректным списком или arglist.
90
- @else {
91
-
92
- // Инициализация переменной для хранения суммы чисел.
93
- // $-sum будет содержать итоговую сумму всех числовых элементов
94
- // в списке. Начальное значение 0 гарантирует корректный результат
95
- // даже для пустых списков или списков без числовых элементов.
96
- $-sum: 0;
97
-
98
- // Итерация по всем элементам исходного списка.
99
- // Переменная $-item содержит текущий обрабатываемый элемент.
100
- @each $-item in $list {
101
-
102
- // Проверка: является ли текущий элемент числом.
103
- // Функция is-number() возвращает true для числовых значений,
104
- // включая числа с единицами измерения (px, rem, em и т.д.)
105
- // и безразмерные числа.
106
- @if is-number($-item) {
107
-
108
- // Если элемент является числом, добавляем его к общей сумме.
109
- // Оператор + в Sass автоматически складывает числа,
110
- // учитывая их единицы измерения. Если единицы измерения
111
- // несовместимы (например, px + em), Sass вызовет ошибку
112
- // компиляции на этом этапе.
113
- $-sum: $-sum + $-item;
114
-
115
- }
69
+ $-sum: 0;
116
70
 
71
+ @each $-item in $list {
72
+ @if validators.is-number($-item) {
73
+ $-sum: $-sum + $-item;
117
74
  }
118
-
119
- // Возвращаем итоговую сумму всех числовых элементов.
120
- // Если в списке не было чисел, возвращается 0 (начальное значение).
121
- // Если были числа с единицами измерения, результат будет иметь
122
- // те же единицы измерения, что и первое найденное число
123
- // (при условии совместимости всех единиц).
124
- @return $-sum;
125
-
126
75
  }
127
76
 
77
+ @return $-sum;
78
+
128
79
  }
80
+
@@ -20,7 +20,7 @@
20
20
  /// ---
21
21
  /// @name number-ceil-to
22
22
  /// @group utilities-helpers
23
- /// @since 2025.12.27
23
+ /// @since 0.0.1
24
24
  /// @access public
25
25
  /// @author Murad Rustamov (therteenten)
26
26
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -26,7 +26,7 @@
26
26
  /// ---
27
27
  /// @name number-clamp-max
28
28
  /// @group utilities-helpers
29
- /// @since 2025.12.27
29
+ /// @since 0.0.1
30
30
  /// @access public
31
31
  /// @author Murad Rustamov (therteenten)
32
32
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -34,7 +34,7 @@
34
34
  /// ---
35
35
  /// @name number-clamp-min
36
36
  /// @group utilities-helpers
37
- /// @since 2025.12.27
37
+ /// @since 0.0.1
38
38
  /// @access public
39
39
  /// @author Murad Rustamov (therteenten)
40
40
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -37,7 +37,7 @@
37
37
  /// ---
38
38
  /// @name number-clamp
39
39
  /// @group utilities-helpers
40
- /// @since 2025.12.27
40
+ /// @since 0.0.1
41
41
  /// @access public
42
42
  /// @author Murad Rustamov (therteenten)
43
43
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -36,7 +36,7 @@
36
36
  /// ---
37
37
  /// @name number-denormalize
38
38
  /// @group utilities-helpers
39
- /// @since 2025.12.27
39
+ /// @since 0.0.1
40
40
  /// @access public
41
41
  /// @author Murad Rustamov (therteenten)
42
42
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -25,7 +25,7 @@
25
25
  /// ---
26
26
  /// @name number-fibonacci
27
27
  /// @group utilities-helpers
28
- /// @since 2025.12.28
28
+ /// @since 0.0.1
29
29
  /// @access public
30
30
  /// @author Murad Rustamov (therteenten)
31
31
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -221,7 +221,7 @@
221
221
  $-a: 0;
222
222
  $-b: 1;
223
223
 
224
- @for $i from 1 through $n {
224
+ @for $-i from 1 through $n {
225
225
 
226
226
  $-result: list.append($-result, $-b);
227
227
  $-temp: $-a + $-b;
@@ -21,7 +21,7 @@
21
21
  /// ---
22
22
  /// @name number-floor-to
23
23
  /// @group utilities-helpers
24
- /// @since 2025.12.27
24
+ /// @since 0.0.1
25
25
  /// @access public
26
26
  /// @author Murad Rustamov (therteenten)
27
27
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -25,7 +25,7 @@
25
25
  /// ---
26
26
  /// @name number-format-with-separator
27
27
  /// @group utilities-helpers
28
- /// @since 2025.12.27
28
+ /// @since 0.0.1
29
29
  /// @access public
30
30
  /// @author Murad Rustamov (therteenten)
31
31
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -100,13 +100,13 @@
100
100
  $-length: string.length($-str);
101
101
  $-counter: 0;
102
102
 
103
- @for $i from $-length through 1 {
103
+ @for $-i from $-length through 1 {
104
104
 
105
- $char: string.slice($-str, $i, $i);
105
+ $char: string.slice($-str, $-i, $-i);
106
106
  $-result: $char + $-result;
107
107
  $-counter: $-counter + 1;
108
108
 
109
- @if $-counter == 3 and $i > 1 {
109
+ @if $-counter == 3 and $-i > 1 {
110
110
  $-result: $separator + $-result;
111
111
  $-counter: 0;
112
112
  }
@@ -39,7 +39,7 @@
39
39
  /// ---
40
40
  /// @name number-normalize
41
41
  /// @group utilities-helpers
42
- /// @since 2025.12.27
42
+ /// @since 0.0.1
43
43
  /// @access public
44
44
  /// @author Murad Rustamov (therteenten)
45
45
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -33,7 +33,7 @@
33
33
  /// ---
34
34
  /// @name number-random-between-int
35
35
  /// @group utilities-helpers
36
- /// @since 2025.12.27
36
+ /// @since 0.0.1
37
37
  /// @access public
38
38
  /// @author Murad Rustamov (therteenten)
39
39
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -36,7 +36,7 @@
36
36
  /// ---
37
37
  /// @name number-random-between
38
38
  /// @group utilities-helpers
39
- /// @since 2025.12.27
39
+ /// @since 0.0.1
40
40
  /// @access public
41
41
  /// @author Murad Rustamov (therteenten)
42
42
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -22,7 +22,7 @@
22
22
  /// ---
23
23
  /// @name number-range
24
24
  /// @group utilities-helpers
25
- /// @since 2025.12.27
25
+ /// @since 0.0.1
26
26
  /// @access public
27
27
  /// @author Murad Rustamov (therteenten)
28
28
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -246,18 +246,18 @@
246
246
  $-result: ();
247
247
 
248
248
  @if $from < $to {
249
- @for $i from $from through $to {
250
- @if ($i - $from) % $step == 0 {
249
+ @for $-i from $from through $to {
250
+ @if ($-i - $from) % $step == 0 {
251
251
 
252
- $-result: list.append($-result, $i);
252
+ $-result: list.append($-result, $-i);
253
253
 
254
254
  }
255
255
  }
256
256
  } @else {
257
- @for $i from $from through $to {
258
- @if ($from - $i) % $step == 0 {
257
+ @for $-i from $from through $to {
258
+ @if ($from - $-i) % $step == 0 {
259
259
 
260
- $-result: list.append($-result, $i);
260
+ $-result: list.append($-result, $-i);
261
261
 
262
262
  }
263
263
  }
@@ -25,7 +25,7 @@
25
25
  /// ---
26
26
  /// @name number-round-to-nearest
27
27
  /// @group utilities-helpers
28
- /// @since 2025.12.27
28
+ /// @since 0.0.1
29
29
  /// @access public
30
30
  /// @author Murad Rustamov (therteenten)
31
31
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -21,7 +21,7 @@
21
21
  /// ---
22
22
  /// @name number-round-to
23
23
  /// @group utilities-helpers
24
- /// @since 2025.12.27
24
+ /// @since 0.0.1
25
25
  /// @access public
26
26
  /// @author Murad Rustamov (therteenten)
27
27
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -1,6 +1,4 @@
1
1
  @use 'sass:math';
2
- @use '../../loggers/log-invalid-type' as *;
3
- @use '../../validators/type-of/is-number' as *;
4
2
 
5
3
  /// Удаляет единицы измерения из числа, возвращая
6
4
  /// безразмерное значение.
@@ -29,7 +27,7 @@
29
27
  /// ---
30
28
  /// @name number-strip-unit
31
29
  /// @group utilities-helpers
32
- /// @since 2025.12.27
30
+ /// @since 0.0.1
33
31
  /// @access public
34
32
  /// @author Sindre Sorhus
35
33
  /// @author Murad Rustamov (therteenten) [адаптация]
@@ -83,15 +81,5 @@
83
81
  /// нечисловое значение, так как математические операции
84
82
  /// Sass требуют числовых операндов.
85
83
  @function number-strip-unit($value) {
86
-
87
- $-result: 'null';
88
-
89
- @if is-number($value) {
90
- $-result: math.div($value, $value * 0 + 1);
91
- } @else {
92
- @debug log-invalid-type('number-strip-unit', $value, '$value', 'number');
93
- }
94
-
95
- @return $-result;
96
-
84
+ @return math.div($value, $value * 0 + 1);
97
85
  }
@@ -30,7 +30,7 @@
30
30
  /// ---
31
31
  /// @name string-capitalize
32
32
  /// @group utilities-helpers
33
- /// @since 2026.01.12
33
+ /// @since 0.0.1
34
34
  /// @access public
35
35
  /// @author Murad Rustamov (therteenten)
36
36
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -17,7 +17,7 @@
17
17
  /// ---
18
18
  /// @name string-replace
19
19
  /// @group utilities-helpers
20
- /// @since 2026.01.03
20
+ /// @since 0.0.1
21
21
  /// @access public
22
22
  /// @author Murad Rustamov (therteenten)
23
23
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -17,7 +17,7 @@
17
17
  /// ---
18
18
  /// @name string-trim-end
19
19
  /// @group utilities-helpers
20
- /// @since 2026.01.03
20
+ /// @since 0.0.1
21
21
  /// @access public
22
22
  /// @author Murad Rustamov (therteenten)
23
23
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -58,5 +58,5 @@
58
58
  }
59
59
 
60
60
  @return $string;
61
-
61
+
62
62
  }
@@ -17,7 +17,7 @@
17
17
  /// ---
18
18
  /// @name string-trim-start
19
19
  /// @group utilities-helpers
20
- /// @since 2026.01.03
20
+ /// @since 0.0.1
21
21
  /// @access public
22
22
  /// @author Murad Rustamov (therteenten)
23
23
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -58,5 +58,5 @@
58
58
  }
59
59
 
60
60
  @return $string;
61
-
61
+
62
62
  }
@@ -17,7 +17,7 @@
17
17
  /// ---
18
18
  /// @name string-trim
19
19
  /// @group utilities-helpers
20
- /// @since 2026.01.03
20
+ /// @since 0.0.1
21
21
  /// @access public
22
22
  /// @author Murad Rustamov (therteenten)
23
23
  /// @link https://sourcecraft.dev/users/therteenten/overview SourceCraft - therteenten
@@ -0,0 +1,6 @@
1
+ ////
2
+ /// @group utilities-loggers
3
+ ////
4
+
5
+ @forward 'log-invalid-type';
6
+ @forward 'log-invalid-value';
@@ -0,0 +1,38 @@
1
+ ////
2
+ /// @group utilities-validators
3
+ ////
4
+
5
+ // Colors
6
+ @forward 'color/is-color-light';
7
+ @forward 'color/is-color-list';
8
+
9
+ // List
10
+ @forward 'list/is-list-contained';
11
+
12
+ // Number
13
+ @forward 'number/is-int';
14
+ @forward 'number/is-int-even';
15
+ @forward 'number/is-int-odd';
16
+ @forward 'number/is-number-has-unit';
17
+ @forward 'number/is-number-negative';
18
+ @forward 'number/is-number-positive';
19
+ @forward 'number/is-number-unitless';
20
+ @forward 'number/is-number-zero';
21
+
22
+ // String
23
+ @forward 'string/is-string-contained';
24
+ @forward 'string/is-string-empty';
25
+ @forward 'string/is-string-ending-with';
26
+ @forward 'string/is-string-starting-with';
27
+
28
+ // Type-of
29
+ @forward 'type-of/is-boolean';
30
+ @forward 'type-of/is-color';
31
+ @forward 'type-of/is-list';
32
+ @forward 'type-of/is-map';
33
+ @forward 'type-of/is-number';
34
+ @forward 'type-of/is-string';
35
+ @forward 'type-of/is-type';
36
+
37
+ // Other
38
+ @forward 'is-time';