@acronis-platform/shadcn-uikit 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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -0
  3. package/dist/components/icons/alert-icons.d.ts +10 -0
  4. package/dist/components/icons/auto-generated.d.ts +5648 -0
  5. package/dist/components/icons/base-icon.d.ts +19 -0
  6. package/dist/components/icons/dynamic-icons.d.ts +29 -0
  7. package/dist/components/icons/icon-library.d.ts +16 -0
  8. package/dist/components/icons/index.d.ts +3 -0
  9. package/dist/components/mode-toggle.d.ts +1 -0
  10. package/dist/components/react/components/button/button.d.ts +11 -0
  11. package/dist/components/react/index.d.ts +3 -0
  12. package/dist/components/react/types/index.d.ts +2 -0
  13. package/dist/components/react/utils/cn.d.ts +2 -0
  14. package/dist/components/react/utils/index.d.ts +1 -0
  15. package/dist/components/theme-provider.d.ts +13 -0
  16. package/dist/components/ui/accordion.d.ts +7 -0
  17. package/dist/components/ui/alert-dialog.d.ts +20 -0
  18. package/dist/components/ui/alert.d.ts +10 -0
  19. package/dist/components/ui/avatar.d.ts +6 -0
  20. package/dist/components/ui/badge.d.ts +9 -0
  21. package/dist/components/ui/breadcrumb.d.ts +19 -0
  22. package/dist/components/ui/button-group.d.ts +11 -0
  23. package/dist/components/ui/button.d.ts +11 -0
  24. package/dist/components/ui/calendar.d.ts +8 -0
  25. package/dist/components/ui/card.d.ts +8 -0
  26. package/dist/components/ui/carousel.d.ts +18 -0
  27. package/dist/components/ui/chart.d.ts +54 -0
  28. package/dist/components/ui/checkbox.d.ts +4 -0
  29. package/dist/components/ui/chip.d.ts +7 -0
  30. package/dist/components/ui/combobox.d.ts +1 -0
  31. package/dist/components/ui/command.d.ts +80 -0
  32. package/dist/components/ui/data-table/data-table-column-header.d.ts +7 -0
  33. package/dist/components/ui/data-table/data-table-pagination.d.ts +6 -0
  34. package/dist/components/ui/data-table/data-table-toolbar.d.ts +8 -0
  35. package/dist/components/ui/data-table/data-table-view-options.d.ts +6 -0
  36. package/dist/components/ui/data-table/data-table.d.ts +7 -0
  37. package/dist/components/ui/data-table/index.d.ts +5 -0
  38. package/dist/components/ui/date-picker.d.ts +1 -0
  39. package/dist/components/ui/dialog.d.ts +24 -0
  40. package/dist/components/ui/drawer.d.ts +22 -0
  41. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  42. package/dist/components/ui/empty.d.ts +8 -0
  43. package/dist/components/ui/field.d.ts +24 -0
  44. package/dist/components/ui/filter.d.ts +8 -0
  45. package/dist/components/ui/form.d.ts +23 -0
  46. package/dist/components/ui/input.d.ts +3 -0
  47. package/dist/components/ui/label.d.ts +5 -0
  48. package/dist/components/ui/navigation-menu.d.ts +12 -0
  49. package/dist/components/ui/pagination.d.ts +28 -0
  50. package/dist/components/ui/popover.d.ts +6 -0
  51. package/dist/components/ui/progress.d.ts +4 -0
  52. package/dist/components/ui/radio-group.d.ts +5 -0
  53. package/dist/components/ui/scroll-area.d.ts +5 -0
  54. package/dist/components/ui/secondary-menu.d.ts +22 -0
  55. package/dist/components/ui/select.d.ts +13 -0
  56. package/dist/components/ui/separator.d.ts +4 -0
  57. package/dist/components/ui/sheet.d.ts +25 -0
  58. package/dist/components/ui/sidebar.d.ts +65 -0
  59. package/dist/components/ui/skeleton.d.ts +2 -0
  60. package/dist/components/ui/sonner.d.ts +4 -0
  61. package/dist/components/ui/spinner.d.ts +9 -0
  62. package/dist/components/ui/switch.d.ts +4 -0
  63. package/dist/components/ui/table.d.ts +10 -0
  64. package/dist/components/ui/tabs.d.ts +7 -0
  65. package/dist/components/ui/tag.d.ts +11 -0
  66. package/dist/components/ui/textarea.d.ts +3 -0
  67. package/dist/components/ui/tooltip.d.ts +8 -0
  68. package/dist/components/ui/tree.d.ts +35 -0
  69. package/dist/hooks/use-mobile.d.ts +1 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.js +1368 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/lib/chart-colors.d.ts +30 -0
  74. package/dist/lib/utils.d.ts +2 -0
  75. package/dist/mode-toggle-B9LLZmUS.js +36075 -0
  76. package/dist/mode-toggle-B9LLZmUS.js.map +1 -0
  77. package/dist/react.d.ts +50 -0
  78. package/dist/react.js +1368 -0
  79. package/dist/react.js.map +1 -0
  80. package/dist/shadcn-uikit.css +1 -0
  81. package/dist/styles.d.ts +1 -0
  82. package/dist/types/index.d.ts +2 -0
  83. package/dist/types/playground/index.d.ts +3 -0
  84. package/dist/types/playground/state.d.ts +31 -0
  85. package/dist/types/playground/theme.d.ts +14 -0
  86. package/dist/types/playground/tokens.d.ts +68 -0
  87. package/dist/utils/cn.d.ts +2 -0
  88. package/dist/utils/index.d.ts +1 -0
  89. package/package.json +138 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1 @@
1
+ @charset "UTF-8";:root{--color-brand-primary: 213 65% 46%;--color-brand-secondary: 211 100% 45%;--color-brand-lightest: 213 65% 97%;--color-brand-light: 213 65% 96%;--color-text-primary: 215 26% 20%;--color-text-secondary: 215 26% 46%;--color-text-tertiary: 215 14% 39%;--color-surface-primary: 0 0% 100%;--color-surface-secondary: 210 100% 15%;--color-surface-overlay: 215 26% 20%;--color-surface-elevated: 0 0% 100%;--color-status-success: 73 68% 45%;--color-status-success-light: 84 67% 93%;--color-status-success-dark: 84 98% 21%;--color-status-info: 211 82% 60%;--color-status-info-light: 214 78% 95%;--color-status-info-dark: 214 68% 38%;--color-status-warning: 45 100% 52%;--color-status-warning-light: 45 100% 95%;--color-status-warning-dark: 30 50% 37%;--color-status-danger: 0 77% 57%;--color-status-danger-light: 0 100% 96%;--color-status-danger-dark: 0 72% 45%;--color-status-critical: 25 100% 52%;--color-status-critical-light: 27 95% 92%;--color-status-critical-dark: 11 73% 41%;--color-neutral: 220 11% 62%;--color-neutral-light: 220 11% 92%;--color-neutral-dark: 215 14% 39%;--color-ai: 263deg 77% 57%;--color-ai-light: 273deg 85% 97%;--color-ai-dark: 263deg 77% 57%;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-70: .7;--opacity-90: .9}@layer base{:root{--semantic-bg-base: var(--color-surface-primary);--semantic-bg-elevated: var(--color-surface-elevated);--semantic-bg-muted: var(--color-brand-lightest);--semantic-bg-brand: var(--color-brand-primary);--semantic-bg-overlay: var(--color-surface-overlay);--semantic-text-primary: var(--color-text-primary);--semantic-text-secondary: var(--color-text-secondary);--semantic-text-tertiary: var(--color-text-tertiary);--semantic-text-inverse: var(--color-surface-primary);--semantic-text-brand: var(--color-brand-primary);--semantic-border-default: 213 65% 85%;--semantic-border-strong: var(--color-brand-primary);--semantic-border-subtle: 213 65% 92%;--semantic-interactive-default: var(--color-brand-primary);--semantic-interactive-hover: var(--color-brand-light);--semantic-interactive-active: var(--color-brand-primary);--semantic-interactive-disabled: var(--color-text-tertiary);--semantic-interactive-focus: var(--color-brand-primary);--semantic-status-success: var(--color-status-success);--semantic-status-success-bg: var(--color-status-success-light);--semantic-status-success-text: var(--color-status-success-dark);--semantic-status-info: var(--color-status-info);--semantic-status-info-bg: var(--color-status-info-light);--semantic-status-info-text: var(--color-status-info-dark);--semantic-status-warning: var(--color-status-warning);--semantic-status-warning-bg: var(--color-status-warning-light);--semantic-status-warning-text: var(--color-status-warning-dark);--semantic-status-danger: var(--color-status-danger);--semantic-status-danger-bg: var(--color-status-danger-light);--semantic-status-danger-text: var(--color-status-danger-dark);--semantic-status-critical: var(--color-status-critical);--semantic-status-critical-bg: var(--color-status-critical-light);--semantic-status-critical-text: var(--color-status-critical-dark);--semantic-status-neutral: var(--color-neutral);--semantic-status-neutral-bg: var(--color-neutral-light);--semantic-status-neutral-text: var(--color-neutral-dark);--semantic-status-ai: var(--color-ai);--semantic-status-ai-bg: var(--color-ai-light);--semantic-status-ai-text: var(--color-ai-dark);--semantic-nav-bg: var(--color-surface-secondary);--semantic-nav-text: var(--color-surface-primary);--semantic-nav-active: var(--color-brand-secondary);--semantic-radius: .25rem;--av-chart-1: oklch(64.6% .222 41.116deg);--av-chart-2: oklch(60% .118 184.704deg);--av-chart-3: oklch(39.8% .07 227.392deg);--av-chart-4: oklch(82.8% .189 84.429deg);--av-chart-5: oklch(76.9% .188 70.08deg);--av-chart-blue: oklch(52.7% .16 257.94deg);--av-chart-brown: oklch(60.6% .105 62.98deg);--av-chart-critical: oklch(73.4% .184 52.786deg);--av-chart-danger: oklch(61.7% .21 26.1deg);--av-chart-green: oklch(65.4% .11 189deg);--av-chart-grey: oklch(68.4% .01 257.94deg);--av-chart-info: var(--av-brand-secondary);--av-chart-light-blue: oklch(80.9% .09 240deg);--av-chart-neutral: oklch(90.6% 0 257.94deg);--av-chart-purple: oklch(71.4% .19 314.82deg);--av-chart-red: oklch(66.9% .184 23.483deg);--av-chart-success: oklch(75.9% .177 123.498deg);--av-chart-transparent: oklch(80.9% .09 240deg / 50%);--av-chart-turquoise: oklch(70.5% .13 230deg);--av-chart-violet: oklch(51.5% .09 299deg);--av-chart-warning: oklch(84.4% .17 84.9deg);--av-chart-yellow: oklch(84% .14 95deg)}.dark{--semantic-bg-base: var(--color-text-primary);--semantic-bg-elevated: 215 26% 23%;--semantic-bg-muted: 215 26% 30%;--semantic-bg-brand: var(--color-brand-primary);--semantic-bg-overlay: 215 26% 25%;--semantic-text-primary: var(--color-surface-primary);--semantic-text-secondary: 0 0% 70%;--semantic-text-tertiary: 0 0% 60%;--semantic-text-inverse: var(--color-text-primary);--semantic-text-brand: var(--color-brand-primary);--semantic-border-default: 215 26% 35%;--semantic-border-strong: 215 26% 40%;--semantic-border-subtle: 215 26% 25%;--semantic-interactive-default: var(--color-brand-primary);--semantic-interactive-hover: 213 65% 56%;--semantic-interactive-active: var(--color-brand-primary);--semantic-interactive-disabled: 215 26% 40%;--semantic-interactive-focus: var(--color-brand-primary);--semantic-status-success-bg: 73 68% 20%;--semantic-status-success-text: var(--color-status-success-light);--semantic-status-info-bg: 211 82% 20%;--semantic-status-info-text: var(--color-status-info-light);--semantic-status-warning-bg: 45 100% 20%;--semantic-status-warning-text: var(--color-status-warning-light);--semantic-status-danger-bg: 0 77% 20%;--semantic-status-danger-text: var(--color-status-danger-light);--semantic-status-critical-bg: 25 100% 20%;--semantic-status-critical-text: var(--color-status-critical-light);--semantic-status-neutral-bg: 220 11% 25%;--semantic-status-neutral-text: var(--color-neutral-light);--av-chart-1: oklch(48.8% .243 264.376deg);--av-chart-2: oklch(69.6% .17 162.48deg);--av-chart-3: oklch(76.9% .188 70.08deg);--av-chart-4: oklch(62.7% .265 303.9deg);--av-chart-5: oklch(64.5% .246 16.439deg)}}@layer base{*{@apply border-border;}body{@apply bg-background text-foreground;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@tailwind base;@tailwind components;@tailwind utilities;
@@ -0,0 +1 @@
1
+ export {}
@@ -0,0 +1,2 @@
1
+ export type Variant = 'primary' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link';
2
+ export type Size = 'sm' | 'md' | 'lg';
@@ -0,0 +1,3 @@
1
+ export * from './theme';
2
+ export * from './tokens';
3
+ export * from './state';
@@ -0,0 +1,31 @@
1
+ import { Theme } from './theme';
2
+ import { TokenSet } from './tokens';
3
+ /**
4
+ * UI state for playground interface
5
+ */
6
+ export interface UIState {
7
+ tokenEditorOpen: boolean;
8
+ showcaseMode: 'grid' | 'detail';
9
+ selectedComponent?: string;
10
+ searchQuery: string;
11
+ filterCategory?: string;
12
+ }
13
+ /**
14
+ * User preferences
15
+ */
16
+ export interface Preferences {
17
+ autoApplyChanges: boolean;
18
+ showCodeSnippets: boolean;
19
+ viewportSize: 'mobile' | 'tablet' | 'desktop';
20
+ }
21
+ /**
22
+ * Complete playground state
23
+ */
24
+ export interface PlaygroundState {
25
+ theme: Theme;
26
+ activeTokenSetId: string;
27
+ tokenSets: Record<string, TokenSet>;
28
+ customTokenSet?: TokenSet;
29
+ ui: UIState;
30
+ preferences: Preferences;
31
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Theme mode enumeration
3
+ */
4
+ export declare enum ThemeMode {
5
+ LIGHT = "light",
6
+ DARK = "dark",
7
+ SYSTEM = "system"
8
+ }
9
+ /**
10
+ * Theme configuration
11
+ */
12
+ export interface Theme {
13
+ mode: ThemeMode;
14
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Color token with HSL, OKLCH values and CSS/hex representations
3
+ */
4
+ export interface ColorToken {
5
+ h: number;
6
+ s: number;
7
+ l: number;
8
+ css: string;
9
+ hex: string;
10
+ oklch?: {
11
+ l: number;
12
+ c: number;
13
+ h: number;
14
+ css: string;
15
+ };
16
+ }
17
+ /**
18
+ * Complete color palette for a theme
19
+ */
20
+ export interface ColorPalette {
21
+ background: ColorToken;
22
+ foreground: ColorToken;
23
+ card: ColorToken;
24
+ cardForeground: ColorToken;
25
+ popover: ColorToken;
26
+ popoverForeground: ColorToken;
27
+ primary: ColorToken;
28
+ primaryForeground: ColorToken;
29
+ secondary: ColorToken;
30
+ secondaryForeground: ColorToken;
31
+ muted: ColorToken;
32
+ mutedForeground: ColorToken;
33
+ accent: ColorToken;
34
+ accentForeground: ColorToken;
35
+ destructive: ColorToken;
36
+ destructiveForeground: ColorToken;
37
+ border: ColorToken;
38
+ input: ColorToken;
39
+ ring: ColorToken;
40
+ }
41
+ /**
42
+ * Border radius configuration
43
+ */
44
+ export interface RadiusConfig {
45
+ sm: string;
46
+ md: string;
47
+ lg: string;
48
+ xl: string;
49
+ '2xl': string;
50
+ full: string;
51
+ }
52
+ /**
53
+ * Complete token set with light/dark palettes and radius
54
+ */
55
+ export interface TokenSet {
56
+ id: string;
57
+ name: string;
58
+ description?: string;
59
+ light: ColorPalette;
60
+ dark: ColorPalette;
61
+ radius: RadiusConfig;
62
+ }
63
+ /**
64
+ * Deep partial type for token updates
65
+ */
66
+ export type DeepPartial<T> = {
67
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
68
+ };
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1 @@
1
+ export { cn } from './cn';
package/package.json ADDED
@@ -0,0 +1,138 @@
1
+ {
2
+ "name": "@acronis-platform/shadcn-uikit",
3
+ "version": "0.1.0",
4
+ "description": "Acronis shadcn UI component library built with TypeScript, following shadcn design principles",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./react": {
15
+ "import": "./dist/react.js",
16
+ "types": "./dist/react.d.ts"
17
+ },
18
+ "./styles": "./dist/shadcn-uikit.css",
19
+ "./components/*": "./dist/components/*"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
26
+ "peerDependencies": {
27
+ "react": "^18.2.0",
28
+ "react-dom": "^18.2.0"
29
+ },
30
+ "peerDependenciesMeta": {
31
+ "react": {
32
+ "optional": true
33
+ },
34
+ "react-dom": {
35
+ "optional": true
36
+ }
37
+ },
38
+ "dependencies": {
39
+ "@hookform/resolvers": "^3.9.1",
40
+ "@radix-ui/react-accordion": "^1.2.12",
41
+ "@radix-ui/react-alert-dialog": "^1.1.15",
42
+ "@radix-ui/react-avatar": "^1.1.11",
43
+ "@radix-ui/react-checkbox": "^1.3.3",
44
+ "@radix-ui/react-dialog": "^1.1.15",
45
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
46
+ "@radix-ui/react-label": "^2.1.8",
47
+ "@radix-ui/react-navigation-menu": "^1.2.14",
48
+ "@radix-ui/react-popover": "^1.1.15",
49
+ "@radix-ui/react-progress": "^1.1.8",
50
+ "@radix-ui/react-radio-group": "^1.3.8",
51
+ "@radix-ui/react-scroll-area": "^1.2.10",
52
+ "@radix-ui/react-select": "^2.2.6",
53
+ "@radix-ui/react-separator": "^1.1.8",
54
+ "@radix-ui/react-slot": "^1.2.4",
55
+ "@radix-ui/react-switch": "^1.2.6",
56
+ "@radix-ui/react-tabs": "^1.1.13",
57
+ "@radix-ui/react-tooltip": "^1.2.8",
58
+ "@tanstack/react-table": "^8.21.3",
59
+ "class-variance-authority": "^0.7.1",
60
+ "clsx": "^2.1.0",
61
+ "cmdk": "^1.1.1",
62
+ "culori": "^4.0.2",
63
+ "date-fns": "^4.1.0",
64
+ "embla-carousel-react": "^8.6.0",
65
+ "lucide-react": "^0.309.0",
66
+ "next-themes": "^0.4.6",
67
+ "react-day-picker": "^9.13.0",
68
+ "react-hook-form": "^7.69.0",
69
+ "recharts": "^3.6.0",
70
+ "sonner": "^2.0.7",
71
+ "tailwind-merge": "^2.2.0",
72
+ "vaul": "^1.1.2",
73
+ "zod": "^4.2.1"
74
+ },
75
+ "devDependencies": {
76
+ "@playwright/test": "1.56.1",
77
+ "@storybook/addon-a11y": "10.1.10",
78
+ "@storybook/addon-docs": "^10.1.10",
79
+ "@storybook/addon-links": "^10.1.10",
80
+ "@storybook/addon-vitest": "10.1.11",
81
+ "@storybook/react": "^10.1.10",
82
+ "@storybook/react-vite": "^10.1.10",
83
+ "@storybook/test-runner": "0.24.2",
84
+ "@testing-library/jest-dom": "^6.2.0",
85
+ "@testing-library/react": "^14.1.2",
86
+ "@testing-library/user-event": "^14.5.2",
87
+ "@types/node": "^20.11.0",
88
+ "@types/react": "^18.2.48",
89
+ "@types/react-dom": "^18.2.18",
90
+ "@vitejs/plugin-react": "5.1.1",
91
+ "@vitest/browser-playwright": "4.0.17",
92
+ "autoprefixer": "^10.4.17",
93
+ "eslint": "9.39.2",
94
+ "happy-dom": "20.1.0",
95
+ "jest-image-snapshot": "6.5.1",
96
+ "postcss": "^8.5.6",
97
+ "sass-embedded": "1.97.2",
98
+ "storybook": "^10.1.10",
99
+ "tailwindcss": "^3.4.1",
100
+ "tailwindcss-animate": "^1.0.7",
101
+ "typescript": "^5.5.3",
102
+ "vite": "^6.3.5",
103
+ "vite-plugin-dts": "^4.3.0",
104
+ "vite-plugin-svgr": "^4.5.0",
105
+ "vitest": "4.0.17"
106
+ },
107
+ "keywords": [
108
+ "react",
109
+ "ui",
110
+ "components",
111
+ "shadcn",
112
+ "typescript",
113
+ "uikit",
114
+ "multi-framework",
115
+ "acronis"
116
+ ],
117
+ "author": "Acronis International GmbH",
118
+ "license": "MIT",
119
+ "publishConfig": {
120
+ "access": "public"
121
+ },
122
+ "scripts": {
123
+ "build": "vite build",
124
+ "build:lib": "vite build",
125
+ "build:types": "tsc --project tsconfig.build.json",
126
+ "dev": "vite build --watch",
127
+ "type-check": "tsc --noEmit",
128
+ "test": "vitest",
129
+ "test:ui": "vitest --ui",
130
+ "test:coverage": "vitest --coverage",
131
+ "lint": "eslint src/",
132
+ "lint:fix": "eslint src/ --fix",
133
+ "storybook": "storybook dev -p 6006",
134
+ "storybook:build": "storybook build",
135
+ "storybook:test:visual": "test-storybook",
136
+ "storybook:test:visual:update": "test-storybook --updateSnapshot"
137
+ }
138
+ }