@companix/uikit 0.0.2 → 0.0.3

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 (254) hide show
  1. package/dist/bundle.es.js +61 -0
  2. package/dist/bundle.es10.js +87 -0
  3. package/dist/bundle.es11.js +75 -0
  4. package/dist/bundle.es12.js +38 -0
  5. package/dist/bundle.es13.js +33 -0
  6. package/dist/bundle.es14.js +18 -0
  7. package/dist/bundle.es15.js +11 -0
  8. package/dist/bundle.es16.js +35 -0
  9. package/dist/bundle.es17.js +27 -0
  10. package/dist/bundle.es18.js +23 -0
  11. package/dist/bundle.es19.js +24 -0
  12. package/dist/bundle.es20.js +15 -0
  13. package/dist/bundle.es21.js +41 -0
  14. package/dist/bundle.es22.js +18 -0
  15. package/dist/bundle.es23.js +36 -0
  16. package/dist/bundle.es24.js +23 -0
  17. package/dist/bundle.es25.js +42 -0
  18. package/dist/bundle.es26.js +114 -0
  19. package/dist/bundle.es27.js +115 -0
  20. package/dist/bundle.es28.js +38 -0
  21. package/dist/bundle.es29.js +13 -0
  22. package/dist/bundle.es3.js +45 -0
  23. package/dist/bundle.es30.js +27 -0
  24. package/dist/bundle.es31.js +38 -0
  25. package/dist/bundle.es35.js +43 -0
  26. package/dist/bundle.es36.js +442 -0
  27. package/dist/bundle.es37.js +24 -0
  28. package/dist/bundle.es38.js +26 -0
  29. package/dist/bundle.es39.js +83 -0
  30. package/dist/bundle.es4.js +14 -0
  31. package/dist/bundle.es40.js +20 -0
  32. package/dist/bundle.es41.js +16 -0
  33. package/dist/bundle.es43.js +7 -0
  34. package/dist/bundle.es44.js +23 -0
  35. package/dist/bundle.es45.js +16 -0
  36. package/dist/bundle.es46.js +72 -0
  37. package/dist/bundle.es47.js +70 -0
  38. package/dist/bundle.es48.js +34 -0
  39. package/dist/bundle.es49.js +70 -0
  40. package/dist/bundle.es5.js +88 -0
  41. package/dist/bundle.es50.js +33 -0
  42. package/dist/bundle.es51.js +78 -0
  43. package/dist/bundle.es52.js +51 -0
  44. package/dist/bundle.es53.js +45 -0
  45. package/dist/bundle.es54.js +40 -0
  46. package/dist/bundle.es55.js +36 -0
  47. package/dist/bundle.es56.js +9 -0
  48. package/dist/bundle.es57.js +9 -0
  49. package/dist/bundle.es58.js +7 -0
  50. package/dist/bundle.es59.js +9 -0
  51. package/dist/bundle.es6.js +87 -0
  52. package/dist/bundle.es60.js +8 -0
  53. package/dist/bundle.es61.js +19 -0
  54. package/dist/bundle.es62.js +15 -0
  55. package/dist/bundle.es63.js +22 -0
  56. package/dist/bundle.es64.js +45 -0
  57. package/dist/bundle.es65.js +28 -0
  58. package/dist/bundle.es66.js +34 -0
  59. package/dist/bundle.es67.js +6 -0
  60. package/dist/bundle.es68.js +12 -0
  61. package/dist/bundle.es69.js +47 -0
  62. package/dist/bundle.es7.js +80 -0
  63. package/dist/bundle.es70.js +11 -0
  64. package/dist/bundle.es71.js +18 -0
  65. package/dist/bundle.es72.js +32 -0
  66. package/dist/bundle.es73.js +35 -0
  67. package/dist/bundle.es74.js +6 -0
  68. package/dist/bundle.es75.js +7 -0
  69. package/dist/bundle.es76.js +7 -0
  70. package/dist/bundle.es77.js +11 -0
  71. package/dist/bundle.es78.js +17 -0
  72. package/dist/bundle.es79.js +7 -0
  73. package/dist/bundle.es8.js +29 -0
  74. package/dist/bundle.es80.js +17 -0
  75. package/dist/bundle.es81.js +25 -0
  76. package/dist/bundle.es9.js +47 -0
  77. package/dist/types/Button/index.d.ts +20 -0
  78. package/dist/types/ButtonGroup/index.d.ts +7 -0
  79. package/dist/types/Checkbox/index.d.ts +10 -0
  80. package/dist/types/Countdown/index.d.ts +7 -0
  81. package/dist/types/DateInput/index.d.ts +13 -0
  82. package/dist/types/DatePicker/Calendar.d.ts +14 -0
  83. package/dist/types/DatePicker/CalendarHeader.d.ts +10 -0
  84. package/dist/types/DatePicker/index.d.ts +12 -0
  85. package/dist/types/Dialog/index.d.ts +12 -0
  86. package/dist/types/DialogAlert/Alert.d.ts +19 -0
  87. package/dist/types/DialogAlert/Viewport.d.ts +8 -0
  88. package/dist/types/DialogAlert/index.d.ts +11 -0
  89. package/dist/types/Drawer/index.d.ts +13 -0
  90. package/dist/types/File/index.d.ts +10 -0
  91. package/dist/types/Form/index.d.ts +17 -0
  92. package/dist/types/Icon/index.d.ts +7 -0
  93. package/dist/types/LoadButton/index.d.ts +5 -0
  94. package/dist/types/NumberInput/index.d.ts +6 -0
  95. package/dist/types/OptionItem/OptionItem.d.ts +7 -0
  96. package/dist/types/OptionItem/OptionsList.d.ts +8 -0
  97. package/dist/types/Popover/index.d.ts +26 -0
  98. package/dist/types/Radio/index.d.ts +20 -0
  99. package/dist/types/Scrollable/ImitateScroll.d.ts +10 -0
  100. package/dist/types/Scrollable/index.d.ts +33 -0
  101. package/dist/types/Select/SelectInput.d.ts +14 -0
  102. package/dist/types/Select/index.d.ts +15 -0
  103. package/dist/types/SelectTags/index.d.ts +15 -0
  104. package/dist/types/Spinner/index.d.ts +8 -0
  105. package/dist/types/Stepper/index.d.ts +8 -0
  106. package/dist/types/Switch/index.d.ts +10 -0
  107. package/dist/types/Tabs/index.d.ts +13 -0
  108. package/dist/types/TextArea/index.d.ts +7 -0
  109. package/dist/types/Toaster/RemoveListener.d.ts +3 -0
  110. package/dist/types/Toaster/Toast.d.ts +9 -0
  111. package/dist/types/Toaster/Viewport.d.ts +13 -0
  112. package/dist/types/Toaster/index.d.ts +15 -0
  113. package/dist/types/Tooltip/index.d.ts +8 -0
  114. package/dist/types/__hooks/use-frooze-closing.d.ts +5 -0
  115. package/dist/types/__hooks/use-loading.d.ts +8 -0
  116. package/dist/types/__hooks/use-local-storage.d.ts +1 -0
  117. package/dist/types/__hooks/use-popover-position.d.ts +8 -0
  118. package/dist/types/__hooks/use-previos.d.ts +2 -0
  119. package/dist/types/__hooks/use-resize.d.ts +3 -0
  120. package/dist/types/__hooks/use-scrollbox.d.ts +7 -0
  121. package/dist/types/__hooks/use-stepper-input.d.ts +13 -0
  122. package/dist/types/__hooks/use-update.d.ts +1 -0
  123. package/dist/types/__hooks/useCalendar.d.ts +17 -0
  124. package/dist/types/__hooks/useCalendarOptions-copy.d.ts +22 -0
  125. package/dist/types/__hooks/useCalendarOptions.d.ts +31 -0
  126. package/dist/types/__libs/calendar.d.ts +25 -0
  127. package/dist/types/__utils/utils.d.ts +25 -0
  128. package/dist/types/index.d.ts +31 -0
  129. package/dist/types/types.d.ts +13 -0
  130. package/dist/uikit.css +1 -0
  131. package/package.json +10 -6
  132. package/.eslintrc +0 -54
  133. package/declaration.d.ts +0 -4
  134. package/index.html +0 -12
  135. package/playground/App.tsx +0 -166
  136. package/playground/Example.tsx +0 -14
  137. package/playground/Test.tsx +0 -44
  138. package/playground/animation-test-1/index.scss +0 -20
  139. package/playground/animation-test-1/index.tsx +0 -17
  140. package/playground/animation-test-2/index.scss +0 -62
  141. package/playground/animation-test-2/index.tsx +0 -32
  142. package/playground/bootstrap.tsx +0 -19
  143. package/playground/buttons/index.tsx +0 -132
  144. package/playground/checkbox/index.tsx +0 -64
  145. package/playground/date-input/index.tsx +0 -45
  146. package/playground/date-picker/index.tsx +0 -41
  147. package/playground/dialog/index.tsx +0 -92
  148. package/playground/dialog-alert/index.tsx +0 -47
  149. package/playground/drawer/index.tsx +0 -55
  150. package/playground/index.css +0 -33
  151. package/playground/index.scss +0 -270
  152. package/playground/input/index.tsx +0 -112
  153. package/playground/number-inputs/index.tsx +0 -50
  154. package/playground/popovers/index.tsx +0 -70
  155. package/playground/radio-group/index.tsx +0 -69
  156. package/playground/select/index.tsx +0 -72
  157. package/playground/select-tags/index.tsx +0 -36
  158. package/playground/styles.scss +0 -2
  159. package/playground/switch/index.tsx +0 -44
  160. package/playground/tabs/index.tsx +0 -16
  161. package/playground/test.scss +0 -0
  162. package/playground/text-area/index.tsx +0 -17
  163. package/playground/text-input/index.tsx +0 -12
  164. package/playground/toaster/index.tsx +0 -156
  165. package/playground/tooltip/index.tsx +0 -26
  166. package/src/Button/Button.scss +0 -128
  167. package/src/Button/index.tsx +0 -72
  168. package/src/ButtonGroup/ButtonGroup.scss +0 -18
  169. package/src/ButtonGroup/index.tsx +0 -20
  170. package/src/Checkbox/Checkbox.scss +0 -115
  171. package/src/Checkbox/index.tsx +0 -46
  172. package/src/Countdown/index.tsx +0 -54
  173. package/src/DateInput/DateInput.scss +0 -11
  174. package/src/DateInput/index.tsx +0 -96
  175. package/src/DatePicker/Calendar.scss +0 -125
  176. package/src/DatePicker/Calendar.tsx +0 -157
  177. package/src/DatePicker/CalendarHeader.tsx +0 -139
  178. package/src/DatePicker/DatePicker.scss +0 -0
  179. package/src/DatePicker/index.tsx +0 -177
  180. package/src/Dialog/Dialog.scss +0 -25
  181. package/src/Dialog/Popup.scss +0 -55
  182. package/src/Dialog/index.tsx +0 -31
  183. package/src/DialogAlert/Alert.scss +0 -52
  184. package/src/DialogAlert/Alert.tsx +0 -78
  185. package/src/DialogAlert/Viewport.tsx +0 -52
  186. package/src/DialogAlert/index.tsx +0 -37
  187. package/src/Drawer/Drawer.scss +0 -112
  188. package/src/Drawer/index.tsx +0 -46
  189. package/src/File/index.tsx +0 -60
  190. package/src/Form/Form.scss +0 -70
  191. package/src/Form/Input.scss +0 -24
  192. package/src/Form/index.tsx +0 -131
  193. package/src/Icon/icon.scss +0 -18
  194. package/src/Icon/index.tsx +0 -43
  195. package/src/LoadButton/index.tsx +0 -17
  196. package/src/NumberInput/index.tsx +0 -74
  197. package/src/OptionItem/Option.scss +0 -89
  198. package/src/OptionItem/OptionItem.tsx +0 -49
  199. package/src/OptionItem/OptionsList.tsx +0 -26
  200. package/src/Popover/Popover.scss +0 -80
  201. package/src/Popover/index.tsx +0 -117
  202. package/src/Radio/Radio.scss +0 -148
  203. package/src/Radio/index.tsx +0 -68
  204. package/src/Scrollable/ImitateScroll.tsx +0 -141
  205. package/src/Scrollable/Scrollable.scss +0 -50
  206. package/src/Scrollable/index.tsx +0 -141
  207. package/src/Select/Select.scss +0 -80
  208. package/src/Select/SelectInput.tsx +0 -131
  209. package/src/Select/index.tsx +0 -134
  210. package/src/SelectTags/SelectTags.scss +0 -66
  211. package/src/SelectTags/index.tsx +0 -192
  212. package/src/Spinner/Spinner.scss +0 -14
  213. package/src/Spinner/index.tsx +0 -19
  214. package/src/Stepper/StepperInput.scss +0 -35
  215. package/src/Stepper/index.tsx +0 -76
  216. package/src/Switch/Switch.scss +0 -102
  217. package/src/Switch/index.tsx +0 -49
  218. package/src/Tabs/Tabs.scss +0 -58
  219. package/src/Tabs/index.tsx +0 -89
  220. package/src/TextArea/TextArea.scss +0 -34
  221. package/src/TextArea/index.tsx +0 -51
  222. package/src/Toaster/RemoveListener.tsx +0 -11
  223. package/src/Toaster/Toast.tsx +0 -69
  224. package/src/Toaster/Toaster.scss +0 -151
  225. package/src/Toaster/Viewport.tsx +0 -117
  226. package/src/Toaster/index.tsx +0 -52
  227. package/src/Tooltip/Tooltip.scss +0 -28
  228. package/src/Tooltip/index.tsx +0 -33
  229. package/src/__hooks/use-frooze-closing.ts +0 -51
  230. package/src/__hooks/use-loading.ts +0 -34
  231. package/src/__hooks/use-local-storage.ts +0 -19
  232. package/src/__hooks/use-popover-position.ts +0 -24
  233. package/src/__hooks/use-previos.ts +0 -25
  234. package/src/__hooks/use-resize.ts +0 -41
  235. package/src/__hooks/use-scrollbox.ts +0 -45
  236. package/src/__hooks/use-stepper-input.ts +0 -82
  237. package/src/__hooks/use-update.ts +0 -19
  238. package/src/__hooks/useCalendar.ts +0 -104
  239. package/src/__hooks/useCalendarOptions-copy.ts +0 -87
  240. package/src/__hooks/useCalendarOptions.ts +0 -68
  241. package/src/__libs/calendar.ts +0 -175
  242. package/src/__utils/utils.ts +0 -137
  243. package/src/css.scss +0 -120
  244. package/src/index.scss +0 -22
  245. package/src/index.ts +0 -36
  246. package/src/mixins.scss +0 -99
  247. package/src/theme.scss +0 -103
  248. package/src/types.ts +0 -14
  249. package/tailwind.config.js +0 -91
  250. package/themes/classic/animations.scss +0 -179
  251. package/themes/classic/classic.scss +0 -493
  252. package/tsconfig.json +0 -27
  253. package/vite.build.ts +0 -35
  254. package/vite.config.ts +0 -33
@@ -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 {};
@@ -0,0 +1,31 @@
1
+ import { DateFormat } from '..';
2
+ export declare const defaultMax: {
3
+ day: number;
4
+ month: number;
5
+ year: number;
6
+ };
7
+ export declare const defaultMin: {
8
+ day: number;
9
+ month: number;
10
+ year: number;
11
+ };
12
+ interface Options {
13
+ min?: DateFormat;
14
+ max?: DateFormat;
15
+ now: DateFormat;
16
+ }
17
+ export declare const useCalendarOptions: ({ min, max, now }: Options) => {
18
+ years: {
19
+ title: string;
20
+ value: number;
21
+ }[];
22
+ months: {
23
+ title: string;
24
+ value: number;
25
+ }[];
26
+ days: {
27
+ title: string;
28
+ value: number;
29
+ }[];
30
+ };
31
+ export {};
@@ -0,0 +1,25 @@
1
+ import { CalendarProps } from '../DatePicker/Calendar';
2
+ export declare function isSameDate(d1: Date, d2: Date): boolean;
3
+ export declare const MONDAY = 1;
4
+ export declare function startOfWeek(date: Date, { weekStartsOn }: {
5
+ weekStartsOn?: number | undefined;
6
+ }): Date;
7
+ export declare function endOfWeek(date: Date, { weekStartsOn }: {
8
+ weekStartsOn?: number | undefined;
9
+ }): Date;
10
+ export declare function startOfDay(date: Date): Date;
11
+ export declare function endOfDay(date: Date): Date;
12
+ export declare function isDayMinMaxRestricted(day: Date, options?: {
13
+ min?: Date;
14
+ max?: Date;
15
+ withTime?: boolean;
16
+ }): boolean;
17
+ export declare function addMonths(date: Date, amount: number): Date;
18
+ export declare function subMonths(date: Date, amount: number): Date;
19
+ export declare function setYear(date: Date, year: number): Date;
20
+ export declare function setMonth(date: Date, month: number): Date;
21
+ interface DisableOptions extends Pick<CalendarProps, 'disableFuture' | 'disablePast' | 'maxDateTime' | 'minDateTime' | 'shouldDisableDate'> {
22
+ }
23
+ export declare const createDayDisableChecker: (options: DisableOptions) => (day: Date, withTime?: boolean) => boolean;
24
+ export declare const useDayDisableCheker: (options: DisableOptions) => (day: Date, withTime?: boolean) => boolean;
25
+ export {};
@@ -0,0 +1,25 @@
1
+ import { DateFormat, Option } from '..';
2
+ export declare const getMonthMaxDay: (month: number, year: number) => number;
3
+ export declare const getFirstDay: (month: number, year: number) => number;
4
+ export declare const getDayIndex: (day: number) => number;
5
+ export declare const createVoids: (length: number) => any[];
6
+ export declare const dateToFormat: (date: Date) => DateFormat;
7
+ export declare const createDateValidation: ({ min, max }: {
8
+ min: DateFormat;
9
+ max: DateFormat;
10
+ }) => (value: DateFormat) => DateFormat | undefined;
11
+ export declare const createRangeValidation: ({ min, max }: {
12
+ min?: DateFormat;
13
+ max?: DateFormat;
14
+ }) => {
15
+ isDateMinValid: (value: DateFormat) => boolean;
16
+ isDateMaxValid: (value: DateFormat) => boolean;
17
+ isDateInRange: (value: DateFormat) => boolean;
18
+ };
19
+ export declare const formatToDate: (format: DateFormat) => Date;
20
+ export declare const weeks: string[];
21
+ export declare const DefaultMonths: string[];
22
+ export declare const DEFAULT_MAX_YEAR = 9999;
23
+ export declare const DEFAULT_MIN_YEAR = 100;
24
+ export declare const getYears: (currentYear: number, range: number) => Option<number>[];
25
+ export declare const getMonths: (locale?: string) => Option<number>[];
@@ -0,0 +1,31 @@
1
+ export { Button } from './Button';
2
+ export { Spinner } from './Spinner';
3
+ export { Scrollable } from './Scrollable';
4
+ export { ImitateScroll } from './Scrollable/ImitateScroll';
5
+ export { Popover } from './Popover';
6
+ export { Tooltip } from './Tooltip';
7
+ export { StepperInput } from './Stepper';
8
+ export { Select } from './Select';
9
+ export { Form } from './Form';
10
+ export { OptionItem } from './OptionItem/OptionItem';
11
+ export { NumberInput } from './NumberInput';
12
+ export { OptionsList } from './OptionItem/OptionsList';
13
+ export { ButtonGroup } from './ButtonGroup';
14
+ export { Checkbox } from './Checkbox';
15
+ export { Switch } from './Switch';
16
+ export { Radio } from './Radio';
17
+ export { Drawer } from './Drawer';
18
+ export { Dialog } from './Dialog';
19
+ export { AlertDialog } from './DialogAlert/Alert';
20
+ export { LoadButton } from './LoadButton';
21
+ export { Tabs } from './Tabs';
22
+ export { Countdown } from './Countdown';
23
+ export { TextArea } from './TextArea';
24
+ export { SelectTags } from './SelectTags';
25
+ export { DatePicker } from './DatePicker';
26
+ export { FileOverlay } from './File';
27
+ export * from './__hooks/use-local-storage';
28
+ export { createAlertAgent } from './DialogAlert';
29
+ export { createToaster } from './Toaster';
30
+ export * from './types';
31
+ export type { Appearance } from './Button';
@@ -0,0 +1,13 @@
1
+ export interface Option<T> {
2
+ title: string;
3
+ value: T;
4
+ icon?: React.ReactNode;
5
+ label?: string;
6
+ disabled?: boolean;
7
+ className?: string;
8
+ }
9
+ export interface DateFormat {
10
+ month: number;
11
+ year: number;
12
+ day: number;
13
+ }
package/dist/uikit.css ADDED
@@ -0,0 +1 @@
1
+ @keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;border-style:solid;border-color:currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.scrollable::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.scrollable::-webkit-scrollbar-thumb{background-clip:padding-box;border:var(--thumb-padding) solid transparent;border-radius:999px;background-color:var(--thumb-color)}.scrollable::-webkit-scrollbar-corner{background-color:transparent}.scrollable-hover-interaction::-webkit-scrollbar-thumb,.scrollable-hover-interaction::-webkit-scrollbar-track{visibility:hidden}.scrollable-hover-interaction:hover::-webkit-scrollbar-thumb,.scrollable-hover-interaction:hover::-webkit-scrollbar-track{visibility:visible}.scrollable-border-position::-webkit-scrollbar-thumb{border-radius:0;border-right-width:0px;border-bottom-width:0px;border-left-width:calc(var(--thumb-padding) * 2);border-top-width:calc(var(--thumb-padding) * 2)}.hidden-scroll::-webkit-scrollbar{display:none}.hidden-scroll::-webkit-scrollbar-thumb{display:none}.hidden-scroll::-webkit-scrollbar-track{display:none}.hidden-scroll::-webkit-scrollbar-corner{display:none}.number-input-container{display:flex;gap:4px}.number-stepper{display:flex;flex-direction:column;height:30px;min-height:30px;line-height:30px;border:1px solid var(--border-color);box-shadow:0 1px 2px #00000078;border-radius:4px}.number-stepper-splitter{height:1px;background-color:var(--border-color)}.number-stepper-slot{border-radius:0;height:13.5px}.number-stepper-slot[data-slot=decrement]{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.number-stepper-slot[data-slot=increment]{border-top-left-radius:3px;border-top-right-radius:3px}.button-group{display:flex}.button-group[data-fill]{width:100%}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@companix/uikit",
3
- "version": "0.0.02",
3
+ "version": "0.0.03",
4
4
  "module": "./dist/bundle.es.js",
5
- "types": "./src/index.ts",
5
+ "types": "./dist/types/index.d.ts",
6
6
  "type": "module",
7
+ "files": [
8
+ "dist"
9
+ ],
7
10
  "author": "Pavel Victorov",
8
11
  "scripts": {
9
12
  "echo": "echo \"uikit\"",
@@ -38,9 +41,6 @@
38
41
  "react-merge-refs": "^3.0.2"
39
42
  },
40
43
  "devDependencies": {
41
- "sass": "^1.96.0",
42
- "sass-embedded": "^1.96.0",
43
- "rollup-plugin-scss": "^4.0.1",
44
44
  "@blueprintjs/core": "^6.2.1",
45
45
  "@radix-ui/react-icons": "^1.3.2",
46
46
  "@react-aria/interactions": "^3.25.3",
@@ -60,7 +60,11 @@
60
60
  "react": "^18.3.1",
61
61
  "react-dom": "^18.3.1",
62
62
  "rollup-plugin-auto-external": "^2.0.0",
63
+ "rollup-plugin-scss": "^4.0.1",
64
+ "sass": "^1.96.0",
65
+ "sass-embedded": "^1.96.0",
63
66
  "vite": "^7.0.0",
64
- "vite-plugin-checker": "^0.9.3"
67
+ "vite-plugin-checker": "^0.9.3",
68
+ "vite-plugin-dts": "^4.5.4"
65
69
  }
66
70
  }
package/.eslintrc DELETED
@@ -1,54 +0,0 @@
1
- {
2
- "env": {
3
- "node": true,
4
- "browser": true,
5
- "es6": true
6
- },
7
- "extends": [
8
- "plugin:react/recommended",
9
- "plugin:react-hooks/recommended",
10
- "react-app"
11
- ],
12
- "parser": "@typescript-eslint/parser",
13
- "plugins": ["react"],
14
- "parserOptions": {
15
- "sourceType": "module",
16
- "requireConfigFile": false,
17
- "ecmaFeatures": {
18
- "jsx": true
19
- }
20
- },
21
- "settings": {
22
- "react": {
23
- "version": "detect"
24
- }
25
- },
26
- "rules": {
27
- "no-var": "error",
28
- "typescript-eslint/typescript-estree": "off",
29
- "react-hooks/exhaustive-deps": "off",
30
- "react/react-in-jsx-scope": "off",
31
- "react/no-children-prop": "off",
32
- "react/display-name": "off",
33
- "jsx-a11y/aria-role": "off",
34
- "react/prop-types": "off",
35
- "react/jsx-no-target-blank": "off",
36
- "import/no-anonymous-default-export": "off",
37
- "import/no-extraneous-dependencies": [
38
- "error",
39
- {
40
- "devDependencies": true,
41
- "peerDependencies": false
42
- }
43
- ],
44
- "no-throw-literal": "off",
45
- "react/no-multi-comp": [2, { "ignoreStateless": true }],
46
- "no-restricted-syntax": [
47
- "error",
48
- {
49
- "selector": "CallExpression[arguments.length=1][callee.property.name='reduce']",
50
- "message": "Provide initialValue to .reduce()."
51
- }
52
- ]
53
- }
54
- }
package/declaration.d.ts DELETED
@@ -1,4 +0,0 @@
1
- declare module '*.css'
2
- declare module '*.module.css'
3
- declare module '*.ttf'
4
- declare module '*.svg'
package/index.html DELETED
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <title>Playground</title>
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- </head>
8
- <body>
9
- <div id="root"></div>
10
- <script type="module" src="./playground/bootstrap.tsx"></script>
11
- </body>
12
- </html>
@@ -1,166 +0,0 @@
1
- // import { Test1Animation } from './animation-test-1'
2
- // import { Test2Animation, Test2CompletedAnimation } from './animation-test-2'
3
- // import { SelectExample } from './select'
4
- // import { PopupExample } from './popup'
5
- // import { TextInput } from './text-input'
6
- // import { NumberInputs } from './number-inputs'
7
- // import { Button } from '../Button'
8
- // import { useState } from 'react'
9
- // import { Drawer } from '../Drawer'
10
- // import { Popup } from '../Popup'
11
- // import { TestApp } from './Test'
12
- import { useLayoutEffect } from 'react'
13
- import { ButtonsExample, ButtonsGroupExample } from './buttons'
14
- import { PopoversExample } from './popovers'
15
- import { Example } from './Example'
16
- import { SelectExample } from './select'
17
- import { TooltipExample } from './tooltip'
18
- import { CheckboxExample } from './checkbox'
19
- import { RadioGroupExample } from './radio-group'
20
- import { TabsExample } from './tabs'
21
- import { ToasterExample } from './toaster'
22
- import { DialogExample } from './dialog'
23
- import { InputsExample } from './input'
24
- import { TextAreaExample } from './text-area'
25
- import { SelectTagsExample } from './select-tags'
26
- import { DateInputExample } from './date-input'
27
- import { DatePickerExample } from './date-picker'
28
- import { SwitchExample } from './switch'
29
- import { DialogAlertExample } from './dialog-alert'
30
- import { DrawerExample } from './drawer'
31
- // import { Tabs } from '../Tabs'
32
-
33
- export const App = () => {
34
- useLayoutEffect(() => {
35
- document.body.classList.add('theme-light')
36
- }, [])
37
-
38
- // return <TestApp />
39
- return (
40
- <div className="examples-list">
41
- <div />
42
- <div />
43
- {/* <div style={{ height: '200px', width: '100%', position: 'relative' }}>
44
- <div className="row-group" style={{ position: 'absolute' }}>
45
- <Test1Animation />
46
- <Test2Animation />
47
- <Test2CompletedAnimation />
48
- </div>
49
- </div>
50
- <TabsApp />
51
- <ButtonsExample />
52
- <SelectExample /> */}
53
- <Example name="Popovers">
54
- <PopoversExample />
55
- </Example>
56
- <Example name="Tooltip">
57
- <TooltipExample />
58
- </Example>
59
- <Example name="Dialog">
60
- <DialogExample />
61
- </Example>
62
- <Example name="DialogAlert">
63
- <DialogAlertExample />
64
- </Example>
65
- <Example name="Drawer">
66
- <DrawerExample />
67
- </Example>
68
- <Example name="Input">
69
- <InputsExample />
70
- </Example>
71
- <Example name="TextArea">
72
- <TextAreaExample />
73
- </Example>
74
- <Example name="Select">
75
- <SelectExample />
76
- </Example>
77
- <Example name="SelectTags">
78
- <SelectTagsExample />
79
- </Example>
80
- <Example name="DateInput">
81
- <DateInputExample />
82
- </Example>
83
- <Example name="DatePicker">
84
- <DatePickerExample />
85
- </Example>
86
- <Example name="Checkbox">
87
- <CheckboxExample />
88
- </Example>
89
- <Example name="RadioGroup">
90
- <RadioGroupExample />
91
- </Example>
92
- <Example name="Switch">
93
- <SwitchExample />
94
- </Example>
95
- <Example name="Tabs">
96
- <TabsExample />
97
- </Example>
98
- <Example name="Buttons">
99
- <ButtonsExample />
100
- </Example>
101
- <Example name="ButtonGroup">
102
- <ButtonsGroupExample />
103
- </Example>
104
- <Example name="Toaster">
105
- <ToasterExample />
106
- </Example>
107
-
108
- {/* <div className="flex flex-col gap-10">
109
- <DrawerApp />
110
- <PopupApp />
111
- </div>
112
- <PopupExample />
113
- <TextInput />
114
- <NumberInputs /> */}
115
- <div />
116
- <div />
117
- </div>
118
- )
119
- }
120
-
121
- // const TabsApp = () => {
122
- // const [tab, setTab] = useState('tab-1')
123
-
124
- // return (
125
- // <div>
126
- // <Tabs onChange={setTab} value={tab}>
127
- // <Tabs.Tab value="tab-1">Tab1</Tabs.Tab>
128
- // <Tabs.Tab value="tab-2">Tab2</Tabs.Tab>
129
- // </Tabs>
130
- // Active: {tab}
131
- // </div>
132
- // )
133
- // }
134
-
135
- // const DrawerApp = () => {
136
- // const [isOpen, setOpen] = useState(false)
137
-
138
- // return (
139
- // <>
140
- // <Drawer onClose={() => setOpen(false)} isOpen={isOpen} size="60%">
141
- // <Content close={() => setOpen(false)} />
142
- // </Drawer>
143
- // <Button onClick={() => setOpen((value) => !value)}>{isOpen ? 'Close' : 'Open'} drawer</Button>
144
- // </>
145
- // )
146
- // }
147
-
148
- // const Content = ({ close }: { close: () => void }) => {
149
- // console.log('RENDER')
150
- // return <div onClick={close}>App: click to close</div>
151
- // }
152
-
153
- // const PopupApp = () => {
154
- // const [isOpen, setOpen] = useState(false)
155
-
156
- // return (
157
- // <>
158
- // <Popup onClose={() => setOpen(false)} isOpen={isOpen} className="popup-1">
159
- // <div style={{ padding: '10px' }}>
160
- // <Button onClick={() => setOpen(false)}>App: click to close</Button>
161
- // </div>
162
- // </Popup>
163
- // <Button onClick={() => setOpen((value) => !value)}>{isOpen ? 'Close' : 'Open'} popup</Button>
164
- // </>
165
- // )
166
- // }
@@ -1,14 +0,0 @@
1
- interface ExampleProps {
2
- children: React.ReactNode
3
- pane?: React.ReactNode
4
- name: string
5
- }
6
-
7
- export const Example = ({ name, children, pane }: ExampleProps) => {
8
- return (
9
- <div className="sample">
10
- <div className="sample-name">{name}</div>
11
- <div>{children}</div>
12
- </div>
13
- )
14
- }
@@ -1,44 +0,0 @@
1
- import './test.scss'
2
-
3
- // import { Popover } from '../Popover'
4
- // import { Calendar } from '../DatePicker/Calendar'
5
- import { useLayoutEffect } from 'react'
6
- import { DatePickerControl } from './date-picker'
7
-
8
- const PopoverDemo = () => {
9
- return (
10
- <div style={{ width: '280px' }}>
11
- <DatePickerControl size="md" />
12
- </div>
13
- )
14
- // const [value, setValue] = useState(new Date())
15
-
16
- // return (
17
- // <Popover
18
- // open
19
- // fitMaxHeight={false}
20
- // content={() => <Calendar value={value} onChange={setValue} disableFuture />}
21
- // >
22
- // <div></div>
23
- // </Popover>
24
- // )
25
- }
26
-
27
- // const Check = () => {
28
- // console.log('render')
29
- // return <div>Check</div>
30
- // }
31
-
32
- export const TestApp = () => {
33
- useLayoutEffect(() => {
34
- document.body.classList.add('theme-light')
35
- }, [])
36
-
37
- return (
38
- <div className="examples-list" style={{ alignItems: 'center' }}>
39
- <div />
40
- <PopoverDemo />
41
- <div />
42
- </div>
43
- )
44
- }
@@ -1,20 +0,0 @@
1
- .test-1-animation {
2
- transition-duration: 4s;
3
- transition-property: all;
4
- transition-timing-function: linear;
5
-
6
- // presets before transition in (initial state)
7
- &[data-closed][data-enter] {
8
- opacity: 0;
9
- }
10
-
11
- // transition in
12
- &[data-enter] {
13
- opacity: 1;
14
- }
15
-
16
- // transition out
17
- &[data-leave] {
18
- opacity: 0;
19
- }
20
- }
@@ -1,17 +0,0 @@
1
- import './index.scss'
2
- // import { useState } from 'react'
3
-
4
- export const Test1Animation = () => {
5
- // const [open, setOpen] = useState(false)
6
-
7
- return (
8
- <div style={{ padding: '40px', display: 'flex', gap: '20px' }}>
9
- <div style={{ padding: '10px', width: '200px' }}>
10
- {/* <button onClick={() => setOpen((open) => !open)}>Animation 1</button> */}
11
- {/* <Transition show={open}> */}
12
- <div className="test-1-animation box-styles">Target element</div>
13
- {/* </Transition> */}
14
- </div>
15
- </div>
16
- )
17
- }
@@ -1,62 +0,0 @@
1
- // Описание test-2-animation: анимация запускается через transform, а исчезает через opacity
2
-
3
- // Данный пример необходим для понимания прерывания enter анимации
4
- // Анимация появления (data-enter) намеренно сделана долгой, чтобы запустить завершение анимации ещё до окончания анимации enter.
5
- // В случае если анимация enter была бы окончена, вызов завершения анимации запускал бы этап [data-leave], однако при вызове завершения
6
- // в моменте выполнения enter, [data-leave] не будет вызван, а вместо этого будет добавлен атрибут [data-closed], который запустит анимацию вспять, до initial состояния, которое описано в [data-closed][data-enter]
7
-
8
- .test-2-animation {
9
- // initial - начальное состояние (перед появлением)
10
- &[data-closed][data-enter] {
11
- transform: scale(0.3);
12
- }
13
-
14
- // animate from initial - анимация до конечного состояния, от начального
15
- &[data-enter] {
16
- transform: scale(1);
17
- transition-delay: 0;
18
- transition-duration: 2s;
19
- transition-property: transform;
20
- transition-timing-function: linear;
21
- }
22
-
23
- // exit - анимация завершения
24
- &[data-leave] {
25
- transition-delay: 0;
26
- transition-duration: 1s;
27
- transition-property: opacity;
28
- transition-timing-function: linear;
29
- opacity: 0;
30
- }
31
- }
32
-
33
- // В данном примере, анимировано прерывание enter
34
-
35
- .test-2-completed-animation {
36
- // начальное состояние
37
- // также будет запускаться при прерывании enter-анимации
38
- &[data-closed][data-enter] {
39
- // описываем начальное состояние (перед появлением). Обращаю внимание что "opacity: 0" не будет учтен при data-enter анимации
40
- transform: scale(0.3);
41
- opacity: 0;
42
- // стили использующиеся при прерывании data-enter анимации (переход в начальное состояние)
43
- transition-duration: 200ms;
44
- transition-property: transform, opacity; // учитываем opacity
45
- }
46
-
47
- // animate - анимация появления запускаемая от начального до конечного состояния
48
- &[data-enter] {
49
- transform: scale(1);
50
- transition-duration: 2s;
51
- transition-property: transform;
52
- transition-timing-function: linear;
53
- }
54
-
55
- // exit - анимация завершения
56
- &[data-leave] {
57
- transition-duration: 1s;
58
- transition-property: opacity;
59
- transition-timing-function: linear;
60
- opacity: 0;
61
- }
62
- }
@@ -1,32 +0,0 @@
1
- import './index.scss'
2
- // import { useState } from 'react'
3
-
4
- export const Test2Animation = () => {
5
- // const [open, setOpen] = useState(false)
6
-
7
- return (
8
- <div style={{ padding: '40px', display: 'flex', gap: '20px' }}>
9
- <div style={{ padding: '10px', width: '200px' }}>
10
- {/* <button onClick={() => setOpen((open) => !open)}>Animation 2(*1)</button> */}
11
- {/* <Transition show={open}> */}
12
- <div className="test-2-animation box-styles">Target element</div>
13
- {/* </Transition> */}
14
- </div>
15
- </div>
16
- )
17
- }
18
-
19
- export const Test2CompletedAnimation = () => {
20
- // const [open, setOpen] = useState(false)
21
-
22
- return (
23
- <div style={{ padding: '40px', display: 'flex', gap: '20px' }}>
24
- <div style={{ padding: '10px', width: '200px' }}>
25
- {/* <button onClick={() => setOpen((open) => !open)}>Animation 2(*2)</button> */}
26
- {/* <Transition show={open}> */}
27
- <div className="test-2-completed-animation box-styles">Target element</div>
28
- {/* </Transition> */}
29
- </div>
30
- </div>
31
- )
32
- }
@@ -1,19 +0,0 @@
1
- import './styles.scss'
2
-
3
- import './index.scss'
4
- import './index.css'
5
- import '../src/theme.scss'
6
-
7
- import { createRoot } from 'react-dom/client'
8
- import { App } from './App'
9
- // import { TestApp } from './Test'
10
-
11
- createRoot(document.getElementById('root')!).render(<App />)
12
-
13
- const error = console.error
14
- console.error = (...args: any) => {
15
- if (/defaultProps/.test(args[0])) return
16
- if (/findDOMNode/.test(args[0])) return
17
-
18
- error(...args)
19
- }