@keboola/design 6.4.0 → 8.0.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.
- package/AGENTS.md +9 -10
- package/COMPONENT-API.md +162 -160
- package/README.md +3 -3
- package/dist/charts.cjs +22 -22
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.d.cts +5 -5
- package/dist/charts.d.ts +5 -5
- package/dist/charts.js +22 -22
- package/dist/charts.js.map +1 -1
- package/dist/editors.cjs +594 -438
- package/dist/editors.cjs.map +1 -1
- package/dist/editors.d.cts +8 -4
- package/dist/editors.d.ts +8 -4
- package/dist/editors.js +595 -422
- package/dist/editors.js.map +1 -1
- package/dist/icons.cjs +23818 -45
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.d.cts +12 -3
- package/dist/icons.d.ts +12 -3
- package/dist/icons.js +298 -40
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +11519 -11718
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +679 -1227
- package/dist/index.d.ts +679 -1227
- package/dist/index.js +10315 -10516
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.cjs +1015 -1134
- package/dist/markdown-editor.cjs.map +1 -1
- package/dist/markdown-editor.js +1016 -1134
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.cjs +366 -452
- package/dist/mermaid.cjs.map +1 -1
- package/dist/mermaid.d.cts +5 -1
- package/dist/mermaid.d.ts +5 -1
- package/dist/mermaid.js +368 -435
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.cjs +2540 -2419
- package/dist/rjsf.cjs.map +1 -1
- package/dist/rjsf.js +2541 -2419
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +2 -5
- package/dist/testing.cjs +86 -82
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.js +86 -82
- package/dist/testing.js.map +1 -1
- package/package.json +30 -22
- package/src/styles.css +125 -105
- package/src/theme.css +264 -0
package/AGENTS.md
CHANGED
|
@@ -36,12 +36,12 @@ The root barrel (`@keboola/design`) is **not** the whole package. These live onl
|
|
|
36
36
|
|
|
37
37
|
The API is "shadcn-shaped" enough to invite copy-paste but different enough to break it — copied shadcn code fails type-check. Translate these before emitting:
|
|
38
38
|
|
|
39
|
-
| Component | shadcn shape (wrong here) | `@keboola/design` shape
|
|
40
|
-
| --------------------- | ------------------------------------------------------------------------------------------------- |
|
|
41
|
-
| `DropdownMenu` | named parts `DropdownMenuTrigger` / `DropdownMenuContent` / `DropdownMenuItem` | **compound** — only `DropdownMenu` exports; use `DropdownMenu.Trigger` / `.Content` / `.Item` / `.Label` / `.Separator`
|
|
42
|
-
| `Tabs` | `<Tabs><TabsList><TabsTrigger/></TabsList><TabsContent/>` | data-driven — `<Tabs triggers={[{ value, title }]}>` + `TabsContent` children. **No** `TabsList` / `TabsTrigger` export
|
|
43
|
-
| `Select` | composed children `<Select><SelectTrigger/><SelectContent><SelectItem/></SelectContent></Select>` | data-driven — `Select` takes **`items
|
|
44
|
-
| `Sidebar.SearchInput` | `asChild`-wrappable trigger | concrete `<input>` (`ComponentProps<'input'>`), **no `asChild`** — put a custom search affordance in a plain element inside `Sidebar.Header`
|
|
39
|
+
| Component | shadcn shape (wrong here) | `@keboola/design` shape |
|
|
40
|
+
| --------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
41
|
+
| `DropdownMenu` | named parts `DropdownMenuTrigger` / `DropdownMenuContent` / `DropdownMenuItem` | **compound** — only `DropdownMenu` exports; use `DropdownMenu.Trigger` / `.Content` / `.Item` / `.Label` / `.Separator` |
|
|
42
|
+
| `Tabs` | `<Tabs><TabsList><TabsTrigger/></TabsList><TabsContent/>` | data-driven — `<Tabs triggers={[{ value, title }]}>` + `TabsContent` children. **No** `TabsList` / `TabsTrigger` export |
|
|
43
|
+
| `Select` | composed children `<Select><SelectTrigger/><SelectContent><SelectItem/></SelectContent></Select>` | data-driven — `Select` takes **`items`**, and the form connector `SelectField` delegates to it, so both take the same `items`: flat `{ value, label, icon?, disabled? }` or groups of them (`{ label?, items }`) |
|
|
44
|
+
| `Sidebar.SearchInput` | `asChild`-wrappable trigger | concrete `<input>` (`ComponentProps<'input'>`), **no `asChild`** — put a custom search affordance in a plain element inside `Sidebar.Header` |
|
|
45
45
|
|
|
46
46
|
Other compound (not named-export) components in the barrel: `Modal.*`, `Sheet.*`, `Card.*`, `Sidebar.*`, `PageHeader.Index` / `.Detail`, `EmptyState.*`, `Pagination.*`, `Popover.*` — reach for the dotted sub-parts, not flat `XContent` / `XTrigger` named imports. (The root `SearchInput` block is distinct from `Sidebar.SearchInput` and is fully composable.)
|
|
47
47
|
|
|
@@ -205,11 +205,10 @@ The `label` prop implies `orientation="horizontal"` — labels are not rendered
|
|
|
205
205
|
| `Combobox` | Single selection from a searchable list |
|
|
206
206
|
| `MultiCombobox` | Multiple selections from a searchable list |
|
|
207
207
|
| `Select` | Single selection from a short enum (≤ ~10 options, no search) |
|
|
208
|
-
| `Tagger` | Free-form chip/tag entry |
|
|
209
208
|
| `CodeEditor` | Generic code editing (JSON, YAML, shell) |
|
|
210
209
|
| `SqlEditor` | SQL editing (syntax + autocomplete) |
|
|
211
210
|
|
|
212
|
-
`Select` is wrong above ~10 items — use `Combobox`. `
|
|
211
|
+
`Select` is wrong above ~10 items — use `Combobox`. `CodeEditor`/`SqlEditor` load the full CodeMirror bundle and ship from the `@keboola/design/editors` subpath (not the root); reserve for real code editing.
|
|
213
212
|
|
|
214
213
|
## Composition recipes
|
|
215
214
|
|
|
@@ -231,7 +230,7 @@ const form = useAppForm({
|
|
|
231
230
|
|
|
232
231
|
<Modal open={open} onOpenChange={setOpen}>
|
|
233
232
|
<Modal.Content size="medium">
|
|
234
|
-
<Modal.Header
|
|
233
|
+
<Modal.Header>New bucket</Modal.Header>
|
|
235
234
|
<Modal.Body>
|
|
236
235
|
<form.AppForm>
|
|
237
236
|
<form.FormBody id={FORM_ID}>
|
|
@@ -427,7 +426,7 @@ Controlled (opened from elsewhere, no `Trigger`): pass `open` + `onOpenChange` t
|
|
|
427
426
|
|
|
428
427
|
## Icons
|
|
429
428
|
|
|
430
|
-
Canonical icon surface is `@keboola/design/icons` — a
|
|
429
|
+
Canonical icon surface is `@keboola/design/icons` — a re-export of every [lucide-react](https://lucide.dev) icon plus Keboola-custom inline-SVG icons. Follow **shadcn convention**: import named icons directly, no wrapper component. Every Lucide icon is available without any package edit.
|
|
431
430
|
|
|
432
431
|
```tsx
|
|
433
432
|
import { ChevronDown, Keboola, Loader2 } from '@keboola/design/icons';
|