@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,102 @@
1
+ @use '../mixins.scss';
2
+
3
+ .switch {
4
+ display: inline-table;
5
+ user-select: none;
6
+ touch-action: manipulation;
7
+ max-width: max-content;
8
+
9
+ &[data-disabled] {
10
+ @include mixins.use-styles(switch, disabled);
11
+ }
12
+
13
+ &-track {
14
+ cursor: pointer;
15
+ outline: none;
16
+ position: relative;
17
+
18
+ &:after {
19
+ visibility: hidden;
20
+ content: '\00A0';
21
+ }
22
+
23
+ &[data-disabled] {
24
+ cursor: default;
25
+ @include mixins.use-styles(switch, track, disabled);
26
+ }
27
+
28
+ &[data-state='checked'] {
29
+ @include mixins.use-styles(switch, track, checked);
30
+ }
31
+
32
+ &[data-state='unchecked'] {
33
+ @include mixins.use-styles(switch, track, unchecked);
34
+ }
35
+
36
+ @include mixins.use-styles(switch, track);
37
+ }
38
+
39
+ &-thumb {
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+
44
+ @include mixins.use-styles(switch, thumb);
45
+ @include mixins.use-size(switch, thumb, size);
46
+
47
+ border-radius: 9999px;
48
+
49
+ &[data-state='unchecked'] {
50
+ transform: translate(
51
+ var(--switch_track_outline_width),
52
+ calc(var(--switch_track_height) - var(--switch_thumb_size) - var(--switch_track_outline_width))
53
+ );
54
+
55
+ .switch-thumb-icon {
56
+ @include mixins.use-styles(switch, icon, unchecked);
57
+ }
58
+ }
59
+
60
+ &[data-state='checked'] {
61
+ transform: translate(
62
+ calc(var(--switch_track_width) - var(--switch_thumb_size) - var(--switch_track_outline_width)),
63
+ calc(var(--switch_track_height) - var(--switch_thumb_size) - var(--switch_track_outline_width))
64
+ );
65
+
66
+ .switch-thumb-icon {
67
+ @include mixins.use-styles(switch, icon, checked);
68
+ }
69
+ }
70
+
71
+ &-icon {
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ position: absolute;
76
+ inset: 0;
77
+
78
+ @include mixins.use-styles(switch, icon);
79
+
80
+ &[data-visible] {
81
+ @include mixins.use-styles(switch, icon, visible);
82
+ }
83
+
84
+ svg {
85
+ @include mixins.use-size(switch, icon, size);
86
+ }
87
+ }
88
+ }
89
+
90
+ &-label {
91
+ cursor: pointer;
92
+ display: table-cell;
93
+ word-break: break-word;
94
+
95
+ &[data-disabled] {
96
+ cursor: default;
97
+ @include mixins.use-styles(switch, label, disabled);
98
+ }
99
+
100
+ @include mixins.use-styles(switch, label);
101
+ }
102
+ }
@@ -0,0 +1,10 @@
1
+ export interface SwitchProps {
2
+ checked: boolean;
3
+ onCheckedChange: (checked: boolean) => void;
4
+ label?: React.ReactNode;
5
+ disabled?: boolean;
6
+ checkedIcon?: React.ReactNode;
7
+ uncheckedIcon?: React.ReactNode;
8
+ }
9
+ declare const Switch: (props: SwitchProps) => import("react/jsx-runtime").JSX.Element;
10
+ export { Switch };
@@ -0,0 +1,58 @@
1
+ @use '../mixins.scss';
2
+
3
+ .tabs {
4
+ display: flex;
5
+ align-items: flex-end;
6
+ flex: 0 0 auto;
7
+ position: relative;
8
+
9
+ @include mixins.use-styles(tab, container);
10
+ }
11
+
12
+ .tab-indicator-container {
13
+ left: 0;
14
+ pointer-events: none;
15
+ position: absolute;
16
+ top: 0;
17
+
18
+ @include mixins.use-styles(tab, indicator, container);
19
+ }
20
+
21
+ .tab-indicator {
22
+ position: absolute;
23
+ bottom: 0;
24
+ left: 0;
25
+ right: 0;
26
+
27
+ @include mixins.use-styles(tab, indicator);
28
+ }
29
+
30
+ .tab {
31
+ outline: none;
32
+ font-family: inherit;
33
+ flex: 1;
34
+ display: flex;
35
+ align-items: center;
36
+ justify-content: center;
37
+ line-height: 1;
38
+ background-color: transparent;
39
+ user-select: none;
40
+ position: relative;
41
+ cursor: pointer;
42
+ font-family: inherit;
43
+
44
+ @include mixins.use-styles(tab);
45
+
46
+ &[data-disabled] {
47
+ cursor: not-allowed;
48
+ @include mixins.use-styles(tab, disabled);
49
+ }
50
+
51
+ &:not([data-disabled]):not([data-state='active']):hover {
52
+ @include mixins.use-styles(tab, hover);
53
+ }
54
+
55
+ &[data-state='active'] {
56
+ @include mixins.use-styles(tab, active);
57
+ }
58
+ }
@@ -0,0 +1,13 @@
1
+ export interface TabsProps {
2
+ children: React.ReactNode;
3
+ onChange: (value: string) => void;
4
+ value: string;
5
+ }
6
+ export declare const Tabs: {
7
+ ({ children, value, onChange }: TabsProps): import("react/jsx-runtime").JSX.Element;
8
+ Tab: ({ children, value, ...restProps }: TabProps) => import("react/jsx-runtime").JSX.Element;
9
+ };
10
+ interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
11
+ value: string;
12
+ }
13
+ export {};
@@ -0,0 +1,34 @@
1
+ .form-textarea {
2
+ display: flex;
3
+
4
+ textarea {
5
+ padding: var(--form_space-y, 0px) var(--form_space, 0px);
6
+ border-radius: var(--form_border-radius);
7
+ border-style: solid;
8
+ border-width: 2px;
9
+ border-top-width: 0;
10
+ border-left-width: 0;
11
+ border-color: transparent;
12
+ min-height: max-content;
13
+ resize: vertical;
14
+ display: block;
15
+
16
+ ::-webkit-search-cancel-button {
17
+ display: none;
18
+ }
19
+
20
+ ::-webkit-search-decoration {
21
+ -webkit-appearance: none;
22
+ appearance: none;
23
+ }
24
+
25
+ ::-ms-clear {
26
+ display: none;
27
+ }
28
+
29
+ &[data-grow] {
30
+ resize: none;
31
+ border: none;
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,7 @@
1
+ export interface TextAreaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
2
+ grow?: boolean;
3
+ onResize?: (el: HTMLTextAreaElement) => void;
4
+ fill?: boolean;
5
+ textAreaRef?: React.Ref<HTMLTextAreaElement>;
6
+ }
7
+ export declare const TextArea: ({ onResize, grow, value, onChange, disabled, required, rows, fill, textAreaRef, ...textAreaProps }: TextAreaProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { ColorSchemeExtendedType } from './types';
2
+ export declare const getColorScheme: (key: string, defaultColorScheme: ColorSchemeExtendedType) => ColorSchemeExtendedType;
3
+ export declare const getSystemColorScheme: (e?: MediaQueryList | MediaQueryListEvent) => "dark" | "light";
4
+ export declare const updateDOM: (colorScheme: ColorSchemeExtendedType) => void;
@@ -0,0 +1,12 @@
1
+ import { ColorSchemeExtendedType, ColorSchemeType } from './types';
2
+ export interface UseColorSchemeProps {
3
+ setColorScheme: (scheme: ColorSchemeExtendedType) => void;
4
+ colorScheme?: ColorSchemeExtendedType;
5
+ resolvedColorScheme?: ColorSchemeType;
6
+ }
7
+ export declare const useTheme: () => UseColorSchemeProps;
8
+ export interface ThemeProviderProps extends React.PropsWithChildren {
9
+ storageKey?: string;
10
+ defaultColorScheme?: ColorSchemeExtendedType;
11
+ }
12
+ export declare const ThemeProvider: (props: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ColorSchemeExtendedType } from './types';
2
+ interface ColorSchemeScriptProps {
3
+ storageKey: string;
4
+ defaultColorScheme: ColorSchemeExtendedType;
5
+ }
6
+ export declare const ColorSchemeScript: import('react').MemoExoticComponent<({ storageKey, defaultColorScheme }: ColorSchemeScriptProps) => import("react/jsx-runtime").JSX.Element>;
7
+ export declare const colorSchemeScript: (storageKey: string, defaultColorScheme: "light" | "dark") => void;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ export type ColorSchemeType = 'light' | 'dark';
2
+ export type ColorSchemeExtendedType = ColorSchemeType | 'system';
@@ -0,0 +1,10 @@
1
+ import { InputProps } from '../Input/Input';
2
+ import { TimeFormat } from '..';
3
+ export interface TimePickerProps extends Omit<InputProps, 'value' | 'onChange' | 'rightElement'> {
4
+ required?: boolean;
5
+ value: TimeFormat | null;
6
+ onChange: (value: TimeFormat | null) => void;
7
+ clearButton?: boolean;
8
+ clearButtonIcon?: boolean;
9
+ }
10
+ export declare const TimePicker: (props: TimePickerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { ToastOptions } from '.';
2
+ interface ToastProps extends ToastOptions {
3
+ id: string;
4
+ onClosed: () => void;
5
+ onClosing: () => void;
6
+ onInitialized: (ref: HTMLLIElement) => void;
7
+ }
8
+ export declare const Toast: {
9
+ (options: ToastProps): import("react/jsx-runtime").JSX.Element;
10
+ Close({ closeIcon, className }?: {
11
+ closeIcon?: React.ReactNode;
12
+ className?: string;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ };
15
+ export {};
@@ -0,0 +1,155 @@
1
+ @use '../mixins.scss';
2
+
3
+ @mixin use-appearance($appearance) {
4
+ &[data-appearance='#{$appearance}'] {
5
+ @include mixins.use-styles(toaster, $appearance);
6
+
7
+ .toaster {
8
+ &-icon {
9
+ @include mixins.use-styles(toaster, $appearance, icon);
10
+ }
11
+
12
+ &-title {
13
+ @include mixins.use-styles(toaster, $appearance, title);
14
+ }
15
+
16
+ &-description {
17
+ @include mixins.use-styles(toaster, $appearance, description);
18
+ }
19
+ }
20
+ }
21
+ }
22
+
23
+ .toaster {
24
+ pointer-events: all;
25
+ position: absolute;
26
+ outline: none;
27
+ opacity: 1;
28
+ transition: transform 0.4s, opacity 0.4s, height 0.4s, box-shadow 0.2s;
29
+ transform: var(--y);
30
+ display: flex;
31
+ align-items: center;
32
+
33
+ @include mixins.use-styles(toaster);
34
+
35
+ // appearance
36
+
37
+ @include use-appearance(primary);
38
+ @include use-appearance(neutral);
39
+ @include use-appearance(negative);
40
+ @include use-appearance(positive);
41
+ @include use-appearance(warning);
42
+
43
+ &[data-expanded]:not([data-mounted]) {
44
+ opacity: 0;
45
+ --y: translateY(calc(var(--lift) * -100% - var(--toaster_viewport_offset, 0)));
46
+ }
47
+
48
+ &[data-expanded][data-mounted] {
49
+ --y: translateY(calc(var(--lift) * var(--offset)));
50
+ }
51
+
52
+ &[data-state='closed'] {
53
+ animation: toastOut 400ms, toastFadeOut 400ms;
54
+ }
55
+
56
+ &-viewport {
57
+ position: fixed;
58
+ display: flex;
59
+ flex-direction: column;
60
+ left: var(--toaster_viewport_offset);
61
+ right: var(--toaster_viewport_offset);
62
+ z-index: 40;
63
+ outline: none;
64
+ pointer-events: none;
65
+ gap: var(--toasters-gap, 0);
66
+
67
+ &[data-side='top'] {
68
+ top: var(--toaster_viewport_offset);
69
+
70
+ .toaster {
71
+ --lift: 1;
72
+ top: 0;
73
+ }
74
+ }
75
+
76
+ &[data-side='bottom'] {
77
+ bottom: var(--toaster_viewport_offset);
78
+ top: auto;
79
+
80
+ .toaster {
81
+ --lift: -1;
82
+ bottom: 0;
83
+ }
84
+ }
85
+
86
+ &[data-align='center'] {
87
+ align-items: center;
88
+ }
89
+
90
+ &[data-align='right'] {
91
+ align-items: flex-end;
92
+ }
93
+
94
+ &[data-align='left'] {
95
+ align-items: flex-start;
96
+ }
97
+ }
98
+
99
+ &-content {
100
+ display: flex;
101
+ flex-direction: column;
102
+ width: 100%;
103
+
104
+ @include mixins.use-styles(toaster, content);
105
+ }
106
+
107
+ &-title {
108
+ @include mixins.use-styles(toaster, title);
109
+ }
110
+
111
+ &-description {
112
+ @include mixins.use-styles(toaster, description);
113
+ }
114
+
115
+ &-close-placement {
116
+ top: var(--toaster_close_space, 0);
117
+ right: var(--toaster_close_space, 0);
118
+ position: absolute;
119
+ }
120
+
121
+ &-close {
122
+ cursor: pointer;
123
+ transition: color 0.2s;
124
+
125
+ @include mixins.use-styles(toaster, close);
126
+
127
+ &:hover {
128
+ @include mixins.use-styles(toaster, close, hover);
129
+ }
130
+
131
+ svg {
132
+ @include mixins.use-size(toaster, close, size);
133
+ }
134
+ }
135
+
136
+ &-icon {
137
+ @include mixins.use-styles(toaster, icon);
138
+
139
+ svg {
140
+ @include mixins.use-size(toaster, icon, size);
141
+ }
142
+ }
143
+ }
144
+
145
+ @keyframes toastOut {
146
+ to {
147
+ transform: translateY(calc(var(--lift) * -100% - var(--toaster_viewport_offset)));
148
+ }
149
+ }
150
+
151
+ @keyframes toastFadeOut {
152
+ to {
153
+ opacity: 0;
154
+ }
155
+ }
@@ -0,0 +1,13 @@
1
+ import { InnerToast } from '.';
2
+ export interface ViewportProps {
3
+ side?: 'top' | 'bottom';
4
+ align?: 'center' | 'left' | 'right';
5
+ gap?: number;
6
+ swipeThreshold?: number;
7
+ duration?: number;
8
+ closeIcon?: React.ReactNode;
9
+ }
10
+ export interface ViewportRef {
11
+ showToast: (toast: InnerToast) => void;
12
+ }
13
+ export declare const Viewport: import('react').ForwardRefExoticComponent<ViewportProps & import('react').RefAttributes<ViewportRef>>;
@@ -0,0 +1,20 @@
1
+ import { ViewportProps } from './Viewport';
2
+ export interface ToastOptions {
3
+ id?: string;
4
+ appearance?: 'primary' | 'neutral' | 'positive' | 'negative' | 'warning';
5
+ icon?: React.ReactNode;
6
+ title?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ duration?: number;
9
+ closeIcon?: React.ReactNode;
10
+ closable?: boolean;
11
+ }
12
+ export interface InnerToast extends ToastOptions {
13
+ id: string;
14
+ }
15
+ export declare const createToaster: (rootProps?: ViewportProps) => {
16
+ api: {
17
+ show: (toast: ToastOptions) => string;
18
+ };
19
+ Viewport: (props?: ViewportProps) => import("react/jsx-runtime").JSX.Element;
20
+ };
@@ -0,0 +1,28 @@
1
+ @use '../mixins.scss';
2
+
3
+ .tooltip .popover {
4
+ &-content {
5
+ @include mixins.use-styles(tooltip);
6
+ max-height: none;
7
+ }
8
+
9
+ &-arrow {
10
+ &-fill {
11
+ fill: mixins.get-var-name(tooltip, background);
12
+ }
13
+ }
14
+ }
15
+
16
+ .tooltip {
17
+ &[data-appearance='default'] {
18
+ &[data-state='open'] {
19
+ transform-origin: var(--radix-popover-content-transform-origin);
20
+ @include mixins.use-styles(tooltip, in);
21
+ }
22
+
23
+ &[data-state='closed'] {
24
+ transform-origin: var(--radix-popover-content-transform-origin);
25
+ @include mixins.use-styles(tooltip, out);
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,7 @@
1
+ import { Side } from '../Popover';
2
+ export interface TooltipProps {
3
+ children: React.ReactNode;
4
+ content: React.ReactNode;
5
+ side?: Side;
6
+ }
7
+ export declare const Tooltip: ({ children, content, side }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { DialogProps } from '../Dialog';
2
+ export interface PopupProps<T> {
3
+ data: T;
4
+ close: () => void;
5
+ }
6
+ type PopupSignature = (options: PopupProps<any>) => JSX.Element;
7
+ type Store = {
8
+ [name: string]: PopupSignature;
9
+ };
10
+ type UnwrapProps<T extends PopupSignature> = Parameters<T>[0] extends PopupProps<infer Q> ? Q : never;
11
+ type OpenAgent<T extends Store> = {
12
+ [P in keyof T]: (data: UnwrapProps<T[P]>) => void;
13
+ };
14
+ type CloseAgent<T extends Store> = {
15
+ [key in keyof T]: () => void;
16
+ };
17
+ type PopupsRegistry<T extends Store> = {
18
+ Overlay: () => JSX.Element;
19
+ Close: CloseAgent<T>;
20
+ Open: OpenAgent<T>;
21
+ };
22
+ export declare const createDialogsRegistry: <T extends Store>(mapping: T) => PopupsRegistry<T>;
23
+ interface PopupLayer extends Omit<DialogProps, 'open' | 'onOpenChange' | 'onClosed'> {
24
+ }
25
+ export declare const DialogShell: ({ children, ...props }: PopupLayer) => import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1,19 @@
1
+ import { PopoverProps } from '../Popover';
2
+ export type PopoverContentProps<T> = {
3
+ data: T;
4
+ close: () => void;
5
+ };
6
+ type PopoverSignature = (options: PopoverContentProps<any>) => JSX.Element;
7
+ type Store = {
8
+ [name: string]: PopoverSignature;
9
+ };
10
+ type UnwrapProps<T extends PopoverSignature> = Parameters<T>[0] extends PopoverContentProps<infer Q> ? Q : never;
11
+ type PopoversStore<T extends Store> = {
12
+ [P in keyof T]: (props: Omit<PopoverProps, 'content'> & (UnwrapProps<T[P]> extends never ? {
13
+ data?: unknown;
14
+ } : {
15
+ data: UnwrapProps<T[P]>;
16
+ })) => JSX.Element;
17
+ };
18
+ export declare const createPopoversRegistry: <T extends Store>(mapping: T) => PopoversStore<T>;
19
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const useFroozeClosing: () => {
2
+ popoverRef: import('react').RefObject<HTMLDivElement>;
3
+ handleAnimationEnd: () => void;
4
+ froozePopoverPosition: () => void;
5
+ };
@@ -0,0 +1,5 @@
1
+ declare const useInputPadding: (inputRef: React.RefObject<HTMLInputElement>, deps?: React.DependencyList) => {
2
+ rightRef: import('react').RefObject<HTMLSpanElement>;
3
+ leftRef: import('react').RefObject<HTMLSpanElement>;
4
+ };
5
+ export { useInputPadding };
@@ -0,0 +1,8 @@
1
+ export interface UseLoadingProps<T = unknown> {
2
+ onClick: (startLoad: () => void, value: T) => Promise<any>;
3
+ }
4
+ export declare const useLoading: <T = unknown>({ onClick }: UseLoadingProps<T>) => {
5
+ handleClick: (value: T) => void;
6
+ isLoading: boolean;
7
+ isError: boolean;
8
+ };
@@ -0,0 +1 @@
1
+ export declare const useLocalStorage: <T>(token: string, defaultValue: T) => [T, React.Dispatch<React.SetStateAction<T>>];
@@ -0,0 +1,8 @@
1
+ export declare const usePopoverLeftValue: () => {
2
+ popoverRef: import('react').RefObject<HTMLDivElement>;
3
+ getLeftValue: () => string;
4
+ };
5
+ export declare const useButtonWidth: () => {
6
+ buttonRef: import('react').RefObject<HTMLButtonElement>;
7
+ getWidthValue: () => string;
8
+ };
@@ -0,0 +1,2 @@
1
+ export declare const usePrevious: <T>(value: T) => T | undefined;
2
+ export declare const usePreviousChanged: <T>(value: T) => T | undefined;
@@ -0,0 +1,3 @@
1
+ type ResizeText = [React.RefObject<HTMLTextAreaElement>, () => void];
2
+ declare const useResizeTextarea: (onResize: ((el: HTMLTextAreaElement) => void) | undefined, grow: boolean) => ResizeText;
3
+ export { useResizeTextarea };
@@ -0,0 +1,7 @@
1
+ interface UseScrollListControllerReturn {
2
+ scrollBoxRef: React.RefObject<HTMLDivElement>;
3
+ optionsWrapperRef: React.RefObject<HTMLDivElement>;
4
+ scrollToElement: (index: number, position?: 'center' | 'top') => void;
5
+ }
6
+ export declare const useScrollListController: () => UseScrollListControllerReturn;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const useEffectWithLayout: (callback: () => void, deps?: React.DependencyList | undefined) => void;
@@ -0,0 +1,17 @@
1
+ import { CalendarProps } from '../Calendar/Calendar';
2
+ export interface UseCalendarDependencies extends Pick<CalendarProps, 'minDateTime' | 'maxDateTime' | 'shouldDisableDate' | 'disableFuture' | 'disablePast'> {
3
+ disablePast?: boolean;
4
+ disableFuture?: boolean;
5
+ minDateTime?: Date;
6
+ maxDateTime?: Date;
7
+ value?: Date | null;
8
+ }
9
+ export declare const useCalendar: ({ value, disablePast, disableFuture, shouldDisableDate, minDateTime, maxDateTime }: UseCalendarDependencies) => {
10
+ viewDate: Date;
11
+ setViewDate: import('react').Dispatch<import('react').SetStateAction<Date>>;
12
+ setPrevMonth: () => void;
13
+ setNextMonth: () => void;
14
+ isDayDisabled: (day: Date, withTime?: boolean) => boolean;
15
+ isMonthDisabled: (month: number, year?: number) => boolean;
16
+ isYearDisabled: (year: number) => boolean;
17
+ };
@@ -0,0 +1,22 @@
1
+ export declare const defaultMax: Date;
2
+ export declare const defaultMin: Date;
3
+ interface Options {
4
+ min?: Date;
5
+ max?: Date;
6
+ now: Date;
7
+ }
8
+ export declare const useCalendarOptions2: ({ min, max, now }: Options) => {
9
+ years: {
10
+ title: string;
11
+ value: number;
12
+ }[];
13
+ months: {
14
+ title: string;
15
+ value: number;
16
+ }[];
17
+ days: {
18
+ title: string;
19
+ value: number;
20
+ }[];
21
+ };
22
+ export {};