@omnisass/library 0.2.0 → 0.3.0

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 (81) hide show
  1. package/CHANGELOG.md +101 -3
  2. package/README.md +94 -0
  3. package/modules/utilities/converters/_convert-camel2kebab.scss +5 -4
  4. package/modules/utilities/converters/_convert-em2px.scss +5 -3
  5. package/modules/utilities/converters/_convert-hex2rgb.scss +4 -0
  6. package/modules/utilities/converters/_convert-hex2rgba.scss +5 -0
  7. package/modules/utilities/converters/_convert-kebab2camel.scss +5 -4
  8. package/modules/utilities/converters/_convert-kebab2snake.scss +4 -4
  9. package/modules/utilities/converters/_convert-px2em.scss +5 -4
  10. package/modules/utilities/converters/_convert-px2rem.scss +5 -4
  11. package/modules/utilities/converters/_convert-rem2px.scss +5 -3
  12. package/modules/utilities/converters/_convert-snake2kebab.scss +4 -4
  13. package/modules/utilities/getters/color/_get-color-brightness.scss +4 -0
  14. package/modules/utilities/getters/color/_get-color-darkest.scss +5 -1
  15. package/modules/utilities/getters/list/_get-list-item-end.scss +4 -2
  16. package/modules/utilities/getters/list/_get-list-item-start.scss +4 -2
  17. package/modules/utilities/getters/list/_get-list-item.scss +6 -4
  18. package/modules/utilities/getters/number/_get-number-from-percent.scss +6 -2
  19. package/modules/utilities/getters/number/_get-number-height-by-ratio.scss +5 -0
  20. package/modules/utilities/getters/number/_get-number-max.scss +4 -0
  21. package/modules/utilities/getters/number/_get-number-min.scss +4 -0
  22. package/modules/utilities/getters/number/_get-number-percentage-of.scss +6 -1
  23. package/modules/utilities/getters/number/_get-number-unit.scss +4 -2
  24. package/modules/utilities/getters/number/_get-number-width-by-ratio.scss +5 -0
  25. package/modules/utilities/helpers/color/_color-blend-steps.scss +6 -0
  26. package/modules/utilities/helpers/color/_color-blend.scss +6 -0
  27. package/modules/utilities/helpers/color/_color-hue-shift.scss +5 -0
  28. package/modules/utilities/helpers/color/_color-scale.scss +5 -0
  29. package/modules/utilities/helpers/color/_color-shade.scss +5 -0
  30. package/modules/utilities/helpers/color/_color-tint.scss +5 -0
  31. package/modules/utilities/helpers/color/_color-triad.scss +4 -1
  32. package/modules/utilities/helpers/list/_list-dedupe.scss +4 -0
  33. package/modules/utilities/helpers/list/_list-insert-at.scss +5 -0
  34. package/modules/utilities/helpers/list/_list-merge.scss +54 -8
  35. package/modules/utilities/helpers/list/_list-remove-at.scss +5 -0
  36. package/modules/utilities/helpers/list/_list-sum-numbers-safe.scss +3 -0
  37. package/modules/utilities/helpers/list/_list-sum-numbers.scss +3 -0
  38. package/modules/utilities/helpers/misc/_url-encode.scss +5 -6
  39. package/modules/utilities/helpers/number/_number-ceil-to.scss +56 -4
  40. package/modules/utilities/helpers/number/_number-clamp-max.scss +65 -10
  41. package/modules/utilities/helpers/number/_number-clamp-min.scss +65 -10
  42. package/modules/utilities/helpers/number/_number-clamp.scss +88 -12
  43. package/modules/utilities/helpers/number/_number-denormalize.scss +87 -9
  44. package/modules/utilities/helpers/number/_number-fibonacci.scss +62 -9
  45. package/modules/utilities/helpers/number/_number-floor-to.scss +57 -3
  46. package/modules/utilities/helpers/number/_number-format-with-separator.scss +99 -16
  47. package/modules/utilities/helpers/number/_number-normalize.scss +88 -10
  48. package/modules/utilities/helpers/number/_number-random-between-int.scss +74 -13
  49. package/modules/utilities/helpers/number/_number-random-between.scss +76 -15
  50. package/modules/utilities/helpers/number/_number-range.scss +105 -12
  51. package/modules/utilities/helpers/number/_number-round-to-nearest.scss +58 -1
  52. package/modules/utilities/helpers/number/_number-round-to.scss +65 -2
  53. package/modules/utilities/helpers/number/_number-strip-unit.scss +43 -9
  54. package/modules/utilities/helpers/string/_string-capitalize.scss +46 -5
  55. package/modules/utilities/helpers/string/_string-replace.scss +82 -4
  56. package/modules/utilities/helpers/string/_string-trim-end.scss +49 -6
  57. package/modules/utilities/helpers/string/_string-trim-start.scss +49 -6
  58. package/modules/utilities/helpers/string/_string-trim.scss +56 -11
  59. package/modules/utilities/loggers/_log-invalid-type.scss +1 -1
  60. package/modules/utilities/loggers/_log-invalid-value.scss +1 -1
  61. package/modules/utilities/validators/color/_is-color-light.scss +61 -4
  62. package/modules/utilities/validators/color/_is-color-list.scss +41 -9
  63. package/modules/utilities/validators/list/_is-list-contained.scss +42 -3
  64. package/modules/utilities/validators/misc/_is-time.scss +29 -0
  65. package/modules/utilities/validators/number/_is-int-even.scss +50 -8
  66. package/modules/utilities/validators/number/_is-int-odd.scss +51 -9
  67. package/modules/utilities/validators/number/_is-int.scss +71 -12
  68. package/modules/utilities/validators/number/_is-number-has-unit.scss +55 -13
  69. package/modules/utilities/validators/number/_is-number-negative.scss +53 -11
  70. package/modules/utilities/validators/number/_is-number-positive.scss +52 -10
  71. package/modules/utilities/validators/number/_is-number-unitless.scss +53 -12
  72. package/modules/utilities/validators/number/_is-number-zero.scss +54 -10
  73. package/modules/utilities/validators/string/_is-string-contained.scss +59 -4
  74. package/modules/utilities/validators/string/_is-string-empty.scss +48 -8
  75. package/modules/utilities/validators/string/_is-string-ending-with.scss +64 -5
  76. package/modules/utilities/validators/string/_is-string-starting-with.scss +60 -8
  77. package/package.json +1 -1
  78. package/package.scss +9 -8
  79. package/test.md +0 -168
  80. package/test.scss +0 -405
  81. package/test.sh +0 -149
package/test.sh DELETED
@@ -1,149 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Conventional Commit с использованием fzf
4
- # Убедитесь, что fzf установлен: brew install fzf, apt-get install fzf, или pacman -S fzf
5
-
6
- # Проверяем, есть ли изменения для коммита
7
- if [ -z "$(git status --porcelain)" ]; then
8
- echo "❌ Нет изменений для коммита"
9
- exit 1
10
- fi
11
-
12
- # Цвета для лучшего отображения
13
- RED='\033[0;31m'
14
- GREEN='\033[0;32m'
15
- YELLOW='\033[1;33m'
16
- BLUE='\033[0;34m'
17
- NC='\033[0m' # No Color
18
-
19
- # Функция для отображения заголовков
20
- header() {
21
- echo -e "${BLUE}=== $1 ===${NC}"
22
- }
23
-
24
- # Выбор типа коммита
25
- header "Тип коммита"
26
- TYPE=$(printf "feat: Новая функциональность
27
- fix: Исправление ошибки
28
- docs: Изменения в документации
29
- style: Форматирование, точки с запятой, пробелы
30
- refactor: Рефакторинг без изменения функциональности
31
- perf: Изменения для улучшения производительности
32
- test: Добавление или исправление тестов
33
- build: Изменения в системе сборки
34
- ci: Изменения в CI-конфигурации
35
- chore: Обновление зависимостей, рутинные задачи
36
- revert: Отмена предыдущего коммита" | fzf --height=50% --border=rounded \
37
- --header="Выберите тип коммита (↑↓ для навигации, Enter для выбора)" \
38
- --preview="echo -e '${GREEN}Пример:${NC}\n{1}: краткое описание\n\n${YELLOW}Сгенерирует:${NC}\n{1}: ваш текст'" | cut -d: -f1)
39
-
40
- if [ -z "$TYPE" ]; then
41
- echo "❌ Отменено пользователем"
42
- exit 0
43
- fi
44
-
45
- # Выбор области (scope)
46
- header "Область изменений"
47
- SCOPE=$(echo -e " \ngeneral\napi\nui\nauth\ndb\nconfig\ntests\ncli\ndocs\nbuild\ndeploy\nmobile\ndesktop\nserver\nclient\nfrontend\nbackend" | \
48
- fzf --height=40% --border=rounded --print-query \
49
- --header="Введите область или выберите из списка (Enter без ввода = без области)" | tail -1)
50
-
51
- SCOPE=$(echo "$SCOPE" | xargs) # Убираем лишние пробелы
52
-
53
- if [ -n "$SCOPE" ] && [ "$SCOPE" != " " ] && [ "$SCOPE" != "general" ]; then
54
- SCOPE="($SCOPE)"
55
- else
56
- SCOPE=""
57
- fi
58
-
59
- # Breaking change?
60
- header "Breaking Change"
61
- BREAKING=$(printf "Нет\nДа" | fzf --height=30% --border=rounded \
62
- --header="Это изменение ломает обратную совместимость?")
63
-
64
- if [ "$BREAKING" = "Да" ]; then
65
- BREAKING_CHAR="!"
66
-
67
- header "Описание Breaking Change"
68
- BREAKING_DESC=$(echo "" | fzf --height=10 --border=rounded --print-query \
69
- --header="Опишите что именно изменилось и как адаптировать код" | tail -1)
70
-
71
- if [ -z "$BREAKING_DESC" ] || [ "$BREAKING_DESC" = " " ]; then
72
- echo -e "${YELLOW}⚠️ Breaking change описан кратко${NC}"
73
- BREAKING_DESC="Изменен API/интерфейс, требуется обновление кода"
74
- fi
75
- else
76
- BREAKING_CHAR=""
77
- BREAKING_DESC=""
78
- fi
79
-
80
- # Краткое описание
81
- header "Краткое описание"
82
- DESCRIPTION=$(echo "" | fzf --height=10 --border=rounded --print-query \
83
- --header="Краткое описание (используйте повелительное наклонение, например: 'добавить', 'исправить', 'обновить')" | tail -1)
84
-
85
- # Проверка описания
86
- if [ -z "$DESCRIPTION" ] || [ "$DESCRIPTION" = " " ]; then
87
- echo -e "${RED}❌ Описание обязательно!${NC}"
88
- exit 1
89
- fi
90
-
91
- # Детальное описание (опционально)
92
- header "Детальное описание"
93
- echo -e "${YELLOW}Нажмите Ctrl+D для завершения ввода (или оставьте пустым)${NC}"
94
- echo "Введите детальное описание изменений:"
95
- BODY=""
96
- while IFS= read -r line; do
97
- if [ -z "$BODY" ]; then
98
- BODY="$line"
99
- else
100
- BODY="$BODY\n$line"
101
- fi
102
- done
103
-
104
- # Предпросмотр
105
- header "Предпросмотр коммита"
106
- FINAL_MESSAGE="$TYPE$SCOPE$BREAKING_CHAR: $DESCRIPTION"
107
-
108
- if [ -n "$BODY" ] && [ "$BODY" != " " ]; then
109
- FINAL_MESSAGE="$FINAL_MESSAGE\n\n$BODY"
110
- fi
111
-
112
- if [ -n "$BREAKING_DESC" ]; then
113
- if [ -n "$BODY" ] && [ "$BODY" != " " ]; then
114
- FINAL_MESSAGE="$FINAL_MESSAGE\n\n"
115
- else
116
- FINAL_MESSAGE="$FINAL_MESSAGE\n"
117
- fi
118
- FINAL_MESSAGE="$FINAL_MESSAGE\nBREAKING CHANGE: $BREAKING_DESC"
119
- fi
120
-
121
- echo -e "${GREEN}Сообщение коммита:${NC}"
122
- echo -e "------------------------------"
123
- echo -e "$FINAL_MESSAGE"
124
- echo -e "------------------------------"
125
-
126
- # Подтверждение
127
- header "Подтверждение"
128
- CONFIRM=$(printf "✅ Создать коммит\n❌ Отменить" | fzf --height=30% --border=rounded \
129
- --header="Все верно? (Enter для подтверждения)")
130
-
131
- if [[ "$CONFIRM" != "✅ Создать коммит" ]]; then
132
- echo -e "${YELLOW}❌ Отменено${NC}"
133
- exit 0
134
- fi
135
-
136
- # Создание коммита
137
- echo -e "$FINAL_MESSAGE" | git commit -F -
138
-
139
- # Проверка результата
140
- if [ $? -eq 0 ]; then
141
- echo -e "${GREEN}✅ Коммит успешно создан!${NC}"
142
-
143
- # Показываем последний коммит
144
- echo -e "\n${YELLOW}Последний коммит:${NC}"
145
- git log --oneline -1
146
- else
147
- echo -e "${RED}❌ Ошибка при создании коммита${NC}"
148
- exit 1
149
- fi