@lazar-ui/kit 0.1.0

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 (100) hide show
  1. package/README.md +182 -0
  2. package/dist/Overlay-RmiBtqDR.mjs +1011 -0
  3. package/dist/accordion.css +1 -0
  4. package/dist/accordion.d.ts +53 -0
  5. package/dist/accordion.js +48 -0
  6. package/dist/alert.css +1 -0
  7. package/dist/alert.d.ts +33 -0
  8. package/dist/alert.js +20 -0
  9. package/dist/avatar.css +1 -0
  10. package/dist/avatar.d.ts +34 -0
  11. package/dist/avatar.js +41 -0
  12. package/dist/badge.css +1 -0
  13. package/dist/badge.d.ts +33 -0
  14. package/dist/badge.js +23 -0
  15. package/dist/breadcrumbs.css +1 -0
  16. package/dist/breadcrumbs.d.ts +80 -0
  17. package/dist/breadcrumbs.js +63 -0
  18. package/dist/button.css +1 -0
  19. package/dist/button.d.ts +66 -0
  20. package/dist/button.js +46 -0
  21. package/dist/camelCase-PtIYufW8.mjs +528 -0
  22. package/dist/card.css +1 -0
  23. package/dist/card.d.ts +42 -0
  24. package/dist/card.js +24 -0
  25. package/dist/checkbox.css +1 -0
  26. package/dist/checkbox.d.ts +41 -0
  27. package/dist/checkbox.js +42 -0
  28. package/dist/clsx-OuTLNxxd.mjs +16 -0
  29. package/dist/config-provider.d.ts +78 -0
  30. package/dist/config-provider.js +14 -0
  31. package/dist/css/palettes/indigo.css +104 -0
  32. package/dist/css/palettes/monochrome.css +104 -0
  33. package/dist/css/semantic.css +113 -0
  34. package/dist/dialog.css +1 -0
  35. package/dist/dialog.d.ts +91 -0
  36. package/dist/dialog.js +75 -0
  37. package/dist/drawer.css +1 -0
  38. package/dist/drawer.d.ts +128 -0
  39. package/dist/drawer.js +106 -0
  40. package/dist/empty-state.css +1 -0
  41. package/dist/empty-state.d.ts +33 -0
  42. package/dist/empty-state.js +52 -0
  43. package/dist/error-boundary.css +1 -0
  44. package/dist/error-boundary.d.ts +55 -0
  45. package/dist/error-boundary.js +37 -0
  46. package/dist/flex.css +1 -0
  47. package/dist/flex.d.ts +68 -0
  48. package/dist/flex.js +73 -0
  49. package/dist/form-field.css +1 -0
  50. package/dist/form-field.d.ts +27 -0
  51. package/dist/form-field.js +22 -0
  52. package/dist/getComponentSlots-DwAYUFNk.mjs +16 -0
  53. package/dist/getVariantClassName-D7Nhpuec.mjs +8 -0
  54. package/dist/input.css +1 -0
  55. package/dist/input.d.ts +39 -0
  56. package/dist/input.js +146 -0
  57. package/dist/isValidReactNode-CmYwTWCE.mjs +18 -0
  58. package/dist/menu.css +1 -0
  59. package/dist/menu.d.ts +94 -0
  60. package/dist/menu.js +135 -0
  61. package/dist/pagination.css +1 -0
  62. package/dist/pagination.d.ts +40 -0
  63. package/dist/pagination.js +74 -0
  64. package/dist/popover.css +1 -0
  65. package/dist/popover.d.ts +54 -0
  66. package/dist/popover.js +65 -0
  67. package/dist/select.css +1 -0
  68. package/dist/select.d.ts +64 -0
  69. package/dist/select.js +170 -0
  70. package/dist/separator.css +1 -0
  71. package/dist/separator.d.ts +25 -0
  72. package/dist/separator.js +24 -0
  73. package/dist/skeleton.css +1 -0
  74. package/dist/skeleton.d.ts +38 -0
  75. package/dist/skeleton.js +27 -0
  76. package/dist/spinner.css +1 -0
  77. package/dist/spinner.d.ts +31 -0
  78. package/dist/spinner.js +29 -0
  79. package/dist/switch.css +1 -0
  80. package/dist/switch.d.ts +44 -0
  81. package/dist/switch.js +37 -0
  82. package/dist/table.css +1 -0
  83. package/dist/table.d.ts +60 -0
  84. package/dist/table.js +40 -0
  85. package/dist/tabs.css +1 -0
  86. package/dist/tabs.d.ts +69 -0
  87. package/dist/tabs.js +79 -0
  88. package/dist/textarea.css +1 -0
  89. package/dist/textarea.d.ts +53 -0
  90. package/dist/textarea.js +46 -0
  91. package/dist/tooltip.css +1 -0
  92. package/dist/tooltip.d.ts +38 -0
  93. package/dist/tooltip.js +99 -0
  94. package/dist/useLocale-D2Z0JH0l.mjs +70 -0
  95. package/dist/useModalOverlay-D5Bs9FCB.mjs +486 -0
  96. package/dist/useOverlayPosition-DVu1Qziq.mjs +451 -0
  97. package/dist/useOverlayTriggerState-BIo1Jcba.mjs +221 -0
  98. package/dist/utils.d.ts +58 -0
  99. package/dist/utils.js +18 -0
  100. package/package.json +76 -0
@@ -0,0 +1,58 @@
1
+ import { default as default_2 } from 'react';
2
+
3
+ /**
4
+ * Фильтрует массив дочерних React-элементов, оставляя только допустимые компоненты
5
+ * @param children - Дочерние элементы React компонента
6
+ * @param acceptableComponents - Массив или объект с допустимыми подкомпонентами
7
+ * @returns Массив отфильтрованных дочерних элементов
8
+ */
9
+ export declare const filterValidChildren: (children: default_2.ReactNode, acceptableComponents: string | string[]) => default_2.ReactNode[];
10
+
11
+ /**
12
+ * Utility function to get component slots.
13
+ * @param children React children (array of ReactNodes).
14
+ * @param slots Array of slot names.
15
+ * @returns
16
+ */
17
+ export declare const getComponentSlots: <T extends string>(children: default_2.ReactNode, slots: readonly T[]) => IDefaultSlotNode & { [key in T]: default_2.ReactElement; };
18
+
19
+ /**
20
+ * Utility to get the display name of a react element.
21
+ * @param element react element to get the display name.
22
+ * @returns
23
+ */
24
+ export declare const getReactElementDisplayName: (element: default_2.ReactElement) => string;
25
+
26
+ /**
27
+ * Utility function to get type-safety variant class name selector from CSS module stylesheet.
28
+ * @param prefix prefix for class name (name of variant).
29
+ * @param variant value of variant.
30
+ * @param styles styles of CSS module stylesheet.
31
+ *
32
+ * @example
33
+ * // Check `styles` for existing variant and return value of `styles.sizeMd`.
34
+ * getVariantClassName('size', 'md', styles);
35
+ */
36
+ export declare const getVariantClassName: <P extends string, T extends string>(prefix: P, variant: T, styles: TStyles<`${P}${Capitalize<T>}`>) => string;
37
+
38
+ declare interface IDefaultSlotNode {
39
+ children: default_2.ReactNode[];
40
+ [key: string]: default_2.ReactNode;
41
+ }
42
+
43
+ /**
44
+ * TypeGuard for checking if a React node is valid.
45
+ * @param name - name of the component
46
+ * @param node - React node.
47
+ * @param logWarning - if true, warning will be logged, otherwise it will be ignored.
48
+ * @returns
49
+ */
50
+ export declare const isValidReactNode: <TProps extends object>(name: string | string[], node: default_2.ReactNode, logWarning?: boolean) => node is default_2.ReactElement<TProps>;
51
+
52
+ /**
53
+ * Record of CSS modules styles for all variants.
54
+ * Must contain styles for all variants.
55
+ */
56
+ declare type TStyles<TProperty extends string = string> = Record<TProperty, string> & Record<string, string>;
57
+
58
+ export { }
package/dist/utils.js ADDED
@@ -0,0 +1,18 @@
1
+ import a from "react";
2
+ import { i } from "./isValidReactNode-CmYwTWCE.mjs";
3
+ import { g as f } from "./isValidReactNode-CmYwTWCE.mjs";
4
+ import { g } from "./getComponentSlots-DwAYUFNk.mjs";
5
+ import { g as C } from "./getVariantClassName-D7Nhpuec.mjs";
6
+ const l = (t, o) => {
7
+ const e = [];
8
+ return a.Children.forEach(t, (r) => {
9
+ i(o, r) && e.push(r);
10
+ }), e;
11
+ };
12
+ export {
13
+ l as filterValidChildren,
14
+ g as getComponentSlots,
15
+ f as getReactElementDisplayName,
16
+ C as getVariantClassName,
17
+ i as isValidReactNode
18
+ };
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@lazar-ui/kit",
3
+ "version": "0.1.0",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "README.md"
12
+ ],
13
+ "exports": {
14
+ "./css/*": "./dist/css/*",
15
+ "./utils": {
16
+ "types": "./dist/utils.d.ts",
17
+ "import": "./dist/utils.js"
18
+ },
19
+ "./*": {
20
+ "types": "./dist/*.d.ts",
21
+ "import": "./dist/*.js"
22
+ }
23
+ },
24
+ "scripts": {
25
+ "build": "vite build",
26
+ "check-types": "tsc --noEmit",
27
+ "clean": "rm -rf node_modules",
28
+ "dev": "npm run watch:tsm",
29
+ "lint": "eslint . --max-warnings 0",
30
+ "lint:styles": "stylelint \"src/components/**/*.scss\"",
31
+ "format": "prettier --write \"src/**/*.{ts,tsx}\"",
32
+ "format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
33
+ "prebuild": "rm -rf ./dist",
34
+ "prepublishOnly": "npm run build",
35
+ "gen:component:ai": "node scripts/generate-component.mjs",
36
+ "test": "vitest run",
37
+ "test:coverage": "vitest run --coverage",
38
+ "test:watch": "vitest",
39
+ "tsm": "typed-scss-modules src",
40
+ "watch:tsm": "typed-scss-modules src --watch"
41
+ },
42
+ "devDependencies": {
43
+ "@repo/eslint-config": "*",
44
+ "@repo/prettier-config": "*",
45
+ "@repo/typescript-config": "*",
46
+ "@repo/vitest-config": "*",
47
+ "@testing-library/jest-dom": "^6.6.3",
48
+ "@testing-library/react": "^16.3.0",
49
+ "@testing-library/user-event": "^14.6.1",
50
+ "@turbo/gen": "2.6.1",
51
+ "@types/lodash": "4.17.20",
52
+ "@types/node": "^22.15.3",
53
+ "@types/react": "19.2.2",
54
+ "@types/react-dom": "19.2.2",
55
+ "@vitejs/plugin-react": "5.0.4",
56
+ "@vitest/coverage-v8": "^3.2.4",
57
+ "eslint": "^9.39.1",
58
+ "jsdom": "^26.1.0",
59
+ "lodash.kebabcase": "4.1.1",
60
+ "sass": "1.83.4",
61
+ "typed-scss-modules": "^8.1.1",
62
+ "typescript": "5.9.2",
63
+ "vite": "7.1.9",
64
+ "vite-plugin-dts": "4.5.4",
65
+ "vite-plugin-lib-inject-css": "2.2.2",
66
+ "vitest": "^3.1.3"
67
+ },
68
+ "peerDependencies": {
69
+ "clsx": "2.1.1",
70
+ "lodash": "4.17.21",
71
+ "react": "^19.2.0",
72
+ "react-aria": "^3.44.0",
73
+ "react-dom": "^19.2.0",
74
+ "react-stately": "^3.42.0"
75
+ }
76
+ }