@vllnt/ui 0.1.8 → 0.1.11-canary.54f8a77

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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/activity-heatmap/activity-heatmap.js +168 -0
  3. package/dist/components/activity-heatmap/index.js +6 -0
  4. package/dist/components/activity-log/activity-log.js +256 -0
  5. package/dist/components/activity-log/index.js +6 -0
  6. package/dist/components/ai-chat-input/ai-chat-input.js +107 -0
  7. package/dist/components/ai-chat-input/index.js +4 -0
  8. package/dist/components/ai-message-bubble/ai-message-bubble.js +119 -0
  9. package/dist/components/ai-message-bubble/index.js +6 -0
  10. package/dist/components/ai-source-citation/ai-source-citation.js +39 -0
  11. package/dist/components/ai-source-citation/index.js +6 -0
  12. package/dist/components/ai-streaming-text/ai-streaming-text.js +41 -0
  13. package/dist/components/ai-streaming-text/index.js +6 -0
  14. package/dist/components/ai-tool-call-display/ai-tool-call-display.js +93 -0
  15. package/dist/components/ai-tool-call-display/index.js +6 -0
  16. package/dist/components/animated-text/animated-text.js +328 -0
  17. package/dist/components/animated-text/index.js +4 -0
  18. package/dist/components/annotation/annotation.js +49 -0
  19. package/dist/components/annotation/index.js +8 -0
  20. package/dist/components/avatar-group/avatar-group.js +82 -0
  21. package/dist/components/avatar-group/index.js +10 -0
  22. package/dist/components/border-beam/border-beam.js +51 -0
  23. package/dist/components/border-beam/index.js +4 -0
  24. package/dist/components/candlestick-chart/candlestick-chart.js +215 -0
  25. package/dist/components/candlestick-chart/index.js +6 -0
  26. package/dist/components/combobox/combobox.js +130 -0
  27. package/dist/components/combobox/index.js +4 -0
  28. package/dist/components/countdown-timer/countdown-timer.js +184 -0
  29. package/dist/components/countdown-timer/index.js +4 -0
  30. package/dist/components/credit-badge/credit-badge.js +59 -0
  31. package/dist/components/credit-badge/index.js +6 -0
  32. package/dist/components/data-list/data-list.js +99 -0
  33. package/dist/components/data-list/index.js +16 -0
  34. package/dist/components/data-table/data-table.js +242 -0
  35. package/dist/components/data-table/index.js +6 -0
  36. package/dist/components/date-picker/date-picker.js +74 -0
  37. package/dist/components/date-picker/index.js +4 -0
  38. package/dist/components/file-upload/file-upload.js +227 -0
  39. package/dist/components/file-upload/index.js +4 -0
  40. package/dist/components/flashcard/flashcard.js +66 -0
  41. package/dist/components/flashcard/index.js +4 -0
  42. package/dist/components/index.js +172 -1
  43. package/dist/components/live-feed/index.js +4 -0
  44. package/dist/components/live-feed/live-feed.js +168 -0
  45. package/dist/components/market-treemap/index.js +6 -0
  46. package/dist/components/market-treemap/market-treemap.js +100 -0
  47. package/dist/components/marquee/index.js +4 -0
  48. package/dist/components/marquee/marquee.js +98 -0
  49. package/dist/components/metric-gauge/index.js +6 -0
  50. package/dist/components/metric-gauge/metric-gauge.js +213 -0
  51. package/dist/components/model-selector/model-selector.js +11 -2
  52. package/dist/components/number-input/index.js +4 -0
  53. package/dist/components/number-input/number-input.js +167 -0
  54. package/dist/components/number-ticker/index.js +4 -0
  55. package/dist/components/number-ticker/number-ticker.js +63 -0
  56. package/dist/components/order-book/index.js +6 -0
  57. package/dist/components/order-book/order-book.js +128 -0
  58. package/dist/components/password-input/index.js +4 -0
  59. package/dist/components/password-input/password-input.js +45 -0
  60. package/dist/components/plan-badge/index.js +6 -0
  61. package/dist/components/plan-badge/plan-badge.js +67 -0
  62. package/dist/components/rating/index.js +4 -0
  63. package/dist/components/rating/rating.js +121 -0
  64. package/dist/components/role-badge/index.js +6 -0
  65. package/dist/components/role-badge/role-badge.js +50 -0
  66. package/dist/components/scope-selector/index.js +6 -0
  67. package/dist/components/scope-selector/scope-selector.js +336 -0
  68. package/dist/components/severity-badge/index.js +8 -0
  69. package/dist/components/severity-badge/severity-badge.js +163 -0
  70. package/dist/components/sparkline-grid/index.js +6 -0
  71. package/dist/components/sparkline-grid/sparkline-grid.js +92 -0
  72. package/dist/components/spinner/index.js +5 -1
  73. package/dist/components/spinner/unicode-spinner.js +708 -0
  74. package/dist/components/stat-card/index.js +5 -0
  75. package/dist/components/stat-card/stat-card.js +102 -0
  76. package/dist/components/status-board/index.js +6 -0
  77. package/dist/components/status-board/status-board.js +138 -0
  78. package/dist/components/status-indicator/index.js +10 -0
  79. package/dist/components/status-indicator/status-indicator.js +175 -0
  80. package/dist/components/stepper/index.js +4 -0
  81. package/dist/components/stepper/stepper.js +117 -0
  82. package/dist/components/subscription-card/index.js +6 -0
  83. package/dist/components/subscription-card/subscription-card.js +161 -0
  84. package/dist/components/ticker-tape/index.js +6 -0
  85. package/dist/components/ticker-tape/ticker-tape.js +106 -0
  86. package/dist/components/tour/index.js +4 -0
  87. package/dist/components/tour/tour.js +157 -0
  88. package/dist/components/usage-breakdown/index.js +6 -0
  89. package/dist/components/usage-breakdown/usage-breakdown.js +140 -0
  90. package/dist/components/wallet-card/index.js +4 -0
  91. package/dist/components/wallet-card/wallet-card.js +115 -0
  92. package/dist/components/watchlist/index.js +6 -0
  93. package/dist/components/watchlist/watchlist.js +110 -0
  94. package/dist/components/world-clock-bar/index.js +6 -0
  95. package/dist/components/world-clock-bar/world-clock-bar.js +101 -0
  96. package/dist/index.d.ts +1173 -7
  97. package/dist/test-setup.js +19 -0
  98. package/package.json +45 -41
  99. package/styles.css +55 -0
@@ -0,0 +1,19 @@
1
+ import "@testing-library/jest-dom";
2
+ import * as matchers from "@testing-library/jest-dom/matchers";
3
+ import { expect } from "vitest";
4
+ expect.extend(matchers);
5
+ class MockResizeObserver {
6
+ observe() {
7
+ return;
8
+ }
9
+ unobserve() {
10
+ return;
11
+ }
12
+ disconnect() {
13
+ return;
14
+ }
15
+ }
16
+ globalThis.ResizeObserver = MockResizeObserver;
17
+ HTMLElement.prototype.scrollIntoView = function scrollIntoView() {
18
+ return;
19
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vllnt/ui",
3
- "version": "0.1.8",
3
+ "version": "0.1.11-canary.54f8a77",
4
4
  "description": "React component library — 93 components built on Radix UI, Tailwind CSS, and CVA",
5
5
  "license": "MIT",
6
6
  "author": "vllnt",
@@ -23,39 +23,24 @@
23
23
  "shadcn"
24
24
  ],
25
25
  "type": "module",
26
- "main": "./src/index.ts",
27
- "module": "./src/index.ts",
28
- "types": "./src/index.ts",
26
+ "main": "./dist/index.js",
27
+ "module": "./dist/index.js",
28
+ "types": "./dist/index.d.ts",
29
29
  "exports": {
30
30
  ".": {
31
- "types": "./src/index.ts",
32
- "import": "./src/index.ts"
31
+ "types": "./dist/index.d.ts",
32
+ "import": "./dist/index.js"
33
33
  },
34
34
  "./tailwind-preset": {
35
- "types": "./src/tailwind-preset.ts",
36
- "import": "./src/tailwind-preset.ts"
35
+ "types": "./dist/tailwind-preset.d.ts",
36
+ "import": "./dist/tailwind-preset.js"
37
37
  },
38
38
  "./styles.css": "./styles.css",
39
39
  "./themes/default.css": "./themes/default.css"
40
40
  },
41
41
  "publishConfig": {
42
42
  "registry": "https://registry.npmjs.org",
43
- "access": "public",
44
- "main": "./dist/index.js",
45
- "module": "./dist/index.js",
46
- "types": "./dist/index.d.ts",
47
- "exports": {
48
- ".": {
49
- "types": "./dist/index.d.ts",
50
- "import": "./dist/index.js"
51
- },
52
- "./tailwind-preset": {
53
- "types": "./dist/tailwind-preset.d.ts",
54
- "import": "./dist/tailwind-preset.js"
55
- },
56
- "./styles.css": "./styles.css",
57
- "./themes/default.css": "./themes/default.css"
58
- }
43
+ "access": "public"
59
44
  },
60
45
  "files": [
61
46
  "dist",
@@ -65,25 +50,11 @@
65
50
  "sideEffects": [
66
51
  "*.css"
67
52
  ],
68
- "scripts": {
69
- "build": "tsup",
70
- "clean": "rm -rf dist node_modules coverage .snapshots playwright-report test-results",
71
- "lint": "eslint .",
72
- "lint:fix": "eslint . --fix",
73
- "check:circular": "madge --circular --extensions ts,tsx src",
74
- "test": "vitest",
75
- "test:once": "vitest run",
76
- "test:coverage": "vitest run --coverage",
77
- "test:visual": "playwright test -c playwright-ct.config.ts",
78
- "test:visual:update": "playwright test -c playwright-ct.config.ts --update-snapshots",
79
- "test:all": "pnpm test:coverage && pnpm test:visual",
80
- "test:generate": "tsx scripts/generate-tests.ts"
81
- },
82
53
  "peerDependencies": {
83
- "react": ">=18.0.0",
84
- "react-dom": ">=18.0.0",
85
54
  "next": ">=14.0.0",
86
55
  "next-themes": ">=0.4.0",
56
+ "react": ">=18.0.0",
57
+ "react-dom": ">=18.0.0",
87
58
  "tailwindcss": ">=3.0.0"
88
59
  },
89
60
  "peerDependenciesMeta": {
@@ -137,7 +108,16 @@
137
108
  "vaul": "^1.1.2"
138
109
  },
139
110
  "devDependencies": {
111
+ "@chromatic-com/storybook": "^5.0.1",
112
+ "@github-ui/storybook-addon-performance-panel": "^1.1.4",
140
113
  "@playwright/experimental-ct-react": "^1.57.0",
114
+ "@storybook/addon-a11y": "^10.2.17",
115
+ "@storybook/addon-designs": "^11.1.2",
116
+ "@storybook/addon-docs": "^10.2.17",
117
+ "@storybook/addon-mcp": "^0.3.4",
118
+ "@storybook/addon-themes": "^10.2.17",
119
+ "@storybook/react-vite": "^10.2.17",
120
+ "@storybook/test-runner": "^0.24.2",
141
121
  "@testing-library/jest-dom": "^6.9.1",
142
122
  "@testing-library/react": "^16.3.0",
143
123
  "@types/node": "^22",
@@ -152,11 +132,35 @@
152
132
  "jsdom": "^26.1.0",
153
133
  "playwright": "^1.57.0",
154
134
  "postcss": "^8.5.6",
135
+ "remark-gfm": "^4.0.1",
136
+ "storybook": "^10.2.17",
155
137
  "tailwindcss": "^3.4.17",
156
138
  "tailwindcss-animate": "^1.0.7",
157
139
  "tsup": "^8.5.0",
158
140
  "tsx": "^4.21.0",
159
141
  "typescript": "^5.9.3",
160
142
  "vitest": "^4.0.16"
143
+ },
144
+ "scripts": {
145
+ "build": "tsup",
146
+ "clean": "rm -rf dist node_modules coverage .snapshots playwright-report test-results storybook-static",
147
+ "lint": "eslint .",
148
+ "lint:fix": "eslint . --fix",
149
+ "check:circular": "madge --circular --extensions ts,tsx src",
150
+ "test": "vitest",
151
+ "test:once": "vitest run",
152
+ "test:coverage": "vitest run --coverage",
153
+ "test:visual": "playwright test -c playwright-ct.config.ts",
154
+ "test:visual:update": "playwright test -c playwright-ct.config.ts --update-snapshots",
155
+ "test:all": "pnpm test:coverage && pnpm test:visual",
156
+ "test:generate": "tsx scripts/generate-tests.ts",
157
+ "storybook": "storybook dev -p 6006",
158
+ "build-storybook": "storybook build",
159
+ "test-storybook": "test-storybook",
160
+ "storybook:generate": "tsx scripts/generate-stories.ts",
161
+ "storybook:generate-docs": "tsx scripts/generate-docs.ts",
162
+ "storybook:verify": "tsx scripts/verify-stories.ts",
163
+ "storybook:fix-stories": "tsx scripts/fix-stories.ts",
164
+ "check:stories": "tsx scripts/check-story-coverage.ts"
161
165
  }
162
- }
166
+ }
package/styles.css CHANGED
@@ -2,6 +2,12 @@
2
2
  @tailwind components;
3
3
  @tailwind utilities;
4
4
 
5
+ @property --vllnt-border-beam-angle {
6
+ syntax: "<angle>";
7
+ inherits: false;
8
+ initial-value: 90deg;
9
+ }
10
+
5
11
  /* Default theme variables */
6
12
  @layer base {
7
13
  :root {
@@ -60,6 +66,55 @@
60
66
 
61
67
  /* Safe area utilities for notched/rounded devices (iPhone, etc.) */
62
68
  @layer utilities {
69
+ @keyframes vllnt-marquee-x {
70
+ from {
71
+ transform: translate3d(0, 0, 0);
72
+ }
73
+ to {
74
+ transform: translate3d(-50%, 0, 0);
75
+ }
76
+ }
77
+
78
+ @keyframes vllnt-marquee-y {
79
+ from {
80
+ transform: translate3d(0, 0, 0);
81
+ }
82
+ to {
83
+ transform: translate3d(0, -50%, 0);
84
+ }
85
+ }
86
+
87
+ @keyframes vllnt-animated-text-reveal {
88
+ from {
89
+ opacity: 0;
90
+ transform: translate3d(0, 0.5rem, 0);
91
+ }
92
+ to {
93
+ opacity: 1;
94
+ transform: translate3d(0, 0, 0);
95
+ }
96
+ }
97
+
98
+ @keyframes vllnt-terminal-cursor-blink {
99
+ 0%,
100
+ 49% {
101
+ opacity: 1;
102
+ }
103
+ 50%,
104
+ 100% {
105
+ opacity: 0;
106
+ }
107
+ }
108
+
109
+ @keyframes vllnt-border-beam-angle {
110
+ from {
111
+ --vllnt-border-beam-angle: 90deg;
112
+ }
113
+ to {
114
+ --vllnt-border-beam-angle: 450deg;
115
+ }
116
+ }
117
+
63
118
  .ml-safe {
64
119
  margin-left: env(safe-area-inset-left, 0);
65
120
  }