@dss-kit/ui-kit 0.2.14 → 0.2.16

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 (47) hide show
  1. package/dist/components/builders/Box/Box.d.ts +2 -0
  2. package/dist/components/builders/Box/Box.d.ts.map +1 -1
  3. package/dist/components/builders/Text/Text.d.ts +2 -2
  4. package/dist/components/charts/LineChart/LineChart.d.ts +3 -2
  5. package/dist/components/charts/LineChart/LineChart.d.ts.map +1 -1
  6. package/dist/components/charts/LineChart/LineChart.stories.d.ts +3 -1
  7. package/dist/components/charts/LineChart/LineChart.stories.d.ts.map +1 -1
  8. package/dist/components/charts/LineChart/constants.d.ts.map +1 -1
  9. package/dist/components/charts/LineChart/types.d.ts +56 -13
  10. package/dist/components/charts/LineChart/types.d.ts.map +1 -1
  11. package/dist/components/charts/LineChart/utils.d.ts +3 -1
  12. package/dist/components/charts/LineChart/utils.d.ts.map +1 -1
  13. package/dist/components/charts/PieProgressChart/PieProgressChart.d.ts +2 -1
  14. package/dist/components/charts/PieProgressChart/PieProgressChart.d.ts.map +1 -1
  15. package/dist/components/controls/RadioGroup/Radio.d.ts +93 -0
  16. package/dist/components/controls/RadioGroup/Radio.d.ts.map +1 -0
  17. package/dist/components/controls/RadioGroup/RadioGroup.d.ts +116 -0
  18. package/dist/components/controls/RadioGroup/RadioGroup.d.ts.map +1 -0
  19. package/dist/components/controls/RadioGroup/RadioGroup.stories.d.ts +16 -0
  20. package/dist/components/controls/RadioGroup/RadioGroup.stories.d.ts.map +1 -0
  21. package/dist/components/controls/RadioGroup/context.d.ts +87 -0
  22. package/dist/components/controls/RadioGroup/context.d.ts.map +1 -0
  23. package/dist/components/controls/RadioGroup/index.d.ts +3 -0
  24. package/dist/components/controls/RadioGroup/index.d.ts.map +1 -0
  25. package/dist/components/controls/index.d.ts +1 -0
  26. package/dist/components/controls/index.d.ts.map +1 -1
  27. package/dist/components/shared/Tooltip/Tooltip.d.ts +133 -0
  28. package/dist/components/shared/Tooltip/Tooltip.d.ts.map +1 -0
  29. package/dist/components/shared/Tooltip/Tooltip.stories.d.ts +34 -0
  30. package/dist/components/shared/Tooltip/Tooltip.stories.d.ts.map +1 -0
  31. package/dist/components/shared/Tooltip/constants.d.ts +14 -0
  32. package/dist/components/shared/Tooltip/constants.d.ts.map +1 -0
  33. package/dist/components/shared/Tooltip/index.d.ts +3 -0
  34. package/dist/components/shared/Tooltip/index.d.ts.map +1 -0
  35. package/dist/components/shared/Tooltip/types.d.ts +16 -0
  36. package/dist/components/shared/Tooltip/types.d.ts.map +1 -0
  37. package/dist/components/shared/Tooltip/utils.d.ts +14 -0
  38. package/dist/components/shared/Tooltip/utils.d.ts.map +1 -0
  39. package/dist/components/shared/index.d.ts +1 -0
  40. package/dist/components/shared/index.d.ts.map +1 -1
  41. package/dist/root.css +1 -1
  42. package/dist/ui-kit.cjs.js +14 -253
  43. package/dist/ui-kit.cjs.js.map +1 -1
  44. package/dist/ui-kit.css +1 -1
  45. package/dist/ui-kit.es.js +8399 -55309
  46. package/dist/ui-kit.es.js.map +1 -1
  47. package/package.json +7 -9
@@ -59,6 +59,8 @@ type BoxSpacers = {
59
59
  borderBottomWidth?: Spacing;
60
60
  borderColor?: string;
61
61
  borderRadius?: Spacing;
62
+ borderStyle?: React.CSSProperties["borderStyle"];
63
+ border?: React.CSSProperties["border"];
62
64
  zIndex?: number;
63
65
  overflow?: React.CSSProperties["overflow"];
64
66
  minWidth?: Spacing;
@@ -1 +1 @@
1
- {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Box/Box.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,OAAO,CAAC;AAEjE;;GAEG;AACH,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB,8FAA8F;IAC9F,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEjD,8FAA8F;IAC9F,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEjD,oCAAoC;IACpC,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,qDAAqD;IACrD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,mDAAmD;IACnD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,4BAA4B;IAC5B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,4BAA4B;IAC5B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,2BAA2B;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,2BAA2B;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,uCAAuC;IACvC,CAAC,CAAC,EAAE,OAAO,CAAC;IAEZ,wDAAwD;IACxD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,sDAAsD;IACtD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,+BAA+B;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,+BAA+B;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,8BAA8B;IAC9B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,8BAA8B;IAC9B,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,wDAAwD;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE9B,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAE7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;CAC1C,CAAC;AAyMF;;;GAGG;AACH,MAAM,WAAW,QACf,SAAQ,UAAU,EAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC;CAAG;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,GAAG,kHAWf,CAAC"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Box/Box.tsx"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ export declare const AnimatedText: React.ComponentType<Omit<{
40
40
  center?: boolean | undefined;
41
41
  left?: boolean | undefined;
42
42
  right?: boolean | undefined;
43
- overflow?: import("csstype").Property.Overflow | undefined;
44
43
  hidden?: boolean | undefined;
44
+ overflow?: import("csstype").Property.Overflow | undefined;
45
45
  flex?: string | number | undefined;
46
46
  mt?: string | number | undefined;
47
47
  mr?: string | number | undefined;
@@ -100,7 +100,7 @@ export declare const AnimatedText: React.ComponentType<Omit<{
100
100
  part?: string | undefined;
101
101
  "aria-activedescendant"?: string | undefined;
102
102
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
103
- "aria-autocomplete"?: "inline" | "none" | "list" | "both" | undefined;
103
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
104
104
  "aria-braillelabel"?: string | undefined;
105
105
  "aria-brailleroledescription"?: string | undefined;
106
106
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -1,4 +1,5 @@
1
- import { HighchartsReactRefObject } from '@highcharts/react';
1
+ import { FC } from 'react';
2
2
  import { LineChartProps } from './types';
3
- export declare const LineChart: import('react').ForwardRefExoticComponent<LineChartProps & import('react').RefAttributes<HighchartsReactRefObject>>;
3
+ declare const LineChart: FC<LineChartProps>;
4
+ export { LineChart };
4
5
  //# sourceMappingURL=LineChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/LineChart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,SAAS,qHAmDrB,CAAC"}
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/LineChart.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAyCjC,CAAC;AAGF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -40,13 +40,15 @@ export declare const WithNamedPoints: Story;
40
40
  /**
41
41
  * График с кастомным tooltip (выплаты по дням)
42
42
  *
43
- * Пример кастомного tooltip с использованием переменных шаблонов Highcharts.
43
+ * Пример полностью кастомного tooltip с использованием React-компонентов и переменных шаблонов Highcharts.
44
44
  *
45
45
  * В этом примере используются:
46
46
  * - `{point.y}` - для отображения значения точки (сумма выплат)
47
47
  * - `{point.key}` - для отображения категории (даты)
48
48
  *
49
49
  * Переменные шаблонов автоматически заменяются на актуальные значения при наведении на точку графика.
50
+ *
51
+ * **Важно:** Tooltip передается как объект с свойством `children`, которое содержит React-компонент.
50
52
  */
51
53
  export declare const WithCustomTooltip: Story;
52
54
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/LineChart.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAoGhC,CAAC;AAEF,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA8BtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA8BtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KA6BpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KA2BrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KA6C7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAqE9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAkC7B,CAAC;AAMF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,KA2E/B,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"LineChart.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/LineChart.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAmHhC,CAAC;AAEF,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA8BtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,KA8BtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,KA6BpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KA2BrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KA6C7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAqE9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAqC7B,CAAC;AAMF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAkF/B,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CA0CvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,kBAAkB,EAClB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QACT,cAAc,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KAC3B,CAAC;CACH,CA0CF,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAmCvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,kBAAkB,EAClB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QACT,cAAc,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KAC3B,CAAC;CACH,CA0CF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Highcharts, HighchartsOptionsType } from '@highcharts/react';
2
+ import { TooltipProps } from '@highcharts/react/options/Tooltip';
2
3
  import { AccentType, NegativeType, PositiveType, WarningType } from '../../../types';
3
4
  export type LineChartColorType = PositiveType | NegativeType | AccentType | WarningType;
4
5
  export type LineChartDataType = (number | Highcharts.PointOptionsObject | [string | number, number | null] | null)[] | undefined;
@@ -219,15 +220,20 @@ export interface LineChartProps extends Omit<React.HTMLAttributes<HTMLDivElement
219
220
  */
220
221
  containerProps?: React.HTMLAttributes<HTMLDivElement>;
221
222
  /**
222
- * Кастомный React-элемент для отображения всплывающей подсказки (tooltip) при наведении на точки графика.
223
+ * Конфигурация всплывающей подсказки (tooltip) при наведении на точки графика.
223
224
  *
224
- * Позволяет создать полностью настраиваемый tooltip с использованием React-компонентов и переменных
225
- * шаблонов Highcharts. Переменные шаблонов автоматически заменяются на актуальные значения точки.
225
+ * Принимает объект типа `TooltipProps` из `@highcharts/react`, который позволяет полностью
226
+ * настроить внешний вид и поведение tooltip. Можно использовать два подхода:
227
+ *
228
+ * **1. React-компоненты через `children`:**
229
+ *
230
+ * Передайте React-элементы в свойство `children` для создания кастомного tooltip.
231
+ * Внутри children можно использовать переменные шаблонов Highcharts в фигурных скобках.
226
232
  *
227
233
  * Основные переменные шаблонов:
228
234
  * - `{point.x}` - значение X координаты точки
229
235
  * - `{point.y}` - значение Y координаты точки
230
- * - `{point.key}` - ключ точки (обычно для категорий или дат)
236
+ * - `{point.key}` - ключ точки (категория или дата)
231
237
  * - `{point.name}` - имя точки
232
238
  * - `{series.name}` - название серии данных
233
239
  *
@@ -235,24 +241,61 @@ export interface LineChartProps extends Omit<React.HTMLAttributes<HTMLDivElement
235
241
  * - `{point.y:.2f}` - два знака после запятой
236
242
  * - `{point.y:,.0f}` - с разделителем тысяч, без десятичных
237
243
  *
238
- * Для правильной работы tooltip должен содержать атрибут `data-hc-option="pointFormat"`.
244
+ * **2. Строковые шаблоны через `pointFormat`:**
245
+ *
246
+ * Используйте свойство `pointFormat` для простых текстовых tooltip с переменными шаблонов.
247
+ *
248
+ * **Дополнительные настройки:**
249
+ *
250
+ * Компонент автоматически применяет следующие преднастройки:
251
+ * - `outside: true` - tooltip отображается вне контейнера графика
252
+ * - `useHTML: true` - поддержка HTML и React-компонентов
253
+ * - `padding: 0` - без отступов (настраивайте padding в ваших компонентах)
254
+ * - `backgroundColor`, `borderRadius`, `shadow` - стилизация по умолчанию
255
+ *
256
+ * Все преднастройки можно переопределить, передав свои значения в tooltip проп.
239
257
  *
240
258
  * @example
241
259
  * ```tsx
260
+ * // Пример 1: Кастомный tooltip с React-компонентами
242
261
  * <LineChart
243
262
  * data={[1000, 2500, 3200]}
244
263
  * yAxis={{}}
245
- * tooltip={
246
- * <div data-hc-option="pointFormat">
247
- * <p>{"{point.y} USDT"}</p>
248
- * <span>{"{point.key}"}</span>
249
- * </div>
250
- * }
264
+ * tooltip={{
265
+ * children: (
266
+ * <Box p="var(--spacing-md)">
267
+ * <Text>{"{point.y} USDT"}</Text>
268
+ * <Text colorName="tertiary">{"{point.key}"}</Text>
269
+ * </Box>
270
+ * )
271
+ * }}
272
+ * />
273
+ *
274
+ * // Пример 2: Простой строковый tooltip
275
+ * <LineChart
276
+ * data={[1000, 2500, 3200]}
277
+ * yAxis={{}}
278
+ * tooltip={{
279
+ * pointFormat: '<b>{point.y:.2f} USDT</b><br/>{point.key}'
280
+ * }}
281
+ * />
282
+ *
283
+ * // Пример 3: Переопределение стилей
284
+ * <LineChart
285
+ * data={[1000, 2500, 3200]}
286
+ * yAxis={{}}
287
+ * tooltip={{
288
+ * children: <div>{"{point.y}"}</div>,
289
+ * backgroundColor: '#ffffff',
290
+ * borderRadius: 12,
291
+ * padding: 16
292
+ * }}
251
293
  * />
252
294
  * ```
253
295
  *
254
- * @see Подробнее о переменных шаблонов в stories компонента
296
+ * @see Подробнее о переменных шаблонов и примерах в stories компонента
297
+ * @see Полный список свойств TooltipProps в документации @highcharts/react
255
298
  */
256
- tooltip?: React.ReactElement;
299
+ tooltip?: TooltipProps;
257
300
  }
258
301
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,MAAM,iBAAiB,GACzB,CACI,MAAM,GACN,UAAU,CAAC,kBAAkB,GAC7B,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAChC,IAAI,CACP,EAAE,GACH,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IACzD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,KAAK,EAAE,kBAAkB,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,MAAM,iBAAiB,GACzB,CACI,MAAM,GACN,UAAU,CAAC,kBAAkB,GAC7B,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAChC,IAAI,CACP,EAAE,GACH,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IACzD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACH,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,KAAK,EAAE,kBAAkB,CAAC;IAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4EG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB"}
@@ -1,4 +1,6 @@
1
1
  import { HighchartsOptionsType } from '@highcharts/react';
2
+ import { TooltipProps } from '@highcharts/react/options/Tooltip';
2
3
  import { LineChartColorType, LineChartDataType, LineChartXAxisType, LineChartYAxisType } from './types';
3
- export declare const buildLineChartOptions: (color: LineChartColorType, data: LineChartDataType, xAxis: LineChartXAxisType, yAxis: LineChartYAxisType) => HighchartsOptionsType;
4
+ export declare const buildLineChartOptions: (color: LineChartColorType, data: LineChartDataType, xAxis: LineChartXAxisType, yAxis: LineChartYAxisType, tooltip: boolean) => HighchartsOptionsType;
5
+ export declare const buildTooltipProps: (tooltip?: TooltipProps) => TooltipProps;
4
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,qBAAqB,GAChC,OAAO,kBAAkB,EACzB,MAAM,iBAAiB,EACvB,OAAO,kBAAkB,EACzB,OAAO,kBAAkB,KACxB,qBAmBF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/LineChart/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,qBAAqB,GAChC,OAAO,kBAAkB,EACzB,MAAM,iBAAiB,EACvB,OAAO,kBAAkB,EACzB,OAAO,kBAAkB,EACzB,SAAS,OAAO,KACf,qBAgCF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,YAAY,KAAG,YAgBzD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { HighchartsReactRefObject } from '@highcharts/react';
2
2
  import { PieProgressChartProps } from './types';
3
- export declare const PieProgressChart: import('react').ForwardRefExoticComponent<PieProgressChartProps & import('react').RefAttributes<HighchartsReactRefObject>>;
3
+ declare const PieProgressChart: import('react').ForwardRefExoticComponent<PieProgressChartProps & import('react').RefAttributes<HighchartsReactRefObject>>;
4
+ export { PieProgressChart };
4
5
  //# sourceMappingURL=PieProgressChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PieProgressChart.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/PieProgressChart/PieProgressChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,eAAO,MAAM,gBAAgB,4HAwC5B,CAAC"}
1
+ {"version":3,"file":"PieProgressChart.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/PieProgressChart/PieProgressChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,QAAA,MAAM,gBAAgB,4HAwCrB,CAAC;AAGF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { default as React } from 'react';
2
+ import { Size } from '../../../types';
3
+ /**
4
+ * Radio — доступная реализация визуального радио-переключателя.
5
+ *
6
+ * Компонент поддерживает два режима работы:
7
+ * 1. В составе RadioGroup (контекст) — контролируется через `value`/`setValue` в контексте.
8
+ * 2. Standalone — может быть контролируемым (через `checked` + `onChange`) или неконтролируемым
9
+ * (через `defaultChecked`).
10
+ *
11
+ * Основные особенности:
12
+ * - Forward-ref на нативный `<button />`.
13
+ * - Использует `role="radio"` и `aria-checked` + `aria-disabled` для доступности.
14
+ * - Работает с подходом "roving tabindex": активный (checked) элемент получает tabIndex=0, остальные - -1.
15
+ * - Поддерживает кастомный `description` — вспомогательный текст под основным содержимым.
16
+ * - Параметр `size` меняет геометрию радиокнопки: `sm` или `md`.
17
+ *
18
+ * API и примеры использования находятся в JSDoc комментариях ниже.
19
+ */
20
+ export type RadioProps = {
21
+ /** Значение радиокнопки в группе. Обязательно для использования внутри RadioGroup. */
22
+ value?: string;
23
+ /** Содержимое метки (label). Ожидается текст или любой ReactNode. */
24
+ children?: React.ReactNode;
25
+ /** Отключает компонент, делая прозрачней. Если радио находится в группе — учитывается флаг группы. */
26
+ disabled?: boolean;
27
+ /** Дополнительный CSS-класс (emotion / scss и т.д.). */
28
+ className?: string;
29
+ /** Контролируемый режим: значение checked управляется извне. */
30
+ checked?: boolean;
31
+ /** Неконтролируемый режим: начальное значение. */
32
+ defaultChecked?: boolean;
33
+ /** Колбек для standalone режима: получает новый checked (boolean). */
34
+ onChange?: (checked: boolean) => void;
35
+ /** Вспомогательный текст под label. */
36
+ description?: React.ReactNode;
37
+ /** Можно переопределить размер на уровне конкретного Radio.
38
+ *
39
+ * @default "md"
40
+ */
41
+ size?: Extract<Size, "sm" | "md">;
42
+ /** Можно переопределить расположение Radio на уровне конкретного Radio.
43
+ *
44
+ * @default "left"
45
+ */
46
+ side?: "left" | "right";
47
+ /**
48
+ * Делает конкретное Radio доступной только для чтения.
49
+ * - Изменение выбранного значения запрещено.
50
+ * - В отличие от `disabled`, визуально не выглядить как отключённое.
51
+ */
52
+ readOnly?: boolean;
53
+ /** Включает визуальное состояние ошибки (рамка, цвет заливки и т.п.). */
54
+ error?: boolean;
55
+ };
56
+ /**
57
+ * Radio (React.forwardRef)
58
+ *
59
+ * Props behaviour summary:
60
+ * - Grouped: если компонент вложен в RadioGroup (useRadioGroupContext возвращает ctx),
61
+ * то `value` используется как идентификатор и `checked`/`onChange` карточные props игнорируются.
62
+ * Для управления выбраным элементом используйте RadioGroup (контекст).
63
+ * - Standalone (не в группе):
64
+ * - Контролируемый: передайте `checked` + `onChange`.
65
+ * - Неконтролируемый: передайте `defaultChecked` и используйте `onChange` при необходимости.
66
+ *
67
+ * Accessibility notes:
68
+ * - Используется role="radio" и aria-checked={boolean}.
69
+ * - aria-disabled выставляется если disabled.
70
+ * - Компонент реализует roving tabindex — только выбранный элемент доступен через Tab.
71
+ * - Внимание: компонент намеренно рендерится как <button> (см. biome-ignore comment) —
72
+ * ответственность за поддержку клавиш навигации (стрелки в группе) лежит на RadioGroup.
73
+ *
74
+ * Forwarded ref: ref будет указывать на HTMLButtonElement.
75
+ *
76
+ * Examples:
77
+ *
78
+ * // Standalone controlled
79
+ * const [checked, setChecked] = useState(false);
80
+ * <Radio checked={checked} onChange={(c) => setChecked(c)}>Опция</Radio>
81
+ *
82
+ * // Standalone uncontrolled
83
+ * <Radio defaultChecked>Опция (по-умолчанию выбрана)</Radio>
84
+ *
85
+ * // В группе — RadioGroup реализует контекст (пример псевдокода)
86
+ * <RadioGroup value={value} onChange={(v) => setValue(v)} size="sm">
87
+ * <Radio value="a">Первый</Radio>
88
+ * <Radio value="b" description="описание">Второй</Radio>
89
+ * </RadioGroup>
90
+ */
91
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLButtonElement>>;
92
+ export { Radio };
93
+ //# sourceMappingURL=Radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RadioGroup/Radio.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAKpC;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sGAAsG;IACtG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC,uCAAuC;IACvC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,KAAK,sFAkIV,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { default as React } from 'react';
2
+ import { Size } from '../../../types';
3
+ /**
4
+ * RadioGroup — контейнер для группы радио-кнопок.
5
+ *
6
+ * Предназначение:
7
+ * - Обеспечить единый источник правды для набора Radio компонент (через контекст).
8
+ * - Передать общий `name`, `disabled`, `size` и текущее `value` всем дочерним Radio.
9
+ * - Обеспечить контроль над выбором (controlled / uncontrolled API) и удобный callback `onChange`.
10
+ *
11
+ * Ключевые особенности:
12
+ * - Поддерживает controlled (`value` + `onChange`) и uncontrolled (`defaultValue`) режимы.
13
+ * - Экспортирует forwardRef на контейнер `div`.
14
+ * - Помещает в DOM роль `radiogroup` и выставляет `aria-invalid` при необходимости.
15
+ * - Параметр `size` задаёт размер всех Radio в группе (`sm` | `md`).
16
+ *
17
+ * Accessibility notes:
18
+ * - Радиогруппа рендерит `role="radiogroup"` и должна содержать элементы с `role="radio"`.
19
+ * - Компонент не реализует управление фокусом стрелками (arrow-key navigation). Это сделано намеренно —
20
+ * поведение клавиатурной навигации легче и корректнее реализуется там, где известна точная структура DOM
21
+ * и потребности приложения (например, поддержка направления RTL, циклической навигации и т.п.).
22
+ * - Рекомендуемая реализация навигации стрелками (если нужна): добавить обработчик `onKeyDown` на контейнер,
23
+ * получить список `[role="radio"]` и управлять фокусом/выбором через `element.focus()` и `setValue`.
24
+ *
25
+ * Props и поведение:
26
+ * - name?: string — передаётся в контекст; может использоваться для генерации атрибутов `name` при интеграции с формами.
27
+ * - label?: React.ReactNode — заголовок/лейбл группы; строковые значения автоматически оборачиваются в `Text`.
28
+ * - value?: string — контролируемый режим: текущее выбранное значение.
29
+ * - defaultValue?: string — начальное значение при неконтролируемом режиме.
30
+ * - onChange?: (value: string) => void — колбек при изменении выбранного значения.
31
+ * - children: React.ReactNode — ожидаются Radio компоненты (или их комбинации).
32
+ * - className?: string — дополнительный CSS класс для контейнера.
33
+ * - error?: boolean — помечает группу как невалидную (aria-invalid).
34
+ * - disabled?: boolean — если true — передаётся в контекст и отключает все Radio в группе.
35
+ * - size?: "sm" | "md" — глобальный размер для всех Radio в группе (по умолчанию 'md').
36
+ *
37
+ * Example usage:
38
+ *
39
+ * // Controlled
40
+ * const [value, setValue] = useState<string | undefined>("option1");
41
+ * <RadioGroup value={value} onChange={setValue} label="Выберите опцию">
42
+ * <Radio value="option1">Первый</Radio>
43
+ * <Radio value="option2">Второй</Radio>
44
+ * </RadioGroup>
45
+ *
46
+ * // Uncontrolled
47
+ * <RadioGroup defaultValue="option2" label="Пример">
48
+ * <Radio value="option1">Первый</Radio>
49
+ * <Radio value="option2">Второй</Radio>
50
+ * </RadioGroup>
51
+ */
52
+ export type RadioGroupProps = {
53
+ /**
54
+ * Лейбл (заголовок) радиогруппы.
55
+ * - Если передана строка — автоматически оборачивается в компонент <Text />
56
+ * с вторичным цветом.
57
+ * - Если передан ReactNode — рендерится как есть.
58
+ */
59
+ label?: React.ReactNode;
60
+ /**
61
+ * Контролируемое значение выбранного Radio.
62
+ * Если задано — RadioGroup работает в controlled-режиме,
63
+ * а изменение значения возможно только через `onChange`.
64
+ */
65
+ value?: string;
66
+ /**
67
+ * Начальное значение для неконтролируемого режима.
68
+ * Используется только если `value` не задан.
69
+ */
70
+ defaultValue?: string;
71
+ /**
72
+ * Колбек, вызываемый при смене выбранного значения.
73
+ * Вызывается как в controlled, так и в uncontrolled режиме.
74
+ */
75
+ onChange?: (value: string) => void;
76
+ /**
77
+ * Дочерние элементы группы.
78
+ * Ожидаются компоненты <Radio />, либо композиции на их основе.
79
+ */
80
+ children: React.ReactNode;
81
+ /**
82
+ * Дополнительный CSS-класс для корневого контейнера группы.
83
+ * Поддерживает классы из emotion, scss и т.п.
84
+ */
85
+ className?: string;
86
+ /**
87
+ * Помечает группу как невалидную.
88
+ * Устанавливает атрибут `aria-invalid` у контейнера с role="radiogroup".
89
+ */
90
+ error?: boolean;
91
+ /**
92
+ * Отключает всю группу целиком.
93
+ * Значение передаётся в контекст и делает все Radio внутри disabled.
94
+ */
95
+ disabled?: boolean;
96
+ /** Можно переопределить расположение Radio на уровне конкретного Radio.
97
+ *
98
+ * @default "left"
99
+ */
100
+ side?: "left" | "right";
101
+ /**
102
+ * Делает конкретное Radio доступной только для чтения.
103
+ * - Изменение выбранного значения запрещено.
104
+ * - В отличие от `disabled`, визуально не выглядить как отключённое.
105
+ */
106
+ readOnly?: boolean;
107
+ /**
108
+ * Размер всех Radio в группе.
109
+ * Значение по умолчанию — `"md"`.
110
+ * Может быть переопределено на уровне отдельного Radio.
111
+ */
112
+ size?: Extract<Size, "sm" | "md">;
113
+ };
114
+ declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
115
+ export { RadioGroup };
116
+ //# sourceMappingURL=RadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;CACnC,CAAC;AAEF,QAAA,MAAM,UAAU,wFA+Df,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { RadioGroup } from './RadioGroup';
3
+ declare const meta: Meta<typeof RadioGroup>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof RadioGroup>;
6
+ export declare const Playground: Story;
7
+ export declare const Controlled: Story;
8
+ export declare const Uncontrolled: Story;
9
+ export declare const Invalid: Story;
10
+ export declare const Disabled: Story;
11
+ export declare const ReadOnlyGroup: Story;
12
+ export declare const SideVariants: Story;
13
+ export declare const SizeVariants: Story;
14
+ export declare const WithDescriptions: Story;
15
+ export declare const CustomStandalone: Story;
16
+ //# sourceMappingURL=RadioGroup.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RadioGroup/RadioGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAuBjC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AAKzC,eAAO,MAAM,UAAU,EAAE,KAaxB,CAAC;AAKF,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAC;AAKF,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAKF,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAKF,eAAO,MAAM,aAAa,EAAE,KAuC3B,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAKF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,KAqB9B,CAAC;AAKF,eAAO,MAAM,gBAAgB,EAAE,KAiD9B,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { default as React } from 'react';
2
+ import { Size } from '../../../types';
3
+ /**
4
+ * Значение, которое хранится в контексте RadioGroup.
5
+ *
6
+ * Этот тип описывает минимальный контракт между RadioGroup и дочерними Radio.
7
+ * Поля должны быть максимально простыми, чтобы облегчить тестирование и миграции.
8
+ */
9
+ export type RadioGroupContextValue = {
10
+ /**
11
+ * Текущее выбранное значение в группе.
12
+ * - Для controlled RadioGroup это будет value из пропсов.
13
+ * - Для uncontrolled — внутреннее значение по умолчанию / обновляемое через setValue.
14
+ */
15
+ value?: string;
16
+ /**
17
+ * Флаг "только для чтения" на уровне группы.
18
+ * - Если true — попытки изменить выбранное значение должны игнорироваться.
19
+ * - В отличие от `disabled`, элементы остаются фокусируемыми и визуально активными
20
+ * (если нужно иное — стилизуйте отдельно).
21
+ */
22
+ readOnly?: boolean;
23
+ /**
24
+ * Флаг disabled на уровне группы. Если true — дочерние Radio должны выглядеть и вести себя
25
+ * как отключённые (aria-disabled + визуальная индикация).
26
+ */
27
+ disabled?: boolean;
28
+ /**
29
+ * Помечает группу как невалидную.
30
+ * Устанавливает атрибут `aria-invalid` у контейнера с role="radiogroup".
31
+ */
32
+ error?: boolean;
33
+ /**
34
+ * Функция для установки значения. Может быть undefined для read-only / статичных сценариев
35
+ * или если RadioGroup рендерится в режиме, где изменение значения недоступно.
36
+ *
37
+ * В контролируемом режиме этот вызов должен делегировать наружу через onChange.
38
+ */
39
+ setValue?: (v: string) => void;
40
+ /**
41
+ * Размер радиокнопок в группе. Ограничен только "sm" | "md" для совместимости со стилями.
42
+ */
43
+ size?: Extract<Size, "sm" | "md">;
44
+ /**
45
+ * Расположение визуального контролла относительно лейбла: слева или справа.
46
+ * Удобно для случаев, когда дизайн хочет получить radio справа от лейбла.
47
+ */
48
+ side?: "left" | "right";
49
+ };
50
+ /**
51
+ * Контекст RadioGroup.
52
+ *
53
+ * Храним `null` по умолчанию — это упрощает проверку в дочерних компонентах
54
+ * (позволяет отличать использование внутри группы и как standalone).
55
+ */
56
+ export declare const RadioGroupContext: React.Context<RadioGroupContextValue | null>;
57
+ /**
58
+ * Хук-помощник для удобного доступа к контексту.
59
+ *
60
+ * Важно: в компонентах, которые могут использоваться как внутри группы так и standalone,
61
+ * рекомендуется работать с возвращаемым значением как с опциональным:
62
+ *
63
+ * const ctx = useRadioGroupContext();
64
+ * const isGrouped = !!ctx;
65
+ *
66
+ * Если нужно — можно обернуть этот хук в строгий вариант, который кидает ошибку
67
+ * при отсутствии контекста (полезно для внутренних компонентов, которые должны
68
+ * обязательно использоваться внутри RadioGroup).
69
+ *
70
+ * Example strict variant (not exported by default):
71
+ * const useRequiredRadioGroupContext = () => {
72
+ * const ctx = useContext(RadioGroupContext);
73
+ * if (!ctx) throw new Error("Radio must be used within a RadioGroup");
74
+ * return ctx;
75
+ * };
76
+ */
77
+ export declare const useRadioGroupContext: () => RadioGroupContextValue | null;
78
+ /**
79
+ * Рекомендации для разработчиков компонентов, использующих этот контекст:
80
+ *
81
+ * - Для чтения флагов используйте явные приоритеты: `const isDisabled = ctx?.disabled || localDisabled`.
82
+ * - Обрабатывайте readOnly отдельно от disabled:
83
+ * - readOnly должна блокировать setValue, но не снимать фокус или изменять визуализацию по-умолчанию,
84
+ * если дизайнер не просит иного.
85
+ * - Не добавляйте лишней логики в контекст — держите его максимально легковесным.
86
+ */
87
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RadioGroup/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IAElC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,8CAC4B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oBAAoB,qCAAsC,CAAC;AAExE;;;;;;;;GAQG"}
@@ -0,0 +1,3 @@
1
+ export * from './Radio';
2
+ export * from './RadioGroup';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/RadioGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -3,6 +3,7 @@ export * from './Checkbox';
3
3
  export * from './IconButton';
4
4
  export * from './Input';
5
5
  export * from './OtpInput';
6
+ export * from './RadioGroup';
6
7
  export * from './SegmentControl';
7
8
  export * from './Select';
8
9
  export * from './Switch';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}