@parto-system-design/ui 1.1.1 → 1.1.2

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parto-system-design/ui",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Parto Design System UI components with RTL support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -71,10 +71,8 @@
71
71
  "input-otp": "^1.4.2",
72
72
  "lucide-react": "^0.554.0",
73
73
  "moment-jalaali": "^0.10.4",
74
- "next-themes": "^0.4.6",
75
74
  "react-day-picker": "^9.13.0",
76
75
  "react-hook-form": "^7.66.1",
77
- "react-player": "^2.16.0",
78
76
  "react-resizable-panels": "^3.0.6",
79
77
  "sonner": "^2.0.7",
80
78
  "tailwind-merge": "^3.4.0",
@@ -82,29 +80,56 @@
82
80
  "zod": "^4.1.12"
83
81
  },
84
82
  "peerDependencies": {
83
+ "next-themes": ">=0.4",
85
84
  "react": ">=18",
86
85
  "react-dom": ">=18"
87
86
  },
87
+ "peerDependenciesMeta": {
88
+ "next-themes": {
89
+ "optional": true
90
+ }
91
+ },
88
92
  "devDependencies": {
93
+ "@eslint/js": "^9.39.3",
94
+ "@size-limit/esbuild": "^12.0.0",
95
+ "@size-limit/file": "^12.0.0",
89
96
  "@tailwindcss/cli": "^4.1.18",
97
+ "@testing-library/jest-dom": "^6.9.1",
98
+ "@testing-library/react": "^16.3.2",
90
99
  "@types/moment-jalaali": "^0.7.9",
91
100
  "@types/node": "^20.11.5",
92
101
  "@types/react": "^19.2.6",
93
102
  "@types/react-dom": "^19.2.3",
103
+ "@vitest/coverage-v8": "^4.0.18",
104
+ "@vitest/ui": "^4.0.18",
94
105
  "autoprefixer": "^10.4.17",
95
106
  "copyfiles": "^2.4.1",
107
+ "eslint": "^9.39.3",
108
+ "eslint-plugin-jsx-a11y": "^6.10.2",
109
+ "eslint-plugin-react": "^7.37.5",
110
+ "eslint-plugin-react-hooks": "^7.0.1",
111
+ "globals": "^17.3.0",
112
+ "jsdom": "^28.1.0",
96
113
  "postcss": "^8.4.33",
114
+ "size-limit": "^12.0.0",
97
115
  "tailwindcss": "^4.1.17",
98
116
  "tailwindcss-animate": "^1.0.7",
99
117
  "tsup": "^8.5.1",
100
118
  "typescript": "^5.9.3",
101
- "vite-plugin-dts": "^3.7.2"
119
+ "typescript-eslint": "^8.56.1",
120
+ "vite-plugin-dts": "^3.7.2",
121
+ "vitest": "^4.0.18"
102
122
  },
103
123
  "scripts": {
104
124
  "dev": "tsup --watch",
105
125
  "build": "tsup && tailwindcss -i ./src/globals.css -o ./dist/index.css && copyfiles -u 1 \"src/assets/fonts/*.woff2\" dist",
106
- "lint": "eslint src --ext .ts,.tsx",
107
- "lint:fix": "eslint src --ext .ts,.tsx --fix",
108
- "typecheck": "tsc --noEmit --skipLibCheck"
126
+ "test": "vitest run",
127
+ "test:watch": "vitest",
128
+ "test:ui": "vitest --ui",
129
+ "lint": "eslint src/",
130
+ "lint:fix": "eslint src/ --fix",
131
+ "typecheck": "tsc --noEmit --skipLibCheck",
132
+ "size": "size-limit",
133
+ "size:check": "size-limit --limit"
109
134
  }
110
135
  }
@@ -132,6 +132,29 @@ const config: Config = {
132
132
  5: 'hsl(var(--code-block-5))',
133
133
  },
134
134
 
135
+ // Engagement Rate Tier Colors (social listening domain)
136
+ engagement: {
137
+ excellent: 'hsl(var(--engagement-excellent))',
138
+ 'excellent-hover': 'hsl(var(--engagement-excellent-hover))',
139
+ 'very-good': 'hsl(var(--engagement-very-good))',
140
+ 'very-good-hover': 'hsl(var(--engagement-very-good-hover))',
141
+ good: 'hsl(var(--engagement-good))',
142
+ 'good-hover': 'hsl(var(--engagement-good-hover))',
143
+ average: 'hsl(var(--engagement-average))',
144
+ 'average-hover': 'hsl(var(--engagement-average-hover))',
145
+ low: 'hsl(var(--engagement-low))',
146
+ 'low-hover': 'hsl(var(--engagement-low-hover))',
147
+ poor: 'hsl(var(--engagement-poor))',
148
+ 'poor-hover': 'hsl(var(--engagement-poor-hover))',
149
+ inactive: 'hsl(var(--engagement-inactive))',
150
+ },
151
+ // Sentiment Colors (social listening domain)
152
+ sentiment: {
153
+ positive: 'hsl(var(--sentiment-positive))',
154
+ negative: 'hsl(var(--sentiment-negative))',
155
+ neutral: 'hsl(var(--sentiment-neutral))',
156
+ },
157
+
135
158
  // Legacy Shadcn compatibility aliases
136
159
  input: 'hsl(var(--background-control))',
137
160
  ring: 'hsl(var(--border-strong))',
@@ -476,13 +499,80 @@ const config: Config = {
476
499
  from: { height: 'var(--radix-accordion-content-height)' },
477
500
  to: { height: '0' },
478
501
  },
502
+ 'fade-in': {
503
+ '0%': { opacity: '0' },
504
+ '100%': { opacity: '1' },
505
+ },
506
+ 'fade-out': {
507
+ '0%': { opacity: '1' },
508
+ '100%': { opacity: '0' },
509
+ },
510
+ 'slide-up': {
511
+ '0%': { transform: 'translateY(4px)', opacity: '0' },
512
+ '100%': { transform: 'translateY(0)', opacity: '1' },
513
+ },
514
+ 'slide-down': {
515
+ '0%': { transform: 'translateY(-4px)', opacity: '0' },
516
+ '100%': { transform: 'translateY(0)', opacity: '1' },
517
+ },
518
+ 'scale-in': {
519
+ '0%': { transform: 'scale(0.95)', opacity: '0' },
520
+ '100%': { transform: 'scale(1)', opacity: '1' },
521
+ },
522
+ shimmer: {
523
+ '0%': { backgroundPosition: '-200% 0' },
524
+ '100%': { backgroundPosition: '200% 0' },
525
+ },
479
526
  },
480
527
  animation: {
481
528
  'accordion-down': 'accordion-down 0.2s ease-out',
482
529
  'accordion-up': 'accordion-up 0.2s ease-out',
530
+ 'fade-in': 'fade-in 0.2s ease-out',
531
+ 'fade-out': 'fade-out 0.2s ease-out',
532
+ 'slide-up': 'slide-up 0.2s ease-out',
533
+ 'slide-down': 'slide-down 0.2s ease-out',
534
+ 'scale-in': 'scale-in 0.2s ease-out',
535
+ shimmer: 'shimmer 2s linear infinite',
483
536
  },
484
537
  fontWeight: {
538
+ thin: '100',
539
+ extralight: '200',
540
+ light: '300',
485
541
  regular: '400',
542
+ medium: '500',
543
+ semibold: '600',
544
+ bold: '700',
545
+ extrabold: '800',
546
+ black: '900',
547
+ },
548
+ fontSize: {
549
+ '2xs': ['0.625rem', { lineHeight: '1rem' }],
550
+ xs: ['0.75rem', { lineHeight: '1.125rem' }],
551
+ sm: ['0.875rem', { lineHeight: '1.375rem' }],
552
+ base: ['1rem', { lineHeight: '1.625rem' }],
553
+ lg: ['1.125rem', { lineHeight: '1.75rem' }],
554
+ xl: ['1.25rem', { lineHeight: '1.875rem' }],
555
+ '2xl': ['1.5rem', { lineHeight: '2rem' }],
556
+ '3xl': ['1.875rem', { lineHeight: '2.375rem' }],
557
+ '4xl': ['2.25rem', { lineHeight: '2.75rem' }],
558
+ '5xl': ['3rem', { lineHeight: '3.5rem' }],
559
+ },
560
+ boxShadow: {
561
+ sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
562
+ DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07)',
563
+ md: '0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05)',
564
+ lg: '0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.04)',
565
+ xl: '0 20px 25px -5px rgb(0 0 0 / 0.08), 0 8px 10px -6px rgb(0 0 0 / 0.04)',
566
+ card: '0 2px 8px 0 rgb(0 0 0 / 0.04)',
567
+ dropdown: '0 4px 16px 0 rgb(0 0 0 / 0.12)',
568
+ dialog: '0 16px 48px 0 rgb(0 0 0 / 0.16)',
569
+ },
570
+ // Icon sizing tokens — maps CSS vars --icon-xs/sm/md to Tailwind utilities
571
+ // Enables: size-icon-xs, h-icon-sm, w-icon-md, etc.
572
+ spacing: {
573
+ 'icon-xs': 'var(--icon-xs)', // 12px
574
+ 'icon-sm': 'var(--icon-sm)', // 16px
575
+ 'icon-md': 'var(--icon-md)', // 18px
486
576
  },
487
577
  },
488
578
  },