@companix/uikit 0.0.36 → 0.0.38

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 (167) hide show
  1. package/dist/Avatar/Avatar.scss +64 -0
  2. package/dist/Avatar/helpers.d.ts +10 -0
  3. package/dist/Avatar/index.d.ts +8 -0
  4. package/dist/Avatar/types.d.ts +2 -0
  5. package/dist/Button/Button.scss +128 -0
  6. package/dist/Button/index.d.ts +21 -0
  7. package/dist/ButtonGroup/ButtonGroup.scss +18 -0
  8. package/dist/ButtonGroup/index.d.ts +6 -0
  9. package/dist/Calendar/Calendar.d.ts +14 -0
  10. package/dist/Calendar/Calendar.scss +125 -0
  11. package/dist/Calendar/CalendarHeader.d.ts +10 -0
  12. package/dist/Checkbox/Checkbox.scss +115 -0
  13. package/dist/Checkbox/index.d.ts +10 -0
  14. package/dist/Countdown/index.d.ts +6 -0
  15. package/dist/DateInput/DateInput.scss +11 -0
  16. package/dist/DateInput/index.d.ts +13 -0
  17. package/dist/DatePicker/index.d.ts +9 -0
  18. package/dist/Dialog/Dialog.scss +25 -0
  19. package/dist/Dialog/Popup.scss +55 -0
  20. package/dist/Dialog/index.d.ts +16 -0
  21. package/dist/DialogAlert/Alert.d.ts +19 -0
  22. package/dist/DialogAlert/Alert.scss +52 -0
  23. package/dist/DialogAlert/Viewport.d.ts +8 -0
  24. package/dist/DialogAlert/index.d.ts +11 -0
  25. package/dist/Drawer/Drawer.scss +112 -0
  26. package/dist/Drawer/index.d.ts +13 -0
  27. package/dist/File/index.d.ts +10 -0
  28. package/dist/FormGroup/FormGroup.scss +32 -0
  29. package/dist/FormGroup/index.d.ts +9 -0
  30. package/dist/Icon/icon.scss +18 -0
  31. package/dist/Icon/index.d.ts +7 -0
  32. package/dist/Input/Form.scss +67 -0
  33. package/dist/Input/InlineInput.d.ts +0 -0
  34. package/dist/Input/Input.d.ts +14 -0
  35. package/dist/Input/Input.scss +47 -0
  36. package/dist/Input/InputContainer.d.ts +11 -0
  37. package/dist/Input/InputElement.d.ts +9 -0
  38. package/dist/LoadingButton/index.d.ts +5 -0
  39. package/dist/NumberInput/index.d.ts +23 -0
  40. package/dist/OptionItem/Option.scss +89 -0
  41. package/dist/OptionItem/OptionItem.d.ts +6 -0
  42. package/dist/OptionItem/OptionsList.d.ts +7 -0
  43. package/dist/Popover/Popover.scss +80 -0
  44. package/dist/Popover/index.d.ts +27 -0
  45. package/dist/Progress/Progress.scss +47 -0
  46. package/dist/Progress/index.d.ts +5 -0
  47. package/dist/Radio/Radio.scss +148 -0
  48. package/dist/Radio/index.d.ts +20 -0
  49. package/dist/Scrollable/ImitateScroll.d.ts +10 -0
  50. package/dist/Scrollable/Scrollable.scss +50 -0
  51. package/dist/Scrollable/index.d.ts +33 -0
  52. package/dist/Segments/Segments.scss +57 -0
  53. package/dist/Segments/index.d.ts +11 -0
  54. package/dist/Select/Select.scss +80 -0
  55. package/dist/Select/SelectInput.d.ts +15 -0
  56. package/dist/Select/SelectOptions.d.ts +12 -0
  57. package/dist/Select/SelectRight.d.ts +8 -0
  58. package/dist/Select/index.d.ts +24 -0
  59. package/dist/SelectTags/SelectTags.scss +67 -0
  60. package/dist/SelectTags/index.d.ts +17 -0
  61. package/dist/Spinner/Spinner.scss +14 -0
  62. package/dist/Spinner/index.d.ts +7 -0
  63. package/dist/Switch/Switch.scss +102 -0
  64. package/dist/Switch/index.d.ts +10 -0
  65. package/dist/Tabs/Tabs.scss +58 -0
  66. package/dist/Tabs/index.d.ts +13 -0
  67. package/dist/TextArea/TextArea.scss +34 -0
  68. package/dist/TextArea/index.d.ts +7 -0
  69. package/dist/ThemeProvider/helpers.d.ts +4 -0
  70. package/dist/ThemeProvider/index.d.ts +12 -0
  71. package/dist/ThemeProvider/script.d.ts +8 -0
  72. package/dist/ThemeProvider/types.d.ts +2 -0
  73. package/dist/TimePicker/index.d.ts +10 -0
  74. package/dist/Toaster/Toast.d.ts +15 -0
  75. package/dist/Toaster/Toaster.scss +155 -0
  76. package/dist/Toaster/Viewport.d.ts +13 -0
  77. package/dist/Toaster/index.d.ts +20 -0
  78. package/dist/Tooltip/Tooltip.scss +28 -0
  79. package/dist/Tooltip/index.d.ts +7 -0
  80. package/dist/__helpers/createDialogRegistry.d.ts +26 -0
  81. package/dist/__helpers/createPopoversRegistry.d.ts +19 -0
  82. package/dist/__hooks/use-frooze-closing.d.ts +5 -0
  83. package/dist/__hooks/use-input-padding.d.ts +5 -0
  84. package/dist/__hooks/use-loading.d.ts +8 -0
  85. package/dist/__hooks/use-local-storage.d.ts +1 -0
  86. package/dist/__hooks/use-popover-position.d.ts +8 -0
  87. package/dist/__hooks/use-previos.d.ts +2 -0
  88. package/dist/__hooks/use-resize.d.ts +3 -0
  89. package/dist/__hooks/use-scrollbox.d.ts +7 -0
  90. package/dist/__hooks/use-update.d.ts +1 -0
  91. package/dist/__hooks/useCalendar.d.ts +17 -0
  92. package/dist/__hooks/useCalendarOptions-copy.d.ts +22 -0
  93. package/dist/__hooks/useCalendarOptions.d.ts +31 -0
  94. package/dist/__libs/calendar.d.ts +25 -0
  95. package/dist/__utils/RemoveListener.d.ts +3 -0
  96. package/dist/__utils/utils.d.ts +39 -0
  97. package/dist/bundle.es.js +88 -0
  98. package/dist/bundle.es10.js +82 -0
  99. package/dist/bundle.es11.js +28 -0
  100. package/dist/bundle.es12.js +77 -0
  101. package/dist/bundle.es13.js +43 -0
  102. package/dist/bundle.es14.js +38 -0
  103. package/dist/bundle.es15.js +58 -0
  104. package/dist/bundle.es16.js +23 -0
  105. package/dist/bundle.es17.js +35 -0
  106. package/dist/bundle.es18.js +27 -0
  107. package/dist/bundle.es19.js +47 -0
  108. package/dist/bundle.es2.js +44 -0
  109. package/dist/bundle.es20.js +25 -0
  110. package/dist/bundle.es21.js +31 -0
  111. package/dist/bundle.es22.js +40 -0
  112. package/dist/bundle.es23.js +18 -0
  113. package/dist/bundle.es24.js +36 -0
  114. package/dist/bundle.es25.js +23 -0
  115. package/dist/bundle.es26.js +44 -0
  116. package/dist/bundle.es27.js +117 -0
  117. package/dist/bundle.es28.js +123 -0
  118. package/dist/bundle.es29.js +76 -0
  119. package/dist/bundle.es3.js +4 -0
  120. package/dist/bundle.es30.js +35 -0
  121. package/dist/bundle.es31.js +14 -0
  122. package/dist/bundle.es32.js +88 -0
  123. package/dist/bundle.es33.js +22 -0
  124. package/dist/bundle.es34.js +9 -0
  125. package/dist/bundle.es35.js +37 -0
  126. package/dist/bundle.es36.js +24 -0
  127. package/dist/bundle.es37.js +13 -0
  128. package/dist/bundle.es38.js +27 -0
  129. package/dist/bundle.es39.js +41 -0
  130. package/dist/bundle.es4.js +47 -0
  131. package/dist/bundle.es40.js +53 -0
  132. package/dist/bundle.es41.js +45 -0
  133. package/dist/bundle.es42.js +11 -0
  134. package/dist/bundle.es43.js +27 -0
  135. package/dist/bundle.es44.js +26 -0
  136. package/dist/bundle.es45.js +89 -0
  137. package/dist/bundle.es46.js +20 -0
  138. package/dist/bundle.es47.js +22 -0
  139. package/dist/bundle.es48.js +26 -0
  140. package/dist/bundle.es49.js +41 -0
  141. package/dist/bundle.es5.js +10 -0
  142. package/dist/bundle.es50.js +7 -0
  143. package/dist/bundle.es51.js +16 -0
  144. package/dist/bundle.es52.js +16 -0
  145. package/dist/bundle.es53.js +72 -0
  146. package/dist/bundle.es54.js +70 -0
  147. package/dist/bundle.es55.js +72 -0
  148. package/dist/bundle.es56.js +13 -0
  149. package/dist/bundle.es57.js +45 -0
  150. package/dist/bundle.es58.js +17 -0
  151. package/dist/bundle.es59.js +34 -0
  152. package/dist/bundle.es6.js +13 -0
  153. package/dist/bundle.es60.js +72 -0
  154. package/dist/bundle.es61.js +16 -0
  155. package/dist/bundle.es62.js +77 -0
  156. package/dist/bundle.es63.js +51 -0
  157. package/dist/bundle.es64.js +16 -0
  158. package/dist/bundle.es7.js +87 -0
  159. package/dist/bundle.es8.js +87 -0
  160. package/dist/bundle.es9.js +24 -0
  161. package/dist/css-properties.scss +120 -0
  162. package/dist/index.d.ts +77 -0
  163. package/dist/index.scss +28 -0
  164. package/dist/mixins.scss +102 -0
  165. package/dist/theme.scss +101 -0
  166. package/dist/types.d.ts +17 -0
  167. 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
+ }