@arcadeai/design-system 3.28.0 → 3.28.1

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 (135) hide show
  1. package/README.md +154 -13
  2. package/dist/assets/fonts.css +1 -1
  3. package/dist/assets/index.css +1 -1
  4. package/dist/assets/tokens.css +1 -1
  5. package/dist/assets/variables.css +1 -1
  6. package/dist/{calendar-w1IATMME.js → calendar-cxv-TTEh.js} +10 -10
  7. package/dist/components/index.js +2 -2
  8. package/dist/components/ui/atoms/accordion.d.ts +1 -1
  9. package/dist/components/ui/atoms/accordion.d.ts.map +1 -1
  10. package/dist/components/ui/atoms/accordion.js +15 -15
  11. package/dist/components/ui/atoms/alert-dialog.d.ts +1 -1
  12. package/dist/components/ui/atoms/alert-dialog.d.ts.map +1 -1
  13. package/dist/components/ui/atoms/alert.d.ts.map +1 -1
  14. package/dist/components/ui/atoms/alert.js +1 -1
  15. package/dist/components/ui/atoms/avatar.d.ts +1 -1
  16. package/dist/components/ui/atoms/avatar.d.ts.map +1 -1
  17. package/dist/components/ui/atoms/badge.d.ts.map +1 -1
  18. package/dist/components/ui/atoms/badge.js +6 -6
  19. package/dist/components/ui/atoms/breadcrumb.d.ts.map +1 -1
  20. package/dist/components/ui/atoms/breadcrumb.js +5 -5
  21. package/dist/components/ui/atoms/button.d.ts.map +1 -1
  22. package/dist/components/ui/atoms/button.js +6 -6
  23. package/dist/components/ui/atoms/byoc-badge.d.ts.map +1 -1
  24. package/dist/components/ui/atoms/byoc-badge.js +6 -6
  25. package/dist/components/ui/atoms/calendar.d.ts +1 -1
  26. package/dist/components/ui/atoms/calendar.d.ts.map +1 -1
  27. package/dist/components/ui/atoms/calendar.js +3 -3
  28. package/dist/components/ui/atoms/card.d.ts.map +1 -1
  29. package/dist/components/ui/atoms/chart.d.ts.map +1 -1
  30. package/dist/components/ui/atoms/chart.js +1 -1
  31. package/dist/components/ui/atoms/checkbox.d.ts +1 -1
  32. package/dist/components/ui/atoms/checkbox.d.ts.map +1 -1
  33. package/dist/components/ui/atoms/checkbox.js +13 -13
  34. package/dist/components/ui/atoms/collapsible.d.ts +1 -1
  35. package/dist/components/ui/atoms/collapsible.d.ts.map +1 -1
  36. package/dist/components/ui/atoms/command.d.ts +1 -1
  37. package/dist/components/ui/atoms/command.d.ts.map +1 -1
  38. package/dist/components/ui/atoms/command.js +28 -28
  39. package/dist/components/ui/atoms/dialog.d.ts +1 -1
  40. package/dist/components/ui/atoms/dialog.d.ts.map +1 -1
  41. package/dist/components/ui/atoms/dialog.js +10 -10
  42. package/dist/components/ui/atoms/dropdown-menu.d.ts +1 -1
  43. package/dist/components/ui/atoms/dropdown-menu.d.ts.map +1 -1
  44. package/dist/components/ui/atoms/dropdown-menu.js +27 -27
  45. package/dist/components/ui/atoms/form.d.ts +2 -3
  46. package/dist/components/ui/atoms/form.d.ts.map +1 -1
  47. package/dist/components/ui/atoms/form.js +12 -10
  48. package/dist/components/ui/atoms/hover-card.d.ts +1 -1
  49. package/dist/components/ui/atoms/hover-card.d.ts.map +1 -1
  50. package/dist/components/ui/atoms/index.js +1 -1
  51. package/dist/components/ui/atoms/input.d.ts.map +1 -1
  52. package/dist/components/ui/atoms/label.d.ts +1 -1
  53. package/dist/components/ui/atoms/label.d.ts.map +1 -1
  54. package/dist/components/ui/atoms/mobile-tooltip.d.ts +7 -6
  55. package/dist/components/ui/atoms/mobile-tooltip.d.ts.map +1 -1
  56. package/dist/components/ui/atoms/popover.d.ts +1 -1
  57. package/dist/components/ui/atoms/popover.d.ts.map +1 -1
  58. package/dist/components/ui/atoms/pro-badge.d.ts.map +1 -1
  59. package/dist/components/ui/atoms/pro-badge.js +6 -6
  60. package/dist/components/ui/atoms/progress.d.ts +1 -1
  61. package/dist/components/ui/atoms/progress.d.ts.map +1 -1
  62. package/dist/components/ui/atoms/radio-group.d.ts +1 -1
  63. package/dist/components/ui/atoms/radio-group.d.ts.map +1 -1
  64. package/dist/components/ui/atoms/radio-group.js +13 -13
  65. package/dist/components/ui/atoms/resizable.d.ts.map +1 -1
  66. package/dist/components/ui/atoms/resizable.js +1 -1
  67. package/dist/components/ui/atoms/scroll-area.d.ts +1 -1
  68. package/dist/components/ui/atoms/scroll-area.d.ts.map +1 -1
  69. package/dist/components/ui/atoms/select.d.ts +1 -1
  70. package/dist/components/ui/atoms/select.d.ts.map +1 -1
  71. package/dist/components/ui/atoms/select.js +36 -36
  72. package/dist/components/ui/atoms/separator.d.ts +1 -1
  73. package/dist/components/ui/atoms/separator.d.ts.map +1 -1
  74. package/dist/components/ui/atoms/sheet.d.ts +1 -1
  75. package/dist/components/ui/atoms/sheet.d.ts.map +1 -1
  76. package/dist/components/ui/atoms/sheet.js +10 -10
  77. package/dist/components/ui/atoms/sidebar.d.ts +1 -1
  78. package/dist/components/ui/atoms/sidebar.d.ts.map +1 -1
  79. package/dist/components/ui/atoms/sidebar.js +24 -24
  80. package/dist/components/ui/atoms/slider.d.ts +1 -1
  81. package/dist/components/ui/atoms/slider.d.ts.map +1 -1
  82. package/dist/components/ui/atoms/slider.js +1 -1
  83. package/dist/components/ui/atoms/switch.d.ts +1 -1
  84. package/dist/components/ui/atoms/switch.d.ts.map +1 -1
  85. package/dist/components/ui/atoms/table.d.ts.map +1 -1
  86. package/dist/components/ui/atoms/tabs.d.ts +1 -1
  87. package/dist/components/ui/atoms/tabs.d.ts.map +1 -1
  88. package/dist/components/ui/atoms/textarea.d.ts.map +1 -1
  89. package/dist/components/ui/atoms/toggle.d.ts +1 -1
  90. package/dist/components/ui/atoms/toggle.d.ts.map +1 -1
  91. package/dist/components/ui/atoms/toggle.js +12 -12
  92. package/dist/components/ui/atoms/tooltip.d.ts +1 -1
  93. package/dist/components/ui/atoms/tooltip.d.ts.map +1 -1
  94. package/dist/components/ui/atoms/view-tools-control.d.ts.map +1 -1
  95. package/dist/components/ui/atoms/view-tools-control.js +10 -10
  96. package/dist/components/ui/blocks/demo.d.ts +2 -0
  97. package/dist/components/ui/blocks/demo.d.ts.map +1 -0
  98. package/dist/components/ui/blocks/demo.js +186 -0
  99. package/dist/components/ui/index.js +2 -2
  100. package/dist/components/ui/molecules/date-time-picker.d.ts +1 -1
  101. package/dist/components/ui/molecules/date-time-picker.d.ts.map +1 -1
  102. package/dist/components/ui/molecules/date-time-picker.js +14 -14
  103. package/dist/components/ui/molecules/index.js +1 -1
  104. package/dist/components/ui/molecules/requirement-badges.d.ts.map +1 -1
  105. package/dist/components/ui/molecules/requirement-badges.js +3 -3
  106. package/dist/components/ui/molecules/tool-card.d.ts.map +1 -1
  107. package/dist/components/ui/molecules/tool-card.js +16 -16
  108. package/dist/components/ui/molecules/toolkit-card.d.ts +1 -1
  109. package/dist/components/ui/molecules/toolkit-card.d.ts.map +1 -1
  110. package/dist/components/ui/molecules/toolkit-card.js +4 -4
  111. package/dist/components/ui/molecules/toolkit-picker-trigger.d.ts.map +1 -1
  112. package/dist/components/ui/molecules/toolkit-picker-trigger.js +13 -13
  113. package/dist/components/ui/molecules/toolkit-selection-summary.d.ts.map +1 -1
  114. package/dist/components/ui/molecules/toolkit-selection-summary.js +1 -1
  115. package/dist/components/ui/organisms/toolkit-picker/components/action-buttons.js +1 -1
  116. package/dist/components/ui/organisms/toolkit-picker/components/filter-badges.js +10 -10
  117. package/dist/components/ui/organisms/toolkit-picker/components/search-input.js +2 -2
  118. package/dist/components/ui/organisms/toolkit-picker/components/select-button.js +1 -1
  119. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.d.ts.map +1 -1
  120. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-card-with-selection.js +1 -1
  121. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-list.d.ts.map +1 -1
  122. package/dist/components/ui/organisms/toolkit-picker/components/toolkit-list.js +7 -7
  123. package/dist/components/ui/organisms/toolkit-picker/components/tools-list.d.ts.map +1 -1
  124. package/dist/components/ui/organisms/toolkit-picker/components/tools-list.js +2 -2
  125. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts +1 -1
  126. package/dist/components/ui/organisms/toolkit-picker/hooks/use-toolkit-picker.d.ts.map +1 -1
  127. package/dist/components/ui/organisms/toolkit-picker/index.d.ts.map +1 -1
  128. package/dist/components/ui/organisms/toolkit-picker/mocks/toolkit-collection.d.ts.map +1 -1
  129. package/dist/components/ui/organisms/toolkit-picker/toolkit-picker.js +34 -34
  130. package/dist/components/ui/organisms/toolkit-picker/utils/toolkit-grouping.d.ts.map +1 -1
  131. package/dist/lib/arcade/arcade.d.ts.map +1 -1
  132. package/dist/main.js +2 -2
  133. package/dist/metadata/toolkit-icons.d.ts.map +1 -1
  134. package/dist/{toolkit-card-Cmp_yG03.js → toolkit-card-BTFS_2j_.js} +13 -13
  135. 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/dist/assets/index.css';
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
- 1. Install dependencies:
229
+ 2. Install dependencies:
89
230
 
90
- ```bash
91
- pnpm install
92
- ```
231
+ ```bash
232
+ pnpm install
233
+ ```
93
234
 
94
- 1. View components in Storybook:
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