@machinemetrics/mm-react-components 1.4.2-0 → 1.5.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/README.md +27 -0
- package/agent-docs/agent-documentation-reference.md +88 -9
- package/agent-docs/ai-agent-guide.md +2 -0
- package/agent-docs/ai-agent-init-guide.md +1 -1
- package/agent-docs/component-mapping-reference.md +3 -1
- package/agent-docs/cursor-skill-mm-carbide.md +1 -1
- package/agent-docs/lovable.md +1 -0
- package/dist/README.md +27 -0
- package/dist/components/ui/accordion.d.ts +9 -2
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +11 -2
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert.d.ts +4 -3
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/avatar.d.ts +5 -1
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +9 -1
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +7 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/card.d.ts +25 -3
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/collapsible.d.ts +22 -1
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/command.d.ts +3 -0
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/data-table/pagination.d.ts.map +1 -1
- package/dist/components/ui/data-table/toolbar/DataTableToolbar.d.ts.map +1 -1
- package/dist/components/ui/data-table/toolbar/filters/FilterControl.d.ts +14 -0
- package/dist/components/ui/data-table/toolbar/filters/FilterControl.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/FilterMenu.d.ts.map +1 -1
- package/dist/components/ui/data-table/toolbar/filters/InlineFilterMenu.d.ts +13 -0
- package/dist/components/ui/data-table/toolbar/filters/InlineFilterMenu.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/index.d.ts +2 -0
- package/dist/components/ui/data-table/toolbar/filters/index.d.ts.map +1 -1
- package/dist/components/ui/date-range-picker/get-range-calendar-selected.d.ts +8 -0
- package/dist/components/ui/date-range-picker/get-range-calendar-selected.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/hooks/use-date-range-picker-state.d.ts +38 -0
- package/dist/components/ui/date-range-picker/hooks/use-date-range-picker-state.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/index.d.ts +9 -0
- package/dist/components/ui/date-range-picker/index.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/company-day-settings-row.d.ts +7 -0
- package/dist/components/ui/date-range-picker/parts/company-day-settings-row.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/custom-hours-selects.d.ts +8 -0
- package/dist/components/ui/date-range-picker/parts/custom-hours-selects.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-cancel-apply-buttons.d.ts +10 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-cancel-apply-buttons.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-clear-button.d.ts +5 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-clear-button.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-trigger.d.ts +24 -0
- package/dist/components/ui/date-range-picker/parts/date-range-picker-trigger.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/dual-month-range-calendars.d.ts +15 -0
- package/dist/components/ui/date-range-picker/parts/dual-month-range-calendars.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/full-variant-header.d.ts +2 -0
- package/dist/components/ui/date-range-picker/parts/full-variant-header.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/preset-sidebar.d.ts +9 -0
- package/dist/components/ui/date-range-picker/parts/preset-sidebar.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/parts/range-calendar.d.ts +16 -0
- package/dist/components/ui/date-range-picker/parts/range-calendar.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/presets.d.ts +34 -0
- package/dist/components/ui/date-range-picker/presets.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/types.d.ts +29 -0
- package/dist/components/ui/date-range-picker/types.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/utils.d.ts +24 -0
- package/dist/components/ui/date-range-picker/utils.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/variants/full.d.ts +11 -0
- package/dist/components/ui/date-range-picker/variants/full.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/variants/simple.d.ts +9 -0
- package/dist/components/ui/date-range-picker/variants/simple.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker.d.ts +2 -8
- package/dist/components/ui/date-range-picker.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts +12 -2
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +16 -2
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/form.d.ts +19 -1
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts +21 -0
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/popover.d.ts +11 -2
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts +10 -2
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +4 -1
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/status/index.d.ts +7 -0
- package/dist/components/ui/status/index.d.ts.map +1 -0
- package/dist/components/ui/status/status-badge.d.ts +17 -0
- package/dist/components/ui/status/status-badge.d.ts.map +1 -0
- package/dist/components/ui/status/status-intent.d.ts +21 -0
- package/dist/components/ui/status/status-intent.d.ts.map +1 -0
- package/dist/components/ui/status/status-progress.d.ts +20 -0
- package/dist/components/ui/status/status-progress.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +8 -2
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/tabs/index.d.ts +6 -0
- package/dist/components/ui/tabs/index.d.ts.map +1 -0
- package/dist/components/ui/tabs/scroll-tabs-row.d.ts +6 -0
- package/dist/components/ui/tabs/scroll-tabs-row.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-constants.d.ts +11 -0
- package/dist/components/ui/tabs/tabs-constants.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-content.d.ts +5 -0
- package/dist/components/ui/tabs/tabs-content.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-context.d.ts +9 -0
- package/dist/components/ui/tabs/tabs-context.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-list-underline.d.ts +7 -0
- package/dist/components/ui/tabs/tabs-list-underline.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-list.d.ts +8 -0
- package/dist/components/ui/tabs/tabs-list.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-trigger.d.ts +7 -0
- package/dist/components/ui/tabs/tabs-trigger.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs-variants.d.ts +7 -0
- package/dist/components/ui/tabs/tabs-variants.d.ts.map +1 -0
- package/dist/components/ui/tabs/tabs.d.ts +15 -0
- package/dist/components/ui/tabs/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs/use-tabs-underline-scroll.d.ts +15 -0
- package/dist/components/ui/tabs/use-tabs-underline-scroll.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +5 -26
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +6 -0
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/tooltip.d.ts +6 -1
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/cursor-skill/mm-carbide/SKILL.md +16 -4
- package/dist/cursor-skill/mm-carbide/reference.md +15 -3
- package/dist/docs/GETTING_STARTED.md +26 -0
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/mm-react-components.css +1 -1
- package/dist/lib/normalize-host-color-mode.d.ts +6 -0
- package/dist/lib/normalize-host-color-mode.d.ts.map +1 -0
- package/dist/lib/theme-root.d.ts +18 -0
- package/dist/lib/theme-root.d.ts.map +1 -0
- package/dist/lib/use-host-theme.d.ts +15 -0
- package/dist/lib/use-host-theme.d.ts.map +1 -0
- package/dist/lib/with-display-name.d.ts +2 -0
- package/dist/lib/with-display-name.d.ts.map +1 -0
- package/dist/mm-react-components.es.js +920 -844
- package/dist/mm-react-components.es.js.map +1 -1
- package/dist/mm-react-components.umd.js +1 -1
- package/dist/mm-react-components.umd.js.map +1 -1
- package/dist/preview/AccordionPreview.d.ts.map +1 -1
- package/dist/preview/BreadcrumbPreview.d.ts.map +1 -1
- package/dist/preview/ButtonPreview.d.ts.map +1 -1
- package/dist/preview/CardPreview.d.ts.map +1 -1
- package/dist/preview/CollapsiblePreview.d.ts.map +1 -1
- package/dist/preview/DataTableLimitationsPreview.d.ts.map +1 -1
- package/dist/preview/DateRangePickerPreview.d.ts.map +1 -1
- package/dist/preview/StatusPreview.d.ts +2 -0
- package/dist/preview/StatusPreview.d.ts.map +1 -0
- package/dist/themes/carbide.css +217 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -186,6 +186,33 @@ document.documentElement.classList.add('carbide');
|
|
|
186
186
|
- You want to minimize bundle size
|
|
187
187
|
- You're using our components with your own Tailwind config
|
|
188
188
|
|
|
189
|
+
#### Embedded apps: `ThemeRoot` and `useHostTheme`
|
|
190
|
+
|
|
191
|
+
For apps hosted inside the MachineMetrics shell (or any host that passes a light/dark value), wrap the tree once and sync the host value—no `next-themes` setup boilerplate.
|
|
192
|
+
|
|
193
|
+
`ThemeRoot` wraps your React tree (e.g. inside `#root`). It does **not** replace `<html>` in `index.html`; it still toggles `light` / `dark` on `document.documentElement`. Keep `class="carbide"` on `<html>` and import Carbide CSS as usual.
|
|
194
|
+
|
|
195
|
+
```tsx
|
|
196
|
+
// index.tsx
|
|
197
|
+
import { ThemeRoot } from '@machinemetrics/mm-react-components';
|
|
198
|
+
|
|
199
|
+
<ThemeRoot>
|
|
200
|
+
<App />
|
|
201
|
+
</ThemeRoot>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
```tsx
|
|
205
|
+
// App.tsx — pass the host color mode (example: mm-react-tools)
|
|
206
|
+
import { useHostTheme } from '@machinemetrics/mm-react-components';
|
|
207
|
+
import { useMMAppParams } from '@machinemetrics/mm-react-tools';
|
|
208
|
+
|
|
209
|
+
useHostTheme(useMMAppParams().colorMode);
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
If you need `useTheme()` elsewhere (e.g. markdown styling), import it from **`@machinemetrics/mm-react-components`** so it uses the same context as `ThemeRoot`—not from the `next-themes` package directly.
|
|
213
|
+
|
|
214
|
+
Optional: pass any `ThemeProvider` prop to `ThemeRoot` to override defaults (e.g. `storageKey` for standalone persistence).
|
|
215
|
+
|
|
189
216
|
#### Option 3: Use Theme Utilities
|
|
190
217
|
|
|
191
218
|
```tsx
|
|
@@ -54,14 +54,16 @@ This directory contains comprehensive documentation and tools for AI agents work
|
|
|
54
54
|
|
|
55
55
|
### Layout & Navigation
|
|
56
56
|
|
|
57
|
-
| Component
|
|
58
|
-
|
|
|
59
|
-
| **
|
|
60
|
-
| **
|
|
61
|
-
| **
|
|
62
|
-
| **
|
|
63
|
-
| **
|
|
64
|
-
| **
|
|
57
|
+
| Component | Exports | Description |
|
|
58
|
+
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
59
|
+
| **ResizablePanelGroup** | `ResizablePanelGroup`, `ResizablePanel`, `ResizableHandle` | Split layouts with drag-to-resize; use for workspaces, dashboards, IDE-like UIs |
|
|
60
|
+
| **Sidebar** | `Sidebar`, `SidebarProvider`, `SidebarInset`, `SidebarHeader`, `SidebarContent`, `SidebarMenu`, `SidebarMenuItem`, `SidebarMenuButton`, `SidebarTrigger`, etc. | Navigation panel; collapsible to icons; use for app nav, not generic content |
|
|
61
|
+
| **Card** | `Card`, `CardHeader`, `CardTitle`, `CardDescription`, `CardContent`, `CardFooter` | Discrete content blocks (summary, form section, metric); **not** for structural layout or panels (no built-in scroll) |
|
|
62
|
+
| **ScrollArea** | `ScrollArea`, `ScrollBar` | Scrollable region; **must have constrained height** (e.g. `h-[300px]`, `max-h-[50vh]`, or `flex-1 min-h-0` in flex layout) or it won’t scroll |
|
|
63
|
+
| **Separator** | `Separator` | Visual divider |
|
|
64
|
+
| **Tabs** | `Tabs`, `TabsList`, `TabsTrigger`, `TabsContent` | Tabbed interface |
|
|
65
|
+
| **Breadcrumb** | `Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis` | Navigation breadcrumbs |
|
|
66
|
+
| **PageHeader** | `PageHeader` (+ types) | Application page header with actions/tabs |
|
|
65
67
|
|
|
66
68
|
### Overlays & Modals
|
|
67
69
|
|
|
@@ -106,7 +108,7 @@ This directory contains comprehensive documentation and tools for AI agents work
|
|
|
106
108
|
| **HeroMetricCard** | `HeroMetricCard`, `HeroMetricCardItem` (+ types) | Metrics dashboard card with trends |
|
|
107
109
|
| **Calendar** | `Calendar` | Date picker calendar |
|
|
108
110
|
| **DatePicker** | `DatePicker` | Single date selection with label and placeholder |
|
|
109
|
-
| **DateRangePicker** | `DateRangePicker`
|
|
111
|
+
| **DateRangePicker** | `DateRangePicker`, `DATE_RANGE_PRESETS`, `findMatchingPreset`, `PRESET_IDS`, `resolvePresets` (+ types); full variant: `presetIds`, `presetLabels` | Date range selection; `variant="full"` for presets sidebar + dual-month calendar |
|
|
110
112
|
| **Dropzone** | `Dropzone`, `DropzoneContent`, `DropzoneEmptyState` | File upload drag-drop |
|
|
111
113
|
| **Kanban** | `KanbanBoard`, `KanbanColumn`, `KanbanCard`, `KanbanCardOverlay`, `normalizeToKanbanColumn`, `dataToKanbanItems` (+ types) | Drag-and-drop Kanban board; compound API; same columns/data as DataTable |
|
|
112
114
|
| **Tickets** | `TicketForm`, `TicketDetails`, `TicketFieldControl`, `UserDisplay`, field helpers (`formatTicketTimestampDisplay`, …), `TicketSystemEvent`, `PartitionDetailFieldsResult` (+ `TicketUserSelectComponent`) | Schema-driven ticket form and detail UI; **`data-slot`** on form/details/field wrapper (see tickets README); optional `systemEvents` / `onBack` / `onAddCustomField` |
|
|
@@ -145,6 +147,18 @@ Use the same column definitions and data for both DataTable and Kanban:
|
|
|
145
147
|
### Ticket form and detail sheet
|
|
146
148
|
|
|
147
149
|
Schema-driven ticket UI (`TicketForm`, `TicketDetails`, `TicketFieldControl`) — inject a user picker (`TicketUserSelectComponent`), pass `onSubmit` / `onCancel`, and wire `onValuesChange` + `comments` / `onPostComment` / optional `systemEvents`. `TicketDetails` has no open/close API; mount it wherever needed (header metadata, Activity tabs, sticky sidebar). See **[tickets-pattern.md](./tickets-pattern.md)**.
|
|
150
|
+
### Layout and panel-like UI: don’t use Card for every section
|
|
151
|
+
|
|
152
|
+
Use the right component for the job instead of wrapping everything in Card:
|
|
153
|
+
|
|
154
|
+
| Need | Use | Notes |
|
|
155
|
+
|------|-----|--------|
|
|
156
|
+
| **Split workspace / dashboard / IDE-like layout** | **ResizablePanelGroup** | Horizontal or vertical split; drag-to-resize; keyboard accessible. Best for admin panels, SaaS tools, file-explorer style UIs. On mobile, use CSS to stack panels vertically. |
|
|
157
|
+
| **Navigation panel (app nav, links, structural sidebar)** | **Sidebar** | Composable, themeable, collapsible to icons. Use for application layout with nav links and groups, not for arbitrary “panel” content. |
|
|
158
|
+
| **Temporary or slide-out panel (settings, details, filters)** | **Sheet** | Slides in from any side (left, right, top, bottom). Use for settings, notifications, detail views, form overlays. See Overlays & Modals table. |
|
|
159
|
+
| **Discrete content block (summary box, metric, form section)** | **Card** | Card is for **content** with sections (header, body, footer), not for structural layout. Do not use Card as the main wrapper for full-page sections, side panels, or workspace areas. |
|
|
160
|
+
|
|
161
|
+
**Best practice for full app layout:** Combine Sidebar for navigation and ResizablePanelGroup (or a main content area) for the main workspace. Use Sheet for overlay panels; use Card only for distinct content blocks within a panel or page.
|
|
148
162
|
|
|
149
163
|
### Scrolling content: Card vs ScrollArea
|
|
150
164
|
|
|
@@ -248,6 +262,71 @@ The `DataTable` component supports both client-side and server-side pagination.
|
|
|
248
262
|
4. The component automatically handles edge cases (empty data, partial last page, etc.)
|
|
249
263
|
5. See component README at `src/components/ui/data-table/README.md` for detailed examples
|
|
250
264
|
|
|
265
|
+
### DateRangePicker: date ranges, presets, and helpers
|
|
266
|
+
|
|
267
|
+
Use **`DateRangePicker`** when the user needs a **start/end date range** (filters, reports, scheduling). Use **`DatePicker`** for a **single date**. Both are in `@machinemetrics/mm-react-components`.
|
|
268
|
+
|
|
269
|
+
**Imports (typical):**
|
|
270
|
+
|
|
271
|
+
```tsx
|
|
272
|
+
import {
|
|
273
|
+
DateRangePicker,
|
|
274
|
+
PRESET_IDS,
|
|
275
|
+
// Optional — programmatic preset matching / same subset as the picker:
|
|
276
|
+
DATE_RANGE_PRESETS,
|
|
277
|
+
findMatchingPreset,
|
|
278
|
+
resolvePresets,
|
|
279
|
+
} from '@machinemetrics/mm-react-components';
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Value shape:** Controlled with `value` and `onValueChange`. Type is `[string | null, string | null] | null | undefined` — dates are **`yyyy-MM-dd`** strings (ISO date only), e.g. `['2026-03-01', '2026-03-15']`. `allowSingleDate` allows one-day selections.
|
|
283
|
+
|
|
284
|
+
**Variants:**
|
|
285
|
+
|
|
286
|
+
| Variant | Prop | What you get |
|
|
287
|
+
| ------- | ---- | -------------- |
|
|
288
|
+
| **Simple** (default) | omit or `variant="simple"` | Single-calendar popover; Clear / Cancel / Apply (Clear reverts draft to last committed `value` without closing). |
|
|
289
|
+
| **Full** | `variant="full"` | Presets sidebar, dual-month calendar, company start time + optional custom hours, footer with summary and same Clear/Cancel/Apply behavior. |
|
|
290
|
+
|
|
291
|
+
**Full variant — presets:** The sidebar lists built-in quick ranges (Today, Yesterday, Last 7/30/90 days, week/month/year rollups, week/month/quarter/year-to-date, Custom). Full list and behavior: **`src/components/ui/date-range-picker/README.md`** in the repo (or browse package source after install).
|
|
292
|
+
|
|
293
|
+
**Customizing presets (full variant only):**
|
|
294
|
+
|
|
295
|
+
- **`presetIds`** — Pass a **subset and order** of presets using **`PRESET_IDS`** constants (not raw strings in app code, so IDs stay typed and consistent):
|
|
296
|
+
|
|
297
|
+
```tsx
|
|
298
|
+
presetIds={[
|
|
299
|
+
PRESET_IDS.TODAY,
|
|
300
|
+
PRESET_IDS.LAST_7_DAYS,
|
|
301
|
+
PRESET_IDS.MONTH_TO_DATE,
|
|
302
|
+
PRESET_IDS.CUSTOM,
|
|
303
|
+
]}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Omit `presetIds` for all defaults. Use `presetIds={[]}` to hide every preset row.
|
|
307
|
+
|
|
308
|
+
- **`presetLabels`** — Override labels (i18n or wording), keyed by **`PresetId`** / `PRESET_IDS`:
|
|
309
|
+
|
|
310
|
+
```tsx
|
|
311
|
+
presetLabels={{ [PRESET_IDS.MONTH_TO_DATE]: 'This month' }}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
**Programmatic use (outside the picker):**
|
|
315
|
+
|
|
316
|
+
- **`DATE_RANGE_PRESETS`** — Array of preset definitions (`id`, label, `getRange()`).
|
|
317
|
+
- **`resolvePresets(presetIds?)`** — Resolves which preset objects to use (same logic as the full picker). Pass the **same `presetIds` array** as the picker so “which preset is active” matches the UI.
|
|
318
|
+
- **`findMatchingPreset(start, end, now, presets?)`** — Given two dates and an optional resolved preset list, returns which **preset id** matches the range (or `undefined`).
|
|
319
|
+
|
|
320
|
+
Use these when syncing URL/query params, highlighting an active filter, or validating that a range matches a named preset.
|
|
321
|
+
|
|
322
|
+
**Related:** `Calendar` for bare calendars; `DatePicker` for single date with label. Carbide styles apply with the usual **`carbide`** wrapper and library **`/styles`** import.
|
|
323
|
+
|
|
324
|
+
**Important notes for AI agents:**
|
|
325
|
+
|
|
326
|
+
1. Prefer **`PRESET_IDS.*`** in source code for `presetIds` / `presetLabels` keys — do not hardcode string literals like `'month-to-date'` unless you are sure of the id contract.
|
|
327
|
+
2. Full variant may need horizontal space (dual months); avoid squeezing inside tiny columns without testing.
|
|
328
|
+
3. Detailed props table and Copy/paste examples: package **README** at `src/components/ui/date-range-picker/README.md`.
|
|
329
|
+
|
|
251
330
|
## Directory Structure
|
|
252
331
|
|
|
253
332
|
```
|
|
@@ -186,6 +186,8 @@ The migration configuration is located at `scripts/chakra-to-shadcn-migrator/cha
|
|
|
186
186
|
|
|
187
187
|
### Card Components
|
|
188
188
|
|
|
189
|
+
Use Card for **discrete content blocks** (summary, metric, form section), not for panel or layout structure. For panel-like UI use **ResizablePanelGroup**, **Sidebar**, or **Sheet** (see agent-documentation-reference.md).
|
|
190
|
+
|
|
189
191
|
```tsx
|
|
190
192
|
// Chakra UI
|
|
191
193
|
<Card>
|
|
@@ -129,7 +129,7 @@ function MyComponent() {
|
|
|
129
129
|
}
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
**Done!** Components are ready to use.
|
|
132
|
+
**Done!** Components are ready to use. (This example uses Card for a single content block; for panel layouts or split UIs use ResizablePanelGroup, Sidebar, or Sheet—see agent-documentation-reference.md.)
|
|
133
133
|
|
|
134
134
|
## Project Structure After Setup (zero-config)
|
|
135
135
|
|
|
@@ -82,7 +82,7 @@ This reference provides detailed mappings between Chakra UI components and Machi
|
|
|
82
82
|
| Chakra UI | MachineMetrics | Import | Notes |
|
|
83
83
|
| --------- | -------------- | ------------------------------------- | ------------------ |
|
|
84
84
|
| `Table` | `Table` | `@machinemetrics/mm-react-components` | Direct replacement |
|
|
85
|
-
| `Card` | `Card` | `@machinemetrics/mm-react-components` |
|
|
85
|
+
| `Card` | `Card` | `@machinemetrics/mm-react-components` | Use for discrete content blocks; for panel/split layout use ResizablePanelGroup, Sidebar, or Sheet (see agent-documentation-reference.md). |
|
|
86
86
|
| `Avatar` | `Avatar` | `@machinemetrics/mm-react-components` | New component |
|
|
87
87
|
| `Tooltip` | `Tooltip` | `@machinemetrics/mm-react-components` | Direct replacement |
|
|
88
88
|
| `Popover` | `Popover` | `@machinemetrics/mm-react-components` | Direct replacement |
|
|
@@ -216,6 +216,8 @@ This reference provides detailed mappings between Chakra UI components and Machi
|
|
|
216
216
|
|
|
217
217
|
### Card Structure
|
|
218
218
|
|
|
219
|
+
Use Card for **discrete content blocks** (e.g. summary box, metric card, form section). Do not use Card for structural layout or panel-like UI—prefer **ResizablePanelGroup** (split workspaces), **Sidebar** (nav panels), or **Sheet** (slide-out panels). See agent-documentation-reference.md “Layout and panel-like UI.”
|
|
220
|
+
|
|
219
221
|
```tsx
|
|
220
222
|
// Chakra UI Structure
|
|
221
223
|
<Card>
|
|
@@ -63,7 +63,7 @@ The skill triggers when the user asks to create or generate a UI, widget, screen
|
|
|
63
63
|
|
|
64
64
|
## Contents
|
|
65
65
|
|
|
66
|
-
- **SKILL.md** — Main instructions: components (only library exports, compound components, `cn()
|
|
66
|
+
- **SKILL.md** — Main instructions: components (only library exports, compound components, `cn()` where the app uses Tailwind, `data-slot`); **showcase / copy-paste** (styles-only path: no Tailwind utilities in snippets; use component props and theme tokens; `displayName` for readable CodePreview); **theme and styling** (CSS variables only, variants, layout, `.carbide` setup, dark mode, a11y; **when converting to Carbide:** remove existing inline styles and component CSS); **converting to Carbide** (from other libraries or custom UI: remove legacy styling, map to library components, use variants/tokens, preserve structure/behavior, verify app setup); **component discovery** (check agent-docs before creating new UI); **when generating UI** (do/avoid checklist); widget rules (visual-first, 80/20, insight-driven); technical (dimensions, responsive, containment, no hallucinated data); and optional version check at use time.
|
|
67
67
|
- **reference.md** — **Styling and conventions** (tokens, variants, layout, setup); **component discovery** (agent-docs index); key exports and patterns (PageHeader, DataTable, Form, ChartContainer, etc.); short widget rules summary (when to use charts vs metrics, accessibility).
|
|
68
68
|
- **Package agent-docs:** **`style-color-reference.md`** — short overview; **authoritative** token names/values are in **`themes/carbide`** (`carbide.css`). Precompiled `/styles` is library-scoped CSS, not a full generic utility set.
|
|
69
69
|
|
package/agent-docs/lovable.md
CHANGED
|
@@ -93,5 +93,6 @@ When the package is **not installed**, use this document and recommend installin
|
|
|
93
93
|
**Overlays:** Dialog, Sheet, Drawer, AlertDialog, Popover, Tooltip, DropdownMenu, Select.
|
|
94
94
|
**Forms:** Form, FormField, FormItem, FormLabel, FormControl; Input, SearchInput, Textarea, Label, Checkbox, Switch, RadioGroup, Select, Slider, DatePicker, DateRangePicker.
|
|
95
95
|
**Data:** DataTable (DataTablePagination, ResponsiveTable, DataTableToolbar, createColumnDescriptor, createTextColumn, createNumericColumn, createBadgeColumn, createDateColumn), Table, ChartContainer, ChartTooltip, ChartLegend, Progress, Skeleton, Badge (prefer semantic variants: `neutral`, `info`, `success`, `critical`, `warning`, `attention`, `production`, `setup`; use `custom` + `className` only when needed), Avatar, HeroMetricCard.
|
|
96
|
+
**Date ranges:** Use **`DateRangePicker`** for start/end filters or reporting (`value` / `onValueChange` as `[yyyy-MM-dd, yyyy-MM-dd]`). Default variant = simple popover; use **`variant="full"`** for presets + dual calendar + settings. Import **`PRESET_IDS`** for **`presetIds`** (subset/order) and **`presetLabels`** (e.g. `[PRESET_IDS.MONTH_TO_DATE]: 'This month'`). Helpers: **`resolvePresets`**, **`findMatchingPreset`**, **`DATE_RANGE_PRESETS`**. See **`agent-documentation-reference.md`** section *DateRangePicker* and the package README under `date-range-picker`.
|
|
96
97
|
**Actions/feedback:** Button, buttonVariants, Toaster, toast, Alert, Spinner, SpinnerCarbide.
|
|
97
98
|
**Other:** Accordion, Collapsible, Separator, Dropzone, cn. Theme: activateCarbideTheme, toggleDarkMode, etc.
|
package/dist/README.md
CHANGED
|
@@ -186,6 +186,33 @@ document.documentElement.classList.add('carbide');
|
|
|
186
186
|
- You want to minimize bundle size
|
|
187
187
|
- You're using our components with your own Tailwind config
|
|
188
188
|
|
|
189
|
+
#### Embedded apps: `ThemeRoot` and `useHostTheme`
|
|
190
|
+
|
|
191
|
+
For apps hosted inside the MachineMetrics shell (or any host that passes a light/dark value), wrap the tree once and sync the host value—no `next-themes` setup boilerplate.
|
|
192
|
+
|
|
193
|
+
`ThemeRoot` wraps your React tree (e.g. inside `#root`). It does **not** replace `<html>` in `index.html`; it still toggles `light` / `dark` on `document.documentElement`. Keep `class="carbide"` on `<html>` and import Carbide CSS as usual.
|
|
194
|
+
|
|
195
|
+
```tsx
|
|
196
|
+
// index.tsx
|
|
197
|
+
import { ThemeRoot } from '@machinemetrics/mm-react-components';
|
|
198
|
+
|
|
199
|
+
<ThemeRoot>
|
|
200
|
+
<App />
|
|
201
|
+
</ThemeRoot>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
```tsx
|
|
205
|
+
// App.tsx — pass the host color mode (example: mm-react-tools)
|
|
206
|
+
import { useHostTheme } from '@machinemetrics/mm-react-components';
|
|
207
|
+
import { useMMAppParams } from '@machinemetrics/mm-react-tools';
|
|
208
|
+
|
|
209
|
+
useHostTheme(useMMAppParams().colorMode);
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
If you need `useTheme()` elsewhere (e.g. markdown styling), import it from **`@machinemetrics/mm-react-components`** so it uses the same context as `ThemeRoot`—not from the `next-themes` package directly.
|
|
213
|
+
|
|
214
|
+
Optional: pass any `ThemeProvider` prop to `ThemeRoot` to override defaults (e.g. `storageKey` for standalone persistence).
|
|
215
|
+
|
|
189
216
|
#### Option 3: Use Theme Utilities
|
|
190
217
|
|
|
191
218
|
```tsx
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
3
|
-
export {
|
|
3
|
+
export { AccordionContent } from '@/components/shadcn/accordion';
|
|
4
|
+
export type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root> & {
|
|
5
|
+
/**
|
|
6
|
+
* `inset` draws a rounded, bordered surface so accordion reads as one block inside a card.
|
|
7
|
+
*/
|
|
8
|
+
variant?: 'default' | 'inset';
|
|
9
|
+
};
|
|
10
|
+
declare function Accordion({ variant, className, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
4
11
|
declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
12
|
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement> & {
|
|
6
13
|
indicatorClassName?: string;
|
|
7
14
|
}, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
8
|
-
export { AccordionItem, AccordionTrigger };
|
|
15
|
+
export { Accordion, AccordionItem, AccordionTrigger };
|
|
9
16
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAMhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAMhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAC/C,OAAO,kBAAkB,CAAC,IAAI,CAC/B,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B,CAAC;AAEF,iBAAS,SAAS,CAAC,EAAE,OAAmB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAa9E;AAGD,QAAA,MAAM,aAAa,iKAYjB,CAAC;AAGH,QAAA,MAAM,gBAAgB;yBAGG,MAAM;mDA2B7B,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
3
|
-
|
|
3
|
+
import { AlertDialog as BaseAlertDialog, AlertDialogTrigger as BaseAlertDialogTrigger, AlertDialogHeader as BaseAlertDialogHeader, AlertDialogFooter as BaseAlertDialogFooter, AlertDialogTitle as BaseAlertDialogTitle, AlertDialogPortal as BaseAlertDialogPortal } from '@/components/shadcn/alert-dialog';
|
|
4
|
+
declare const AlertDialog: typeof BaseAlertDialog;
|
|
5
|
+
declare const AlertDialogTrigger: typeof BaseAlertDialogTrigger;
|
|
6
|
+
declare const AlertDialogHeader: typeof BaseAlertDialogHeader;
|
|
7
|
+
declare const AlertDialogFooter: typeof BaseAlertDialogFooter;
|
|
8
|
+
declare const AlertDialogTitle: typeof BaseAlertDialogTitle;
|
|
9
|
+
declare const AlertDialogPortal: typeof BaseAlertDialogPortal;
|
|
4
10
|
declare const AlertDialogOverlay: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
11
|
declare function AlertDialogContent({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare namespace AlertDialogContent {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
6
15
|
declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
7
16
|
declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
8
17
|
declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
9
|
-
export { AlertDialogOverlay, AlertDialogContent, AlertDialogAction, AlertDialogCancel, AlertDialogDescription, };
|
|
18
|
+
export { AlertDialog, AlertDialogTrigger, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, AlertDialogAction, AlertDialogCancel, AlertDialogDescription, };
|
|
10
19
|
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAOrE,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,kBAAkB,IAAI,sBAAsB,EAC5C,iBAAiB,IAAI,qBAAqB,EAC1C,iBAAiB,IAAI,qBAAqB,EAC1C,gBAAgB,IAAI,oBAAoB,EACxC,iBAAiB,IAAI,qBAAqB,EAK3C,MAAM,kCAAkC,CAAC;AAE1C,QAAA,MAAM,WAAW,wBAAkD,CAAC;AACpE,QAAA,MAAM,kBAAkB,+BAGvB,CAAC;AACF,QAAA,MAAM,iBAAiB,8BAGtB,CAAC;AACF,QAAA,MAAM,iBAAiB,8BAGtB,CAAC;AACF,QAAA,MAAM,gBAAgB,6BAGrB,CAAC;AACF,QAAA,MAAM,iBAAiB,8BAGtB,CAAC;AAGF,QAAA,MAAM,kBAAkB,wKAetB,CAAC;AAGH,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAc3D;kBAjBQ,kBAAkB;;;AAoB3B,QAAA,MAAM,iBAAiB,6KAWrB,CAAC;AAEH,QAAA,MAAM,iBAAiB,6KAWrB,CAAC;AAGH,QAAA,MAAM,sBAAsB,wLAY1B,CAAC;AAQH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { Alert as BaseAlert, AlertTitle as BaseAlertTitle, AlertDescription as BaseAlertDescription } from '@/components/shadcn/alert';
|
|
4
|
+
declare const AlertTitle: typeof BaseAlertTitle;
|
|
5
|
+
declare const AlertDescription: typeof BaseAlertDescription;
|
|
5
6
|
declare const alertVariants: (props?: ({
|
|
6
7
|
variant?: "default" | "destructive" | "success" | "warning" | null | undefined;
|
|
7
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
9
|
type AlertProps = Omit<React.ComponentProps<typeof BaseAlert>, 'variant'> & VariantProps<typeof alertVariants>;
|
|
9
10
|
declare const Alert: React.ForwardRefExoticComponent<Omit<AlertProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
-
export { Alert, alertVariants };
|
|
11
|
+
export { Alert, alertVariants, AlertTitle, AlertDescription };
|
|
11
12
|
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../src/components/ui/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,EACL,KAAK,IAAI,SAAS,EAClB,UAAU,IAAI,cAAc,EAC5B,gBAAgB,IAAI,oBAAoB,EACzC,MAAM,2BAA2B,CAAC;AAEnC,QAAA,MAAM,UAAU,uBAAgD,CAAC;AACjE,QAAA,MAAM,gBAAgB,6BAGrB,CAAC;AAIF,QAAA,MAAM,aAAa;;8EAiBlB,CAAC;AAGF,KAAK,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,SAAS,CAAC,GACvE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAErC,QAAA,MAAM,KAAK,gGAeT,CAAC;AAEH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { Avatar as BaseAvatar, AvatarImage as BaseAvatarImage, AvatarFallback as BaseAvatarFallback } from '@/components/shadcn/avatar';
|
|
2
|
+
declare const Avatar: typeof BaseAvatar;
|
|
3
|
+
declare const AvatarImage: typeof BaseAvatarImage;
|
|
4
|
+
declare const AvatarFallback: typeof BaseAvatarFallback;
|
|
5
|
+
export { Avatar, AvatarImage, AvatarFallback };
|
|
2
6
|
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,WAAW,IAAI,eAAe,EAC9B,cAAc,IAAI,kBAAkB,EACrC,MAAM,4BAA4B,CAAC;AAGpC,QAAA,MAAM,MAAM,mBAAwC,CAAC;AACrD,QAAA,MAAM,WAAW,wBAAkD,CAAC;AACpE,QAAA,MAAM,cAAc,2BAAwD,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { Breadcrumb as BaseBreadcrumb, BreadcrumbList as BaseBreadcrumbList, BreadcrumbItem as BaseBreadcrumbItem, BreadcrumbLink as BaseBreadcrumbLink, BreadcrumbPage as BaseBreadcrumbPage, BreadcrumbSeparator as BaseBreadcrumbSeparator, BreadcrumbEllipsis as BaseBreadcrumbEllipsis } from '@/components/shadcn/breadcrumb';
|
|
2
|
+
declare const Breadcrumb: typeof BaseBreadcrumb;
|
|
3
|
+
declare const BreadcrumbList: typeof BaseBreadcrumbList;
|
|
4
|
+
declare const BreadcrumbItem: typeof BaseBreadcrumbItem;
|
|
5
|
+
declare const BreadcrumbLink: typeof BaseBreadcrumbLink;
|
|
6
|
+
declare const BreadcrumbPage: typeof BaseBreadcrumbPage;
|
|
7
|
+
declare const BreadcrumbSeparator: typeof BaseBreadcrumbSeparator;
|
|
8
|
+
declare const BreadcrumbEllipsis: typeof BaseBreadcrumbEllipsis;
|
|
9
|
+
export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis, };
|
|
2
10
|
//# sourceMappingURL=breadcrumb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,cAAc,IAAI,kBAAkB,EACpC,cAAc,IAAI,kBAAkB,EACpC,cAAc,IAAI,kBAAkB,EACpC,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,IAAI,uBAAuB,EAC9C,kBAAkB,IAAI,sBAAsB,EAC7C,MAAM,gCAAgC,CAAC;AAGxC,QAAA,MAAM,UAAU,uBAAgD,CAAC;AACjE,QAAA,MAAM,cAAc,2BAAwD,CAAC;AAC7E,QAAA,MAAM,cAAc,2BAAwD,CAAC;AAC7E,QAAA,MAAM,cAAc,2BAAwD,CAAC;AAC7E,QAAA,MAAM,cAAc,2BAAwD,CAAC;AAC7E,QAAA,MAAM,mBAAmB,gCAGxB,CAAC;AACF,QAAA,MAAM,kBAAkB,+BAGvB,CAAC;AAEF,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import type { VariantProps } from 'class-variance-authority';
|
|
2
3
|
export { buttonVariants } from '@/components/shadcn/button';
|
|
3
|
-
|
|
4
|
+
/**
|
|
5
|
+
* App-level Button: same visuals as {@link @/components/shadcn/button}, but uses `forwardRef`
|
|
6
|
+
* so Radix triggers (`PopoverTrigger`, `DropdownMenuTrigger`, etc.) can merge refs with `asChild`.
|
|
7
|
+
* Do not add `forwardRef` under `shadcn/` — that layer is CLI-managed; customize here instead.
|
|
8
|
+
*/
|
|
9
|
+
declare const Button: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
|
|
4
10
|
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
|
|
5
11
|
size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
|
|
6
12
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;GAIG;AACH,QAAA,MAAM,MAAM;;;;cAII,OAAO;mDAwBrB,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
2
|
+
import { Card as BaseCard, CardHeader as BaseCardHeader, CardFooter as BaseCardFooter, CardContent as BaseCardContent } from '@/components/shadcn/card';
|
|
3
|
+
export { CardTitle, CardAction, CardDescription, } from '@/components/shadcn/card';
|
|
4
|
+
export type CardSectionTone = 'default' | 'muted';
|
|
5
|
+
export type CardProps = React.ComponentProps<typeof BaseCard> & {
|
|
6
|
+
/**
|
|
7
|
+
* `sectioned` stacks sections edge-to-edge (no card `gap` or vertical padding) so header and
|
|
8
|
+
* footer meet the inner top and bottom; `overflow-hidden` clips children to the card radius.
|
|
9
|
+
* Inset spacing for the first and last section uses `[&>*:first|last-child]` on the card.
|
|
10
|
+
*/
|
|
11
|
+
variant?: 'default' | 'sectioned';
|
|
12
|
+
};
|
|
13
|
+
declare const Card: React.ForwardRefExoticComponent<Omit<CardProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
type CardHeaderProps = React.ComponentProps<typeof BaseCardHeader> & {
|
|
15
|
+
tone?: CardSectionTone;
|
|
16
|
+
};
|
|
17
|
+
declare function CardHeader({ className, tone, ...props }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
type CardContentProps = React.ComponentProps<typeof BaseCardContent> & {
|
|
19
|
+
tone?: CardSectionTone;
|
|
20
|
+
};
|
|
21
|
+
declare function CardContent({ className, tone, ...props }: CardContentProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
type CardFooterProps = React.ComponentProps<typeof BaseCardFooter> & {
|
|
23
|
+
tone?: CardSectionTone;
|
|
24
|
+
};
|
|
25
|
+
declare function CardFooter({ className, tone, ...props }: CardFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export { Card, CardHeader, CardContent, CardFooter };
|
|
5
27
|
//# sourceMappingURL=card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,UAAU,IAAI,cAAc,EAC5B,UAAU,IAAI,cAAc,EAC5B,WAAW,IAAI,eAAe,EAC/B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,UAAU,EACV,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IAC9D;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF,QAAA,MAAM,IAAI,+FAeT,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IACnE,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,2CAYjB;AAED,KAAK,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,GAAG;IACrE,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAYlB;AAED,KAAK,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,GAAG;IACnE,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,eAAe,2CAYjB;AAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
3
|
+
import { Collapsible as BaseCollapsible, CollapsibleTrigger as BaseCollapsibleTrigger } from '@/components/shadcn/collapsible';
|
|
4
|
+
declare function Collapsible(props: React.ComponentProps<typeof BaseCollapsible>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare namespace Collapsible {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
8
|
+
declare function CollapsibleTrigger(props: React.ComponentProps<typeof BaseCollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare namespace CollapsibleTrigger {
|
|
10
|
+
var displayName: string;
|
|
11
|
+
}
|
|
12
|
+
export type CollapsibleContentProps = React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent> & {
|
|
13
|
+
/**
|
|
14
|
+
* Adds top padding so content clears the trigger when used inside a card.
|
|
15
|
+
*/
|
|
16
|
+
spacing?: 'none' | 'comfortable';
|
|
17
|
+
};
|
|
18
|
+
declare function CollapsibleContent({ className, spacing, ...props }: CollapsibleContentProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare namespace CollapsibleContent {
|
|
20
|
+
var displayName: string;
|
|
21
|
+
}
|
|
22
|
+
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
2
23
|
//# sourceMappingURL=collapsible.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AAIpE,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,kBAAkB,IAAI,sBAAsB,EAE7C,MAAM,iCAAiC,CAAC;AAEzC,iBAAS,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,2CAEvE;kBAFQ,WAAW;;;AAMpB,iBAAS,kBAAkB,CACzB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,sBAAsB,CAAC,2CAG3D;kBAJQ,kBAAkB;;;AAQ3B,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CACxD,OAAO,oBAAoB,CAAC,kBAAkB,CAC/C,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC;AAEF,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,OAAgB,EAChB,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAOzB;kBAXQ,kBAAkB;;;AAe3B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -2,6 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import { Command as CommandPrimitive } from 'cmdk';
|
|
3
3
|
import { Dialog } from '@/components/ui/dialog';
|
|
4
4
|
declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare namespace Command {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
5
8
|
declare function CommandDialog({ title, description, children, className, showCloseButton, ...props }: React.ComponentProps<typeof Dialog> & {
|
|
6
9
|
title?: string;
|
|
7
10
|
description?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAInD,OAAO,EACL,MAAM,EAKP,MAAM,wBAAwB,CAAC;AAEhC,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAW/C;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAInD,OAAO,EACL,MAAM,EAKP,MAAM,wBAAwB,CAAC;AAEhC,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAW/C;kBAdQ,OAAO;;;AAgBhB,iBAAS,aAAa,CAAC,EACrB,KAAyB,EACzB,WAA8C,EAC9C,QAAQ,EACR,SAAS,EACT,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAiBA;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAiBrD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAQrD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAWrD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,2CAQzD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAID,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/pagination.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAUpE,MAAM,WAAW,wBAAwB,CAAC,KAAK;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EACzC,KAAK,EACL,eAAoC,EACpC,SAAS,EACT,OAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAwB,EACxB,aAAa,GACd,EAAE,wBAAwB,CAAC,KAAK,CAAC,2CAyKjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/toolbar/DataTableToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/toolbar/DataTableToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAmBlB,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,EACtC,KAAK,EACL,OAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,OAAO,GACR,EAAE,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,2CA6MxC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { RegisteredFilter } from './types';
|
|
3
|
+
interface FilterControlProps<TData> {
|
|
4
|
+
filter: RegisteredFilter<TData>;
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Renders the editing UI for a registered column filter by config type.
|
|
9
|
+
* Shared by the filters menu (accordion sections) and inline toolbar filters
|
|
10
|
+
* so both placements stay behaviorally identical.
|
|
11
|
+
*/
|
|
12
|
+
export declare function FilterControl<TData>({ filter, loading, }: Readonly<FilterControlProps<TData>>): React.ReactElement | null;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=FilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterControl.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/FilterControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAMhD,UAAU,kBAAkB,CAAC,KAAK;IAChC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,EACnC,MAAM,EACN,OAAe,GAChB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAuBjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/FilterMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/FilterMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAKhD,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,UAAU,eAAe,CAAC,KAAK;IAC7B,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,EAChC,OAAO,EACP,UAAU,EACV,OAAe,EACf,cAAmB,GACpB,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,kDAkJlC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RegisteredFilter } from './types';
|
|
2
|
+
interface InlineFilterMenuProps<TData> {
|
|
3
|
+
filter: RegisteredFilter<TData>;
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Inline toolbar rendering for non-date-range filters (`placement: 'inline'`):
|
|
8
|
+
* a labeled trigger in the toolbar's left cluster (sized to match the inline
|
|
9
|
+
* date-range picker) opening the same filter control the filters menu uses.
|
|
10
|
+
*/
|
|
11
|
+
export declare function InlineFilterMenu<TData>({ filter, loading, }: Readonly<InlineFilterMenuProps<TData>>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=InlineFilterMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineFilterMenu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/InlineFilterMenu.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,UAAU,qBAAqB,CAAC,KAAK;IACnC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,EACtC,MAAM,EACN,OAAe,GAChB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,2CA8BxC"}
|
|
@@ -4,6 +4,8 @@ export * from './NumericRangeFilter';
|
|
|
4
4
|
export * from './DateRangeFilter';
|
|
5
5
|
export * from './TextFilter';
|
|
6
6
|
export * from './useColumnFilters';
|
|
7
|
+
export * from './FilterControl';
|
|
7
8
|
export * from './FilterMenu';
|
|
8
9
|
export * from './InlineDateRangePicker';
|
|
10
|
+
export * from './InlineFilterMenu';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/data-table/toolbar/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps draft range + single-date mode to react-day-picker range `selected` for {@link Calendar} mode="range".
|
|
3
|
+
*/
|
|
4
|
+
export declare function getRangeCalendarSelected(draftStart: Date | null, draftEnd: Date | null, allowSingleDate: boolean): {
|
|
5
|
+
from: Date | undefined;
|
|
6
|
+
to: Date | undefined;
|
|
7
|
+
} | undefined;
|
|
8
|
+
//# sourceMappingURL=get-range-calendar-selected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-range-calendar-selected.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/date-range-picker/get-range-calendar-selected.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,IAAI,GAAG,IAAI,EACvB,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,eAAe,EAAE,OAAO,GAEtB;IACE,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;CACtB,GACD,SAAS,CAQZ"}
|