@companix/uikit 0.0.2 → 0.0.4

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 (222) hide show
  1. package/dist/Button/index.d.ts +20 -0
  2. package/dist/ButtonGroup/index.d.ts +7 -0
  3. package/dist/Checkbox/index.d.ts +10 -0
  4. package/dist/Countdown/index.d.ts +7 -0
  5. package/dist/DateInput/index.d.ts +13 -0
  6. package/dist/DatePicker/Calendar.d.ts +14 -0
  7. package/dist/DatePicker/CalendarHeader.d.ts +10 -0
  8. package/dist/DatePicker/index.d.ts +12 -0
  9. package/dist/Dialog/index.d.ts +12 -0
  10. package/dist/DialogAlert/Alert.d.ts +19 -0
  11. package/dist/DialogAlert/Viewport.d.ts +8 -0
  12. package/dist/DialogAlert/index.d.ts +11 -0
  13. package/dist/Drawer/index.d.ts +13 -0
  14. package/dist/File/index.d.ts +10 -0
  15. package/dist/Form/index.d.ts +17 -0
  16. package/dist/Icon/index.d.ts +7 -0
  17. package/dist/LoadButton/index.d.ts +5 -0
  18. package/dist/NumberInput/index.d.ts +6 -0
  19. package/dist/OptionItem/OptionItem.d.ts +7 -0
  20. package/dist/OptionItem/OptionsList.d.ts +8 -0
  21. package/dist/Popover/index.d.ts +26 -0
  22. package/dist/Radio/index.d.ts +20 -0
  23. package/dist/Scrollable/ImitateScroll.d.ts +10 -0
  24. package/dist/Scrollable/index.d.ts +33 -0
  25. package/dist/Select/SelectInput.d.ts +14 -0
  26. package/dist/Select/index.d.ts +15 -0
  27. package/dist/SelectTags/index.d.ts +15 -0
  28. package/dist/Spinner/index.d.ts +8 -0
  29. package/dist/Stepper/index.d.ts +8 -0
  30. package/dist/Switch/index.d.ts +10 -0
  31. package/dist/Tabs/index.d.ts +13 -0
  32. package/dist/TextArea/index.d.ts +7 -0
  33. package/dist/Toaster/RemoveListener.d.ts +3 -0
  34. package/dist/Toaster/Toast.d.ts +9 -0
  35. package/dist/Toaster/Viewport.d.ts +13 -0
  36. package/dist/Toaster/index.d.ts +15 -0
  37. package/dist/Tooltip/index.d.ts +8 -0
  38. package/dist/__hooks/use-frooze-closing.d.ts +5 -0
  39. package/dist/__hooks/use-loading.d.ts +8 -0
  40. package/dist/__hooks/use-local-storage.d.ts +1 -0
  41. package/dist/__hooks/use-popover-position.d.ts +8 -0
  42. package/dist/__hooks/use-previos.d.ts +2 -0
  43. package/dist/__hooks/use-resize.d.ts +3 -0
  44. package/dist/__hooks/use-scrollbox.d.ts +7 -0
  45. package/dist/__hooks/use-stepper-input.d.ts +13 -0
  46. package/dist/__hooks/use-update.d.ts +1 -0
  47. package/dist/__hooks/useCalendar.d.ts +17 -0
  48. package/dist/__hooks/useCalendarOptions-copy.d.ts +22 -0
  49. package/dist/__hooks/useCalendarOptions.d.ts +31 -0
  50. package/dist/__libs/calendar.d.ts +25 -0
  51. package/dist/__utils/utils.d.ts +25 -0
  52. package/dist/bundle.es.js +58 -0
  53. package/dist/bundle.es10.js +38 -0
  54. package/dist/bundle.es11.js +33 -0
  55. package/dist/bundle.es12.js +18 -0
  56. package/dist/bundle.es13.js +10 -0
  57. package/dist/bundle.es14.js +35 -0
  58. package/dist/bundle.es15.js +27 -0
  59. package/dist/bundle.es16.js +23 -0
  60. package/dist/bundle.es17.js +24 -0
  61. package/dist/bundle.es18.js +15 -0
  62. package/dist/bundle.es19.js +40 -0
  63. package/dist/bundle.es2.js +45 -0
  64. package/dist/bundle.es20.js +18 -0
  65. package/dist/bundle.es21.js +36 -0
  66. package/dist/bundle.es22.js +23 -0
  67. package/dist/bundle.es23.js +42 -0
  68. package/dist/bundle.es24.js +113 -0
  69. package/dist/bundle.es25.js +114 -0
  70. package/dist/bundle.es26.js +38 -0
  71. package/dist/bundle.es27.js +13 -0
  72. package/dist/bundle.es28.js +27 -0
  73. package/dist/bundle.es29.js +38 -0
  74. package/dist/bundle.es3.js +13 -0
  75. package/dist/bundle.es30.js +26 -0
  76. package/dist/bundle.es31.js +83 -0
  77. package/dist/bundle.es32.js +20 -0
  78. package/dist/bundle.es33.js +16 -0
  79. package/dist/bundle.es34.js +24 -0
  80. package/dist/bundle.es35.js +7 -0
  81. package/dist/bundle.es36.js +23 -0
  82. package/dist/bundle.es37.js +16 -0
  83. package/dist/bundle.es38.js +72 -0
  84. package/dist/bundle.es39.js +70 -0
  85. package/dist/bundle.es4.js +87 -0
  86. package/dist/bundle.es40.js +34 -0
  87. package/dist/bundle.es41.js +70 -0
  88. package/dist/bundle.es42.js +33 -0
  89. package/dist/bundle.es43.js +77 -0
  90. package/dist/bundle.es44.js +51 -0
  91. package/dist/bundle.es45.js +45 -0
  92. package/dist/bundle.es5.js +87 -0
  93. package/dist/bundle.es6.js +80 -0
  94. package/dist/bundle.es7.js +28 -0
  95. package/dist/bundle.es8.js +87 -0
  96. package/dist/bundle.es9.js +75 -0
  97. package/dist/index.d.ts +30 -0
  98. package/{src → dist}/index.scss +3 -0
  99. package/{src → dist}/mixins.scss +4 -3
  100. package/{src → dist}/theme.scss +0 -2
  101. package/dist/types.d.ts +13 -0
  102. package/package.json +10 -6
  103. package/.eslintrc +0 -54
  104. package/declaration.d.ts +0 -4
  105. package/index.html +0 -12
  106. package/playground/App.tsx +0 -166
  107. package/playground/Example.tsx +0 -14
  108. package/playground/Test.tsx +0 -44
  109. package/playground/animation-test-1/index.scss +0 -20
  110. package/playground/animation-test-1/index.tsx +0 -17
  111. package/playground/animation-test-2/index.scss +0 -62
  112. package/playground/animation-test-2/index.tsx +0 -32
  113. package/playground/bootstrap.tsx +0 -19
  114. package/playground/buttons/index.tsx +0 -132
  115. package/playground/checkbox/index.tsx +0 -64
  116. package/playground/date-input/index.tsx +0 -45
  117. package/playground/date-picker/index.tsx +0 -41
  118. package/playground/dialog/index.tsx +0 -92
  119. package/playground/dialog-alert/index.tsx +0 -47
  120. package/playground/drawer/index.tsx +0 -55
  121. package/playground/index.css +0 -33
  122. package/playground/index.scss +0 -270
  123. package/playground/input/index.tsx +0 -112
  124. package/playground/number-inputs/index.tsx +0 -50
  125. package/playground/popovers/index.tsx +0 -70
  126. package/playground/radio-group/index.tsx +0 -69
  127. package/playground/select/index.tsx +0 -72
  128. package/playground/select-tags/index.tsx +0 -36
  129. package/playground/styles.scss +0 -2
  130. package/playground/switch/index.tsx +0 -44
  131. package/playground/tabs/index.tsx +0 -16
  132. package/playground/test.scss +0 -0
  133. package/playground/text-area/index.tsx +0 -17
  134. package/playground/text-input/index.tsx +0 -12
  135. package/playground/toaster/index.tsx +0 -156
  136. package/playground/tooltip/index.tsx +0 -26
  137. package/src/Button/index.tsx +0 -72
  138. package/src/ButtonGroup/index.tsx +0 -20
  139. package/src/Checkbox/index.tsx +0 -46
  140. package/src/Countdown/index.tsx +0 -54
  141. package/src/DateInput/index.tsx +0 -96
  142. package/src/DatePicker/Calendar.tsx +0 -157
  143. package/src/DatePicker/CalendarHeader.tsx +0 -139
  144. package/src/DatePicker/index.tsx +0 -177
  145. package/src/Dialog/index.tsx +0 -31
  146. package/src/DialogAlert/Alert.tsx +0 -78
  147. package/src/DialogAlert/Viewport.tsx +0 -52
  148. package/src/DialogAlert/index.tsx +0 -37
  149. package/src/Drawer/index.tsx +0 -46
  150. package/src/File/index.tsx +0 -60
  151. package/src/Form/index.tsx +0 -131
  152. package/src/Icon/index.tsx +0 -43
  153. package/src/LoadButton/index.tsx +0 -17
  154. package/src/NumberInput/index.tsx +0 -74
  155. package/src/OptionItem/OptionItem.tsx +0 -49
  156. package/src/OptionItem/OptionsList.tsx +0 -26
  157. package/src/Popover/index.tsx +0 -117
  158. package/src/Radio/index.tsx +0 -68
  159. package/src/Scrollable/ImitateScroll.tsx +0 -141
  160. package/src/Scrollable/index.tsx +0 -141
  161. package/src/Select/SelectInput.tsx +0 -131
  162. package/src/Select/index.tsx +0 -134
  163. package/src/SelectTags/index.tsx +0 -192
  164. package/src/Spinner/index.tsx +0 -19
  165. package/src/Stepper/index.tsx +0 -76
  166. package/src/Switch/index.tsx +0 -49
  167. package/src/Tabs/index.tsx +0 -89
  168. package/src/TextArea/index.tsx +0 -51
  169. package/src/Toaster/RemoveListener.tsx +0 -11
  170. package/src/Toaster/Toast.tsx +0 -69
  171. package/src/Toaster/Viewport.tsx +0 -117
  172. package/src/Toaster/index.tsx +0 -52
  173. package/src/Tooltip/index.tsx +0 -33
  174. package/src/__hooks/use-frooze-closing.ts +0 -51
  175. package/src/__hooks/use-loading.ts +0 -34
  176. package/src/__hooks/use-local-storage.ts +0 -19
  177. package/src/__hooks/use-popover-position.ts +0 -24
  178. package/src/__hooks/use-previos.ts +0 -25
  179. package/src/__hooks/use-resize.ts +0 -41
  180. package/src/__hooks/use-scrollbox.ts +0 -45
  181. package/src/__hooks/use-stepper-input.ts +0 -82
  182. package/src/__hooks/use-update.ts +0 -19
  183. package/src/__hooks/useCalendar.ts +0 -104
  184. package/src/__hooks/useCalendarOptions-copy.ts +0 -87
  185. package/src/__hooks/useCalendarOptions.ts +0 -68
  186. package/src/__libs/calendar.ts +0 -175
  187. package/src/__utils/utils.ts +0 -137
  188. package/src/index.ts +0 -36
  189. package/src/types.ts +0 -14
  190. package/tailwind.config.js +0 -91
  191. package/themes/classic/animations.scss +0 -179
  192. package/themes/classic/classic.scss +0 -493
  193. package/tsconfig.json +0 -27
  194. package/vite.build.ts +0 -35
  195. package/vite.config.ts +0 -33
  196. /package/{src → dist}/Button/Button.scss +0 -0
  197. /package/{src → dist}/ButtonGroup/ButtonGroup.scss +0 -0
  198. /package/{src → dist}/Checkbox/Checkbox.scss +0 -0
  199. /package/{src → dist}/DateInput/DateInput.scss +0 -0
  200. /package/{src → dist}/DatePicker/Calendar.scss +0 -0
  201. /package/{src → dist}/DatePicker/DatePicker.scss +0 -0
  202. /package/{src → dist}/Dialog/Dialog.scss +0 -0
  203. /package/{src → dist}/Dialog/Popup.scss +0 -0
  204. /package/{src → dist}/DialogAlert/Alert.scss +0 -0
  205. /package/{src → dist}/Drawer/Drawer.scss +0 -0
  206. /package/{src → dist}/Form/Form.scss +0 -0
  207. /package/{src → dist}/Form/Input.scss +0 -0
  208. /package/{src → dist}/Icon/icon.scss +0 -0
  209. /package/{src → dist}/OptionItem/Option.scss +0 -0
  210. /package/{src → dist}/Popover/Popover.scss +0 -0
  211. /package/{src → dist}/Radio/Radio.scss +0 -0
  212. /package/{src → dist}/Scrollable/Scrollable.scss +0 -0
  213. /package/{src → dist}/Select/Select.scss +0 -0
  214. /package/{src → dist}/SelectTags/SelectTags.scss +0 -0
  215. /package/{src → dist}/Spinner/Spinner.scss +0 -0
  216. /package/{src → dist}/Stepper/StepperInput.scss +0 -0
  217. /package/{src → dist}/Switch/Switch.scss +0 -0
  218. /package/{src → dist}/Tabs/Tabs.scss +0 -0
  219. /package/{src → dist}/TextArea/TextArea.scss +0 -0
  220. /package/{src → dist}/Toaster/Toaster.scss +0 -0
  221. /package/{src → dist}/Tooltip/Tooltip.scss +0 -0
  222. /package/{src/css.scss → dist/css-properties.scss} +0 -0
@@ -1,270 +0,0 @@
1
- body {
2
- background-color: color(display-p3 0.976 0.976 0.984);
3
- }
4
-
5
- // SIMPLE TEST
6
-
7
- .box-styles {
8
- background: red;
9
- color: rgb(255, 255, 255);
10
- width: 120px;
11
- height: 60px;
12
- }
13
-
14
- // CLASSNAMES USAGE
15
-
16
- .enterFrom {
17
- opacity: 0;
18
- }
19
-
20
- .enter {
21
- transition: opacity;
22
- transition-timing-function: linear;
23
- transition-duration: 10s;
24
- }
25
-
26
- .enterTo {
27
- opacity: 1;
28
- }
29
-
30
- // leave
31
-
32
- .leaveFrom {
33
- opacity: 1;
34
- }
35
-
36
- .leave {
37
- transition: all;
38
- transition-timing-function: linear;
39
- transition-duration: 5s;
40
- }
41
-
42
- .leaveTo {
43
- opacity: 0;
44
- }
45
-
46
- .col-group {
47
- display: flex;
48
- flex-direction: column;
49
- gap: 10px;
50
- }
51
-
52
- .row-group {
53
- display: flex;
54
- align-items: center;
55
- gap: 10px;
56
- }
57
-
58
- .examples-list {
59
- display: flex;
60
- flex-direction: column;
61
- gap: 60px;
62
- padding: 20px 120px;
63
- }
64
-
65
- .spinner-border {
66
- animation: none;
67
- }
68
-
69
- .w-full {
70
- width: 100%;
71
- }
72
-
73
- .docs-popover-placement-example {
74
- display: flex;
75
- justify-content: center;
76
- }
77
-
78
- .docs-popover-placement-example .docs-example-grid {
79
- display: grid;
80
- gap: 10px;
81
- grid-template-columns: 1fr 2fr 1fr;
82
- grid-template-rows: 1fr 2fr 1fr;
83
- justify-content: stretch;
84
- margin: 0;
85
- }
86
-
87
- .docs-popover-placement-example .docs-example-grid-1-1 {
88
- grid-column: 1/2;
89
- grid-row: 1/2;
90
- }
91
-
92
- .docs-popover-placement-example .docs-example-grid-1-2 {
93
- grid-column: 2/3;
94
- grid-row: 1/2;
95
- }
96
-
97
- .docs-popover-placement-example .docs-example-grid-1-3 {
98
- grid-column: 3/4;
99
- grid-row: 1/2;
100
- }
101
-
102
- .docs-popover-placement-example .docs-example-grid-2-1 {
103
- grid-column: 1/2;
104
- grid-row: 2/3;
105
- }
106
-
107
- .docs-popover-placement-example .docs-example-grid-2-2 {
108
- grid-column: 2/3;
109
- grid-row: 2/3;
110
- }
111
-
112
- .docs-popover-placement-example .docs-example-grid-2-3 {
113
- grid-column: 3/4;
114
- grid-row: 2/3;
115
- }
116
-
117
- .docs-popover-placement-example .docs-example-grid-3-1 {
118
- grid-column: 1/2;
119
- grid-row: 3/4;
120
- }
121
-
122
- .docs-popover-placement-example .docs-example-grid-3-2 {
123
- grid-column: 2/3;
124
- grid-row: 3/4;
125
- }
126
-
127
- .docs-popover-placement-example .docs-example-grid-3-3 {
128
- grid-column: 3/4;
129
- grid-row: 3/4;
130
- }
131
-
132
- .docs-popover-placement-example .docs-example-grid-1-1 {
133
- align-self: end;
134
- }
135
-
136
- .docs-popover-placement-example .docs-example-grid-1-2,
137
- .docs-popover-placement-example .docs-example-grid-2-1 {
138
- align-self: stretch;
139
- }
140
-
141
- .docs-popover-placement-example .docs-example-grid-1-3,
142
- .docs-popover-placement-example .docs-example-grid-3-1 {
143
- align-self: start;
144
- }
145
-
146
- .docs-popover-placement-example .docs-example-grid-1-2,
147
- .docs-popover-placement-example .docs-example-grid-2-1 {
148
- align-self: end;
149
- }
150
-
151
- .docs-popover-placement-example .docs-example-grid-2-2 {
152
- align-self: stretch;
153
- }
154
-
155
- .docs-popover-placement-example .docs-example-grid-2-3,
156
- .docs-popover-placement-example .docs-example-grid-3-2 {
157
- align-self: start;
158
- }
159
-
160
- .docs-popover-placement-example .docs-example-grid-1-3,
161
- .docs-popover-placement-example .docs-example-grid-3-1 {
162
- align-self: end;
163
- }
164
-
165
- .docs-popover-placement-example .docs-example-grid-2-3,
166
- .docs-popover-placement-example .docs-example-grid-3-2 {
167
- align-self: stretch;
168
- }
169
-
170
- .docs-popover-placement-example .docs-example-grid-3-3 {
171
- align-self: start;
172
- }
173
-
174
- .docs-popover-placement-example .docs-example-grid-2-2 {
175
- align-self: center;
176
- text-align: center;
177
- }
178
-
179
- .docs-popover-placement-example em {
180
- display: inline-block;
181
- max-width: 250px;
182
- }
183
-
184
- .bp6-dark .docs-popover-placement-example em {
185
- color: #abb3bf;
186
- }
187
-
188
- .docs-popover-placement-example-content .bp6-popover-content {
189
- line-height: 2;
190
- padding: 10px 20px;
191
- text-align: center;
192
- }
193
-
194
- .docs-popover-placement-example-content code {
195
- font-weight: 600;
196
- }
197
-
198
- .docs-popover-placement-value-code-block {
199
- font-size: 16px;
200
- font-weight: 600;
201
- text-align: center;
202
- }
203
-
204
- .sample {
205
- border: 1px solid #00000024;
206
- padding: 28px;
207
- border-radius: 10px;
208
- background-color: #ffffff;
209
- box-shadow: 0px 4px 18px #0000000a, 0px 2.025px 7.84688px rgba(0, 0, 0, 0.027),
210
- 0px 0.8px 2.925px #00000005, 0px 0.175px 1.04062px rgba(0, 0, 0, 0.013);
211
-
212
- &-name {
213
- font-size: 18px;
214
- font-weight: 600;
215
- margin-bottom: 18px;
216
- }
217
- }
218
-
219
- .help-tip {
220
- margin-left: 6px;
221
- margin-top: -2px;
222
- display: inline-block;
223
- vertical-align: middle;
224
- opacity: 0.3;
225
- }
226
-
227
- .form-slot {
228
- pointer-events: auto;
229
- padding: 0px var(--form_space, 0);
230
-
231
- &[data-side='right'] {
232
- border-left: var(--form_border);
233
- margin-left: var(--form_space, 0);
234
- }
235
-
236
- &[data-side='left'] {
237
- border-right: var(--form_border);
238
- margin-right: var(--form_space, 0);
239
- }
240
-
241
- &:hover {
242
- svg {
243
- color: #858585;
244
- }
245
- }
246
- }
247
-
248
- .dialog-close {
249
- position: absolute;
250
- outline: none;
251
- top: 14px;
252
- right: 14px;
253
- cursor: pointer;
254
- padding: 8px;
255
- border-radius: 8px;
256
- color: var(--dialog-close-color);
257
-
258
- &:hover {
259
- background-color: var(--dialog-close-hover-background);
260
- }
261
-
262
- &:active {
263
- background-color: var(--dialog-close-active-background);
264
- }
265
-
266
- svg {
267
- width: 16px;
268
- height: 16px;
269
- }
270
- }
@@ -1,112 +0,0 @@
1
- import { Icon } from '@/Icon'
2
- import { Form } from '@/Form'
3
- import { faEye, faEyeSlash, faSearch } from '@fortawesome/free-solid-svg-icons'
4
- import { useState } from 'react'
5
-
6
- const sizes = ['lg', 'md', 'sm'] as const
7
-
8
- export const InputsExample = () => {
9
- return (
10
- <div className="col-group">
11
- <div className="row-group">
12
- <PasswordInput />
13
- <PasswordInput2 />
14
- <ChangeSize />
15
- <Form
16
- fill
17
- placeholder="Fullwidth input"
18
- leftElement={<Icon size="xxs" icon={faSearch} className="quieter form-space-margin" />}
19
- />
20
- </div>
21
- <div style={{ height: '1px', background: '#eeeeee', margin: '12px 0px' }} />
22
- <div className="flex gap-10">
23
- <div className="flex flex-col gap-10">
24
- {sizes.map((size) => {
25
- return <Form key={`input-size-${size}`} size={size} placeholder={`Input size ${size}`} />
26
- })}
27
- </div>
28
- <div className="flex flex-col gap-10">
29
- {sizes.map((size) => {
30
- return (
31
- <Form
32
- key={`input-size-${size}-disabled`}
33
- size={size}
34
- placeholder={`Input disabled ${size}`}
35
- leftElement={<Icon size="xxs" icon={faSearch} className="quieter form-space-margin" />}
36
- disabled
37
- />
38
- )
39
- })}
40
- </div>
41
- <div className="flex flex-col gap-10">
42
- {sizes.map((size) => {
43
- return (
44
- <Form
45
- key={`input-size-${size}-required`}
46
- size={size}
47
- placeholder={`Input required ${size}`}
48
- leftElement={<Icon size="xxs" icon={faSearch} className="quieter form-space-margin" />}
49
- required
50
- />
51
- )
52
- })}
53
- </div>
54
- </div>
55
- </div>
56
- )
57
- }
58
-
59
- const PasswordInput = () => {
60
- const [state, setState] = useState(false)
61
-
62
- return (
63
- <Form
64
- placeholder={`Slot right`}
65
- rightElement={
66
- <div
67
- onClick={() => setState((x) => !x)}
68
- data-side={'right'}
69
- className="form-slot center h-full cursor-pointer"
70
- >
71
- {state ? <Icon size="xxs" icon={faEye} /> : <Icon size="xxs" icon={faEyeSlash} />}
72
- </div>
73
- }
74
- />
75
- )
76
- }
77
-
78
- const PasswordInput2 = () => {
79
- return (
80
- <Form
81
- placeholder={`Slot left`}
82
- leftElement={
83
- <div data-side={'left'} className="form-slot center h-full gap-6 cursor-pointer">
84
- <Icon size="xxs" icon={faEye} />
85
- </div>
86
- }
87
- />
88
- )
89
- }
90
-
91
- const ChangeSize = () => {
92
- const [value, setValue] = useState('')
93
-
94
- return (
95
- <Form
96
- placeholder="Dynamic element"
97
- value={value}
98
- onValueChange={setValue}
99
- leftElement={<Icon size="xxs" icon={faSearch} className="quieter form-space-margin" />}
100
- rightElement={
101
- <div className="form-space-margin flex items-center h-full cursor-pointer">
102
- <div
103
- className="rounded-md px-4 pointer-events-auto"
104
- style={{ backgroundColor: 'rgba(143, 153, 168, .15)' }}
105
- >
106
- {Math.floor(10000 / Math.max(1, Math.pow(value.length, 2)))}
107
- </div>
108
- </div>
109
- }
110
- />
111
- )
112
- }
@@ -1,50 +0,0 @@
1
- import { useState } from 'react'
2
- import { StepperInput } from '@/Stepper'
3
- import { NumberInput } from '@/NumberInput'
4
-
5
- export const NumberInputs = () => {
6
- return (
7
- <div className="flex flex-col gap-22" style={{ width: '200px' }}>
8
- <div>NumberInputs</div>
9
- <div>
10
- <NumbInput1 />
11
- </div>
12
- <div>
13
- <NumbInput2 />
14
- </div>
15
- <div>
16
- <NumbInput3 />
17
- </div>
18
- </div>
19
- )
20
- }
21
-
22
- const NumbInput1 = () => {
23
- const [value, onChange] = useState(0)
24
- return (
25
- <div className="flex flex-col">
26
- <StepperInput buttons step={0.01} value={value} onChange={onChange} />
27
- <div onClick={() => onChange(0)}>set 0</div>
28
- </div>
29
- )
30
- }
31
-
32
- const NumbInput2 = () => {
33
- const [value, onChange] = useState(0)
34
-
35
- return <StepperInput step={1} value={value} onChange={onChange} />
36
- }
37
-
38
- const NumbInput3 = () => {
39
- const [value, onChange] = useState<number | null>(0)
40
-
41
- console.log(value)
42
-
43
- return (
44
- <div>
45
- <NumberInput value={value} onChange={onChange} />
46
- <div onClick={() => onChange(1122)}>Set 1122</div>
47
- <div onClick={() => onChange(null)}>Set null</div>
48
- </div>
49
- )
50
- }
@@ -1,70 +0,0 @@
1
- import { Button } from '@/Button'
2
- import { Popover, PopoverProps } from '@/Popover'
3
- import { useState } from 'react'
4
-
5
- export const PopoversExample = () => {
6
- const [minimal] = useState(false)
7
- const [arrows] = useState(true)
8
-
9
- return (
10
- <div className="docs-popover-placement-example">
11
- <div className="docs-example-grid">
12
- <div className="docs-example-grid-1-1" />
13
- <div className="docs-example-grid-1-2">
14
- <div style={{ display: 'flex', gap: '10px' }}>
15
- <PlacementPopover side="bottom" align="start" minimal={minimal} showArrows={arrows} />
16
- <PlacementPopover side="bottom" align="center" minimal={minimal} showArrows={arrows} />
17
- <PlacementPopover side="bottom" align="end" minimal={minimal} showArrows={arrows} />
18
- </div>
19
- </div>
20
- <div className="docs-example-grid-1-3" />
21
- <div className="docs-example-grid-2-1">
22
- <div style={{ display: 'flex', gap: '10px', flexDirection: 'column' }}>
23
- <PlacementPopover side="right" align="start" minimal={minimal} showArrows={arrows} />
24
- <PlacementPopover side="right" align="center" minimal={minimal} showArrows={arrows} />
25
- <PlacementPopover side="right" align="end" minimal={minimal} showArrows={arrows} />
26
- </div>
27
- </div>
28
- <div className="docs-example-grid-2-2">
29
- <em>Button positions are flipped here so that all popovers open inward.</em>
30
- </div>
31
- <div className="docs-example-grid-2-3">
32
- <div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
33
- <PlacementPopover side="left" align="start" minimal={minimal} showArrows={arrows} />
34
- <PlacementPopover side="left" align="center" minimal={minimal} showArrows={arrows} />
35
- <PlacementPopover side="left" align="end" minimal={minimal} showArrows={arrows} />
36
- </div>
37
- </div>
38
- <div className="docs-example-grid-3-1" />
39
- <div className="docs-example-grid-3-2">
40
- <div style={{ display: 'flex', gap: '10px' }}>
41
- <PlacementPopover side="top" align="start" minimal={minimal} showArrows={arrows} />
42
- <PlacementPopover side="top" align="center" minimal={minimal} showArrows={arrows} />
43
- <PlacementPopover side="top" align="end" minimal={minimal} showArrows={arrows} />
44
- </div>
45
- </div>
46
- <div className="docs-example-grid-3-3" />
47
- </div>
48
- </div>
49
- )
50
- }
51
-
52
- const PlacementPopover = (props: Omit<PopoverProps, 'content' | 'children'>) => {
53
- return (
54
- <Popover
55
- {...props}
56
- // sideOffset={0}
57
-
58
- content={() => (
59
- <div className="p-12">
60
- <div>Popover content: {props.align}</div>
61
- <div>Popover content: {props.side}</div>
62
- </div>
63
- )}
64
- >
65
- <Button fill>
66
- {props.side} {props.align}
67
- </Button>
68
- </Popover>
69
- )
70
- }
@@ -1,69 +0,0 @@
1
- import { RadioGroup } from '@/Radio'
2
- import { useState } from 'react'
3
-
4
- export const RadioGroupExample = () => {
5
- return (
6
- <div className="col-group">
7
- <div className="flex gap-24">
8
- <RadioGroupControl
9
- size="md"
10
- options={[
11
- { value: 'soup', label: 'Soup with tomatos' },
12
- { value: 'salat', label: 'Salat olivie' },
13
- { value: 'sandwich', label: 'Sandwich S7 Airlines' }
14
- ]}
15
- />
16
- <RadioGroupControl
17
- size="sm"
18
- options={[
19
- { value: 'soup', label: 'Soup with tomatos' },
20
- { value: 'salat', label: 'Salat olivie' },
21
- { value: 'sandwich', label: 'Sandwich S7 Airlines' }
22
- ]}
23
- />
24
- <RadioGroupControl
25
- size="sm"
26
- disabled
27
- options={[
28
- { value: 'soup', label: 'Soup with tomatos' },
29
- { value: 'salat', label: 'Salat olivie' },
30
- { value: 'sandwich', label: 'Sandwich S7 Airlines' }
31
- ]}
32
- />
33
- </div>
34
- <div style={{ height: '1px', background: '#eeeeee', margin: '12px 0px' }} />
35
- <RadioGroupControl
36
- options={[
37
- { value: 'soup', label: 'Basic plan' },
38
- { value: 'salat', label: 'Professional plan' },
39
- {
40
- value: 'sandwich',
41
- label:
42
- 'This plan includes full access to all features, priority customer support, advanced security options, detailed analytics, and the ability to customize the system to fit internal processes. It is intended for companies that need reliability, scalability, and long-term support across multiple departments.'
43
- }
44
- ]}
45
- />
46
- <div style={{ height: '1px', background: '#eeeeee', margin: '12px 0px' }} />
47
- <RadioGroupControl
48
- required
49
- options={[
50
- { value: 'soup', label: 'New York' },
51
- { value: 'salat', label: 'Beijing' }
52
- ]}
53
- />
54
- </div>
55
- )
56
- }
57
-
58
- interface Props<T> {
59
- size?: 'sm' | 'md'
60
- options: { value: T; label: string }[]
61
- disabled?: boolean
62
- required?: boolean
63
- }
64
-
65
- const RadioGroupControl = <T extends string>(props: Props<T>) => {
66
- const [value, setValue] = useState<null | T>(null)
67
-
68
- return <RadioGroup {...props} value={value} onChange={setValue} />
69
- }
@@ -1,72 +0,0 @@
1
- import { useState } from 'react'
2
- import { Select } from '@/Select'
3
- import { Icon } from '@/Icon'
4
- import { faGift } from '@fortawesome/free-solid-svg-icons'
5
-
6
- export const SelectExample = () => {
7
- return (
8
- <div className="col-group">
9
- <div className="row-group">
10
- <div style={{ minWidth: '200px', width: '200px' }}>
11
- <SelectItem />
12
- </div>
13
- <div style={{ display: 'flex', justifyContent: 'center', minWidth: '240px', width: '240px' }}>
14
- <SelectItem
15
- clearButton
16
- icon={<Icon icon={faGift} size="xxs" className="form-space-margin" />}
17
- />
18
- </div>
19
- <div style={{ minWidth: 0, width: '100%' }}>
20
- <SelectItem fill icon={<Icon icon={faGift} size="xxs" className="form-space-margin" />} />
21
- </div>
22
- </div>
23
- {/* <div style={{ height: '1px', background: '#eeeeee', margin: '12px 0px' }} />
24
- <div className="row-group">
25
- <div style={{ minWidth: '200px', width: '200px' }}>
26
- <SelectItem />
27
- </div>
28
- <div style={{ display: 'flex', justifyContent: 'center', minWidth: '240px', width: '240px' }}>
29
- <SelectItem
30
- clearButton
31
- icon={<Icon icon={faGift} size="xxs" className="form-space-margin" />}
32
- />
33
- </div>
34
- <div style={{ minWidth: 0, width: '100%' }}>
35
- <SelectItem fill icon={<Icon icon={faGift} size="xxs" className="form-space-margin" />} />
36
- </div>
37
- </div> */}
38
- </div>
39
- )
40
- }
41
-
42
- interface ItemProps {
43
- fill?: boolean
44
- clearButton?: boolean
45
- icon?: React.ReactNode
46
- size?: 'sm' | 'md' | 'lg'
47
- }
48
-
49
- const SelectItem = ({ fill, clearButton, icon, size }: ItemProps) => {
50
- const [value, onChange] = useState<null | number>(null)
51
-
52
- return (
53
- <Select<number>
54
- value={value}
55
- onChange={onChange}
56
- leftElement={icon}
57
- fill={fill}
58
- size={size}
59
- clearButton={clearButton}
60
- placeholder="Не выбрано"
61
- options={[
62
- { value: 1, title: 'Vladimir Putin' },
63
- { value: 2, title: 'Donald Trump' },
64
- { value: 3, title: 'Sergey Lavrov' },
65
- ...new Array(10).fill(0).map((_, i) => ({
66
- title: `Value ${i + 4}`,
67
- value: i + 4
68
- }))
69
- ]}
70
- />
71
- )
72
- }
@@ -1,36 +0,0 @@
1
- import { SelectTags } from '@/SelectTags'
2
- import { useState } from 'react'
3
-
4
- export const SelectTagsExample = () => {
5
- return (
6
- <div className="col-group">
7
- <div className="row-group">
8
- <div style={{ maxWidth: '380px' }}>
9
- <SelectTagsControl />
10
- </div>
11
- </div>
12
- </div>
13
- )
14
- }
15
-
16
- const SelectTagsControl = ({ fill }: { fill?: boolean } = {}) => {
17
- const [value, onChange] = useState<number[]>([])
18
-
19
- return (
20
- <SelectTags<number>
21
- value={value}
22
- onChange={onChange}
23
- fill={fill}
24
- placeholder="Выберите варианты"
25
- options={[
26
- { value: 1, title: 'Vladimir Putin' },
27
- { value: 2, title: 'Donald Trump' },
28
- { value: 3, title: 'Sergey Lavrov' },
29
- ...new Array(10).fill(0).map((_, i) => ({
30
- title: `Value ${i + 4}`,
31
- value: i + 4
32
- }))
33
- ]}
34
- />
35
- )
36
- }
@@ -1,2 +0,0 @@
1
- @use '../themes/classic/classic.scss';
2
- @use '../src/index.scss';