@dalexto/lexsys-registry 0.0.4 → 0.0.6
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 +2 -2
- package/dist/index.js +32 -30
- package/dist/items/dashboard-shell.d.ts +1 -1
- package/dist/registry-composition-imports.d.ts +9 -0
- package/dist/validate-registry-template-imports.d.ts +2 -2
- package/package.json +1 -1
- package/templates/blocks/AuthForm/AuthForm.tsx +2 -2
- package/templates/blocks/AuthForm/AuthForm.types.ts +3 -3
- package/templates/blocks/CommandPalette/CommandPalette.tsx +4 -4
- package/templates/blocks/CommandPalette/CommandPalette.types.ts +2 -2
- package/templates/blocks/FormField/FormField.tsx +1 -1
- package/templates/blocks/FormField/FormField.types.ts +1 -1
- package/templates/blocks/SettingsPanel/SettingsPanel.tsx +1 -1
- package/templates/blocks/SettingsPanel/SettingsPanel.types.ts +1 -1
- package/templates/blocks/Sidebar/Sidebar.tsx +3 -3
- package/templates/blocks/Sidebar/Sidebar.types.ts +1 -1
- package/templates/styles/theme.css +7 -1
- package/templates/styles/tokens.css +7 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ Templates are resolved via the `./templates/*` export path, not the `.` entry:
|
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
54
|
import.meta
|
|
55
|
-
.resolve("@dalexto/lexsys-registry/templates/
|
|
55
|
+
.resolve("@dalexto/lexsys-registry/templates/primitives/Button/Button.tsx")
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
---
|
|
@@ -67,7 +67,7 @@ Each item in `src/items/` declares the full install contract (required fields, o
|
|
|
67
67
|
|
|
68
68
|
Installable templates live under `packages/registry/templates/` — component files, shared utilities, and token CSS styles. Component templates are synced from `packages/ui/src/components`; style templates from `@dalexto/lexsys-tokens` via `generate:styles`. Templates MUST NOT be manually edited.
|
|
69
69
|
|
|
70
|
-
Template sync rules,
|
|
70
|
+
Template sync rules, item reconcile policy, import transforms, and drift validation: [docs/reference/registry/REGISTRY.md](../../docs/reference/registry/REGISTRY.md).
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
package/dist/index.js
CHANGED
|
@@ -77,8 +77,8 @@ var alertDialogRegistryItem = {
|
|
|
77
77
|
dependencies: [
|
|
78
78
|
"@base-ui/react",
|
|
79
79
|
"class-variance-authority",
|
|
80
|
-
"lucide-react",
|
|
81
80
|
"clsx",
|
|
81
|
+
"lucide-react",
|
|
82
82
|
"tailwind-merge"
|
|
83
83
|
],
|
|
84
84
|
registryDependencies: [],
|
|
@@ -308,8 +308,8 @@ var collapsibleRegistryItem = {
|
|
|
308
308
|
dependencies: [
|
|
309
309
|
"@base-ui/react",
|
|
310
310
|
"class-variance-authority",
|
|
311
|
-
"lucide-react",
|
|
312
311
|
"clsx",
|
|
312
|
+
"lucide-react",
|
|
313
313
|
"tailwind-merge"
|
|
314
314
|
],
|
|
315
315
|
registryDependencies: [],
|
|
@@ -344,8 +344,8 @@ var contextMenuRegistryItem = {
|
|
|
344
344
|
dependencies: [
|
|
345
345
|
"@base-ui/react",
|
|
346
346
|
"class-variance-authority",
|
|
347
|
-
"lucide-react",
|
|
348
347
|
"clsx",
|
|
348
|
+
"lucide-react",
|
|
349
349
|
"tailwind-merge"
|
|
350
350
|
],
|
|
351
351
|
registryDependencies: [],
|
|
@@ -380,8 +380,8 @@ var dialogRegistryItem = {
|
|
|
380
380
|
dependencies: [
|
|
381
381
|
"@base-ui/react",
|
|
382
382
|
"class-variance-authority",
|
|
383
|
-
"lucide-react",
|
|
384
383
|
"clsx",
|
|
384
|
+
"lucide-react",
|
|
385
385
|
"tailwind-merge"
|
|
386
386
|
],
|
|
387
387
|
registryDependencies: [],
|
|
@@ -416,8 +416,8 @@ var drawerRegistryItem = {
|
|
|
416
416
|
dependencies: [
|
|
417
417
|
"@base-ui/react",
|
|
418
418
|
"class-variance-authority",
|
|
419
|
-
"lucide-react",
|
|
420
419
|
"clsx",
|
|
420
|
+
"lucide-react",
|
|
421
421
|
"tailwind-merge"
|
|
422
422
|
],
|
|
423
423
|
registryDependencies: [],
|
|
@@ -592,8 +592,8 @@ var menuRegistryItem = {
|
|
|
592
592
|
dependencies: [
|
|
593
593
|
"@base-ui/react",
|
|
594
594
|
"class-variance-authority",
|
|
595
|
-
"lucide-react",
|
|
596
595
|
"clsx",
|
|
596
|
+
"lucide-react",
|
|
597
597
|
"tailwind-merge"
|
|
598
598
|
],
|
|
599
599
|
registryDependencies: [],
|
|
@@ -733,8 +733,8 @@ var navigationMenuRegistryItem = {
|
|
|
733
733
|
dependencies: [
|
|
734
734
|
"@base-ui/react",
|
|
735
735
|
"class-variance-authority",
|
|
736
|
-
"lucide-react",
|
|
737
736
|
"clsx",
|
|
737
|
+
"lucide-react",
|
|
738
738
|
"tailwind-merge"
|
|
739
739
|
],
|
|
740
740
|
registryDependencies: [],
|
|
@@ -769,8 +769,8 @@ var popoverRegistryItem = {
|
|
|
769
769
|
dependencies: [
|
|
770
770
|
"@base-ui/react",
|
|
771
771
|
"class-variance-authority",
|
|
772
|
-
"lucide-react",
|
|
773
772
|
"clsx",
|
|
773
|
+
"lucide-react",
|
|
774
774
|
"tailwind-merge"
|
|
775
775
|
],
|
|
776
776
|
registryDependencies: [],
|
|
@@ -910,8 +910,8 @@ var selectRegistryItem = {
|
|
|
910
910
|
dependencies: [
|
|
911
911
|
"@base-ui/react",
|
|
912
912
|
"class-variance-authority",
|
|
913
|
-
"lucide-react",
|
|
914
913
|
"clsx",
|
|
914
|
+
"lucide-react",
|
|
915
915
|
"tailwind-merge"
|
|
916
916
|
],
|
|
917
917
|
registryDependencies: [],
|
|
@@ -978,12 +978,7 @@ var sliderRegistryItem = {
|
|
|
978
978
|
path: "primitives/Slider/Slider.variants.ts"
|
|
979
979
|
}
|
|
980
980
|
],
|
|
981
|
-
dependencies: [
|
|
982
|
-
"@base-ui/react",
|
|
983
|
-
"class-variance-authority",
|
|
984
|
-
"clsx",
|
|
985
|
-
"tailwind-merge"
|
|
986
|
-
],
|
|
981
|
+
dependencies: ["@base-ui/react", "clsx", "tailwind-merge"],
|
|
987
982
|
registryDependencies: [],
|
|
988
983
|
utilities: ["cn"],
|
|
989
984
|
styles: ["theme"],
|
|
@@ -1151,8 +1146,8 @@ var toastRegistryItem = {
|
|
|
1151
1146
|
dependencies: [
|
|
1152
1147
|
"@base-ui/react",
|
|
1153
1148
|
"class-variance-authority",
|
|
1154
|
-
"lucide-react",
|
|
1155
1149
|
"clsx",
|
|
1150
|
+
"lucide-react",
|
|
1156
1151
|
"tailwind-merge"
|
|
1157
1152
|
],
|
|
1158
1153
|
registryDependencies: [],
|
|
@@ -1348,7 +1343,7 @@ var dashboardShellRegistryItem = {
|
|
|
1348
1343
|
"templates/DashboardShell/DashboardShell.types.ts",
|
|
1349
1344
|
"templates/DashboardShell/DashboardShell.variants.ts"
|
|
1350
1345
|
],
|
|
1351
|
-
dependencies: ["
|
|
1346
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1352
1347
|
registryDependencies: [],
|
|
1353
1348
|
utilities: ["cn"],
|
|
1354
1349
|
styles: ["theme"],
|
|
@@ -1367,7 +1362,7 @@ var formFieldRegistryItem = {
|
|
|
1367
1362
|
"blocks/FormField/FormField.types.ts",
|
|
1368
1363
|
"blocks/FormField/FormField.variants.ts"
|
|
1369
1364
|
],
|
|
1370
|
-
dependencies: ["
|
|
1365
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1371
1366
|
registryDependencies: ["field"],
|
|
1372
1367
|
utilities: ["cn"],
|
|
1373
1368
|
styles: ["theme"],
|
|
@@ -1386,7 +1381,7 @@ var settingsPanelRegistryItem = {
|
|
|
1386
1381
|
"blocks/SettingsPanel/SettingsPanel.types.ts",
|
|
1387
1382
|
"blocks/SettingsPanel/SettingsPanel.variants.ts"
|
|
1388
1383
|
],
|
|
1389
|
-
dependencies: ["
|
|
1384
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1390
1385
|
registryDependencies: ["card"],
|
|
1391
1386
|
utilities: ["cn"],
|
|
1392
1387
|
styles: ["theme"],
|
|
@@ -1405,7 +1400,7 @@ var sidebarRegistryItem = {
|
|
|
1405
1400
|
"blocks/Sidebar/Sidebar.types.ts",
|
|
1406
1401
|
"blocks/Sidebar/Sidebar.variants.ts"
|
|
1407
1402
|
],
|
|
1408
|
-
dependencies: ["
|
|
1403
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1409
1404
|
registryDependencies: ["button", "drawer", "scroll-area"],
|
|
1410
1405
|
utilities: ["cn"],
|
|
1411
1406
|
styles: ["theme"],
|
|
@@ -1438,8 +1433,8 @@ var autocompleteRegistryItem = {
|
|
|
1438
1433
|
dependencies: [
|
|
1439
1434
|
"@base-ui/react",
|
|
1440
1435
|
"class-variance-authority",
|
|
1441
|
-
"lucide-react",
|
|
1442
1436
|
"clsx",
|
|
1437
|
+
"lucide-react",
|
|
1443
1438
|
"tailwind-merge"
|
|
1444
1439
|
],
|
|
1445
1440
|
registryDependencies: [],
|
|
@@ -1509,8 +1504,8 @@ var comboboxRegistryItem = {
|
|
|
1509
1504
|
dependencies: [
|
|
1510
1505
|
"@base-ui/react",
|
|
1511
1506
|
"class-variance-authority",
|
|
1512
|
-
"lucide-react",
|
|
1513
1507
|
"clsx",
|
|
1508
|
+
"lucide-react",
|
|
1514
1509
|
"tailwind-merge"
|
|
1515
1510
|
],
|
|
1516
1511
|
registryDependencies: [],
|
|
@@ -1531,8 +1526,8 @@ var authFormRegistryItem = {
|
|
|
1531
1526
|
"blocks/AuthForm/AuthForm.types.ts",
|
|
1532
1527
|
"blocks/AuthForm/AuthForm.variants.ts"
|
|
1533
1528
|
],
|
|
1534
|
-
dependencies: ["
|
|
1535
|
-
registryDependencies: ["
|
|
1529
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1530
|
+
registryDependencies: ["button", "card"],
|
|
1536
1531
|
utilities: ["cn"],
|
|
1537
1532
|
styles: ["theme"],
|
|
1538
1533
|
target: "src/components/ui/AuthForm"
|
|
@@ -1550,7 +1545,7 @@ var commandPaletteRegistryItem = {
|
|
|
1550
1545
|
"blocks/CommandPalette/CommandPalette.types.ts",
|
|
1551
1546
|
"blocks/CommandPalette/CommandPalette.variants.ts"
|
|
1552
1547
|
],
|
|
1553
|
-
dependencies: ["
|
|
1548
|
+
dependencies: ["clsx", "tailwind-merge"],
|
|
1554
1549
|
registryDependencies: ["dialog", "input", "scroll-area", "separator"],
|
|
1555
1550
|
utilities: ["cn"],
|
|
1556
1551
|
styles: ["theme"],
|
|
@@ -1866,18 +1861,25 @@ var validateRegistryComposition = (items) => {
|
|
|
1866
1861
|
return errors;
|
|
1867
1862
|
};
|
|
1868
1863
|
|
|
1869
|
-
// src/
|
|
1870
|
-
var
|
|
1864
|
+
// src/registry-composition-imports.ts
|
|
1865
|
+
var COMPOSITION_IMPORT_PATTERNS = [
|
|
1866
|
+
/from "\.\.\/\.\.\/(primitives|blocks|templates)\/([A-Za-z0-9]+)\//g,
|
|
1867
|
+
/from "@\/components\/(primitives|blocks|templates)\/([A-Za-z0-9]+)/g
|
|
1868
|
+
];
|
|
1871
1869
|
var toRegistryItemName = (canonicalName) => {
|
|
1872
1870
|
return canonicalName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
1873
1871
|
};
|
|
1874
1872
|
var extractRegistryCompositionImports = (source) => {
|
|
1875
1873
|
const names = /* @__PURE__ */ new Set();
|
|
1876
|
-
for (const
|
|
1877
|
-
|
|
1874
|
+
for (const pattern of COMPOSITION_IMPORT_PATTERNS) {
|
|
1875
|
+
for (const match of source.matchAll(pattern)) {
|
|
1876
|
+
names.add(toRegistryItemName(match[2]));
|
|
1877
|
+
}
|
|
1878
1878
|
}
|
|
1879
|
-
return [...names];
|
|
1879
|
+
return [...names].sort((a, b) => a.localeCompare(b));
|
|
1880
1880
|
};
|
|
1881
|
+
|
|
1882
|
+
// src/validate-registry-template-imports.ts
|
|
1881
1883
|
var validateRegistryTemplateImports = (items, readTemplate) => {
|
|
1882
1884
|
const errors = [];
|
|
1883
1885
|
const itemsByName = new Map(items.map((item) => [item.name, item]));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dashboard-shell.ts
|
|
3
3
|
*
|
|
4
|
-
* Registry metadata for the DashboardShell
|
|
4
|
+
* Registry metadata for the DashboardShell block.
|
|
5
5
|
*/
|
|
6
6
|
import type { RegistryItem } from "../registry.types.js";
|
|
7
7
|
export declare const dashboardShellRegistryItem: RegistryItem;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* registry-composition-imports.ts
|
|
3
|
+
*
|
|
4
|
+
* Infer registry item names from composition imports in template sources.
|
|
5
|
+
* Keep in sync with scripts/lib/registry-composition-imports.mjs.
|
|
6
|
+
*/
|
|
7
|
+
export declare const toRegistryItemName: (canonicalName: string) => string;
|
|
8
|
+
export declare const extractRegistryCompositionImports: (source: string) => string[];
|
|
9
|
+
export declare const getRegistryDependenciesFromTemplateContents: (templateContents: string[]) => string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
+
import { extractRegistryCompositionImports, toRegistryItemName } from "./registry-composition-imports.js";
|
|
1
2
|
import type { RegistryItem } from "./registry.types.js";
|
|
2
|
-
export
|
|
3
|
-
export declare const extractRegistryCompositionImports: (source: string) => string[];
|
|
3
|
+
export { extractRegistryCompositionImports, toRegistryItemName };
|
|
4
4
|
export declare const validateRegistryTemplateImports: (items: RegistryItem[], readTemplate: (templatePath: string) => string) => string[];
|
package/package.json
CHANGED
|
@@ -10,8 +10,8 @@ import {
|
|
|
10
10
|
CardContent,
|
|
11
11
|
CardFooter,
|
|
12
12
|
CardHeader,
|
|
13
|
-
} from "
|
|
14
|
-
import { Button } from "
|
|
13
|
+
} from "@/components/primitives/Card"
|
|
14
|
+
import { Button } from "@/components/primitives/Button"
|
|
15
15
|
import type {
|
|
16
16
|
AuthFormContentProps,
|
|
17
17
|
AuthFormFooterProps,
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { FormEventHandler, ReactNode, Ref } from "react"
|
|
8
|
-
import type { CardProps } from "
|
|
9
|
-
import type { ButtonProps } from "
|
|
8
|
+
import type { CardProps } from "@/components/primitives/Card"
|
|
9
|
+
import type { ButtonProps } from "@/components/primitives/Button"
|
|
10
10
|
import type {
|
|
11
11
|
CardContentProps,
|
|
12
12
|
CardFooterProps,
|
|
13
13
|
CardHeaderProps,
|
|
14
|
-
} from "
|
|
14
|
+
} from "@/components/primitives/Card"
|
|
15
15
|
|
|
16
16
|
export interface AuthFormProps extends Omit<
|
|
17
17
|
CardProps,
|
|
@@ -12,14 +12,14 @@ import {
|
|
|
12
12
|
DialogPortal,
|
|
13
13
|
DialogTitle,
|
|
14
14
|
DialogViewport,
|
|
15
|
-
} from "
|
|
16
|
-
import { Input } from "
|
|
17
|
-
import { Separator } from "
|
|
15
|
+
} from "@/components/primitives/Dialog"
|
|
16
|
+
import { Input } from "@/components/primitives/Input"
|
|
17
|
+
import { Separator } from "@/components/primitives/Separator"
|
|
18
18
|
import {
|
|
19
19
|
ScrollArea,
|
|
20
20
|
ScrollAreaContent,
|
|
21
21
|
ScrollAreaViewport,
|
|
22
|
-
} from "
|
|
22
|
+
} from "@/components/primitives/ScrollArea"
|
|
23
23
|
import type {
|
|
24
24
|
CommandPaletteContentProps,
|
|
25
25
|
CommandPaletteDescriptionProps,
|
|
@@ -10,8 +10,8 @@ import type {
|
|
|
10
10
|
ReactNode,
|
|
11
11
|
Ref,
|
|
12
12
|
} from "react"
|
|
13
|
-
import type { DialogProps } from "
|
|
14
|
-
import type { InputProps } from "
|
|
13
|
+
import type { DialogProps } from "@/components/primitives/Dialog"
|
|
14
|
+
import type { InputProps } from "@/components/primitives/Input"
|
|
15
15
|
|
|
16
16
|
export interface CommandPaletteProps extends DialogProps {
|
|
17
17
|
children?: ReactNode
|
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
CardHeaderProps,
|
|
13
13
|
CardProps,
|
|
14
14
|
CardTitleProps,
|
|
15
|
-
} from "
|
|
15
|
+
} from "@/components/primitives/Card"
|
|
16
16
|
|
|
17
17
|
export interface SettingsPanelProps extends Omit<CardProps, "children"> {
|
|
18
18
|
ref?: Ref<HTMLDivElement>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { createContext, useContext } from "react"
|
|
8
|
-
import { Button } from "
|
|
8
|
+
import { Button } from "@/components/primitives/Button"
|
|
9
9
|
import {
|
|
10
10
|
Drawer,
|
|
11
11
|
DrawerBackdrop,
|
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
DrawerTitle,
|
|
18
18
|
DrawerTrigger,
|
|
19
19
|
DrawerViewport,
|
|
20
|
-
} from "
|
|
20
|
+
} from "@/components/primitives/Drawer"
|
|
21
21
|
import {
|
|
22
22
|
ScrollArea,
|
|
23
23
|
ScrollAreaContent,
|
|
24
24
|
ScrollAreaViewport,
|
|
25
|
-
} from "
|
|
25
|
+
} from "@/components/primitives/ScrollArea"
|
|
26
26
|
import type {
|
|
27
27
|
SidebarContentProps,
|
|
28
28
|
SidebarFooterProps,
|
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
ReactNode,
|
|
13
13
|
Ref,
|
|
14
14
|
} from "react"
|
|
15
|
-
import type { ButtonProps } from "
|
|
15
|
+
import type { ButtonProps } from "@/components/primitives/Button"
|
|
16
16
|
|
|
17
17
|
export interface SidebarProps extends HTMLAttributes<HTMLElement> {
|
|
18
18
|
ref?: Ref<HTMLElement>
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE.
|
|
3
|
+
*
|
|
4
|
+
* Generated by @dalexto/lexsys-tokens.
|
|
5
|
+
* Manual changes will be overwritten.
|
|
6
|
+
* Last generated: 2026-06-06T10:34:21.106Z
|
|
7
|
+
*/
|
|
2
8
|
|
|
3
9
|
:root {
|
|
4
10
|
color-scheme: light;
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE.
|
|
3
|
+
*
|
|
4
|
+
* Generated by @dalexto/lexsys-tokens.
|
|
5
|
+
* Manual changes will be overwritten.
|
|
6
|
+
* Last generated: 2026-06-06T10:34:21.106Z
|
|
7
|
+
*/
|
|
2
8
|
|
|
3
9
|
:root {
|
|
4
10
|
--lex-color-white: oklch(1 0 0);
|