@dss-kit/ui-kit 0.1.1 → 0.1.2
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/dist/components/builders/Box/Box.d.ts +4 -1
- package/dist/components/builders/Box/Box.d.ts.map +1 -1
- package/dist/components/builders/Modal/Modal.stories.d.ts.map +1 -1
- package/dist/components/builders/Ripple/Ripple.d.ts +39 -0
- package/dist/components/builders/Ripple/Ripple.d.ts.map +1 -0
- package/dist/components/builders/Ripple/index.d.ts +2 -0
- package/dist/components/builders/Ripple/index.d.ts.map +1 -0
- package/dist/components/builders/Text/Text.d.ts +8 -4
- package/dist/components/builders/Text/Text.d.ts.map +1 -1
- package/dist/components/builders/Text/utils/systemToClass.d.ts +4 -0
- package/dist/components/builders/Text/utils/systemToClass.d.ts.map +1 -1
- package/dist/components/controls/Button/Button.d.ts +4 -0
- package/dist/components/controls/Button/Button.d.ts.map +1 -1
- package/dist/components/controls/Button/index.d.ts +1 -1
- package/dist/components/controls/Button/index.d.ts.map +1 -1
- package/dist/components/controls/Button/styles.d.ts.map +1 -1
- package/dist/components/controls/Checkbox/Checkbox.d.ts +20 -0
- package/dist/components/controls/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/controls/Checkbox/Checkbox.stories.d.ts +12 -0
- package/dist/components/controls/Checkbox/Checkbox.stories.d.ts.map +1 -0
- package/dist/components/controls/Checkbox/index.d.ts +2 -0
- package/dist/components/controls/Checkbox/index.d.ts.map +1 -0
- package/dist/components/controls/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/controls/Input/Input.d.ts +77 -0
- package/dist/components/controls/Input/Input.d.ts.map +1 -0
- package/dist/components/controls/Input/Input.stories.d.ts +19 -0
- package/dist/components/controls/Input/Input.stories.d.ts.map +1 -0
- package/dist/components/controls/Input/index.d.ts +2 -0
- package/dist/components/controls/Input/index.d.ts.map +1 -0
- package/dist/components/controls/Select/Select.d.ts +85 -0
- package/dist/components/controls/Select/Select.d.ts.map +1 -0
- package/dist/components/controls/Select/Select.stories.d.ts +22 -0
- package/dist/components/controls/Select/Select.stories.d.ts.map +1 -0
- package/dist/components/controls/Select/index.d.ts +2 -0
- package/dist/components/controls/Select/index.d.ts.map +1 -0
- package/dist/components/controls/index.d.ts +3 -1
- package/dist/components/controls/index.d.ts.map +1 -1
- package/dist/components/shared/Portal/Portal.d.ts +3 -0
- package/dist/components/shared/Portal/Portal.d.ts.map +1 -0
- package/dist/components/shared/Portal/index.d.ts +2 -0
- package/dist/components/shared/Portal/index.d.ts.map +1 -0
- package/dist/components/shared/Tag/Tag.d.ts +49 -0
- package/dist/components/shared/Tag/Tag.d.ts.map +1 -0
- package/dist/components/shared/Tag/Tag.stories.d.ts +17 -0
- package/dist/components/shared/Tag/Tag.stories.d.ts.map +1 -0
- package/dist/components/shared/Tag/index.d.ts +3 -0
- package/dist/components/shared/Tag/index.d.ts.map +1 -0
- package/dist/components/shared/index.d.ts +2 -0
- package/dist/components/shared/index.d.ts.map +1 -1
- package/dist/root.css +1 -1
- package/dist/ui-kit.cjs.js +3 -3
- package/dist/ui-kit.cjs.js.map +1 -1
- package/dist/ui-kit.css +1 -1
- package/dist/ui-kit.es.js +3231 -2685
- package/dist/ui-kit.es.js.map +1 -1
- package/dist/utils/hooks/index.d.ts +3 -0
- package/dist/utils/hooks/index.d.ts.map +1 -0
- package/dist/utils/hooks/useControlled.d.ts +13 -0
- package/dist/utils/hooks/useControlled.d.ts.map +1 -0
- package/dist/utils/hooks/useDropdownPosition.d.ts +33 -0
- package/dist/utils/hooks/useDropdownPosition.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -47,7 +47,7 @@ type BoxSpacers = {
|
|
|
47
47
|
/** Если true, flex-direction будет row, иначе column */
|
|
48
48
|
row?: boolean;
|
|
49
49
|
/** Значение flex свойства. true эквивалентно 1 */
|
|
50
|
-
flex?: true | number;
|
|
50
|
+
flex?: true | number | string;
|
|
51
51
|
/** Абсолютное позиционирование на весь контейнер */
|
|
52
52
|
absoluteFill?: boolean;
|
|
53
53
|
/** Центрирование по горизонтали и вертикали */
|
|
@@ -70,6 +70,9 @@ type BoxSpacers = {
|
|
|
70
70
|
flexShrink?: number;
|
|
71
71
|
flexBasis?: Spacing;
|
|
72
72
|
backgroundColor?: string;
|
|
73
|
+
relative?: boolean;
|
|
74
|
+
absolute?: boolean;
|
|
75
|
+
display?: React.CSSProperties["display"];
|
|
73
76
|
};
|
|
74
77
|
/**
|
|
75
78
|
* Пропсы для компонента Box
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Box/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAI5D;;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,CAAC;
|
|
1
|
+
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Box/Box.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Modal/Modal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Modal/Modal.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAKvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CA8D5B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AAkDpC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAgDF,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC;AA8FF,eAAO,MAAM,eAAe,EAAE,KAI7B,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Тип для ссылки на экземпляр компонента Ripple.
|
|
3
|
+
* Позволяет программно запускать эффект ripple.
|
|
4
|
+
*/
|
|
5
|
+
type RippleHandle = {
|
|
6
|
+
/**
|
|
7
|
+
* Запускает эффект ripple.
|
|
8
|
+
* @param opts - Опции для запуска.
|
|
9
|
+
* @param opts.center - Если true, эффект запускается из центра элемента (по умолчанию true).
|
|
10
|
+
* @param opts.x - Координата X для центра ripple (игнорируется, если center=true).
|
|
11
|
+
* @param opts.y - Координата Y для центра ripple (игнорируется, если center=true).
|
|
12
|
+
*/
|
|
13
|
+
trigger: (opts?: {
|
|
14
|
+
center?: boolean;
|
|
15
|
+
x?: number;
|
|
16
|
+
y?: number;
|
|
17
|
+
}) => void;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Компонент Ripple для создания эффекта "волны" на интерактивных элементах.
|
|
21
|
+
* Поддерживает клики мышью/указателем, нажатия клавиш Enter/Space и программный запуск.
|
|
22
|
+
* Автоматически обрабатывает disabled состояния и обрезку по границам элемента.
|
|
23
|
+
*
|
|
24
|
+
* @param props - Пропсы компонента.
|
|
25
|
+
* @param props.color - Цвет ripple (по умолчанию "rgba(0,0,0,0.18)").
|
|
26
|
+
* @param props.duration - Длительность анимации (мс, по умолчанию 1000).
|
|
27
|
+
* @param props.radius - Радиус ripple: число (px) или "auto" (диаметр = max(ширина, высота) * 2, по умолчанию "auto").
|
|
28
|
+
* @param props.className - Дополнительный CSS-класс для overlay.
|
|
29
|
+
* @param ref - Ref для доступа к методу trigger.
|
|
30
|
+
* @returns JSX.Element - Overlay с ripple-элементами.
|
|
31
|
+
*/
|
|
32
|
+
export declare const Ripple: import('react').ForwardRefExoticComponent<{
|
|
33
|
+
color?: string;
|
|
34
|
+
duration?: number;
|
|
35
|
+
radius?: number | "auto";
|
|
36
|
+
className?: string;
|
|
37
|
+
} & import('react').RefAttributes<RippleHandle>>;
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=Ripple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Ripple.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Ripple/Ripple.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,KAAK,YAAY,GAAG;IAClB;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE,CAAC;AAyCF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM;YAEP,MAAM;eAAa,MAAM;aAAW,MAAM,GAAG,MAAM;gBAAc,MAAM;gDAqPjF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Ripple/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
@@ -40,10 +40,13 @@ 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;
|
|
43
44
|
hidden?: boolean | undefined;
|
|
45
|
+
flex?: string | number | undefined;
|
|
44
46
|
mt?: string | number | undefined;
|
|
47
|
+
mr?: string | number | undefined;
|
|
45
48
|
mb?: string | number | undefined;
|
|
46
|
-
|
|
49
|
+
ml?: string | number | undefined;
|
|
47
50
|
slot?: string | undefined;
|
|
48
51
|
title?: string | undefined;
|
|
49
52
|
ref?: React.LegacyRef<HTMLParagraphElement> | undefined;
|
|
@@ -91,7 +94,7 @@ export declare const AnimatedText: React.ComponentType<Omit<{
|
|
|
91
94
|
results?: number | undefined;
|
|
92
95
|
security?: string | undefined;
|
|
93
96
|
unselectable?: "off" | "on" | undefined;
|
|
94
|
-
inputMode?: "
|
|
97
|
+
inputMode?: "none" | "search" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
|
|
95
98
|
is?: string | undefined;
|
|
96
99
|
exportparts?: string | undefined;
|
|
97
100
|
part?: string | undefined;
|
|
@@ -112,12 +115,12 @@ export declare const AnimatedText: React.ComponentType<Omit<{
|
|
|
112
115
|
"aria-description"?: string | undefined;
|
|
113
116
|
"aria-details"?: string | undefined;
|
|
114
117
|
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
115
|
-
"aria-dropeffect"?: "
|
|
118
|
+
"aria-dropeffect"?: "none" | "link" | "copy" | "execute" | "move" | "popup" | undefined;
|
|
116
119
|
"aria-errormessage"?: string | undefined;
|
|
117
120
|
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
118
121
|
"aria-flowto"?: string | undefined;
|
|
119
122
|
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
120
|
-
"aria-haspopup"?: boolean | "
|
|
123
|
+
"aria-haspopup"?: boolean | "grid" | "dialog" | "menu" | "true" | "false" | "listbox" | "tree" | undefined;
|
|
121
124
|
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
122
125
|
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
123
126
|
"aria-keyshortcuts"?: string | undefined;
|
|
@@ -314,6 +317,7 @@ export declare const AnimatedText: React.ComponentType<Omit<{
|
|
|
314
317
|
lowercase?: boolean | undefined;
|
|
315
318
|
uppercase?: boolean | undefined;
|
|
316
319
|
decoration?: import("csstype").Property.TextDecoration<string | number> | undefined;
|
|
320
|
+
disabled?: boolean | undefined;
|
|
317
321
|
variant?: TextVariant | undefined;
|
|
318
322
|
tag?: "p" | "h1" | "h2" | "h3" | "span" | undefined;
|
|
319
323
|
colorName?: TextColor | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAIxE,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,KAAK,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CACjF,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EACjC,WAAW,CACZ,GACC,gBAAgB,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB;IACnB,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEJ,eAAO,MAAM,IAAI;gBAhBD,MAAM;IAClB,wBAAwB;cACd,WAAW;IACrB,wBAAwB;iBACX,UAAU;IACvB,mBAAmB;;IAEnB,yBAAyB;gBACb,SAAS;IACrB,oCAAoC;mBACrB,MAAM;IACrB,yCAAyC;sBACvB,MAAM;YAChB,KAAK,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/builders/Text/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAIxE,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,WAAW,CAAC;AAEhB,KAAK,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CACjF,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EACjC,WAAW,CACZ,GACC,gBAAgB,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB;IACnB,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,yBAAyB;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEJ,eAAO,MAAM,IAAI;gBAhBD,MAAM;IAClB,wBAAwB;cACd,WAAW;IACrB,wBAAwB;iBACX,UAAU;IACvB,mBAAmB;;IAEnB,yBAAyB;gBACb,SAAS;IACrB,oCAAoC;mBACrB,MAAM;IACrB,yCAAyC;sBACvB,MAAM;YAChB,KAAK,CAAC,aAAa;8CA4D7B,CAAC;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAe,CAAC"}
|
|
@@ -3,6 +3,8 @@ export type SystemStyleProps = {
|
|
|
3
3
|
mt?: number | string;
|
|
4
4
|
/** margin-bottom */
|
|
5
5
|
mb?: number | string;
|
|
6
|
+
ml?: number | string;
|
|
7
|
+
mr?: number | string;
|
|
6
8
|
flex?: number | string;
|
|
7
9
|
cursor?: React.CSSProperties["cursor"];
|
|
8
10
|
wordBreak?: React.CSSProperties["wordBreak"];
|
|
@@ -16,6 +18,8 @@ export type SystemStyleProps = {
|
|
|
16
18
|
uppercase?: boolean;
|
|
17
19
|
lowercase?: boolean;
|
|
18
20
|
capitalize?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
overflow?: React.CSSProperties["overflow"];
|
|
19
23
|
};
|
|
20
24
|
export declare const systemToClass: (props: SystemStyleProps) => string;
|
|
21
25
|
//# sourceMappingURL=systemToClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemToClass.d.ts","sourceRoot":"","sources":["../../../../../src/components/builders/Text/utils/systemToClass.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"systemToClass.d.ts","sourceRoot":"","sources":["../../../../../src/components/builders/Text/utils/systemToClass.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,gBAAgB,WA4BpD,CAAC"}
|
|
@@ -66,6 +66,10 @@ export interface ButtonProps extends Omit<HTMLMotionProps<"button">, "type"> {
|
|
|
66
66
|
* Принудительно задать цвет текста (перекрывает токены).
|
|
67
67
|
*/
|
|
68
68
|
textColor?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Принудительно задать цвет текста (перекрывает токены).
|
|
71
|
+
*/
|
|
72
|
+
textFontWeight?: string;
|
|
69
73
|
/**
|
|
70
74
|
* Принудительно задать цвет рамки (перекрывает токены).
|
|
71
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAU,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAU,MAAM,eAAe,CAAC;AAOxD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAc9B;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AAE/F,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAqIlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Button/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,UAAU,QAcrB,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAa3D,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAK1D,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAcjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,UAAU,EACnB,OAAO,WAAW,EAClB,WAAW,SAAS,GAAG,WAAW,EAClC,WAAW,OAAO,WAsDnB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { TextColor } from '../../builders';
|
|
3
|
+
interface CheckboxProps {
|
|
4
|
+
checked?: boolean;
|
|
5
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
indeterminate?: boolean;
|
|
8
|
+
size?: "sm" | "md";
|
|
9
|
+
title?: string;
|
|
10
|
+
titleColor?: TextColor;
|
|
11
|
+
subtitle?: string;
|
|
12
|
+
/** @default "secondary" */
|
|
13
|
+
subtitleColor?: TextColor;
|
|
14
|
+
name?: string;
|
|
15
|
+
value?: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAKpD,OAAO,EAAa,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAM7D,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,wFA6FpB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Checkbox } from './Checkbox';
|
|
3
|
+
declare const meta: Meta<typeof Checkbox>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Checkbox>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Sizes: Story;
|
|
8
|
+
export declare const Colors: Story;
|
|
9
|
+
export declare const States: Story;
|
|
10
|
+
export declare const Controlled: Story;
|
|
11
|
+
export declare const WithLabel: Story;
|
|
12
|
+
//# sourceMappingURL=Checkbox.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAkD/B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAUnB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAapB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAapB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Checkbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/IconButton/IconButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/IconButton/IconButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAe,EACf,KAAiB,EACjB,IAAW,EACX,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAmBlB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Императивный интерфейс для работы с Input через ref.
|
|
4
|
+
*/
|
|
5
|
+
export interface InputRef {
|
|
6
|
+
/** Фокус на поле */
|
|
7
|
+
focus: () => void;
|
|
8
|
+
/** Снятие фокуса */
|
|
9
|
+
blur: () => void;
|
|
10
|
+
/** Текущее значение поля */
|
|
11
|
+
value: string | undefined;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Общие пропсы для Input и Textarea.
|
|
15
|
+
*/
|
|
16
|
+
type CommonProps = {
|
|
17
|
+
/** Заголовок над полем */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Подсказка или JSX-элемент под полем */
|
|
20
|
+
prompt?: string | React.ReactNode;
|
|
21
|
+
/** Есть ли ошибка */
|
|
22
|
+
error?: boolean;
|
|
23
|
+
/** Текст ошибки */
|
|
24
|
+
errorText?: string;
|
|
25
|
+
/** Размер поля */
|
|
26
|
+
size?: "sm" | "md";
|
|
27
|
+
/** Префикс (иконка/элемент перед полем) */
|
|
28
|
+
prefix?: React.ReactNode;
|
|
29
|
+
/** Суффикс (элемент после поля) */
|
|
30
|
+
suffix?: React.ReactNode;
|
|
31
|
+
/** Цвет фона */
|
|
32
|
+
background?: "white" | "gray";
|
|
33
|
+
/** Кнопка очистки значения */
|
|
34
|
+
showClearButton?: boolean;
|
|
35
|
+
/** Заблокированное состояние */
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/** Контролируемое значение */
|
|
38
|
+
value?: string | number;
|
|
39
|
+
/** Неконтролируемое значение по умолчанию */
|
|
40
|
+
defaultValue?: string | number;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Пропсы для input (однострочный режим).
|
|
44
|
+
*/
|
|
45
|
+
type InputElementProps = CommonProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "prefix" | "onChange" | "value" | "defaultValue"> & {
|
|
46
|
+
multiline?: false;
|
|
47
|
+
/** Обработчик изменения (только для input) */
|
|
48
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
49
|
+
/** Тип поля (text, password и т.д.) */
|
|
50
|
+
type?: "text" | "password" | string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Пропсы для textarea (многострочный режим).
|
|
54
|
+
*/
|
|
55
|
+
type TextareaElementProps = CommonProps & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "size" | "prefix" | "onChange" | "value" | "defaultValue"> & {
|
|
56
|
+
multiline: true;
|
|
57
|
+
/** Количество строк по умолчанию */
|
|
58
|
+
rows?: number;
|
|
59
|
+
/** Авто-ресайз по содержимому */
|
|
60
|
+
autoResize?: boolean;
|
|
61
|
+
/** Обработчик изменения (только для textarea) */
|
|
62
|
+
onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
63
|
+
};
|
|
64
|
+
export type InputProps = InputElementProps | TextareaElementProps;
|
|
65
|
+
/**
|
|
66
|
+
* Компонент Input — универсальное поле ввода (input/textarea) с поддержкой:
|
|
67
|
+
* - controlled/uncontrolled режима,
|
|
68
|
+
* - кнопки очистки,
|
|
69
|
+
* - префиксов/суффиксов,
|
|
70
|
+
* - ошибок и подсказок,
|
|
71
|
+
* - авто-ресайза textarea.
|
|
72
|
+
*
|
|
73
|
+
* Поддерживает ref для императивного API (focus/blur/value).
|
|
74
|
+
*/
|
|
75
|
+
export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>;
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=Input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAiClF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oBAAoB;IACpB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,gBAAgB;IAChB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,GAAG,WAAW,GAClC,IAAI,CACF,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAC1D,GAAG;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC5D,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CACrC,CAAC;AAEJ;;GAEG;AACH,KAAK,oBAAoB,GAAG,WAAW,GACrC,IAAI,CACF,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EACjD,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAC1D,GAAG;IACF,SAAS,EAAE,IAAI,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;CAChE,CAAC;AAEJ,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,6EA6MhB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Input } from './Input';
|
|
3
|
+
declare const meta: Meta<typeof Input>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Input>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Error: Story;
|
|
8
|
+
export declare const Disabled: Story;
|
|
9
|
+
export declare const Small: Story;
|
|
10
|
+
export declare const WithPrefixSuffix: Story;
|
|
11
|
+
export declare const WithClearButton: Story;
|
|
12
|
+
export declare const Multiline: Story;
|
|
13
|
+
export declare const MultilineWithMaxLength: Story;
|
|
14
|
+
export declare const MultilineAutoResize: Story;
|
|
15
|
+
export declare const Password: Story;
|
|
16
|
+
export declare const WithPrompt: Story;
|
|
17
|
+
export declare const Controlled: Story;
|
|
18
|
+
export declare const DifferentBackgrounds: Story;
|
|
19
|
+
//# sourceMappingURL=Input.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Input/Input.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,CAwC5B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AAGpC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,KAgB9B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,KASvB,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,KAWpC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,KAYjC,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAiCxB,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,KAWlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { FocusEventHandler, ReactNode } from 'react';
|
|
2
|
+
export type SelectSize = "xs" | "sm" | "md";
|
|
3
|
+
export interface SelectProps<I, V> {
|
|
4
|
+
items: I[];
|
|
5
|
+
returnedValue: (item: I) => V;
|
|
6
|
+
renderItem: (item: I) => ReactNode;
|
|
7
|
+
value?: V | V[] | null;
|
|
8
|
+
onChange?: (val: V | V[] | null) => void;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
onBlur?: FocusEventHandler;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
label?: string | ReactNode;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
error?: boolean;
|
|
15
|
+
errorText?: string;
|
|
16
|
+
fullWidth?: boolean;
|
|
17
|
+
showDefaultItem?: boolean;
|
|
18
|
+
emptyText?: string | ReactNode;
|
|
19
|
+
firstItem?: ReactNode;
|
|
20
|
+
lastItem?: ReactNode;
|
|
21
|
+
observer?: ReactNode;
|
|
22
|
+
size?: SelectSize;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* =============================================================================
|
|
26
|
+
* Component: Select
|
|
27
|
+
* =============================================================================
|
|
28
|
+
*
|
|
29
|
+
* Универсальный выпадающий список с поддержкой:
|
|
30
|
+
* - single / multiple выбора
|
|
31
|
+
* - кастомного рендера элементов
|
|
32
|
+
* - портала для отрисовки dropdown поверх всего UI
|
|
33
|
+
* - встроенных состояний "disabled", "error", "empty"
|
|
34
|
+
* - элементов before / after (firstItem, lastItem)
|
|
35
|
+
* - динамического наблюдателя (observer)
|
|
36
|
+
*
|
|
37
|
+
* Пример использования:
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <Select
|
|
40
|
+
* label="Fruit"
|
|
41
|
+
* items={['Apple', 'Banana', 'Orange']}
|
|
42
|
+
* returnedValue={(item) => item}
|
|
43
|
+
* renderItem={(item) => item}
|
|
44
|
+
* placeholder="Select fruit"
|
|
45
|
+
* onChange={(val) => console.log(val)}
|
|
46
|
+
* />
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* =========================================================================
|
|
50
|
+
* Props
|
|
51
|
+
* =========================================================================
|
|
52
|
+
* @template I Тип элемента в массиве `items`
|
|
53
|
+
* @template V Тип возвращаемого значения (обычно string | number)
|
|
54
|
+
*
|
|
55
|
+
* @property {I[]} items - Массив элементов списка
|
|
56
|
+
* @property {(item: I) => V} returnedValue - Функция для получения значения из элемента
|
|
57
|
+
* @property {(item: I) => ReactNode} renderItem - Функция рендера контента для отображения
|
|
58
|
+
*
|
|
59
|
+
* @property {V | V[] | null} [value] - Контролируемое значение
|
|
60
|
+
* @property {(val: V | V[] | null) => void} [onChange] - Обработчик изменения значения
|
|
61
|
+
* @property {boolean} [multiple] - Включает режим мультивыбора
|
|
62
|
+
*
|
|
63
|
+
* @property {ReactNode} [label] - Заголовок / метка поля
|
|
64
|
+
* @property {string | ReactNode} [placeholder] - Текст-заглушка
|
|
65
|
+
* @property {boolean} [disabled] - Отключает компонент
|
|
66
|
+
* @property {boolean} [error] - Визуализирует состояние ошибки
|
|
67
|
+
* @property {string} [errorText] - Текст ошибки под полем
|
|
68
|
+
* @property {boolean} [fullWidth] - Растягивает компонент на всю ширину
|
|
69
|
+
* @property {boolean} [showDefaultItem] - Добавляет элемент "Сбросить выбор"
|
|
70
|
+
* @property {ReactNode} [emptyText] - Текст при пустом списке
|
|
71
|
+
*
|
|
72
|
+
* @property {ReactNode} [firstItem] - Элемент, рендерящийся в начале списка
|
|
73
|
+
* @property {ReactNode} [lastItem] - Элемент, рендерящийся в конце списка
|
|
74
|
+
* @property {ReactNode} [observer] - Наблюдатель (например, для infinite scroll)
|
|
75
|
+
*
|
|
76
|
+
* @property {"sm" | "md" | "lg"} [size] - Размер компонента
|
|
77
|
+
*
|
|
78
|
+
* =========================================================================
|
|
79
|
+
* Внутренние хуки
|
|
80
|
+
* =========================================================================
|
|
81
|
+
* - useDropdownPosition: вычисляет позицию dropdown относительно триггера
|
|
82
|
+
* - useControlled: управляет состоянием значения в controlled/uncontrolled режиме
|
|
83
|
+
*/
|
|
84
|
+
export declare function Select<I, V extends string | number>({ value, onChange, multiple, returnedValue, renderItem, placeholder, items, fullWidth, size, showDefaultItem, disabled, label, firstItem, lastItem, observer, emptyText, onBlur, error, errorText, }: SelectProps<I, V>): import("react/jsx-runtime").JSX.Element;
|
|
85
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAKV,MAAM,OAAO,CAAC;AAyBf,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IAEnC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACnD,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,IAAW,EACX,eAAe,EACf,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,2CA+QnB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { SelectProps } from './Select';
|
|
3
|
+
interface SelectItem {
|
|
4
|
+
id: number;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
type StorySelect = SelectProps<SelectItem, number>;
|
|
8
|
+
declare const meta: Meta<StorySelect>;
|
|
9
|
+
export default meta;
|
|
10
|
+
type Story = StoryObj<StorySelect>;
|
|
11
|
+
export declare const Default: Story;
|
|
12
|
+
export declare const Multiple: Story;
|
|
13
|
+
export declare const Error: Story;
|
|
14
|
+
export declare const Disabled: Story;
|
|
15
|
+
export declare const Sizes: Story;
|
|
16
|
+
export declare const WithCustomRender: Story;
|
|
17
|
+
export declare const Empty: Story;
|
|
18
|
+
export declare const WithFirstLastItem: Story;
|
|
19
|
+
export declare const WithDefaultItem: Story;
|
|
20
|
+
export declare const Controlled: Story;
|
|
21
|
+
export declare const WithObserver: Story;
|
|
22
|
+
//# sourceMappingURL=Select.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Select/Select.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/C,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAaD,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAEnD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,WAAW,CAgC3B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAGnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,KAa9B,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAOnB,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,KAgC/B,CAAC;AAkBF,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KA8DxB,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAgD1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/controls/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controls/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Portal/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAMnE,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAqBxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export type TagVariant = "filled";
|
|
3
|
+
export type TagColor = "primary" | "accent" | "warning" | "positive" | "negative";
|
|
4
|
+
export type TagSize = "md" | "sm" | "lg";
|
|
5
|
+
/**
|
|
6
|
+
* Пропсы для компонента Tag.
|
|
7
|
+
*
|
|
8
|
+
* @interface TagProps
|
|
9
|
+
* @property {ReactNode} label - Содержимое метки, отображаемое внутри тега.
|
|
10
|
+
* @property {TagColor} [color="primary"] - Вариант цвета тега.
|
|
11
|
+
* @property {(e: MouseEvent) => void} [onClick] - Необязательный обработчик клика для всего тега.
|
|
12
|
+
* @property {(e: MouseEvent) => void} [onDelete] - Необязательный обработчик удаления для кнопки удаления.
|
|
13
|
+
* @property {ReactNode} [avatar] - Необязательный элемент аватара для отображения слева.
|
|
14
|
+
* @property {ReactNode} [icon] - Необязательный элемент иконки для отображения слева.
|
|
15
|
+
* @property {boolean} [disabled] - Флаг отключения тега (неинтерактивный и полупрозрачный).
|
|
16
|
+
* @property {string} [className] - Необязательные дополнительные имена CSS-классов.
|
|
17
|
+
* @property {"md" | "sm" | "lg"} [size="md"] - Размер тега.
|
|
18
|
+
*/
|
|
19
|
+
export interface TagProps {
|
|
20
|
+
label: ReactNode;
|
|
21
|
+
color?: TagColor;
|
|
22
|
+
onClick?: (e: MouseEvent) => void;
|
|
23
|
+
onDelete?: (e: MouseEvent) => void;
|
|
24
|
+
avatar?: ReactNode;
|
|
25
|
+
icon?: ReactNode;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
className?: string;
|
|
28
|
+
size?: TagSize;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Универсальный компонент Tag для отображения меток с опциональными аватарами, иконками и действиями удаления.
|
|
32
|
+
* Поддерживает разные цвета, размеры и взаимодействия с кликами. Использует вариант filled по умолчанию.
|
|
33
|
+
*
|
|
34
|
+
* @component
|
|
35
|
+
* @param {TagProps} props - Пропсы для компонента Tag.
|
|
36
|
+
* @param {React.Ref<HTMLDivElement>} ref - Передаваемая ссылка на базовый элемент Box.
|
|
37
|
+
* @returns {JSX.Element} Отрендеренный компонент Tag.
|
|
38
|
+
* @example
|
|
39
|
+
* // Базовое использование
|
|
40
|
+
* <Tag label="Пример тега" />
|
|
41
|
+
*
|
|
42
|
+
* // С цветом и удалением
|
|
43
|
+
* <Tag label="Удаляемый" color="negative" onDelete={(e) => console.log('Удалено')} />
|
|
44
|
+
*
|
|
45
|
+
* // С аватаром и размером
|
|
46
|
+
* <Tag label="Тег пользователя" size="lg" avatar={<img src="avatar.jpg" alt="Аватар" />} />
|
|
47
|
+
*/
|
|
48
|
+
export declare const Tag: import('react').ForwardRefExoticComponent<TagProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
49
|
+
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/Tag/Tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAQlE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;AAClC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAClF,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AA0BzC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,GAAG,qGAwFf,CAAC"}
|