@arcadeai/design-system 3.28.0 → 3.28.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/README.md +154 -13
- package/dist/assets/index.css +1 -1
- package/dist/assets/tokens.css +1 -1
- package/dist/assets/variables.css +1 -1
- package/dist/{calendar-w1IATMME.js → calendar-cxv-TTEh.js} +10 -10
- package/dist/components/index.js +2 -2
- package/dist/components/ui/atoms/accordion.d.ts +1 -1
- package/dist/components/ui/atoms/accordion.d.ts.map +1 -1
- package/dist/components/ui/atoms/accordion.js +15 -15
- package/dist/components/ui/atoms/alert-dialog.d.ts +1 -1
- package/dist/components/ui/atoms/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/atoms/alert.d.ts.map +1 -1
- package/dist/components/ui/atoms/alert.js +1 -1
- package/dist/components/ui/atoms/avatar.d.ts +1 -1
- package/dist/components/ui/atoms/avatar.d.ts.map +1 -1
- package/dist/components/ui/atoms/badge.d.ts.map +1 -1
- package/dist/components/ui/atoms/badge.js +6 -6
- package/dist/components/ui/atoms/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/atoms/breadcrumb.js +5 -5
- package/dist/components/ui/atoms/button.d.ts.map +1 -1
- package/dist/components/ui/atoms/button.js +6 -6
- package/dist/components/ui/atoms/byoc-badge.d.ts.map +1 -1
- package/dist/components/ui/atoms/byoc-badge.js +6 -6
- package/dist/components/ui/atoms/calendar.d.ts +1 -1
- package/dist/components/ui/atoms/calendar.d.ts.map +1 -1
- package/dist/components/ui/atoms/calendar.js +3 -3
- package/dist/components/ui/atoms/card.d.ts.map +1 -1
- package/dist/components/ui/atoms/chart.d.ts.map +1 -1
- package/dist/components/ui/atoms/chart.js +1 -1
- package/dist/components/ui/atoms/checkbox.d.ts +1 -1
- package/dist/components/ui/atoms/checkbox.d.ts.map +1 -1
- package/dist/components/ui/atoms/checkbox.js +13 -13
- package/dist/components/ui/atoms/collapsible.d.ts +1 -1
- package/dist/components/ui/atoms/collapsible.d.ts.map +1 -1
- package/dist/components/ui/atoms/command.d.ts +1 -1
- package/dist/components/ui/atoms/command.d.ts.map +1 -1
- package/dist/components/ui/atoms/command.js +28 -28
- package/dist/components/ui/atoms/dialog.d.ts +1 -1
- package/dist/components/ui/atoms/dialog.d.ts.map +1 -1
- package/dist/components/ui/atoms/dialog.js +10 -10
- package/dist/components/ui/atoms/dropdown-menu.d.ts +1 -1
- package/dist/components/ui/atoms/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/atoms/dropdown-menu.js +27 -27
- package/dist/components/ui/atoms/form.d.ts +2 -3
- package/dist/components/ui/atoms/form.d.ts.map +1 -1
- package/dist/components/ui/atoms/form.js +12 -10
- package/dist/components/ui/atoms/hover-card.d.ts +1 -1
- package/dist/components/ui/atoms/hover-card.d.ts.map +1 -1
- package/dist/components/ui/atoms/index.js +1 -1
- package/dist/components/ui/atoms/input.d.ts.map +1 -1
- package/dist/components/ui/atoms/label.d.ts +1 -1
- package/dist/components/ui/atoms/label.d.ts.map +1 -1
- package/dist/components/ui/atoms/mobile-tooltip.d.ts +7 -6
- package/dist/components/ui/atoms/mobile-tooltip.d.ts.map +1 -1
- package/dist/components/ui/atoms/popover.d.ts +1 -1
- package/dist/components/ui/atoms/popover.d.ts.map +1 -1
- package/dist/components/ui/atoms/pro-badge.d.ts.map +1 -1
- package/dist/components/ui/atoms/pro-badge.js +6 -6
- package/dist/components/ui/atoms/progress.d.ts +1 -1
- package/dist/components/ui/atoms/progress.d.ts.map +1 -1
- package/dist/components/ui/atoms/radio-group.d.ts +1 -1
- package/dist/components/ui/atoms/radio-group.d.ts.map +1 -1
- package/dist/components/ui/atoms/radio-group.js +13 -13
- package/dist/components/ui/atoms/resizable.d.ts.map +1 -1
- package/dist/components/ui/atoms/resizable.js +1 -1
- package/dist/components/ui/atoms/scroll-area.d.ts +1 -1
- package/dist/components/ui/atoms/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/atoms/select.d.ts +1 -1
- package/dist/components/ui/atoms/select.d.ts.map +1 -1
- package/dist/components/ui/atoms/select.js +36 -36
- package/dist/components/ui/atoms/separator.d.ts +1 -1
- package/dist/components/ui/atoms/separator.d.ts.map +1 -1
- package/dist/components/ui/atoms/sheet.d.ts +1 -1
- package/dist/components/ui/atoms/sheet.d.ts.map +1 -1
- package/dist/components/ui/atoms/sheet.js +10 -10
- package/dist/components/ui/atoms/sidebar.d.ts +1 -1
- package/dist/components/ui/atoms/sidebar.d.ts.map +1 -1
- package/dist/components/ui/atoms/sidebar.js +24 -24
- package/dist/components/ui/atoms/slider.d.ts +1 -1
- package/dist/components/ui/atoms/slider.d.ts.map +1 -1
- package/dist/components/ui/atoms/slider.js +1 -1
- package/dist/components/ui/atoms/switch.d.ts +1 -1
- package/dist/components/ui/atoms/switch.d.ts.map +1 -1
- package/dist/components/ui/atoms/table.d.ts.map +1 -1
- package/dist/components/ui/atoms/tabs.d.ts +1 -1
- package/dist/components/ui/atoms/tabs.d.ts.map +1 -1
- package/dist/components/ui/atoms/textarea.d.ts.map +1 -1
- package/dist/components/ui/atoms/toggle.d.ts +1 -1
- package/dist/components/ui/atoms/toggle.d.ts.map +1 -1
- package/dist/components/ui/atoms/toggle.js +12 -12
- package/dist/components/ui/atoms/tooltip.d.ts +1 -1
- package/dist/components/ui/atoms/tooltip.d.ts.map +1 -1
- package/dist/components/ui/atoms/view-tools-control.d.ts.map +1 -1
- package/dist/components/ui/atoms/view-tools-control.js +10 -10
- package/dist/components/ui/blocks/demo.d.ts +2 -0
- package/dist/components/ui/blocks/demo.d.ts.map +1 -0
- package/dist/components/ui/blocks/demo.js +186 -0
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/molecules/date-time-picker.d.ts +1 -1
- package/dist/components/ui/molecules/date-time-picker.d.ts.map +1 -1
- package/dist/components/ui/molecules/date-time-picker.js +14 -14
- package/dist/components/ui/molecules/index.js +1 -1
- package/dist/components/ui/molecules/requirement-badges.d.ts.map +1 -1
- package/dist/components/ui/molecules/requirement-badges.js +3 -3
- package/dist/components/ui/molecules/tool-card.d.ts.map +1 -1
- package/dist/components/ui/molecules/tool-card.js +16 -16
- package/dist/components/ui/molecules/toolkit-card.d.ts +1 -1
- package/dist/components/ui/molecules/toolkit-card.d.ts.map +1 -1
- package/dist/components/ui/molecules/toolkit-card.js +4 -4
- package/dist/components/ui/molecules/toolkit-picker-trigger.d.ts.map +1 -1
- package/dist/components/ui/molecules/toolkit-picker-trigger.js +13 -13
- package/dist/components/ui/molecules/toolkit-selection-summary.d.ts.map +1 -1
- package/dist/components/ui/molecules/toolkit-selection-summary.js +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/action-buttons.js +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/filter-badges.js +10 -10
- package/dist/components/ui/organisms/toolkit-picker/components/search-input.js +2 -2
- package/dist/components/ui/organisms/toolkit-picker/components/select-button.js +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.js +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/toolkit-list.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/toolkit-list.js +7 -7
- package/dist/components/ui/organisms/toolkit-picker/components/tools-list.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/components/tools-list.js +2 -2
- package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts +1 -1
- package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/index.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.d.ts.map +1 -1
- package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.js +34 -34
- package/dist/components/ui/organisms/toolkit-picker/utils/toolkit-grouping.d.ts.map +1 -1
- package/dist/lib/arcade/arcade.d.ts.map +1 -1
- package/dist/main.js +2 -2
- package/dist/metadata/toolkit-icons.d.ts.map +1 -1
- package/dist/{toolkit-card-Cmp_yG03.js → toolkit-card-BTFS_2j_.js} +13 -13
- package/package.json +8 -34
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ npm install react react-dom tailwindcss lucide-react
|
|
|
45
45
|
Import the design system styles in your main CSS file or at the root of your application:
|
|
46
46
|
|
|
47
47
|
```css
|
|
48
|
-
@import '@arcadeai/design-system/
|
|
48
|
+
@import '@arcadeai/design-system/index.css';
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
### 2. Configure Tailwind CSS
|
|
@@ -69,6 +69,147 @@ function MyApp() {
|
|
|
69
69
|
}
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
+
## shadcn Registry
|
|
73
|
+
|
|
74
|
+
The design system is also available as a [shadcn registry](https://ui.shadcn.com/docs/registry), allowing you to install individual components directly into your project using the `shadcn` CLI.
|
|
75
|
+
|
|
76
|
+
### Setup
|
|
77
|
+
|
|
78
|
+
1. Add the registry to your `components.json`:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"registries": {
|
|
83
|
+
"@arcadeai": "https://ds.arcade.dev/r/{name}.json"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. Install the theme and apply tokens:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx shadcn@latest add @arcadeai/arcadeai-theme
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then import `tokens.css` in your root component to apply the full Arcade colour palette (works around a known shadcn limitation where `cssVars` won't overwrite existing variables):
|
|
95
|
+
|
|
96
|
+
```tsx
|
|
97
|
+
import "@/components/tokens.css";
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
3. Install components:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npx shadcn@latest add @arcadeai/button
|
|
104
|
+
npx shadcn@latest add @arcadeai/card
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
4. Optionally install fonts and icons:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
npx shadcn@latest add @arcadeai/arcadeai-fonts
|
|
111
|
+
npx shadcn@latest add @arcadeai/icons
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Verify your setup:** Install the `demo` block to render a page that exercises theme, fonts, icons, and core components all at once — useful as a smoke test after setting up a new project:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx shadcn@latest add @arcadeai/demo
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Building the Registry
|
|
121
|
+
|
|
122
|
+
To build the registry from source:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
bun run build:registry
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
This runs `shadcn build` using the `registry.json` config and outputs individual item JSON files to `public/r/`.
|
|
129
|
+
|
|
130
|
+
### Testing Locally
|
|
131
|
+
|
|
132
|
+
To test the registry without publishing:
|
|
133
|
+
|
|
134
|
+
1. Build the registry:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
bun run build:registry
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
2. Serve the registry locally:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
npx serve public -p 3333 --cors
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
3. Create a new Vite + React + TypeScript project and initialize shadcn:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
bun create vite arcade-registry-test --template react-ts
|
|
150
|
+
cd arcade-registry-test
|
|
151
|
+
bun install
|
|
152
|
+
npx shadcn@latest init
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
4. **Important:** Remove Vite's default `index.css` to avoid conflicts with Tailwind CSS. Vite's template includes unlayered button/link styles that override Tailwind utilities:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
rm src/index.css
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Then remove the `import './index.css'` line from `src/main.tsx`.
|
|
162
|
+
|
|
163
|
+
5. In your test project's `components.json`, point to the local server:
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"registries": {
|
|
168
|
+
"@arcadeai": "http://localhost:3333/r/{name}.json"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
6. Install the theme, a component, and the demo smoke test:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npx shadcn@latest add @arcadeai/arcadeai-theme
|
|
177
|
+
npx shadcn@latest add @arcadeai/button
|
|
178
|
+
npx shadcn@latest add @arcadeai/demo
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
7. Use the demo in `src/App.tsx` to verify the full setup:
|
|
182
|
+
|
|
183
|
+
```tsx
|
|
184
|
+
import "./App.css";
|
|
185
|
+
import { ArcadeDemo } from "@/components/ui/blocks/demo";
|
|
186
|
+
|
|
187
|
+
function App() {
|
|
188
|
+
return <ArcadeDemo />;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export default App;
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Registry Items
|
|
195
|
+
|
|
196
|
+
The registry includes:
|
|
197
|
+
|
|
198
|
+
- **Theme** (`arcadeai-theme`): Arcade OKLch color tokens for light and dark mode
|
|
199
|
+
- **Fonts** (`arcadeai-fonts`): GT Sectra, GT Cinetype, and GT Cinetype Mono font families
|
|
200
|
+
- **Icons** (`icons`): 100+ brand icons (GitHub, Slack, Google, etc.)
|
|
201
|
+
- **Components**: All atoms (button, badge, card, input, etc.) and molecules
|
|
202
|
+
- **Demo** (`demo`): A verification page that showcases theme, fonts, icons, and components
|
|
203
|
+
|
|
204
|
+
### Registry Dependencies
|
|
205
|
+
|
|
206
|
+
All registry dependencies use the `@arcadeai/` namespace prefix. When adding new items to `registry.json`, make sure `registryDependencies` entries use the fully qualified name (e.g., `@arcadeai/utils` instead of `utils`).
|
|
207
|
+
|
|
208
|
+
### Known Issues
|
|
209
|
+
|
|
210
|
+
- **shadcn `cssVars` don't overwrite existing values**: When the theme is installed as a transitive dependency (e.g., via `@arcadeai/demo`), the `cssVars` may not update existing variables in `App.css`. The `tokens.css` file works around this by providing all Arcade color values in unlayered `:root`/`.dark` blocks that take CSS cascade priority over shadcn's `@layer theme` defaults.
|
|
211
|
+
- **Vite default `index.css` conflicts with Tailwind**: When creating a new Vite project, the default `index.css` includes unlayered `button` styles (e.g., `background-color: #f9f9f9`) that override Tailwind utilities. Remove `index.css` and its import from `main.tsx` before using Tailwind components.
|
|
212
|
+
|
|
72
213
|
## 🛠️ Development
|
|
73
214
|
|
|
74
215
|
### Prerequisites
|
|
@@ -80,22 +221,22 @@ function MyApp() {
|
|
|
80
221
|
|
|
81
222
|
1. Clone the repository:
|
|
82
223
|
|
|
83
|
-
```bash
|
|
84
|
-
git clone https://github.com/ArcadeAI/Design-System
|
|
85
|
-
cd @arcadeai/design-system
|
|
86
|
-
```
|
|
224
|
+
```bash
|
|
225
|
+
git clone https://github.com/ArcadeAI/Design-System
|
|
226
|
+
cd @arcadeai/design-system
|
|
227
|
+
```
|
|
87
228
|
|
|
88
|
-
|
|
229
|
+
2. Install dependencies:
|
|
89
230
|
|
|
90
|
-
```bash
|
|
91
|
-
pnpm install
|
|
92
|
-
```
|
|
231
|
+
```bash
|
|
232
|
+
pnpm install
|
|
233
|
+
```
|
|
93
234
|
|
|
94
|
-
|
|
235
|
+
3. View components in Storybook:
|
|
95
236
|
|
|
96
|
-
```bash
|
|
97
|
-
pnpm dev
|
|
98
|
-
```
|
|
237
|
+
```bash
|
|
238
|
+
pnpm dev
|
|
239
|
+
```
|
|
99
240
|
|
|
100
241
|
## 🏗️ Technology Stack
|
|
101
242
|
|