@companix/uikit 0.0.36 → 0.0.37
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/Avatar/Avatar.scss +64 -0
- package/dist/Avatar/helpers.d.ts +10 -0
- package/dist/Avatar/index.d.ts +8 -0
- package/dist/Avatar/types.d.ts +2 -0
- package/dist/Button/Button.scss +128 -0
- package/dist/Button/index.d.ts +21 -0
- package/dist/ButtonGroup/ButtonGroup.scss +18 -0
- package/dist/ButtonGroup/index.d.ts +6 -0
- package/dist/Calendar/Calendar.d.ts +14 -0
- package/dist/Calendar/Calendar.scss +125 -0
- package/dist/Calendar/CalendarHeader.d.ts +10 -0
- package/dist/Checkbox/Checkbox.scss +115 -0
- package/dist/Checkbox/index.d.ts +10 -0
- package/dist/Countdown/index.d.ts +6 -0
- package/dist/DateInput/DateInput.scss +11 -0
- package/dist/DateInput/index.d.ts +13 -0
- package/dist/DatePicker/index.d.ts +9 -0
- package/dist/Dialog/Dialog.scss +25 -0
- package/dist/Dialog/Popup.scss +55 -0
- package/dist/Dialog/index.d.ts +16 -0
- package/dist/DialogAlert/Alert.d.ts +19 -0
- package/dist/DialogAlert/Alert.scss +52 -0
- package/dist/DialogAlert/Viewport.d.ts +8 -0
- package/dist/DialogAlert/index.d.ts +11 -0
- package/dist/Drawer/Drawer.scss +112 -0
- package/dist/Drawer/index.d.ts +13 -0
- package/dist/File/index.d.ts +10 -0
- package/dist/FormGroup/FormGroup.scss +32 -0
- package/dist/FormGroup/index.d.ts +9 -0
- package/dist/Icon/icon.scss +18 -0
- package/dist/Icon/index.d.ts +7 -0
- package/dist/Input/Form.scss +67 -0
- package/dist/Input/InlineInput.d.ts +0 -0
- package/dist/Input/Input.d.ts +14 -0
- package/dist/Input/Input.scss +47 -0
- package/dist/Input/InputContainer.d.ts +11 -0
- package/dist/Input/InputElement.d.ts +9 -0
- package/dist/LoadingButton/index.d.ts +5 -0
- package/dist/NumberInput/index.d.ts +23 -0
- package/dist/OptionItem/Option.scss +89 -0
- package/dist/OptionItem/OptionItem.d.ts +6 -0
- package/dist/OptionItem/OptionsList.d.ts +7 -0
- package/dist/Popover/Popover.scss +80 -0
- package/dist/Popover/index.d.ts +27 -0
- package/dist/Progress/Progress.scss +47 -0
- package/dist/Progress/index.d.ts +5 -0
- package/dist/Radio/Radio.scss +148 -0
- package/dist/Radio/index.d.ts +20 -0
- package/dist/Scrollable/ImitateScroll.d.ts +10 -0
- package/dist/Scrollable/Scrollable.scss +50 -0
- package/dist/Scrollable/index.d.ts +33 -0
- package/dist/Segments/Segments.scss +57 -0
- package/dist/Segments/index.d.ts +11 -0
- package/dist/Select/Select.scss +80 -0
- package/dist/Select/SelectInput.d.ts +15 -0
- package/dist/Select/SelectOptions.d.ts +12 -0
- package/dist/Select/SelectRight.d.ts +8 -0
- package/dist/Select/index.d.ts +24 -0
- package/dist/SelectTags/SelectTags.scss +67 -0
- package/dist/SelectTags/index.d.ts +17 -0
- package/dist/Spinner/Spinner.scss +14 -0
- package/dist/Spinner/index.d.ts +7 -0
- package/dist/Switch/Switch.scss +102 -0
- package/dist/Switch/index.d.ts +10 -0
- package/dist/Tabs/Tabs.scss +58 -0
- package/dist/Tabs/index.d.ts +13 -0
- package/dist/TextArea/TextArea.scss +34 -0
- package/dist/TextArea/index.d.ts +7 -0
- package/dist/ThemeProvider/helpers.d.ts +4 -0
- package/dist/ThemeProvider/index.d.ts +12 -0
- package/dist/ThemeProvider/script.d.ts +8 -0
- package/dist/ThemeProvider/types.d.ts +2 -0
- package/dist/TimePicker/index.d.ts +10 -0
- package/dist/Toaster/Toast.d.ts +15 -0
- package/dist/Toaster/Toaster.scss +155 -0
- package/dist/Toaster/Viewport.d.ts +13 -0
- package/dist/Toaster/index.d.ts +20 -0
- package/dist/Tooltip/Tooltip.scss +28 -0
- package/dist/Tooltip/index.d.ts +7 -0
- package/dist/__helpers/createDialogRegistry.d.ts +26 -0
- package/dist/__helpers/createPopoversRegistry.d.ts +19 -0
- package/dist/__hooks/use-frooze-closing.d.ts +5 -0
- package/dist/__hooks/use-input-padding.d.ts +5 -0
- package/dist/__hooks/use-loading.d.ts +8 -0
- package/dist/__hooks/use-local-storage.d.ts +1 -0
- package/dist/__hooks/use-popover-position.d.ts +8 -0
- package/dist/__hooks/use-previos.d.ts +2 -0
- package/dist/__hooks/use-resize.d.ts +3 -0
- package/dist/__hooks/use-scrollbox.d.ts +7 -0
- package/dist/__hooks/use-update.d.ts +1 -0
- package/dist/__hooks/useCalendar.d.ts +17 -0
- package/dist/__hooks/useCalendarOptions-copy.d.ts +22 -0
- package/dist/__hooks/useCalendarOptions.d.ts +31 -0
- package/dist/__libs/calendar.d.ts +25 -0
- package/dist/__utils/RemoveListener.d.ts +3 -0
- package/dist/__utils/utils.d.ts +39 -0
- package/dist/bundle.es.js +88 -0
- package/dist/bundle.es10.js +82 -0
- package/dist/bundle.es11.js +28 -0
- package/dist/bundle.es12.js +77 -0
- package/dist/bundle.es13.js +43 -0
- package/dist/bundle.es14.js +38 -0
- package/dist/bundle.es15.js +58 -0
- package/dist/bundle.es16.js +23 -0
- package/dist/bundle.es17.js +35 -0
- package/dist/bundle.es18.js +27 -0
- package/dist/bundle.es19.js +47 -0
- package/dist/bundle.es2.js +44 -0
- package/dist/bundle.es20.js +25 -0
- package/dist/bundle.es21.js +31 -0
- package/dist/bundle.es22.js +40 -0
- package/dist/bundle.es23.js +18 -0
- package/dist/bundle.es24.js +36 -0
- package/dist/bundle.es25.js +23 -0
- package/dist/bundle.es26.js +44 -0
- package/dist/bundle.es27.js +117 -0
- package/dist/bundle.es28.js +123 -0
- package/dist/bundle.es29.js +76 -0
- package/dist/bundle.es3.js +4 -0
- package/dist/bundle.es30.js +35 -0
- package/dist/bundle.es31.js +14 -0
- package/dist/bundle.es32.js +88 -0
- package/dist/bundle.es33.js +22 -0
- package/dist/bundle.es34.js +9 -0
- package/dist/bundle.es35.js +37 -0
- package/dist/bundle.es36.js +24 -0
- package/dist/bundle.es37.js +13 -0
- package/dist/bundle.es38.js +27 -0
- package/dist/bundle.es39.js +41 -0
- package/dist/bundle.es4.js +47 -0
- package/dist/bundle.es40.js +53 -0
- package/dist/bundle.es41.js +45 -0
- package/dist/bundle.es42.js +11 -0
- package/dist/bundle.es43.js +27 -0
- package/dist/bundle.es44.js +26 -0
- package/dist/bundle.es45.js +89 -0
- package/dist/bundle.es46.js +20 -0
- package/dist/bundle.es47.js +22 -0
- package/dist/bundle.es48.js +26 -0
- package/dist/bundle.es49.js +41 -0
- package/dist/bundle.es5.js +10 -0
- package/dist/bundle.es50.js +7 -0
- package/dist/bundle.es51.js +16 -0
- package/dist/bundle.es52.js +16 -0
- package/dist/bundle.es53.js +72 -0
- package/dist/bundle.es54.js +70 -0
- package/dist/bundle.es55.js +72 -0
- package/dist/bundle.es56.js +13 -0
- package/dist/bundle.es57.js +45 -0
- package/dist/bundle.es58.js +17 -0
- package/dist/bundle.es59.js +34 -0
- package/dist/bundle.es6.js +13 -0
- package/dist/bundle.es60.js +72 -0
- package/dist/bundle.es61.js +16 -0
- package/dist/bundle.es62.js +77 -0
- package/dist/bundle.es63.js +51 -0
- package/dist/bundle.es64.js +16 -0
- package/dist/bundle.es7.js +87 -0
- package/dist/bundle.es8.js +87 -0
- package/dist/bundle.es9.js +24 -0
- package/dist/css-properties.scss +120 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.scss +28 -0
- package/dist/mixins.scss +102 -0
- package/dist/theme.scss +101 -0
- package/dist/types.d.ts +17 -0
- package/package.json +6 -6
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { InternButtonProps } from '../Button';
|
|
2
|
+
interface ActionProps extends Omit<InternButtonProps, 'children'> {
|
|
3
|
+
onClick?: () => void;
|
|
4
|
+
}
|
|
5
|
+
export interface AlertDialogProps {
|
|
6
|
+
open?: boolean;
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
onOpenChange?: (value: boolean) => void;
|
|
9
|
+
onUnMounted?: () => void;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
title?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
confirm?: ActionProps;
|
|
14
|
+
cancel?: ActionProps;
|
|
15
|
+
cancelDefaultText?: string;
|
|
16
|
+
disableCancel?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const AlertDialog: ({ open, defaultOpen, onOpenChange, onUnMounted, icon, title, description, cancelDefaultText, cancel, disableCancel, confirm }: AlertDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
.alert {
|
|
4
|
+
max-height: max-content;
|
|
5
|
+
|
|
6
|
+
@include mixins.use-styles(alert);
|
|
7
|
+
|
|
8
|
+
&-container {
|
|
9
|
+
@include mixins.use-styles(alert, container);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&-overlay {
|
|
13
|
+
@include mixins.use-styles(alert, overlay);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-body {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: row;
|
|
19
|
+
|
|
20
|
+
@include mixins.use-styles(alert, body);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&-title {
|
|
24
|
+
@include mixins.use-styles(alert, title);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-description {
|
|
28
|
+
@include mixins.use-styles(alert, description);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&-icon {
|
|
32
|
+
@include mixins.use-styles(alert, icon);
|
|
33
|
+
|
|
34
|
+
svg {
|
|
35
|
+
@include mixins.use-size(alert, icon, size);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&-content {
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
|
|
43
|
+
@include mixins.use-styles(alert, content);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&-footer {
|
|
47
|
+
display: flex;
|
|
48
|
+
justify-content: end;
|
|
49
|
+
|
|
50
|
+
@include mixins.use-styles(alert, footer);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InnerAlert } from '.';
|
|
2
|
+
import { AlertDialogProps } from './Alert';
|
|
3
|
+
export interface ViewportRef {
|
|
4
|
+
showAlert: (alert: InnerAlert) => void;
|
|
5
|
+
}
|
|
6
|
+
export interface AlertBaseProps extends Pick<AlertDialogProps, 'cancelDefaultText'> {
|
|
7
|
+
}
|
|
8
|
+
export declare const Viewport: import('react').ForwardRefExoticComponent<AlertBaseProps & import('react').RefAttributes<ViewportRef>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AlertDialogProps } from './Alert';
|
|
2
|
+
import { AlertBaseProps } from './Viewport';
|
|
3
|
+
export interface AlertOptions extends Omit<AlertDialogProps, 'open' | 'onOpenChange'> {
|
|
4
|
+
}
|
|
5
|
+
export interface InnerAlert extends AlertOptions {
|
|
6
|
+
id: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const createAlertAgent: (options?: AlertBaseProps) => {
|
|
9
|
+
show: (value: Omit<InnerAlert, "id">) => void;
|
|
10
|
+
Viewport: () => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
.drawer {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
max-height: 100%;
|
|
7
|
+
z-index: 1000;
|
|
8
|
+
outline: none;
|
|
9
|
+
pointer-events: auto;
|
|
10
|
+
position: fixed;
|
|
11
|
+
z-index: 9999;
|
|
12
|
+
|
|
13
|
+
@include mixins.use-styles(drawer);
|
|
14
|
+
|
|
15
|
+
&-overlay {
|
|
16
|
+
inset: 0;
|
|
17
|
+
overflow: auto;
|
|
18
|
+
position: fixed;
|
|
19
|
+
-webkit-user-select: none;
|
|
20
|
+
-moz-user-select: none;
|
|
21
|
+
-ms-user-select: none;
|
|
22
|
+
user-select: none;
|
|
23
|
+
outline: none;
|
|
24
|
+
z-index: 9999;
|
|
25
|
+
|
|
26
|
+
@include mixins.use-styles(drawer, overlay);
|
|
27
|
+
|
|
28
|
+
&[data-state='open'] {
|
|
29
|
+
@include mixins.use-styles(drawer, overlay, in);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&[data-state='closed'] {
|
|
33
|
+
@include mixins.use-styles(drawer, overlay, out);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// animations
|
|
38
|
+
|
|
39
|
+
&[data-state='open'] {
|
|
40
|
+
&[data-direction='left'] {
|
|
41
|
+
@include mixins.use-styles(drawer, in, left);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&[data-direction='right'] {
|
|
45
|
+
@include mixins.use-styles(drawer, in, right);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&[data-direction='top'] {
|
|
49
|
+
@include mixins.use-styles(drawer, in, top);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&[data-direction='bottom'] {
|
|
53
|
+
@include mixins.use-styles(drawer, in, bottom);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&[data-state='closed'] {
|
|
58
|
+
&[data-direction='left'] {
|
|
59
|
+
@include mixins.use-styles(drawer, out, left);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&[data-direction='right'] {
|
|
63
|
+
@include mixins.use-styles(drawer, out, right);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&[data-direction='top'] {
|
|
67
|
+
@include mixins.use-styles(drawer, out, top);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&[data-direction='bottom'] {
|
|
71
|
+
@include mixins.use-styles(drawer, out, bottom);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// placement
|
|
76
|
+
|
|
77
|
+
&[data-direction='left'] {
|
|
78
|
+
top: 0;
|
|
79
|
+
left: 0;
|
|
80
|
+
bottom: 0;
|
|
81
|
+
width: var(--drawer-size, 50%);
|
|
82
|
+
border-top-right-radius: var(--drawer_radius, 0);
|
|
83
|
+
border-bottom-right-radius: var(--drawer_radius, 0);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&[data-direction='right'] {
|
|
87
|
+
top: 0;
|
|
88
|
+
right: 0;
|
|
89
|
+
bottom: 0;
|
|
90
|
+
width: var(--drawer-size, 50%);
|
|
91
|
+
border-top-left-radius: var(--drawer_radius, 0);
|
|
92
|
+
border-bottom-left-radius: var(--drawer_radius, 0);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&[data-direction='bottom'] {
|
|
96
|
+
left: 0;
|
|
97
|
+
right: 0;
|
|
98
|
+
bottom: 0;
|
|
99
|
+
height: var(--drawer-size, 50%);
|
|
100
|
+
border-top-right-radius: var(--drawer_radius, 0);
|
|
101
|
+
border-top-left-radius: var(--drawer_radius, 0);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&[data-direction='top'] {
|
|
105
|
+
left: 0;
|
|
106
|
+
right: 0;
|
|
107
|
+
top: 0;
|
|
108
|
+
height: var(--drawer-size, 50%);
|
|
109
|
+
border-bottom-right-radius: var(--drawer_radius, 0);
|
|
110
|
+
border-bottom-left-radius: var(--drawer_radius, 0);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
2
|
+
export interface DrawerProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onOpenChange: (value: boolean) => void;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
direction?: 'bottom' | 'top' | 'left' | 'right';
|
|
7
|
+
className?: string;
|
|
8
|
+
size?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const Drawer: {
|
|
11
|
+
({ open, onOpenChange, children, size, direction, className }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
Close: import('react').ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface FileOverlayProps {
|
|
2
|
+
multiple?: true;
|
|
3
|
+
onChange?: (file: File[]) => void;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
mimes?: ('image' | 'video' | 'audio' | 'text' | 'application')[];
|
|
8
|
+
}
|
|
9
|
+
declare const FileOverlay: ({ onChange, disabled, children, multiple, mimes, className }: FileOverlayProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { FileOverlay };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
.form-group {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
|
|
7
|
+
&[data-fill] {
|
|
8
|
+
width: 100%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&-label {
|
|
12
|
+
@include mixins.truncate-text();
|
|
13
|
+
@include mixins.use-styles(form-group, label);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&-caption {
|
|
17
|
+
@include mixins.truncate-text();
|
|
18
|
+
@include mixins.use-styles(form-group, caption);
|
|
19
|
+
|
|
20
|
+
&[data-appearance='neutral'] {
|
|
21
|
+
@include mixins.use-styles(form-group, caption, neutral);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&[data-appearance='positive'] {
|
|
25
|
+
@include mixins.use-styles(form-group, caption, positive);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&[data-appearance='negative'] {
|
|
29
|
+
@include mixins.use-styles(form-group, caption, negative);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface FormGroupProps {
|
|
2
|
+
label: React.ReactNode;
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
caption?: React.ReactNode;
|
|
5
|
+
apperance?: 'neutral' | 'positive' | 'negative';
|
|
6
|
+
fill?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const FormGroup: (props: FormGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
$icon-sizes: xxxs, xxs, xs, s, m, l, xl, xxl, xxxl;
|
|
4
|
+
|
|
5
|
+
@each $size in $icon-sizes {
|
|
6
|
+
.icon-size-#{$size} {
|
|
7
|
+
@include mixins.use-size(icon, size, $size);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:where(svg:not([fill])) {
|
|
12
|
+
fill: currentcolor;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.icon {
|
|
16
|
+
// display: inline-block;
|
|
17
|
+
flex-shrink: 0;
|
|
18
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type IconPathData = string | string[];
|
|
2
|
+
export type IconDefinition = [number, number, (string | number)[], string, IconPathData];
|
|
3
|
+
export interface IconProps extends React.SVGProps<SVGSVGElement> {
|
|
4
|
+
icon: IconDefinition;
|
|
5
|
+
size?: 'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl';
|
|
6
|
+
}
|
|
7
|
+
export declare const Icon: import('react').ForwardRefExoticComponent<Omit<IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
@mixin use-size($size) {
|
|
4
|
+
&[data-size='#{$size}'] {
|
|
5
|
+
.form-input {
|
|
6
|
+
@include mixins.use-styles(form, size, $size);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.form {
|
|
12
|
+
position: relative;
|
|
13
|
+
|
|
14
|
+
@include mixins.use-styles(form);
|
|
15
|
+
|
|
16
|
+
@include use-size(sm);
|
|
17
|
+
@include use-size(md);
|
|
18
|
+
@include use-size(lg);
|
|
19
|
+
|
|
20
|
+
&-space-margin {
|
|
21
|
+
margin: 0px var(--form_space, 0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&:hover {
|
|
25
|
+
@include mixins.use-styles(form, hover);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:active {
|
|
29
|
+
@include mixins.use-styles(form, active);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&[data-fill] {
|
|
33
|
+
width: 100%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&[data-required] {
|
|
37
|
+
@include mixins.use-styles(form, required);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&[data-disabled] {
|
|
41
|
+
@include mixins.use-styles(form, disabled);
|
|
42
|
+
|
|
43
|
+
.form-input {
|
|
44
|
+
cursor: inherit;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:focus-within {
|
|
49
|
+
@include mixins.use-styles(form, focus);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.form-input {
|
|
54
|
+
outline: none;
|
|
55
|
+
width: 100%;
|
|
56
|
+
|
|
57
|
+
&::-webkit-outer-spin-button,
|
|
58
|
+
&::-webkit-inner-spin-button {
|
|
59
|
+
-webkit-appearance: none;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&::placeholder {
|
|
63
|
+
user-select: none;
|
|
64
|
+
|
|
65
|
+
@include mixins.use-styles(form, placeholder);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { InputContainerProps } from './InputContainer';
|
|
2
|
+
export interface InputProps extends Omit<InputContainerProps, 'inputRef' | 'children'> {
|
|
3
|
+
placeholder?: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
readOnly?: boolean;
|
|
6
|
+
onValueChange?: (value: string, targetElement: HTMLInputElement) => void;
|
|
7
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
9
|
+
inputClassName?: string;
|
|
10
|
+
inputType?: React.HTMLInputTypeAttribute;
|
|
11
|
+
mask?: string;
|
|
12
|
+
maskChar?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.form-input-base {
|
|
2
|
+
padding: 0px var(--form_space, 0);
|
|
3
|
+
border-radius: var(--form_border-radius);
|
|
4
|
+
|
|
5
|
+
&-left-element {
|
|
6
|
+
position: absolute;
|
|
7
|
+
left: 0;
|
|
8
|
+
top: 0;
|
|
9
|
+
bottom: 0;
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&-right-element {
|
|
16
|
+
position: absolute;
|
|
17
|
+
right: 0;
|
|
18
|
+
top: 0;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
pointer-events: none;
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.inline-input {
|
|
27
|
+
position: absolute;
|
|
28
|
+
top: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: 100%;
|
|
32
|
+
|
|
33
|
+
&-container {
|
|
34
|
+
position: relative;
|
|
35
|
+
display: flex;
|
|
36
|
+
flex: 1;
|
|
37
|
+
align-items: center;
|
|
38
|
+
align-self: stretch;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
height: var(--form_size_md_height);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&-title {
|
|
44
|
+
padding: 0px var(--form_space, 0);
|
|
45
|
+
opacity: 0;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface InputContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
+
leftElement?: React.ReactNode;
|
|
3
|
+
rightElement?: React.ReactNode;
|
|
4
|
+
size?: 'sm' | 'md' | 'lg';
|
|
5
|
+
fill?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
inputRef: React.RefObject<HTMLInputElement>;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare const InputContainer: import('react').ForwardRefExoticComponent<InputContainerProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'children' | 'value' | 'defaultValue'> {
|
|
2
|
+
defaultValue?: string;
|
|
3
|
+
value?: string;
|
|
4
|
+
mask?: string;
|
|
5
|
+
maskChar?: string;
|
|
6
|
+
onValueChange?: (value: string, targetElement: HTMLInputElement) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const InputElement: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ButtonProps } from '../Button';
|
|
2
|
+
import { UseLoadingProps } from '../__hooks/use-loading';
|
|
3
|
+
export interface LoadingButtonProps extends UseLoadingProps, Omit<ButtonProps, 'onClick'> {
|
|
4
|
+
}
|
|
5
|
+
export declare const LoadingButton: ({ onClick, appearance, ...rest }: LoadingButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { InputContainerProps } from '../Input/InputContainer';
|
|
2
|
+
export interface ReactNumberFormatParams {
|
|
3
|
+
thousandSeparator?: boolean | string;
|
|
4
|
+
decimalSeparator?: string;
|
|
5
|
+
allowedDecimalSeparators?: Array<string>;
|
|
6
|
+
thousandsGroupStyle?: 'thousand' | 'lakh' | 'wan' | 'none';
|
|
7
|
+
decimalScale?: number;
|
|
8
|
+
fixedDecimalScale?: boolean;
|
|
9
|
+
allowNegative?: boolean;
|
|
10
|
+
allowLeadingZeros?: boolean;
|
|
11
|
+
suffix?: string;
|
|
12
|
+
prefix?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NumberInputProps extends Omit<InputContainerProps, 'inputRef' | 'children'>, ReactNumberFormatParams {
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
value?: number | null;
|
|
17
|
+
readOnly?: boolean;
|
|
18
|
+
onValueChange?: (value: number | null) => void;
|
|
19
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
20
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
21
|
+
inputClassName?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const NumberInput: import('react').ForwardRefExoticComponent<NumberInputProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
.option-list {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
|
|
7
|
+
@include mixins.use-styles(option, list);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.option {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
|
|
14
|
+
@include mixins.use-styles(option);
|
|
15
|
+
|
|
16
|
+
&-icon {
|
|
17
|
+
@include mixins.use-styles(option, icon);
|
|
18
|
+
|
|
19
|
+
svg {
|
|
20
|
+
@include mixins.use-size(option, icon, size);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&-content {
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
flex-grow: 1;
|
|
28
|
+
min-width: 0;
|
|
29
|
+
max-width: 100%;
|
|
30
|
+
|
|
31
|
+
&-inner {
|
|
32
|
+
@include mixins.use-styles(option, content, layout);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&-title {
|
|
37
|
+
word-break: break-word;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&-label {
|
|
41
|
+
@include mixins.use-styles(option, label);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&-check {
|
|
45
|
+
@include mixins.use-styles(option, check);
|
|
46
|
+
|
|
47
|
+
svg {
|
|
48
|
+
@include mixins.use-size(option, check, size);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
& > * {
|
|
53
|
+
margin-right: 8px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
& > :last-child {
|
|
57
|
+
margin-right: 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:not([data-disabled]) {
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
|
|
63
|
+
&:hover {
|
|
64
|
+
@include mixins.use-styles(option, hover);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&:active {
|
|
68
|
+
@include mixins.use-styles(option, active);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&[data-selected] {
|
|
73
|
+
@include mixins.use-styles(option, selected);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&[data-disabled] {
|
|
77
|
+
user-select: none;
|
|
78
|
+
|
|
79
|
+
@include mixins.use-styles(option, disabled);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&[data-minimal] {
|
|
83
|
+
@include mixins.use-styles(option, minimal);
|
|
84
|
+
|
|
85
|
+
&[data-selected] {
|
|
86
|
+
@include mixins.use-styles(option, minimal, selected);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Option } from '../types';
|
|
2
|
+
export interface OptionProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>, Omit<Option<unknown>, 'value'> {
|
|
3
|
+
active?: boolean;
|
|
4
|
+
minimal?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const OptionItem: import('react').ForwardRefExoticComponent<OptionProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface OptionsListProps {
|
|
2
|
+
children: React.ReactNode;
|
|
3
|
+
maxHeight?: number;
|
|
4
|
+
scrollboxRef?: React.Ref<HTMLDivElement>;
|
|
5
|
+
optionsWrapperRef?: React.Ref<HTMLDivElement>;
|
|
6
|
+
}
|
|
7
|
+
export declare const OptionsList: ({ children, maxHeight, scrollboxRef, optionsWrapperRef }: OptionsListProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
@use '../mixins.scss';
|
|
2
|
+
|
|
3
|
+
.popover {
|
|
4
|
+
outline: none;
|
|
5
|
+
@include mixins.use-styles(popover);
|
|
6
|
+
|
|
7
|
+
&[data-match-target='width'] {
|
|
8
|
+
width: var(--radix-popover-trigger-width);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&[data-match-target='min-width'] {
|
|
12
|
+
min-width: var(--radix-popover-trigger-width);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&-content {
|
|
16
|
+
position: relative;
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
|
|
20
|
+
&[data-fit-max-height] {
|
|
21
|
+
max-height: var(--radix-popover-content-available-height);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@include mixins.use-styles(popover, content);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-arrow {
|
|
28
|
+
position: relative;
|
|
29
|
+
|
|
30
|
+
&-icon {
|
|
31
|
+
position: relative;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&-border {
|
|
35
|
+
fill: #111418;
|
|
36
|
+
fill-opacity: 0.1;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&-fill {
|
|
40
|
+
fill: mixins.get-var-name(popover, content, background);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:before {
|
|
44
|
+
border-radius: 1px;
|
|
45
|
+
content: '';
|
|
46
|
+
display: block;
|
|
47
|
+
position: absolute;
|
|
48
|
+
transform: rotate(45deg);
|
|
49
|
+
height: 20px;
|
|
50
|
+
margin: 5px;
|
|
51
|
+
width: 20px;
|
|
52
|
+
box-shadow: 1px 1px 6px rgba(17, 20, 24, 0.2);
|
|
53
|
+
margin-top: -14px;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&[data-appearance='default'] {
|
|
58
|
+
&[data-state='open'] {
|
|
59
|
+
transform-origin: var(--radix-popover-content-transform-origin);
|
|
60
|
+
@include mixins.use-styles(popover, default, in);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&[data-state='closed'] {
|
|
64
|
+
transform-origin: var(--radix-popover-content-transform-origin);
|
|
65
|
+
@include mixins.use-styles(popover, default, out);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&[data-appearance='minimal'] {
|
|
70
|
+
&[data-state='open'] {
|
|
71
|
+
transform-origin: var(--radix-popover-content-transform-origin);
|
|
72
|
+
@include mixins.use-styles(popover, minimal, in);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&[data-state='closed'] {
|
|
76
|
+
transform-origin: var(--radix-popover-content-transform-origin);
|
|
77
|
+
@include mixins.use-styles(popover, minimal, out);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|