@snack-uikit/fields 0.47.3-preview-673b81f0.0 → 0.47.4

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/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.47.4 (2025-06-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **PDS-2368:** gap for prefix in l size ([102562d](https://github.com/cloud-ru-tech/snack-uikit/commit/102562de801cdedad2f694854f7f7f57b42223d5))
12
+
13
+
14
+
15
+
16
+
17
+ ## 0.47.3 (2025-06-05)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **PDS-2417:** hide empty groups on search result ([e6bd5d1](https://github.com/cloud-ru-tech/snack-uikit/commit/e6bd5d139b2e3f5c8ee0bd197a67ba7c5cb09a43))
23
+
24
+
25
+
26
+
27
+
6
28
  ## 0.47.2 (2025-05-29)
7
29
 
8
30
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -247,7 +247,6 @@ FieldStepper в основном предназначен для работы с
247
247
  ### Props
248
248
  | name | type | default value | description |
249
249
  |------|------|---------------|-------------|
250
- | buildCellProps* | `CalendarProps` | - | |
251
250
  | mode* | "date" \| "date-time" | - | |
252
251
  | open | `boolean` | - | Открыт date-picker |
253
252
  | onOpenChange | `(value: boolean) => void` | - | Колбек открытия пикера |
@@ -256,6 +255,7 @@ FieldStepper в основном предназначен для работы с
256
255
  | showCopyButton | `boolean` | - | Отображение кнопки копирования |
257
256
  | onCopyButtonClick | `() => void` | - | Колбек клика по кнопке Копировать для поля |
258
257
  | showClearButton | `boolean` | true | Отображение кнопки Очистки поля |
258
+ | buildCellProps | `(date: Date, viewMode: ViewMode) => { isDisabled?: boolean; isHoliday?: boolean } ;` | - | Колбек установки свойств ячеек календаря. Вызывается на построение каждой ячейки. Принимает два параметра: <br> `Date` - дата ячейки <br> `ViewMode`: <br> - `month` отображение месяца, каждая ячейка - 1 день <br> - `year` отображение года, каждая ячейка - 1 месяц <br> - `decade` отображение декады, каждая ячейка - 1 год <br><br> Колбек должен возвращать объект с полями, отвечающими за отключение и подкраску ячейки. |
259
259
  | id | `string` | - | Значение html-атрибута id |
260
260
  | name | `string` | - | Значение html-атрибута name |
261
261
  | disabled | `boolean` | - | Является ли поле деактивированным |
@@ -337,8 +337,61 @@ FieldStepper в основном предназначен для работы с
337
337
  ### Props
338
338
  | name | type | default value | description |
339
339
  |------|------|---------------|-------------|
340
+ | options* | `OptionProps[]` | - | |
341
+ | id | `string` | - | Значение html-атрибута id |
342
+ | name | `string` | - | Значение html-атрибута name |
343
+ | disabled | `boolean` | false | Является ли поле деактивированным |
344
+ | readonly | `boolean` | false false | Является ли поле доступным только для чтения |
345
+ | onFocus | `FocusEventHandler<HTMLInputElement>` | - | Колбек обработки получения фокуса |
346
+ | onBlur | `FocusEventHandler<HTMLInputElement>` | - | Колбек обработки потери фокуса |
347
+ | placeholder | `string` | - | Значение плейсхолдера |
348
+ | onKeyDown | `KeyboardEventHandler<HTMLInputElement>` | - | Колбек обработки начала нажатия клавиши клавиатуры |
349
+ | className | `string` | - | CSS-класс |
350
+ | label | `string` | - | Лейбл |
351
+ | labelTooltip | `ReactNode` | - | Всплывающая подсказка лейбла |
352
+ | required | `boolean` | - | Является ли поле обязательным |
353
+ | caption | `string` | - | Подпись справа от лейбла |
354
+ | hint | `string` | - | Подсказка внизу |
355
+ | showHintIcon | `boolean` | - | Отображать иконку подсказки |
356
+ | size | enum Size: `"s"`, `"m"`, `"l"` | - | Размер |
357
+ | validationState | enum ValidationState: `"error"`, `"default"`, `"warning"`, `"success"` | - | Состояние валидации |
358
+ | labelTooltipPlacement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | top | Расположение подсказки лейбла |
359
+ | error | `string` | - | |
360
+ | loading | `boolean` | - | |
361
+ | prefix | `ReactNode` | - | Произвольный префикс для поля |
362
+ | postfix | `ReactNode` | - | Произвольный постфикс для поля |
363
+ | onChange | `OnChangeHandler<any>` | - | Controlled обработчик измения состояния |
364
+ | value | `ItemId \| ItemId[]` | - | Controlled состояние |
365
+ | defaultValue | `ItemId \| ItemId[]` | - | Начальное состояние |
366
+ | pinTop | `OptionProps[]` | - | |
367
+ | pinBottom | `OptionProps[]` | - | |
368
+ | searchable | `boolean` | - | |
369
+ | showCopyButton | `boolean` | - | Отображение кнопки Копировать для поля (актуально только для `readonly = true`) |
370
+ | onCopyButtonClick | `() => void` | - | Колбек клика по кнопке Копировать для поля |
371
+ | showClearButton | `boolean` | true | Отображение кнопки очистки поля |
372
+ | prefixIcon | `ReactElement<any, string \| JSXElementConstructor<any>>` | - | Иконка-префикс для поля |
373
+ | footer | `ReactNode` | - | |
374
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | - | |
375
+ | search | `SearchState` | - | |
376
+ | autocomplete | `boolean` | - | |
377
+ | addOptionByEnter | `boolean` | - | |
378
+ | open | `boolean` | - | |
379
+ | enableFuzzySearch | `boolean` | - | Включить нечеткий поиск |
380
+ | resetSearchOnOptionSelection | `boolean` | true | Поведение строки поиска при выборе опции из списка, false необходимо при асинхронной подгрузке значений с бэка, в случае если надо поиск оставить как значение при отсутствии данных |
381
+ | onOpenChange | `(open: boolean) => void` | - | |
382
+ | selectedOptionFormatter | `SelectedOptionFormatter` | - | |
383
+ | scrollToSelectedItem | `boolean` | - | Флаг, отвещающий за прокручивание до выбранного элемента |
384
+ | virtualized | `boolean` | - | Включить виртуализацию на компоненты списка. Рекомендуется если у вас от 1к элементов списка |
385
+ | untouchableScrollbars | `boolean` | - | Отключает возможность взаимодействовать со скролбарами мышью. |
386
+ | dataFiltered | `boolean` | - | |
387
+ | dataError | `boolean` | - | |
388
+ | noDataState | `EmptyStateProps` | - | Экран при отстутствии данных |
389
+ | noResultsState | `EmptyStateProps` | - | Экран при отстутствии результатов поиска или фильтров |
390
+ | errorDataState | `EmptyStateProps` | - | Экран при ошибке запроса |
391
+ | selection | "single" \| "multiple" | - | |
340
392
  | ref | `LegacyRef<HTMLInputElement>` | - | Allows getting a ref to the component instance. Once the component unmounts, React will set `ref.current` to `null` (or call the ref with `null` if you passed a callback ref). @see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs} |
341
393
  | key | `Key` | - | |
394
+ | removeByBackspace | `boolean` | - | |
342
395
  ## FieldSlider
343
396
  ### Props
344
397
  | name | type | default value | description |
@@ -409,7 +462,6 @@ FieldStepper в основном предназначен для работы с
409
462
  ### Props
410
463
  | name | type | default value | description |
411
464
  |------|------|---------------|-------------|
412
- | spellCheck* | `unknown` | - | |
413
465
  | showCopyButton | `boolean` | - | Отображение кнопки Копировать для поля (актуально только для `readonly = true`) |
414
466
  | onCopyButtonClick | `() => void` | - | Колбек клика по кнопке Копировать для поля |
415
467
  | showClearButton | `boolean` | true | Отображение кнопки очистки поля |
@@ -430,6 +482,7 @@ FieldStepper в основном предназначен для работы с
430
482
  | placeholder | `string` | - | Значение плейсхолдера |
431
483
  | maxLength | `number` | - | Максимальная длина вводимого значения |
432
484
  | autoComplete | `string \| boolean` | false | Включен ли автокомплит для поля |
485
+ | spellCheck | `boolean` | true | Значение атрибута spellcheck (проверка орфографии) |
433
486
  | onKeyDown | `KeyboardEventHandler<HTMLInputElement>` | - | Колбек обработки начала нажатия клавиши клавиатуры |
434
487
  | onPaste | `ClipboardEventHandler<HTMLInputElement>` | - | Колбек обработки вставки значения |
435
488
  | className | `string` | - | CSS-класс |
@@ -467,8 +520,8 @@ FieldStepper в основном предназначен для работы с
467
520
  | onBlur | `FocusEventHandler<HTMLTextAreaElement>` | - | Колбек потери фокуса |
468
521
  | placeholder | `string` | - | Плейсхолдер |
469
522
  | maxLength | `number` | - | Максимальное кол-во символов |
470
- | onKeyDown | `KeyboardEventHandler<HTMLTextAreaElement>` | - | Колбек нажатия клавиши клавиатуры |
471
523
  | spellCheck | `boolean` | true | Включение проверки орфографии |
524
+ | onKeyDown | `KeyboardEventHandler<HTMLTextAreaElement>` | - | Колбек нажатия клавиши клавиатуры |
472
525
  | className | `string` | - | CSS-класс |
473
526
  | label | `string` | - | Лейбл |
474
527
  | labelTooltip | `ReactNode` | - | Всплывающая подсказка лейбла |
@@ -488,8 +541,8 @@ FieldStepper в основном предназначен для работы с
488
541
  |------|------|---------------|-------------|
489
542
  | open | `boolean` | - | Открыт time-picker |
490
543
  | onOpenChange | `(value: boolean) => void` | - | Колбек открытия пикера |
491
- | value | `TimePickerProps` | - | Значение поля |
492
- | onChange | `TimePickerProps` | - | Колбек смены значения |
544
+ | value | `TimeValue` | - | Значение поля |
545
+ | onChange | `(value?: TimeValue) => void` | - | Колбек смены значения |
493
546
  | showCopyButton | `boolean` | - | Отображение кнопки копирования |
494
547
  | onCopyButtonClick | `() => void` | - | Колбек клика по кнопке Копировать для поля |
495
548
  | showSeconds | `boolean` | true | Показывать ли секунды |
@@ -255,16 +255,26 @@
255
255
  }
256
256
 
257
257
  .prefix{
258
+ color:var(--sys-neutral-text-disabled, #aaaebd);
259
+ }
260
+
261
+ [data-size=s] .prefix, [data-size=s] .postfix{
258
262
  display:inline-flex;
259
263
  flex-shrink:0;
260
- gap:var(--space-fields-postfix-gap, 4px);
264
+ gap:var(--space-fields-single-line-container-s-gap, 4px);
265
+ align-items:center;
266
+ }
267
+
268
+ [data-size=m] .prefix, [data-size=m] .postfix{
269
+ display:inline-flex;
270
+ flex-shrink:0;
271
+ gap:var(--space-fields-single-line-container-m-gap, 4px);
261
272
  align-items:center;
262
- color:var(--sys-neutral-text-disabled, #aaaebd);
263
273
  }
264
274
 
265
- .postfix{
275
+ [data-size=l] .prefix, [data-size=l] .postfix{
266
276
  display:inline-flex;
267
277
  flex-shrink:0;
268
- gap:var(--space-fields-postfix-gap, 4px);
278
+ gap:var(--space-fields-single-line-container-l-gap, 8px);
269
279
  align-items:center;
270
280
  }
@@ -255,16 +255,26 @@
255
255
  }
256
256
 
257
257
  .prefix{
258
+ color:var(--sys-neutral-text-disabled, #aaaebd);
259
+ }
260
+
261
+ [data-size=s] .prefix, [data-size=s] .postfix{
258
262
  display:inline-flex;
259
263
  flex-shrink:0;
260
- gap:var(--space-fields-postfix-gap, 4px);
264
+ gap:var(--space-fields-single-line-container-s-gap, 4px);
265
+ align-items:center;
266
+ }
267
+
268
+ [data-size=m] .prefix, [data-size=m] .postfix{
269
+ display:inline-flex;
270
+ flex-shrink:0;
271
+ gap:var(--space-fields-single-line-container-m-gap, 4px);
261
272
  align-items:center;
262
- color:var(--sys-neutral-text-disabled, #aaaebd);
263
273
  }
264
274
 
265
- .postfix{
275
+ [data-size=l] .prefix, [data-size=l] .postfix{
266
276
  display:inline-flex;
267
277
  flex-shrink:0;
268
- gap:var(--space-fields-postfix-gap, 4px);
278
+ gap:var(--space-fields-single-line-container-l-gap, 8px);
269
279
  align-items:center;
270
280
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Fields",
7
- "version": "0.47.3-preview-673b81f0.0",
7
+ "version": "0.47.4",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -65,5 +65,5 @@
65
65
  "peerDependencies": {
66
66
  "@snack-uikit/locale": "*"
67
67
  },
68
- "gitHead": "29b3e53a1d9f65b7e6382d990e1c06f8145fafbe"
68
+ "gitHead": "a98ea7541641f2a35f4eff6652e2c95d605cfa6c"
69
69
  }
@@ -124,17 +124,16 @@ $variants: 'single-line-container', 'single-line-container-button-before', 'sing
124
124
  }
125
125
 
126
126
  .prefix {
127
- display: inline-flex;
128
- flex-shrink: 0;
129
- gap: styles-tokens-fields.$space-fields-postfix-gap;
130
- align-items: center;
131
-
132
127
  color: styles-tokens-fields.$sys-neutral-text-disabled;
133
128
  }
134
129
 
135
- .postfix {
136
- display: inline-flex;
137
- flex-shrink: 0;
138
- gap: styles-tokens-fields.$space-fields-postfix-gap;
139
- align-items: center;
130
+ @each $size in $sizes {
131
+ [data-size='#{$size}'] {
132
+ .prefix, .postfix {
133
+ display: inline-flex;
134
+ flex-shrink: 0;
135
+ gap: styles-tokens-fields.simple-var(styles-tokens-fields.$fields, 'single-line-container', $size, 'gap');
136
+ align-items: center;
137
+ }
138
+ }
140
139
  }