@machinemetrics/mm-react-components 1.3.1 → 1.4.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/CHANGELOG.md +77 -0
- package/dist/App.d.ts.map +1 -1
- package/dist/components/ui/data-table/TableView.d.ts.map +1 -1
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts +9 -0
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts.map +1 -1
- package/dist/components/ui/data-table/columnTypes/createColumn.d.ts.map +1 -1
- package/dist/components/ui/data-table/columnTypes/selectionColumn.d.ts.map +1 -1
- package/dist/components/ui/data-table/index.d.ts +2 -2
- package/dist/components/ui/data-table/index.d.ts.map +1 -1
- package/dist/components/ui/data-table/metadata/ColumnRegistry.d.ts +7 -0
- package/dist/components/ui/data-table/metadata/ColumnRegistry.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/BatchActionsToolbar.d.ts +8 -3
- package/dist/components/ui/data-table/parts/BatchActionsToolbar.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/ColGroup.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/SortableHeader.d.ts +3 -1
- package/dist/components/ui/data-table/parts/SortableHeader.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/TableBody.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/TableHeader.d.ts +3 -1
- package/dist/components/ui/data-table/parts/TableHeader.d.ts.map +1 -1
- package/dist/components/ui/data-table/state/index.d.ts +1 -0
- package/dist/components/ui/data-table/state/index.d.ts.map +1 -1
- package/dist/components/ui/data-table/state/useContainerWidth.d.ts +10 -0
- package/dist/components/ui/data-table/state/useContainerWidth.d.ts.map +1 -0
- package/dist/components/ui/data-table/toolbar/DataTableToolbar.d.ts.map +1 -1
- package/dist/components/ui/data-table/toolbar/filters/FilterMenu.d.ts +10 -1
- package/dist/components/ui/data-table/toolbar/filters/FilterMenu.d.ts.map +1 -1
- package/dist/components/ui/data-table/types.d.ts +46 -0
- package/dist/components/ui/data-table/types.d.ts.map +1 -1
- package/dist/components/ui/data-table/useDragAndDrop.d.ts.map +1 -1
- package/dist/components/ui/data-table/utils.d.ts +13 -1
- package/dist/components/ui/data-table/utils.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +1 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropzone/index.d.ts.map +1 -1
- package/dist/components/ui/file-grid/FileGrid.d.ts +17 -1
- package/dist/components/ui/file-grid/FileGrid.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/mm-react-components.css +1 -1
- package/dist/mm-react-components.es.js +425 -426
- 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/ColorsPreview.d.ts +1 -1
- package/dist/preview/ColorsPreview.d.ts.map +1 -1
- package/dist/preview/DataTableLimitationsPreview.d.ts +2 -0
- package/dist/preview/DataTableLimitationsPreview.d.ts.map +1 -0
- package/dist/preview/DataTablePreview.d.ts +2 -2
- package/dist/preview/DataTablePreview.d.ts.map +1 -1
- package/dist/preview/DropzonePreview.d.ts.map +1 -1
- package/dist/preview/FileGridPreview.d.ts +0 -4
- package/dist/preview/FileGridPreview.d.ts.map +1 -1
- package/dist/preview/JobDocsPreview.d.ts +11 -0
- package/dist/preview/JobDocsPreview.d.ts.map +1 -0
- package/dist/preview/SonnerPreview.d.ts.map +1 -1
- package/dist/preview/data-table/data-table-preview_column-content.d.ts.map +1 -1
- package/dist/preview/page-header/PageHeaderPreview.d.ts.map +1 -1
- package/dist/scripts/init.cjs +3 -7
- package/dist/scripts/install-skill.cjs +0 -1
- package/dist/themes/carbide.css +30 -4
- package/package.json +5 -4
|
@@ -4,6 +4,6 @@ export declare const COLORS_SECTION_ORDER: readonly ["Carbide Palette", "Core",
|
|
|
4
4
|
interface ColorsPreviewProps {
|
|
5
5
|
section?: ColorsSection;
|
|
6
6
|
}
|
|
7
|
-
export default function ColorsPreview({ section }: ColorsPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default function ColorsPreview({ section }: Readonly<ColorsPreviewProps>): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=ColorsPreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorsPreview.d.ts","sourceRoot":"","sources":["../../src/preview/ColorsPreview.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,MAAM,GACN,SAAS,GACT,mBAAmB,GACnB,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,iBAAiB,CAAC;AAEtB,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,6JAaY,CAAC;AAE9C,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"ColorsPreview.d.ts","sourceRoot":"","sources":["../../src/preview/ColorsPreview.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,MAAM,GACN,SAAS,GACT,mBAAmB,GACnB,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,iBAAiB,CAAC;AAEtB,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,6JAaY,CAAC;AAE9C,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAaD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,kBAAkB,CAAC,2CAwF9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableLimitationsPreview.d.ts","sourceRoot":"","sources":["../../src/preview/DataTableLimitationsPreview.tsx"],"names":[],"mappings":"AAqPA,MAAM,CAAC,OAAO,UAAU,2BAA2B,4CAelD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type Profile = 'basic' | 'knowledge-hub' | 'server-pagination';
|
|
1
|
+
export type Profile = 'basic' | 'knowledge-hub' | 'server-pagination' | 'job-docs';
|
|
2
2
|
type DataTablePreviewProps = {
|
|
3
3
|
profile?: Profile;
|
|
4
4
|
devForceLoading?: boolean;
|
|
5
5
|
devForceEmpty?: boolean;
|
|
6
6
|
};
|
|
7
|
-
export default function DataTablePreview({ profile: controlledProfile, devForceLoading, devForceEmpty, }: DataTablePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default function DataTablePreview({ profile: controlledProfile, devForceLoading, devForceEmpty, }: Readonly<DataTablePreviewProps>): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=DataTablePreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTablePreview.d.ts","sourceRoot":"","sources":["../../src/preview/DataTablePreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTablePreview.d.ts","sourceRoot":"","sources":["../../src/preview/DataTablePreview.tsx"],"names":[],"mappings":"AAqKA,MAAM,MAAM,OAAO,GACf,OAAO,GACP,eAAe,GACf,mBAAmB,GACnB,UAAU,CAAC;AAEf,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EAAE,iBAAiB,EAC1B,eAAuB,EACvB,aAAqB,GACtB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,2CAgPjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropzonePreview.d.ts","sourceRoot":"","sources":["../../src/preview/DropzonePreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropzonePreview.d.ts","sourceRoot":"","sources":["../../src/preview/DropzonePreview.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,eAAe,4CAoGtC"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Focus: `FileGrid` bound to the same TanStack `table` as `DataTable` via
|
|
3
|
-
* `useTableController`. See FileThumbnail / FileIcon previews for tile variants.
|
|
4
|
-
*/
|
|
5
1
|
export default function FileGridPreview(): import("react/jsx-runtime").JSX.Element;
|
|
6
2
|
//# sourceMappingURL=FileGridPreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileGridPreview.d.ts","sourceRoot":"","sources":["../../src/preview/FileGridPreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileGridPreview.d.ts","sourceRoot":"","sources":["../../src/preview/FileGridPreview.tsx"],"names":[],"mappings":"AA4KA,MAAM,CAAC,OAAO,UAAU,eAAe,4CAuItC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Job Docs table itself — reused by the standalone preview and the Data
|
|
3
|
+
* Table preview's "Job Docs" tab. Accepts the preview dev controls so the tab's
|
|
4
|
+
* loading/empty selector drives it like the other profiles.
|
|
5
|
+
*/
|
|
6
|
+
export declare function JobDocsTable({ loading, forceEmpty, }: Readonly<{
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
forceEmpty?: boolean;
|
|
9
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default function JobDocsPreview(): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=JobDocsPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobDocsPreview.d.ts","sourceRoot":"","sources":["../../src/preview/JobDocsPreview.tsx"],"names":[],"mappings":"AAgGA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAe,EACf,UAAkB,GACnB,EAAE,QAAQ,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,2CA8JvD;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,4CAgBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SonnerPreview.d.ts","sourceRoot":"","sources":["../../src/preview/SonnerPreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SonnerPreview.d.ts","sourceRoot":"","sources":["../../src/preview/SonnerPreview.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,aAAa,4CA6MpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-preview_column-content.d.ts","sourceRoot":"","sources":["../../../src/preview/data-table/data-table-preview_column-content.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-table-preview_column-content.d.ts","sourceRoot":"","sources":["../../../src/preview/data-table/data-table-preview_column-content.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAevD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE;QAAE,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AA4NF,eAAO,MAAM,2BAA2B,2FAMrC,CAAC;AAEJ,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAG5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeaderPreview.d.ts","sourceRoot":"","sources":["../../../src/preview/page-header/PageHeaderPreview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageHeaderPreview.d.ts","sourceRoot":"","sources":["../../../src/preview/page-header/PageHeaderPreview.tsx"],"names":[],"mappings":"AAaA,OAAO,2BAA2B,CAAC;AAQnC,MAAM,CAAC,OAAO,UAAU,iBAAiB,4CAyRxC"}
|
package/dist/scripts/init.cjs
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* (or npx @machinemetrics/mm-react-components)
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
/* eslint-disable no-undef, no-unused-vars */
|
|
11
10
|
|
|
12
11
|
const { execSync } = require('child_process');
|
|
13
12
|
const fs = require('fs');
|
|
@@ -41,9 +40,6 @@ function log(message, color = 'reset') {
|
|
|
41
40
|
console.log(`${colors[color]}${message}${colors.reset}`);
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
function logWarning(message) {
|
|
45
|
-
log(`⚠️ ${message}`, 'yellow');
|
|
46
|
-
}
|
|
47
43
|
|
|
48
44
|
function detectChakraUI() {
|
|
49
45
|
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
@@ -138,7 +134,7 @@ async function main() {
|
|
|
138
134
|
if (scriptsVersion && scriptsVersion.includes('5.0')) {
|
|
139
135
|
execSync('npm install react-scripts@^5.0.0', { stdio: 'inherit' });
|
|
140
136
|
}
|
|
141
|
-
} catch
|
|
137
|
+
} catch {
|
|
142
138
|
/* ignore */
|
|
143
139
|
}
|
|
144
140
|
log('React 19 — compatible', 'green');
|
|
@@ -149,7 +145,7 @@ async function main() {
|
|
|
149
145
|
);
|
|
150
146
|
log('React 18.2+ installed — compatible', 'green');
|
|
151
147
|
}
|
|
152
|
-
} catch
|
|
148
|
+
} catch {
|
|
153
149
|
log('React version check skipped', 'yellow');
|
|
154
150
|
}
|
|
155
151
|
|
|
@@ -204,7 +200,7 @@ async function main() {
|
|
|
204
200
|
if (fs.existsSync(installSkillPath)) {
|
|
205
201
|
try {
|
|
206
202
|
execSync(`node "${installSkillPath}"`, { stdio: 'inherit' });
|
|
207
|
-
} catch
|
|
203
|
+
} catch {
|
|
208
204
|
log(' Could not run skill installer.', 'yellow');
|
|
209
205
|
log(
|
|
210
206
|
' You can install later: npx @machinemetrics/mm-react-components mm-install-skill [--target=<cursor|copilot|claude|gemini>] [--scope=project|user]',
|
package/dist/themes/carbide.css
CHANGED
|
@@ -1682,11 +1682,37 @@ tr
|
|
|
1682
1682
|
/* =============================
|
|
1683
1683
|
DATA TABLE: ALIGNMENT BASELINE FIX
|
|
1684
1684
|
============================= */
|
|
1685
|
-
/*
|
|
1685
|
+
/*
|
|
1686
|
+
* Unify body cells to the sortable-header baseline (0.25rem). Applies to every
|
|
1687
|
+
* data-table cell (matched by `[data-col-id]`), NOT only `.text-left` ones —
|
|
1688
|
+
* columns built from a plain `ColumnDef` (no `meta.align`) carry no alignment
|
|
1689
|
+
* class, so requiring `.text-left` left their body content at `px-4` (16px)
|
|
1690
|
+
* while the header was pinned to 0.25rem, reading misaligned. `select`/`actions`
|
|
1691
|
+
* keep their own fixed layout. Scoped to left/default-aligned columns
|
|
1692
|
+
* (`:not(.text-right):not(.text-center)`) so centered/right-aligned columns keep
|
|
1693
|
+
* symmetric padding — a plain `ColumnDef` carries no alignment class and is
|
|
1694
|
+
* treated as left, which is the case this targets.
|
|
1695
|
+
*/
|
|
1686
1696
|
.carbide
|
|
1687
|
-
td
|
|
1688
|
-
|
|
1689
|
-
) {
|
|
1697
|
+
td[data-col-id]:not([data-col-id='select']):not([data-col-id='actions']):not(
|
|
1698
|
+
.text-right
|
|
1699
|
+
):not(.text-center) {
|
|
1700
|
+
padding-left: 0.25rem !important;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
/*
|
|
1704
|
+
* Pin the data-table header's left inset to the same 0.25rem baseline. The
|
|
1705
|
+
* shared TableHead ships `px-2` (8px), but body cells are unified to 0.25rem
|
|
1706
|
+
* (4px) above, so left-aligned header labels read 4px off from their column's
|
|
1707
|
+
* body content. Scoped to `[data-col-id]` so it only affects data-table headers
|
|
1708
|
+
* (select/actions headers carry no data-col-id and basic <Table> headers are
|
|
1709
|
+
* untouched). The ghost-button (-ml-3 px-3) and non-button label rules both net
|
|
1710
|
+
* to this inset, so the header label now shares the body's left edge. Scoped to
|
|
1711
|
+
* left/default-aligned headers so centered/right-aligned headers keep symmetric
|
|
1712
|
+
* insets (matching the body rule above).
|
|
1713
|
+
*/
|
|
1714
|
+
.carbide
|
|
1715
|
+
th[data-slot='table-head'][data-col-id]:not(.text-right):not(.text-center) {
|
|
1690
1716
|
padding-left: 0.25rem !important;
|
|
1691
1717
|
}
|
|
1692
1718
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@machinemetrics/mm-react-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Industrial-grade React components for manufacturing applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"serve:static": "vite preview --config vite.preview.config.mjs",
|
|
76
76
|
"dev": "vite",
|
|
77
77
|
"preview": "vite preview",
|
|
78
|
-
"lint": "eslint src/components/ui --report-unused-disable-directives --max-warnings 0",
|
|
79
|
-
"lint:verify": "eslint src/components/ui --report-unused-disable-directives --max-warnings 0 --quiet",
|
|
80
|
-
"lint:fix": "eslint src/components/ui --fix --report-unused-disable-directives --max-warnings 0",
|
|
78
|
+
"lint": "eslint src/components/ui src/hooks src/preview scripts --report-unused-disable-directives --max-warnings 0",
|
|
79
|
+
"lint:verify": "eslint src/components/ui src/hooks src/preview scripts --report-unused-disable-directives --max-warnings 0 --quiet",
|
|
80
|
+
"lint:fix": "eslint src/components/ui src/hooks src/preview scripts --fix --report-unused-disable-directives --max-warnings 0",
|
|
81
81
|
"type-check": "tsc --noEmit",
|
|
82
82
|
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
|
|
83
83
|
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
|
|
@@ -186,6 +186,7 @@
|
|
|
186
186
|
"cheerio": "^1.2.0",
|
|
187
187
|
"cross-env": "^10.1.0",
|
|
188
188
|
"eslint": "^10.3.0",
|
|
189
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
189
190
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
190
191
|
"eslint-plugin-sonarjs": "^4.0.3",
|
|
191
192
|
"globals": "^17.6.0",
|