@cloud-ru/ds-fields 2.2.7-preview-d90ac2be.0 → 2.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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -0
  3. package/dist/cjs/components/FieldColor/FieldColor.js +1 -1
  4. package/dist/cjs/components/FieldColor/styles.module.css +9 -9
  5. package/dist/cjs/components/FieldCombo/FieldCombo.js +1 -1
  6. package/dist/cjs/components/FieldDate/styles.module.css +3 -3
  7. package/dist/cjs/components/FieldSecure/FieldSecure.js +1 -1
  8. package/dist/cjs/components/FieldSelect/FieldSelect.js +2 -2
  9. package/dist/cjs/components/FieldSelect/styles.module.css +15 -18
  10. package/dist/cjs/components/FieldSelect/types.d.ts +1 -1
  11. package/dist/cjs/components/FieldSlider/FieldSlider.js +1 -1
  12. package/dist/cjs/components/FieldSlider/styles.module.css +0 -7
  13. package/dist/cjs/components/FieldStepper/FieldStepper.js +2 -2
  14. package/dist/cjs/components/FieldStepper/styles.module.css +6 -52
  15. package/dist/cjs/components/FieldTextArea/FieldTextArea.js +1 -1
  16. package/dist/cjs/components/FieldTextArea/styles.module.css +39 -36
  17. package/dist/cjs/components/FieldTime/FieldTime.js +1 -1
  18. package/dist/cjs/components/shared/helperComponents/FieldElementButton/styles.module.css +22 -22
  19. package/dist/cjs/components/shared/helperComponents/FieldShell/FieldShell.d.ts +3 -1
  20. package/dist/cjs/components/shared/helperComponents/FieldShell/FieldShell.js +2 -2
  21. package/dist/cjs/components/shared/styles.module.css +151 -124
  22. package/dist/cjs/style.css +245 -271
  23. package/dist/esm/components/FieldColor/FieldColor.js +1 -1
  24. package/dist/esm/components/FieldColor/styles.module.css +9 -9
  25. package/dist/esm/components/FieldCombo/FieldCombo.js +1 -1
  26. package/dist/esm/components/FieldDate/styles.module.css +3 -3
  27. package/dist/esm/components/FieldSecure/FieldSecure.js +1 -1
  28. package/dist/esm/components/FieldSelect/FieldSelect.js +2 -2
  29. package/dist/esm/components/FieldSelect/styles.module.css +15 -18
  30. package/dist/esm/components/FieldSelect/types.d.ts +1 -1
  31. package/dist/esm/components/FieldSlider/FieldSlider.js +2 -2
  32. package/dist/esm/components/FieldSlider/styles.module.css +0 -7
  33. package/dist/esm/components/FieldStepper/FieldStepper.js +2 -2
  34. package/dist/esm/components/FieldStepper/styles.module.css +6 -52
  35. package/dist/esm/components/FieldTextArea/FieldTextArea.js +1 -1
  36. package/dist/esm/components/FieldTextArea/styles.module.css +39 -36
  37. package/dist/esm/components/FieldTime/FieldTime.js +1 -1
  38. package/dist/esm/components/shared/helperComponents/FieldElementButton/styles.module.css +22 -22
  39. package/dist/esm/components/shared/helperComponents/FieldShell/FieldShell.d.ts +3 -1
  40. package/dist/esm/components/shared/helperComponents/FieldShell/FieldShell.js +2 -2
  41. package/dist/esm/components/shared/styles.module.css +151 -124
  42. package/dist/esm/style.css +245 -271
  43. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  44. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  45. package/package.json +20 -20
  46. package/src/components/FieldColor/FieldColor.tsx +1 -1
  47. package/src/components/FieldColor/styles.module.scss +5 -7
  48. package/src/components/FieldCombo/FieldCombo.tsx +1 -1
  49. package/src/components/FieldDate/styles.module.scss +1 -1
  50. package/src/components/FieldSecure/FieldSecure.tsx +2 -1
  51. package/src/components/FieldSelect/FieldSelect.tsx +2 -0
  52. package/src/components/FieldSelect/styles.module.scss +7 -5
  53. package/src/components/FieldSelect/types.ts +1 -0
  54. package/src/components/FieldSlider/FieldSlider.tsx +3 -3
  55. package/src/components/FieldSlider/styles.module.scss +0 -8
  56. package/src/components/FieldStepper/FieldStepper.tsx +46 -41
  57. package/src/components/FieldStepper/styles.module.scss +10 -60
  58. package/src/components/FieldTextArea/FieldTextArea.tsx +2 -1
  59. package/src/components/FieldTextArea/styles.module.scss +33 -22
  60. package/src/components/FieldTime/FieldTime.tsx +1 -1
  61. package/src/components/shared/helperComponents/FieldElementButton/styles.module.scss +2 -2
  62. package/src/components/shared/helperComponents/FieldShell/FieldShell.tsx +4 -0
  63. package/src/components/shared/styles.module.scss +58 -17
@@ -207,6 +207,28 @@ $sizes: 's', 'm', 'l';
207
207
 
208
208
  @each $size in $sizes {
209
209
  &[data-size='#{$size}'] {
210
+ // Отступы inputWrapper — только вокруг input: кнопки стоят вплотную к postfix / иконке / краю, как в макете.
211
+ $inputPaddingLeft: base.simple-var(
212
+ field.$field,
213
+ 'anatomy',
214
+ 'size',
215
+ $size,
216
+ 'fieldContainer',
217
+ 'contentWrapper',
218
+ 'inputWrapper',
219
+ 'padding-left'
220
+ );
221
+ $inputPaddingRight: base.simple-var(
222
+ field.$field,
223
+ 'anatomy',
224
+ 'size',
225
+ $size,
226
+ 'fieldContainer',
227
+ 'contentWrapper',
228
+ 'inputWrapper',
229
+ 'padding-right'
230
+ );
231
+
210
232
  .lineWrapper {
211
233
  display: none;
212
234
  width: 0;
@@ -233,18 +255,33 @@ $sizes: 's', 'm', 'l';
233
255
  padding: $paddingTop $paddingRight $paddingBottom $paddingLeft;
234
256
  }
235
257
 
236
- .inputLine {
237
- @include base.composite-var(
258
+ // В мастере `multiLine/minHeight` стоит только у варианта `resizable=true`, остальные
259
+ // живут на высоте одной строки.
260
+ &[data-resizable] .fieldContainer {
261
+ min-height: base.simple-var(
238
262
  field.$field,
239
263
  'anatomy',
240
264
  'size',
241
265
  $size,
242
266
  'fieldContainer',
243
- 'contentWrapper',
244
- 'inputLine'
267
+ 'multiLine',
268
+ 'min-height'
245
269
  );
246
270
  }
247
271
 
272
+ .inputArea {
273
+ padding-right: $inputPaddingRight;
274
+ padding-left: $inputPaddingLeft;
275
+ }
276
+
277
+ .prefix {
278
+ padding-left: $inputPaddingLeft;
279
+ }
280
+
281
+ .postfix {
282
+ padding-right: $inputPaddingRight;
283
+ }
284
+
248
285
  .prefix,
249
286
  .postfix,
250
287
  .fieldInput {
@@ -259,7 +296,7 @@ $sizes: 's', 'm', 'l';
259
296
  $size,
260
297
  'fieldContainer',
261
298
  'centeredWrapper',
262
- 'max-height'
299
+ 'height'
263
300
  );
264
301
 
265
302
  // Иконки полей (iconBefore/iconAfter + декоративные chevron/calendar/watch) масштабируются
@@ -267,10 +304,10 @@ $sizes: 's', 'm', 'l';
267
304
  // приём, что в @cloud-ru/ds-button: @cloud-ru/ds-icons задают инлайн `style="width:24"`, который перебивает
268
305
  // обычный width, но не max-width, поэтому svg клампится к нужному размеру без JS-пропа.
269
306
  svg {
270
- $iconSlotSize: base.$sn-density-size-icon-s;
307
+ $iconSlotSize: base.$sn-density-icon-s;
271
308
 
272
309
  @if $size == 's' {
273
- $iconSlotSize: base.$sn-density-size-icon-xs;
310
+ $iconSlotSize: base.$sn-density-icon-xs;
274
311
  }
275
312
 
276
313
  max-width: $iconSlotSize;
@@ -280,28 +317,26 @@ $sizes: 's', 'm', 'l';
280
317
 
281
318
  .clearButtonSlot,
282
319
  .postfixButtonsSlot {
283
- // Кнопки clear/copy — иконный квадрат (паритет с легаси ButtonClearValue: 16px при s,
284
- // 24px при m/l), а не полноразмерная function-кнопка 32px. Те же icon-токены, что у .iconSlot.
285
- // @cloud-ru/ds-button читает min-height и iconOnly-minWidth через var() (figma-variables
286
- // button.module.scss) — локальный override сжимает кнопку до иконного квадрата без
287
- // правки @cloud-ru/ds-button. BUTTON_SIZE_MAP (@cloud-ru/ds-input-private): field s → button s, m/l → m.
288
- $iconSquare: base.$sn-density-size-icon-s;
320
+ // Кнопки clear/copy — иконный квадрат слота centeredWrapper (как легаси ButtonClearValue), а не кнопка 32px.
321
+ // Размер кнопки — BUTTON_SIZE_MAP из @cloud-ru/ds-input-private: field s → button s, m/l → m.
322
+ $slotWidth: base.simple-var(field.$field, 'anatomy', 'size', $size, 'fieldContainer', 'centeredWrapper', 'width');
323
+ $iconSquare: base.$sn-density-icon-s;
289
324
  $btnSize: 'm';
290
325
 
291
326
  @if $size == 's' {
292
- $iconSquare: base.$sn-density-size-icon-xs;
327
+ $iconSquare: base.$sn-density-icon-xs;
293
328
  $btnSize: 's';
294
329
  }
295
330
 
296
331
  --sn-button-anatomy-size-#{$btnSize}-container-minHeight: #{$iconSquare};
297
- --sn-button-anatomy-size-#{$btnSize}-container-iconOnly-minWidth: #{$iconSquare};
332
+ --sn-button-anatomy-size-#{$btnSize}-container-iconOnly-minWidth: #{$slotWidth};
298
333
 
299
- max-width: $iconSquare;
334
+ max-width: $slotWidth;
300
335
  max-height: $iconSquare;
301
336
 
302
337
  // Иконки @cloud-ru/ds-icons инлайнят style width:24 — без max-* кнопка при field s не сожмётся до 16.
303
338
  svg {
304
- max-width: $iconSquare;
339
+ max-width: $slotWidth;
305
340
  max-height: $iconSquare;
306
341
  }
307
342
  }
@@ -348,6 +383,12 @@ $sizes: 's', 'm', 'l';
348
383
  &[data-disabled='true'] {
349
384
  cursor: not-allowed;
350
385
  opacity: base.$sn-theme-effect-opacity-disabled;
386
+
387
+ // Кнопка сегмента, которая в макете не переходит в disabled вместе с полем (глаз FieldSecure):
388
+ // поле уже затемнено целиком, собственное затемнение кнопки (FieldElementButton) снимаем.
389
+ .elementButtonInheritDisabled[data-disabled='true'] > * {
390
+ opacity: 1;
391
+ }
351
392
  }
352
393
 
353
394
  &[data-readonly='true']:not([data-disabled='true']) {