@machinemetrics/mm-react-components 0.2.0 → 0.2.3-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.
- package/README.md +73 -25
- package/dist/App.d.ts.map +1 -1
- package/dist/README.md +266 -0
- package/dist/components/ui/accordion.d.ts +10 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +10 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +4 -16
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +0 -12
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/collapsible.d.ts +7 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/data-table/TableView.d.ts +3 -0
- package/dist/components/ui/data-table/TableView.d.ts.map +1 -0
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts +10 -0
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts.map +1 -0
- package/dist/components/ui/data-table/cards/RowCard.d.ts +9 -0
- package/dist/components/ui/data-table/cards/RowCard.d.ts.map +1 -0
- package/dist/components/ui/data-table/cards/index.d.ts +2 -0
- package/dist/components/ui/data-table/cards/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/badgeColumn.d.ts +16 -0
- package/dist/components/ui/data-table/columnTypes/badgeColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/createColumn.d.ts +8 -0
- package/dist/components/ui/data-table/columnTypes/createColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/dateColumn.d.ts +13 -0
- package/dist/components/ui/data-table/columnTypes/dateColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/index.d.ts +8 -0
- package/dist/components/ui/data-table/columnTypes/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/multiBadgeColumn.d.ts +16 -0
- package/dist/components/ui/data-table/columnTypes/multiBadgeColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/numericColumn.d.ts +15 -0
- package/dist/components/ui/data-table/columnTypes/numericColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/selectionColumn.d.ts +10 -0
- package/dist/components/ui/data-table/columnTypes/selectionColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/columnTypes/textColumn.d.ts +13 -0
- package/dist/components/ui/data-table/columnTypes/textColumn.d.ts.map +1 -0
- package/dist/components/ui/data-table/index.d.ts +14 -0
- package/dist/components/ui/data-table/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/metadata/ColumnRegistry.d.ts +90 -0
- package/dist/components/ui/data-table/metadata/ColumnRegistry.d.ts.map +1 -0
- package/dist/components/ui/data-table/metadata/alignment.d.ts +8 -0
- package/dist/components/ui/data-table/metadata/alignment.d.ts.map +1 -0
- package/dist/components/ui/data-table/pagination.d.ts +9 -0
- package/dist/components/ui/data-table/pagination.d.ts.map +1 -0
- package/dist/components/ui/data-table/state/index.d.ts +3 -0
- package/dist/components/ui/data-table/state/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/state/useBreakpoint.d.ts +2 -0
- package/dist/components/ui/data-table/state/useBreakpoint.d.ts.map +1 -0
- package/dist/components/ui/data-table/state/useDataTableState.d.ts +19 -0
- package/dist/components/ui/data-table/state/useDataTableState.d.ts.map +1 -0
- package/dist/components/ui/data-table/tokens.d.ts +10 -0
- package/dist/components/ui/data-table/tokens.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/ColumnVisibilityMenu.d.ts +8 -0
- package/dist/components/ui/data-table/toolbar/ColumnVisibilityMenu.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/DataTableToolbar.d.ts +15 -0
- package/dist/components/ui/data-table/toolbar/DataTableToolbar.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/MenuHeader.d.ts +8 -0
- package/dist/components/ui/data-table/toolbar/MenuHeader.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/SortMenu.d.ts +7 -0
- package/dist/components/ui/data-table/toolbar/SortMenu.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/DateRangeFilter.d.ts +5 -0
- package/dist/components/ui/data-table/toolbar/filters/DateRangeFilter.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/FilterMenu.d.ts +10 -0
- package/dist/components/ui/data-table/toolbar/filters/FilterMenu.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/InlineDateRangePicker.d.ts +10 -0
- package/dist/components/ui/data-table/toolbar/filters/InlineDateRangePicker.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/NumericRangeFilter.d.ts +5 -0
- package/dist/components/ui/data-table/toolbar/filters/NumericRangeFilter.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/SelectFilter.d.ts +6 -0
- package/dist/components/ui/data-table/toolbar/filters/SelectFilter.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/TextFilter.d.ts +5 -0
- package/dist/components/ui/data-table/toolbar/filters/TextFilter.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/index.d.ts +9 -0
- package/dist/components/ui/data-table/toolbar/filters/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/types.d.ts +26 -0
- package/dist/components/ui/data-table/toolbar/filters/types.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/filters/useColumnFilters.d.ts +5 -0
- package/dist/components/ui/data-table/toolbar/filters/useColumnFilters.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/index.d.ts +5 -0
- package/dist/components/ui/data-table/toolbar/index.d.ts.map +1 -0
- package/dist/components/ui/data-table/types.d.ts +40 -0
- package/dist/components/ui/data-table/types.d.ts.map +1 -0
- package/dist/components/ui/data-table/useTableController.d.ts +29 -0
- package/dist/components/ui/data-table/useTableController.d.ts.map +1 -0
- package/dist/components/ui/data-table/utils.d.ts +3 -0
- package/dist/components/ui/data-table/utils.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker.d.ts +9 -0
- package/dist/components/ui/date-range-picker.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +16 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/drawer.d.ts +16 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropzone/index.d.ts +25 -0
- package/dist/components/ui/dropzone/index.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +2 -15
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/label.d.ts +0 -9
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/page-header/index.d.ts +3 -0
- package/dist/components/ui/page-header/index.d.ts.map +1 -0
- package/dist/components/ui/page-header/page-header-types.d.ts +44 -0
- package/dist/components/ui/page-header/page-header-types.d.ts.map +1 -0
- package/dist/components/ui/page-header/page-header.d.ts +5 -0
- package/dist/components/ui/page-header/page-header.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/radio-group.d.ts +0 -19
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/search-input.d.ts +7 -0
- package/dist/components/ui/search-input.d.ts.map +1 -0
- package/dist/components/ui/select.d.ts +16 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/skeleton.d.ts +4 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/slider.d.ts +15 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/table/Table.d.ts +21 -0
- package/dist/components/ui/table/Table.d.ts.map +1 -0
- package/dist/components/ui/table/index.d.ts +2 -0
- package/dist/components/ui/table/index.d.ts.map +1 -0
- package/dist/components/ui/table.d.ts +11 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +15 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/toggle.d.ts +10 -0
- package/dist/components/ui/toggle.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/docs/TAILWIND_SETUP.md +339 -0
- package/dist/index.css +536 -0
- package/dist/index.d.ts +26 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/page-header-utils.d.ts +2 -0
- package/dist/lib/page-header-utils.d.ts.map +1 -0
- package/dist/mm-react-components.es.js +30238 -1350
- package/dist/mm-react-components.es.js.map +1 -1
- package/dist/mm-react-components.umd.js +41 -6
- package/dist/mm-react-components.umd.js.map +1 -1
- package/dist/preview/AccordionPreview.d.ts +2 -0
- package/dist/preview/AccordionPreview.d.ts.map +1 -0
- package/dist/preview/BadgePreview.d.ts +2 -0
- package/dist/preview/BadgePreview.d.ts.map +1 -0
- package/dist/preview/CalendarPreview.d.ts +2 -0
- package/dist/preview/CalendarPreview.d.ts.map +1 -0
- package/dist/preview/CollapsiblePreview.d.ts +2 -0
- package/dist/preview/CollapsiblePreview.d.ts.map +1 -0
- package/dist/preview/DataTablePreview.d.ts +9 -0
- package/dist/preview/DataTablePreview.d.ts.map +1 -0
- package/dist/preview/DateRangePickerPreview.d.ts +2 -0
- package/dist/preview/DateRangePickerPreview.d.ts.map +1 -0
- package/dist/preview/DialogPreview.d.ts +2 -0
- package/dist/preview/DialogPreview.d.ts.map +1 -0
- package/dist/preview/DrawerPreview.d.ts +2 -0
- package/dist/preview/DrawerPreview.d.ts.map +1 -0
- package/dist/preview/DropdownMenuPreview.d.ts +2 -0
- package/dist/preview/DropdownMenuPreview.d.ts.map +1 -0
- package/dist/preview/DropzonePreview.d.ts +2 -0
- package/dist/preview/DropzonePreview.d.ts.map +1 -0
- package/dist/preview/InputPreview.d.ts.map +1 -1
- package/dist/preview/PopoverPreview.d.ts +2 -0
- package/dist/preview/PopoverPreview.d.ts.map +1 -0
- package/dist/preview/ProgressPreview.d.ts +2 -0
- package/dist/preview/ProgressPreview.d.ts.map +1 -0
- package/dist/preview/SelectPreview.d.ts +2 -0
- package/dist/preview/SelectPreview.d.ts.map +1 -0
- package/dist/preview/SheetPreview.d.ts +2 -0
- package/dist/preview/SheetPreview.d.ts.map +1 -0
- package/dist/preview/SkeletonPreview.d.ts +2 -0
- package/dist/preview/SkeletonPreview.d.ts.map +1 -0
- package/dist/preview/SliderPreview.d.ts +2 -0
- package/dist/preview/SliderPreview.d.ts.map +1 -0
- package/dist/preview/SwitchPreview.d.ts +2 -0
- package/dist/preview/SwitchPreview.d.ts.map +1 -0
- package/dist/preview/TablePreview.d.ts +2 -0
- package/dist/preview/TablePreview.d.ts.map +1 -0
- package/dist/preview/TabsPreview.d.ts +2 -0
- package/dist/preview/TabsPreview.d.ts.map +1 -0
- package/dist/preview/TogglePreview.d.ts +2 -0
- package/dist/preview/TogglePreview.d.ts.map +1 -0
- package/dist/preview/TooltipPreview.d.ts +2 -0
- package/dist/preview/TooltipPreview.d.ts.map +1 -0
- package/dist/preview/data-table/data-table-preview_column-content.d.ts +18 -0
- package/dist/preview/data-table/data-table-preview_column-content.d.ts.map +1 -0
- package/dist/preview/page-header/PageHeaderPreview.d.ts +3 -0
- package/dist/preview/page-header/PageHeaderPreview.d.ts.map +1 -0
- package/dist/tailwind.config.export.js +153 -0
- package/dist/themes/carbide.css +1257 -0
- package/dist/themes/complete.css +8 -0
- package/docs/TAILWIND_SETUP.md +339 -0
- package/package.json +38 -5
- package/scripts/README.md +171 -0
- package/scripts/chakra-to-shadcn-migrator/README.md +107 -0
- package/scripts/chakra-to-shadcn-migrator/bin/chakra-to-shadcn.js +1135 -0
- package/src/index.css +536 -0
- package/src/themes/carbide.css +1257 -0
- package/src/themes/complete.css +8 -0
- package/tailwind.config.export.js +153 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# chakra-to-shadcn-migrator
|
|
2
|
+
|
|
3
|
+
A lightweight command-line helper that generates a step-by-step plan for migrating a React codebase from Chakra UI to a Shadcn-based component library. It can optionally apply safe, mechanical edits (dependency updates and import rewrites) whenever explicit mappings are provided.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Prints a deterministic migration checklist that covers dependency changes, provider updates, and per-file component swaps.
|
|
8
|
+
- Detects Chakra imports across the project and maps them to their Shadcn counterparts based on a configuration file.
|
|
9
|
+
- Optional `--apply` flag will rewrite imports and package dependencies when all referenced Chakra components have a mapping.
|
|
10
|
+
- Built to be reusable across applications – provide a new mapping config to reuse the workflow.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Until the package is published, you can run it directly from the repository:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
node ../chakra-to-shadcn-migrator/bin/chakra-to-shadcn.js --project . --config chakra-to-shadcn.config.json
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Or add an npm script to your project (see the knowledge-client example below).
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
chakra-to-shadcn --project <path-to-project> --config <config-file> [options]
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Options
|
|
29
|
+
|
|
30
|
+
| Flag | Description |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `-p, --project` | Root directory of the application you want to migrate. Defaults to the current working directory. |
|
|
33
|
+
| `-c, --config` | Path to a `chakra-to-shadcn.config.json` file. If omitted, the tool will look for one in the project root. |
|
|
34
|
+
| `--apply` | Apply safe automated edits (dependency updates + import rewrites). Without this flag the tool only prints the migration plan. |
|
|
35
|
+
| `--source` | Comma separated list of directories/glob patterns to scan for Chakra imports (defaults to `src`). |
|
|
36
|
+
| `--include-tests` | Include `__tests__`, `*.test.*`, `*.spec.*`, and `*.stories.*` files when scanning. |
|
|
37
|
+
|
|
38
|
+
## Configuration format
|
|
39
|
+
|
|
40
|
+
Place a `chakra-to-shadcn.config.json` file in your project (or supply one via `--config`). The file describes:
|
|
41
|
+
|
|
42
|
+
- Packages to remove and add in `package.json`.
|
|
43
|
+
- Human-readable provider instructions.
|
|
44
|
+
- Module/Component mappings that tell the tool how to rewrite imports.
|
|
45
|
+
- Post-migration reminders.
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"dependenciesToRemove": ["@chakra-ui/react", "@chakra-ui/icons"],
|
|
50
|
+
"dependenciesToAdd": {"@machinemetrics/ui-shadcn": "latest"},
|
|
51
|
+
"moduleMappings": {
|
|
52
|
+
"@chakra-ui/react": {
|
|
53
|
+
"default": { "module": "@machinemetrics/ui-shadcn" },
|
|
54
|
+
"specifiers": {
|
|
55
|
+
"Button": { "module": "@machinemetrics/ui-shadcn", "import": "Button" },
|
|
56
|
+
"Card": { "module": "@machinemetrics/ui-shadcn/card", "import": "Card" }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"providerInstructions": [
|
|
61
|
+
"Replace ChakraProvider with the UiProvider from @machinemetrics/ui-shadcn/providers in src/index.tsx."
|
|
62
|
+
],
|
|
63
|
+
"postSteps": [
|
|
64
|
+
"Run npm install",
|
|
65
|
+
"Remove Chakra-specific theme utilities"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The `moduleMappings` section lists each Chakra package you wish to replace. For each import specifier the tool either:
|
|
71
|
+
|
|
72
|
+
- Finds an explicit mapping under `specifiers`, or
|
|
73
|
+
- Falls back to the `default` mapping.
|
|
74
|
+
|
|
75
|
+
If a Chakra component has no mapping, the tool flags it as a manual follow-up instead of modifying the file.
|
|
76
|
+
|
|
77
|
+
## Example: knowledge-client
|
|
78
|
+
|
|
79
|
+
The `knowledge-client/app` project contains a `chakra-to-shadcn.config.json` tailored to its component usage. Add the following npm script to run the migration helper:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"scripts": {
|
|
84
|
+
"migrate:chakra-to-shadcn": "node ../chakra-to-shadcn-migrator/bin/chakra-to-shadcn.js --project . --config chakra-to-shadcn.config.json"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
From inside `knowledge-client/app` run:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run migrate:chakra-to-shadcn
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Run with `--apply` when you are ready for the tool to make the safe edits.
|
|
96
|
+
|
|
97
|
+
## Suggested workflow
|
|
98
|
+
|
|
99
|
+
1. Run the tool in dry-run mode to generate the migration plan.
|
|
100
|
+
2. Fix any manual follow-ups noted in the report or extend the configuration with more component mappings.
|
|
101
|
+
3. Re-run with `--apply` to let the tool update dependencies and rewrite the mapped imports.
|
|
102
|
+
4. Replace the Chakra provider/theme setup, copy any required Shadcn utility files, and execute the post-steps listed in the plan.
|
|
103
|
+
5. Execute your usual test suite to verify the migration.
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
MIT
|