@radix-ng/primitives 1.0.0-beta.1 → 1.0.0-beta.3

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.
Files changed (107) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +76 -6
  3. package/fesm2022/radix-ng-primitives-accordion.mjs +2 -2
  4. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +30 -24
  6. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-autocomplete.mjs +1786 -0
  8. package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -0
  9. package/fesm2022/radix-ng-primitives-calendar.mjs +14 -1
  10. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  11. package/fesm2022/radix-ng-primitives-checkbox.mjs +2 -2
  12. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-collapsible.mjs +1 -1
  14. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-combobox.mjs +1983 -0
  16. package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -0
  17. package/fesm2022/radix-ng-primitives-context-menu.mjs +1 -1
  18. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-core.mjs +480 -469
  20. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  21. package/fesm2022/radix-ng-primitives-cropper.mjs +1 -1
  22. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-date-field.mjs +11 -0
  24. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-dialog.mjs +44 -46
  26. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-drawer.mjs +154 -64
  28. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
  29. package/fesm2022/radix-ng-primitives-editable.mjs +1 -1
  30. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  31. package/fesm2022/radix-ng-primitives-field.mjs +86 -6
  32. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
  33. package/fesm2022/radix-ng-primitives-fieldset.mjs +1 -1
  34. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
  35. package/fesm2022/radix-ng-primitives-focus-scope.mjs +1 -1
  36. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  37. package/fesm2022/radix-ng-primitives-form.mjs +207 -0
  38. package/fesm2022/radix-ng-primitives-form.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-input.mjs +85 -4
  40. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-menu.mjs +44 -24
  42. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  43. package/fesm2022/radix-ng-primitives-menubar.mjs +1 -1
  44. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-meter.mjs +1 -1
  46. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +39 -55
  48. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-number-field.mjs +2 -2
  50. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  51. package/fesm2022/radix-ng-primitives-popover.mjs +36 -51
  52. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-popper.mjs +12 -6
  54. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-portal.mjs +107 -17
  56. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-presence.mjs +262 -79
  58. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  59. package/fesm2022/radix-ng-primitives-preview-card.mjs +37 -51
  60. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
  61. package/fesm2022/radix-ng-primitives-progress.mjs +1 -1
  62. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  63. package/fesm2022/radix-ng-primitives-roving-focus.mjs +1 -1
  64. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  65. package/fesm2022/radix-ng-primitives-scroll-area.mjs +3 -3
  66. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
  67. package/fesm2022/radix-ng-primitives-select.mjs +469 -258
  68. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  69. package/fesm2022/radix-ng-primitives-slider.mjs +1 -1
  70. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  71. package/fesm2022/radix-ng-primitives-switch.mjs +3 -2
  72. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  73. package/fesm2022/radix-ng-primitives-tabs.mjs +1 -1
  74. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  75. package/fesm2022/radix-ng-primitives-time-field.mjs +27 -3
  76. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  77. package/fesm2022/radix-ng-primitives-toast.mjs +1 -1
  78. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
  79. package/fesm2022/radix-ng-primitives-toggle-group.mjs +1 -1
  80. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  81. package/fesm2022/radix-ng-primitives-toolbar.mjs +2 -2
  82. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  83. package/fesm2022/radix-ng-primitives-tooltip.mjs +39 -42
  84. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  85. package/package.json +13 -1
  86. package/schematics/ng-add/index.js +57 -0
  87. package/schematics/ng-add/index.js.map +1 -1
  88. package/schematics/ng-add/schema.d.ts +1 -0
  89. package/schematics/ng-add/schema.json +6 -0
  90. package/types/radix-ng-primitives-alert-dialog.d.ts +17 -11
  91. package/types/radix-ng-primitives-autocomplete.d.ts +596 -0
  92. package/types/radix-ng-primitives-combobox.d.ts +1310 -0
  93. package/types/radix-ng-primitives-core.d.ts +148 -56
  94. package/types/radix-ng-primitives-dialog.d.ts +32 -25
  95. package/types/radix-ng-primitives-drawer.d.ts +49 -22
  96. package/types/radix-ng-primitives-field.d.ts +71 -2
  97. package/types/radix-ng-primitives-form.d.ts +124 -0
  98. package/types/radix-ng-primitives-input.d.ts +75 -5
  99. package/types/radix-ng-primitives-menu.d.ts +19 -10
  100. package/types/radix-ng-primitives-navigation-menu.d.ts +24 -26
  101. package/types/radix-ng-primitives-popover.d.ts +23 -23
  102. package/types/radix-ng-primitives-popper.d.ts +7 -1
  103. package/types/radix-ng-primitives-portal.d.ts +53 -8
  104. package/types/radix-ng-primitives-presence.d.ts +98 -17
  105. package/types/radix-ng-primitives-preview-card.d.ts +24 -23
  106. package/types/radix-ng-primitives-select.d.ts +294 -137
  107. package/types/radix-ng-primitives-tooltip.d.ts +26 -19
@@ -11,6 +11,59 @@ const PEER_DEPENDENCIES = {
11
11
  '@internationalized/date': '^3.12.2',
12
12
  '@internationalized/number': '^3.6.7'
13
13
  };
14
+ const AGENT_INSTRUCTIONS_START = '<!-- @radix-ng/primitives:start -->';
15
+ const AGENT_INSTRUCTIONS_END = '<!-- @radix-ng/primitives:end -->';
16
+ const AGENT_INSTRUCTIONS = `${AGENT_INSTRUCTIONS_START}
17
+
18
+ ## Radix NG Primitives
19
+
20
+ This project uses \`@radix-ng/primitives\` — signals-first, headless Angular UI primitives.
21
+
22
+ - Primitives are **headless** directives: they ship no styles. Style them by targeting the
23
+ \`data-*\` state attributes they expose (\`[data-state="open"]\`, \`[data-disabled]\`, …),
24
+ never internal classes.
25
+ - Import each primitive from its secondary entry point, e.g.
26
+ \`import { RdxAccordionRootDirective } from '@radix-ng/primitives/accordion';\`
27
+ - Compound primitives (Dialog, Select, Menu, Accordion, …) are assembled from nested parts
28
+ (Root → Trigger → Content/Item). Children resolve their Root via DI — keep the hierarchy intact.
29
+ - Inputs/outputs are signal-based; two-way bind values with \`[(value)]\`.
30
+ - Keep accessibility intact: visible labels stay programmatically associated with their control;
31
+ do not remove ARIA attributes or keyboard handling the primitives provide.
32
+ - Never invent an API. If an input, output, or selector is not in the docs below, it does not exist.
33
+
34
+ Documentation for agents:
35
+
36
+ - Index: https://radix-ng.com/llms.txt — everything in one file: https://radix-ng.com/llms-full.txt
37
+ - Per-component Markdown: \`https://radix-ng.com/components/<name>.md\`
38
+ - Offline Agent Skills (APIs, examples, \`data-*\` styling contract, common mistakes):
39
+ \`npx skills add radix-ng/primitives/skills\`
40
+
41
+ ${AGENT_INSTRUCTIONS_END}
42
+ `;
43
+ /**
44
+ * Appends the agent instructions block to the workspace's AI instruction files.
45
+ * Appends to every existing AGENTS.md / CLAUDE.md; creates AGENTS.md (the cross-tool
46
+ * standard, also read by Claude Code) when neither exists. Idempotent via the marker.
47
+ */
48
+ function addAgentInstructions(tree, context) {
49
+ const existingFiles = ['AGENTS.md', 'CLAUDE.md'].filter((filePath) => tree.exists(filePath));
50
+ const targets = existingFiles.length ? existingFiles : ['AGENTS.md'];
51
+ targets.forEach((filePath) => {
52
+ if (!tree.exists(filePath)) {
53
+ tree.create(filePath, AGENT_INSTRUCTIONS);
54
+ context.logger.info(` Created ${filePath} with AI assistant instructions.`);
55
+ return;
56
+ }
57
+ const content = tree.read(filePath)?.toString() ?? '';
58
+ if (content.includes(AGENT_INSTRUCTIONS_START)) {
59
+ context.logger.info(` ${filePath} already contains the Radix NG section — skipped.`);
60
+ return;
61
+ }
62
+ const separator = content.endsWith('\n') ? '\n' : '\n\n';
63
+ tree.overwrite(filePath, content + separator + AGENT_INSTRUCTIONS);
64
+ context.logger.info(` Added AI assistant instructions to ${filePath}.`);
65
+ });
66
+ }
14
67
  function logDependencyGroup(context, label, dependencies) {
15
68
  if (!dependencies.length) {
16
69
  return;
@@ -75,6 +128,10 @@ function ngAdd(options = {}) {
75
128
  context.logger.info(`Updated package.json`);
76
129
  logDependencyGroup(context, 'Added', added);
77
130
  logDependencyGroup(context, 'Already present', existing);
131
+ if (options.aiSetup !== false) {
132
+ context.logger.info(``);
133
+ addAgentInstructions(tree, context);
134
+ }
78
135
  if (options.skipInstall) {
79
136
  context.logger.info(``);
80
137
  context.logger.info(`Skipped package manager install.`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export interface Schema {
2
2
  skipInstall?: boolean;
3
+ aiSetup?: boolean;
3
4
  }
@@ -8,6 +8,12 @@
8
8
  "description": "Skip package manager install after updating package.json.",
9
9
  "type": "boolean",
10
10
  "default": false
11
+ },
12
+ "aiSetup": {
13
+ "description": "Add AI assistant instructions (AGENTS.md / CLAUDE.md) pointing coding agents at the library docs and Agent Skills.",
14
+ "type": "boolean",
15
+ "default": true,
16
+ "x-prompt": "Add AI assistant instructions (AGENTS.md / CLAUDE.md) so coding agents use the library correctly?"
11
17
  }
12
18
  },
13
19
  "additionalProperties": false
@@ -39,19 +39,25 @@ declare class RdxAlertDialogTrigger {
39
39
  }
40
40
 
41
41
  /**
42
- * Mounts the portal while the alert dialog is open and waits for CSS exit keyframes before unmounting.
42
+ * Structural directive that teleports the alert dialog content (backdrop + popup) into a container
43
+ * (default `document.body`) while the dialog is open, keeping it mounted until its CSS exit
44
+ * `@keyframes` finish. It composes the structural {@link RdxDialogPortal}, inheriting the dialog
45
+ * presence context.
46
+ *
47
+ * Use the explicit `<ng-template rdxAlertDialogPortal>` form; pass `[container]` for a custom target.
43
48
  */
44
- declare class RdxAlertDialogPortalPresence {
45
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortalPresence, never>;
46
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortalPresence, "ng-template[rdxAlertDialogPortalPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortalPresence; inputs: {}; outputs: {}; }]>;
49
+ declare class RdxAlertDialogPortal {
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortal, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortal, "ng-template[rdxAlertDialogPortal]", ["rdxAlertDialogPortal"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
47
52
  }
48
-
49
53
  /**
50
- * Moves the alert dialog to a different part of the DOM. Defaults to `document.body`.
54
+ * Dev-mode guard: `rdxAlertDialogPortal` is now structural, so the old `<div rdxAlertDialogPortal>`
55
+ * markup would silently stop portaling — fail loudly instead.
51
56
  */
52
- declare class RdxAlertDialogPortal {
53
- static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortal, never>;
54
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortal, "[rdxAlertDialogPortal]", ["rdxAlertDialogPortal"], {}, {}, never, never, true, [{ directive: typeof i1.RdxDialogPortal; inputs: { "container": "container"; }; outputs: {}; }]>;
57
+ declare class RdxAlertDialogPortalMisuseGuard {
58
+ constructor();
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogPortalMisuseGuard, never>;
60
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAlertDialogPortalMisuseGuard, "[rdxAlertDialogPortal]:not(ng-template)", never, {}, {}, never, never, true, never>;
55
61
  }
56
62
 
57
63
  /**
@@ -107,8 +113,8 @@ declare function createRdxAlertDialogHandle<Payload = unknown>(): RdxAlertDialog
107
113
  declare const alertDialogImports: (typeof RdxAlertDialogBackdrop)[];
108
114
  declare class RdxAlertDialogModule {
109
115
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAlertDialogModule, never>;
110
- static ɵmod: i0.ɵɵNgModuleDeclaration<RdxAlertDialogModule, never, [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortalPresence, typeof RdxAlertDialogPortal, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose], [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortalPresence, typeof RdxAlertDialogPortal, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose]>;
116
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RdxAlertDialogModule, never, [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortal, typeof RdxAlertDialogPortalMisuseGuard, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose], [typeof RdxAlertDialogRoot, typeof RdxAlertDialogTrigger, typeof RdxAlertDialogPortal, typeof RdxAlertDialogPortalMisuseGuard, typeof RdxAlertDialogBackdrop, typeof RdxAlertDialogViewport, typeof RdxAlertDialogPopup, typeof RdxAlertDialogTitle, typeof RdxAlertDialogDescription, typeof RdxAlertDialogClose]>;
111
117
  static ɵinj: i0.ɵɵInjectorDeclaration<RdxAlertDialogModule>;
112
118
  }
113
119
 
114
- export { RdxAlertDialogBackdrop, RdxAlertDialogClose, RdxAlertDialogDescription, RdxAlertDialogHandle, RdxAlertDialogModule, RdxAlertDialogPopup, RdxAlertDialogPortal, RdxAlertDialogPortalPresence, RdxAlertDialogRoot, RdxAlertDialogTitle, RdxAlertDialogTrigger, RdxAlertDialogViewport, alertDialogImports, createRdxAlertDialogHandle };
120
+ export { RdxAlertDialogBackdrop, RdxAlertDialogClose, RdxAlertDialogDescription, RdxAlertDialogHandle, RdxAlertDialogModule, RdxAlertDialogPopup, RdxAlertDialogPortal, RdxAlertDialogPortalMisuseGuard, RdxAlertDialogRoot, RdxAlertDialogTitle, RdxAlertDialogTrigger, RdxAlertDialogViewport, alertDialogImports, createRdxAlertDialogHandle };