@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 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/components/Button/Button.tsx")
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, the `cn` import transform, and drift validation: [docs/reference/registry/REGISTRY.md](../../docs/reference/registry/REGISTRY.md).
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: ["class-variance-authority", "clsx", "tailwind-merge"],
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: ["class-variance-authority", "clsx", "tailwind-merge"],
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: ["class-variance-authority", "clsx", "tailwind-merge"],
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: ["class-variance-authority", "clsx", "tailwind-merge"],
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: ["class-variance-authority", "clsx", "tailwind-merge"],
1535
- registryDependencies: ["card", "button", "form-field", "field"],
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: ["class-variance-authority", "clsx", "tailwind-merge"],
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/validate-registry-template-imports.ts
1870
- var COMPOSITION_IMPORT_RE = /from "\.\.\/\.\.\/(primitives|blocks)\/([A-Za-z0-9]+)\//g;
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 match of source.matchAll(COMPOSITION_IMPORT_RE)) {
1877
- names.add(toRegistryItemName(match[2]));
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 template.
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 declare const toRegistryItemName: (canonicalName: string) => string;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dalexto/lexsys-registry",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Install metadata and templates for the Lexsys registry-first UI framework",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -10,8 +10,8 @@ import {
10
10
  CardContent,
11
11
  CardFooter,
12
12
  CardHeader,
13
- } from "../../primitives/Card/Card"
14
- import { Button } from "../../primitives/Button/Button"
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 "../../primitives/Card/Card.types"
9
- import type { ButtonProps } from "../../primitives/Button/Button.types"
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 "../../primitives/Card/Card.types"
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 "../../primitives/Dialog/Dialog"
16
- import { Input } from "../../primitives/Input/Input"
17
- import { Separator } from "../../primitives/Separator/Separator"
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 "../../primitives/ScrollArea/ScrollArea"
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 "../../primitives/Dialog/Dialog.types"
14
- import type { InputProps } from "../../primitives/Input/Input.types"
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
@@ -11,7 +11,7 @@ import {
11
11
  FieldError,
12
12
  FieldItem,
13
13
  FieldLabel,
14
- } from "../../primitives/Field/Field"
14
+ } from "@/components/primitives/Field"
15
15
  import type {
16
16
  FormFieldControlProps,
17
17
  FormFieldDescriptionProps,
@@ -11,7 +11,7 @@ import type {
11
11
  FieldItemProps,
12
12
  FieldLabelProps,
13
13
  FieldProps,
14
- } from "../../primitives/Field/Field.types"
14
+ } from "@/components/primitives/Field"
15
15
 
16
16
  export type FormFieldProps = FieldProps
17
17
 
@@ -11,7 +11,7 @@ import {
11
11
  CardFooter,
12
12
  CardHeader,
13
13
  CardTitle,
14
- } from "../../primitives/Card/Card"
14
+ } from "@/components/primitives/Card"
15
15
  import type {
16
16
  SettingsPanelContentProps,
17
17
  SettingsPanelDescriptionProps,
@@ -12,7 +12,7 @@ import type {
12
12
  CardHeaderProps,
13
13
  CardProps,
14
14
  CardTitleProps,
15
- } from "../../primitives/Card/Card.types"
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 "../../primitives/Button/Button"
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 "../../primitives/Drawer/Drawer"
20
+ } from "@/components/primitives/Drawer"
21
21
  import {
22
22
  ScrollArea,
23
23
  ScrollAreaContent,
24
24
  ScrollAreaViewport,
25
- } from "../../primitives/ScrollArea/ScrollArea"
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 "../../primitives/Button/Button.types"
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
- /* Generated by @dalexto/lexsys-tokens. Do not edit directly. */
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
- /* Generated by @dalexto/lexsys-tokens. Do not edit directly. */
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);