@radix-ng/primitives 0.51.0 → 1.0.0-beta.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.
Files changed (186) hide show
  1. package/fesm2022/radix-ng-primitives-accordion.mjs +105 -38
  2. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +221 -129
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +20 -4
  6. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-avatar.mjs +54 -61
  9. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-button.mjs +123 -0
  11. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
  12. package/fesm2022/radix-ng-primitives-calendar.mjs +95 -83
  13. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
  15. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
  17. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
  19. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
  22. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  23. package/fesm2022/radix-ng-primitives-core.mjs +845 -744
  24. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  25. package/fesm2022/radix-ng-primitives-cropper.mjs +288 -308
  26. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  27. package/fesm2022/radix-ng-primitives-date-field.mjs +104 -58
  28. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  29. package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
  30. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  31. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
  32. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  33. package/fesm2022/radix-ng-primitives-drawer.mjs +960 -0
  34. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  35. package/fesm2022/radix-ng-primitives-editable.mjs +304 -23
  36. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  37. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  38. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  40. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  41. package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
  42. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  43. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  44. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  45. package/fesm2022/radix-ng-primitives-label.mjs +6 -6
  46. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-menu.mjs +1907 -363
  48. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  50. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  51. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  52. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  53. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
  54. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
  56. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  57. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
  59. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-popper.mjs +111 -44
  61. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
  63. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  65. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  67. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  68. package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
  69. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
  71. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
  73. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-scroll-area.mjs +923 -0
  75. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -0
  76. package/fesm2022/radix-ng-primitives-select.mjs +791 -509
  77. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
  79. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
  81. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
  83. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
  85. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-tabs.mjs +390 -108
  87. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
  89. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-toast.mjs +839 -0
  91. package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -0
  92. package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
  93. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
  95. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
  97. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-tooltip.mjs +699 -1072
  99. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
  101. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  102. package/meter/README.md +3 -0
  103. package/navigation-menu/README.md +2 -1
  104. package/package.json +39 -18
  105. package/portal/README.md +2 -0
  106. package/preview-card/README.md +3 -0
  107. package/schematics/collection.json +1 -0
  108. package/schematics/ng-add/index.d.ts +3 -2
  109. package/schematics/ng-add/index.js +62 -31
  110. package/schematics/ng-add/index.js.map +1 -1
  111. package/schematics/ng-add/package-config.d.ts +4 -2
  112. package/schematics/ng-add/package-config.js +10 -2
  113. package/schematics/ng-add/package-config.js.map +1 -1
  114. package/schematics/ng-add/schema.d.ts +3 -0
  115. package/schematics/ng-add/schema.js +3 -0
  116. package/schematics/ng-add/schema.js.map +1 -0
  117. package/schematics/ng-add/schema.json +14 -0
  118. package/select/README.md +2 -0
  119. package/types/radix-ng-primitives-accordion.d.ts +51 -16
  120. package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
  121. package/types/radix-ng-primitives-arrow.d.ts +1 -1
  122. package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
  123. package/types/radix-ng-primitives-avatar.d.ts +7 -11
  124. package/types/radix-ng-primitives-button.d.ts +73 -0
  125. package/types/radix-ng-primitives-calendar.d.ts +39 -20
  126. package/types/radix-ng-primitives-checkbox.d.ts +204 -35
  127. package/types/radix-ng-primitives-collapsible.d.ts +114 -40
  128. package/types/radix-ng-primitives-collection.d.ts +38 -34
  129. package/types/radix-ng-primitives-config.d.ts +1 -1
  130. package/types/radix-ng-primitives-context-menu.d.ts +61 -116
  131. package/types/radix-ng-primitives-core.d.ts +345 -235
  132. package/types/radix-ng-primitives-cropper.d.ts +89 -56
  133. package/types/radix-ng-primitives-date-field.d.ts +49 -28
  134. package/types/radix-ng-primitives-dialog.d.ts +283 -165
  135. package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
  136. package/types/radix-ng-primitives-drawer.d.ts +426 -0
  137. package/types/radix-ng-primitives-editable.d.ts +91 -14
  138. package/types/radix-ng-primitives-field.d.ts +374 -0
  139. package/types/radix-ng-primitives-fieldset.d.ts +49 -0
  140. package/types/radix-ng-primitives-focus-scope.d.ts +15 -6
  141. package/types/radix-ng-primitives-input.d.ts +87 -0
  142. package/types/radix-ng-primitives-label.d.ts +0 -1
  143. package/types/radix-ng-primitives-menu.d.ts +584 -99
  144. package/types/radix-ng-primitives-menubar.d.ts +61 -50
  145. package/types/radix-ng-primitives-meter.d.ts +194 -0
  146. package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
  147. package/types/radix-ng-primitives-number-field.d.ts +405 -145
  148. package/types/radix-ng-primitives-pagination.d.ts +2 -2
  149. package/types/radix-ng-primitives-popover.d.ts +366 -351
  150. package/types/radix-ng-primitives-popper.d.ts +68 -11
  151. package/types/radix-ng-primitives-portal.d.ts +14 -6
  152. package/types/radix-ng-primitives-presence.d.ts +28 -76
  153. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  154. package/types/radix-ng-primitives-progress.d.ts +175 -48
  155. package/types/radix-ng-primitives-radio.d.ts +55 -25
  156. package/types/radix-ng-primitives-roving-focus.d.ts +33 -23
  157. package/types/radix-ng-primitives-scroll-area.d.ts +253 -0
  158. package/types/radix-ng-primitives-select.d.ts +475 -177
  159. package/types/radix-ng-primitives-separator.d.ts +7 -32
  160. package/types/radix-ng-primitives-slider.d.ts +315 -201
  161. package/types/radix-ng-primitives-stepper.d.ts +5 -7
  162. package/types/radix-ng-primitives-switch.d.ts +86 -71
  163. package/types/radix-ng-primitives-tabs.d.ts +213 -79
  164. package/types/radix-ng-primitives-time-field.d.ts +42 -27
  165. package/types/radix-ng-primitives-toast.d.ts +378 -0
  166. package/types/radix-ng-primitives-toggle-group.d.ts +86 -164
  167. package/types/radix-ng-primitives-toggle.d.ts +43 -53
  168. package/types/radix-ng-primitives-toolbar.d.ts +164 -38
  169. package/types/radix-ng-primitives-tooltip.d.ts +348 -384
  170. package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
  171. package/dropdown-menu/README.md +0 -1
  172. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
  173. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  174. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
  175. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  176. package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
  177. package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
  178. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
  179. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  180. package/hover-card/README.md +0 -3
  181. package/select2/README.md +0 -3
  182. package/tooltip2/README.md +0 -3
  183. package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
  184. package/types/radix-ng-primitives-hover-card.d.ts +0 -471
  185. package/types/radix-ng-primitives-select2.d.ts +0 -511
  186. package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-visually-hidden.mjs","sources":["../../../packages/primitives/visually-hidden/src/visually-hidden.directive.ts","../../../packages/primitives/visually-hidden/src/visually-hidden-input-bubble.directive.ts","../../../packages/primitives/visually-hidden/src/visually-hidden-input.directive.ts","../../../packages/primitives/visually-hidden/radix-ng-primitives-visually-hidden.ts"],"sourcesContent":["import { Directive, input, linkedSignal } from '@angular/core';\n\nexport type VisuallyHidden = 'focusable' | 'fully-hidden';\n\n/**\n *\n * <span rdxVisuallyHidden [feature]=\"'fully-hidden'\">\n * <ng-content />\n * </span>\n *\n * <button (click)=\"directiveInstance.setFeature('focusable')\">Make Focusable</button>\n * <button (click)=\"directiveInstance.setFeature('fully-hidden')\">Hide</button>\n */\n@Directive({\n selector: '[rdxVisuallyHidden]',\n host: {\n '[attr.tabindex]': 'computedFeature() === \"fully-hidden\" ? \"-1\" : undefined',\n '[attr.aria-hidden]': 'computedFeature() === \"focusable\" ? \"true\" : undefined',\n '[attr.data-hidden]': 'computedFeature() === \"fully-hidden\" ? \"\" : undefined',\n '[hidden]': 'computedFeature() === \"fully-hidden\" ? true : undefined',\n '[style]': `{\n position: 'absolute',\n border: 0,\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n top: '-1px',\n left: '-1px'\n }`,\n '[style.display]': 'feature() === \"focusable\" ? \"inline-block\" : \"none\"'\n }\n})\nexport class RdxVisuallyHiddenDirective {\n readonly feature = input<VisuallyHidden>('focusable');\n\n protected readonly computedFeature = linkedSignal(this.feature);\n\n setFeature(feature: VisuallyHidden) {\n this.computedFeature.set(feature);\n }\n}\n","import { computed, Directive, effect, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { watch } from '@radix-ng/primitives/core';\nimport { RdxVisuallyHiddenDirective, VisuallyHidden } from './visually-hidden.directive';\n\n/**\n *\n */\n@Directive({\n selector: 'input[rdxVisuallyHiddenInputBubble]',\n hostDirectives: [\n {\n directive: RdxVisuallyHiddenDirective,\n inputs: ['feature: feature']\n }\n ],\n host: {\n '[attr.name]': 'name()',\n '[attr.required]': 'required()',\n '[attr.disabled]': 'disabled()',\n '[attr.checked]': 'checked()',\n '[attr.value]': 'computedValue()'\n }\n})\nexport class RdxVisuallyHiddenInputBubbleDirective<T> {\n private readonly elementRef = inject(ElementRef);\n private readonly visuallyHidden = inject(RdxVisuallyHiddenDirective);\n\n readonly feature = input<VisuallyHidden>('fully-hidden');\n\n readonly name = input<string | undefined>(undefined);\n readonly value = input<T | string | null>();\n readonly checked = input<boolean | undefined>(undefined);\n readonly required = input<boolean | undefined>(undefined);\n readonly disabled = input<boolean | undefined>(undefined);\n\n protected readonly computedFeature = linkedSignal(this.feature);\n protected readonly computedValue = linkedSignal(this.value);\n\n readonly valueState = computed(() => this.checked() ?? this.computedValue());\n\n constructor() {\n watch([this.valueState], ([cur]) => {\n if (!this.elementRef.nativeElement) {\n return;\n }\n\n const input = this.elementRef.nativeElement as HTMLInputElement;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'value') as PropertyDescriptor;\n const setValue = descriptor.set;\n\n if (setValue) {\n const inputEvent = new Event('input', { bubbles: true });\n const changeEvent = new Event('change', { bubbles: true });\n setValue.call(input, cur);\n input.dispatchEvent(inputEvent);\n input.dispatchEvent(changeEvent);\n }\n });\n\n effect(() => {\n this.visuallyHidden.setFeature(this.computedFeature());\n });\n }\n\n setValue(value: string) {\n this.computedValue.set(value);\n }\n\n setFeature(feature: VisuallyHidden) {\n this.computedFeature.set(feature);\n }\n}\n","// Implementation from https://github.com/unovue/radix-vue\n\nimport { Directive, ElementRef, Injector, afterNextRender, computed, effect, inject, input } from '@angular/core';\nimport { RdxVisuallyHiddenInputBubbleDirective } from './visually-hidden-input-bubble.directive';\nimport { VisuallyHidden } from './visually-hidden.directive';\n\n@Directive({\n selector: '[rdxVisuallyHiddenInput]',\n hostDirectives: [\n {\n directive: RdxVisuallyHiddenInputBubbleDirective,\n inputs: [\n 'feature: feature',\n 'name: name ',\n 'value: value',\n 'checked: checked',\n 'disabled: disabled',\n 'required: required'\n ]\n }\n ]\n})\nexport class RdxVisuallyHiddenInputDirective<T> {\n private readonly elementRef = inject(ElementRef);\n private readonly injector = inject(Injector);\n\n readonly name = input<string | undefined>(undefined);\n readonly value = input<T | string>();\n readonly checked = input<boolean | undefined>(undefined);\n readonly required = input<boolean | undefined>(undefined);\n readonly disabled = input<boolean | undefined>(undefined);\n readonly feature = input<VisuallyHidden>('fully-hidden');\n\n readonly parsedValue = computed(() => {\n const value = this.value();\n const name = this.name();\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return [{ name, value }];\n }\n\n if (Array.isArray(value)) {\n return value.flatMap((obj, index) => {\n if (typeof obj === 'object') {\n return Object.entries(obj).map(([key, val]) => ({\n name: `[${name}][${index}][${key}]`,\n value: val\n }));\n } else {\n return { name: `[${name}][${index}]`, value: obj };\n }\n });\n }\n\n if (value !== null && typeof value === 'object') {\n return Object.entries(value).map(([key, val]) => ({\n name: `[${name}][${key}]`,\n value: val\n }));\n }\n\n return [];\n });\n\n constructor() {\n afterNextRender(() => {\n effect(\n () => {\n const parsedValues = this.parsedValue();\n\n parsedValues.forEach((parsed) => {\n const inputElement = this.elementRef.nativeElement;\n inputElement.setAttribute('name', parsed.name);\n inputElement.setAttribute('value', parsed.value);\n });\n },\n { injector: this.injector }\n );\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxVisuallyHiddenDirective","i1.RdxVisuallyHiddenInputBubbleDirective"],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-visually-hidden.mjs","sources":["../../../packages/primitives/visually-hidden/src/visually-hidden.directive.ts","../../../packages/primitives/visually-hidden/src/visually-hidden-input-bubble.directive.ts","../../../packages/primitives/visually-hidden/src/visually-hidden-input.directive.ts","../../../packages/primitives/visually-hidden/radix-ng-primitives-visually-hidden.ts"],"sourcesContent":["import { Directive, input, linkedSignal } from '@angular/core';\n\nexport type VisuallyHidden = 'focusable' | 'fully-hidden';\n\n/**\n *\n * <span rdxVisuallyHidden [feature]=\"'fully-hidden'\">\n * <ng-content />\n * </span>\n *\n * <button (click)=\"directiveInstance.setFeature('focusable')\">Make Focusable</button>\n * <button (click)=\"directiveInstance.setFeature('fully-hidden')\">Hide</button>\n */\n@Directive({\n selector: '[rdxVisuallyHidden]',\n host: {\n '[attr.tabindex]': 'computedFeature() === \"fully-hidden\" ? \"-1\" : undefined',\n '[attr.aria-hidden]': 'computedFeature() === \"fully-hidden\" ? \"true\" : undefined',\n '[attr.data-hidden]': 'computedFeature() === \"fully-hidden\" ? \"\" : undefined',\n '[hidden]': 'computedFeature() === \"fully-hidden\" ? true : undefined',\n '[style]': `{\n position: 'absolute',\n border: 0,\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n }`,\n '[style.display]': 'computedFeature() === \"focusable\" ? \"inline-block\" : \"none\"'\n }\n})\nexport class RdxVisuallyHiddenDirective {\n readonly feature = input<VisuallyHidden>('focusable');\n\n protected readonly computedFeature = linkedSignal(this.feature);\n\n setFeature(feature: VisuallyHidden) {\n this.computedFeature.set(feature);\n }\n}\n","import { computed, Directive, effect, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { watch } from '@radix-ng/primitives/core';\nimport { RdxVisuallyHiddenDirective, VisuallyHidden } from './visually-hidden.directive';\n\n/**\n *\n */\n@Directive({\n selector: 'input[rdxVisuallyHiddenInputBubble]',\n hostDirectives: [\n {\n directive: RdxVisuallyHiddenDirective,\n inputs: ['feature: feature']\n }\n ],\n host: {\n '[attr.name]': 'name()',\n '[attr.required]': 'required()',\n '[attr.disabled]': 'disabled()',\n '[attr.checked]': 'checked()',\n '[attr.value]': 'computedValue()'\n }\n})\nexport class RdxVisuallyHiddenInputBubbleDirective<T> {\n private readonly elementRef = inject(ElementRef);\n private readonly visuallyHidden = inject(RdxVisuallyHiddenDirective);\n\n readonly feature = input<VisuallyHidden>('fully-hidden');\n\n readonly name = input<string | undefined>(undefined);\n readonly value = input<T | string | null>();\n readonly checked = input<boolean | undefined>(undefined);\n readonly required = input<boolean | undefined>(undefined);\n readonly disabled = input<boolean | undefined>(undefined);\n\n protected readonly computedFeature = linkedSignal(this.feature);\n protected readonly computedValue = linkedSignal(this.value);\n\n readonly valueState = computed(() => this.checked() ?? this.computedValue());\n\n constructor() {\n watch([this.valueState], ([cur]) => {\n if (!this.elementRef.nativeElement) {\n return;\n }\n\n const input = this.elementRef.nativeElement as HTMLInputElement;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'value') as PropertyDescriptor;\n const setValue = descriptor.set;\n\n if (setValue) {\n const inputEvent = new Event('input', { bubbles: true });\n const changeEvent = new Event('change', { bubbles: true });\n setValue.call(input, cur);\n input.dispatchEvent(inputEvent);\n input.dispatchEvent(changeEvent);\n }\n });\n\n effect(() => {\n this.visuallyHidden.setFeature(this.computedFeature());\n });\n }\n\n setValue(value: string) {\n this.computedValue.set(value);\n }\n\n setFeature(feature: VisuallyHidden) {\n this.computedFeature.set(feature);\n }\n}\n","import { Directive } from '@angular/core';\nimport { RdxVisuallyHiddenInputBubbleDirective } from './visually-hidden-input-bubble.directive';\n\n/**\n * Mirrors a control's value into a visually hidden `<input>` so it participates in form\n * submission while staying out of the visual and (when `fully-hidden`) accessibility tree.\n *\n * Apply it to a real `<input>` element. It carries a **single scalar value** — the composed\n * {@link RdxVisuallyHiddenInputBubbleDirective} owns `name`/`value`/`checked` and keeps the\n * native value in sync, re-dispatching `input`/`change` events so the value bubbles to the form.\n *\n * A single `<input>` can only represent one form field, so object/array values are not\n * supported here; render one directive per field instead.\n *\n * @example\n * ```html\n * <input rdxVisuallyHiddenInput [name]=\"'agree'\" [value]=\"checked() ? 'on' : 'off'\" />\n * ```\n */\n@Directive({\n selector: 'input[rdxVisuallyHiddenInput]',\n hostDirectives: [\n {\n directive: RdxVisuallyHiddenInputBubbleDirective,\n inputs: ['feature', 'name', 'value', 'checked', 'required', 'disabled']\n }\n ]\n})\nexport class RdxVisuallyHiddenInputDirective {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxVisuallyHiddenDirective","i1.RdxVisuallyHiddenInputBubbleDirective"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ # @radix-ng/primitives/meter
2
+
3
+ Secondary entry point of `@radix-ng/primitives`.
@@ -1,3 +1,4 @@
1
1
  # @radix-ng/primitives/navigation-menu
2
2
 
3
- A responsive navigation component that automatically collapses navigation items into a menu when space is limited. Follows the WAI-ARIA Menu Button Pattern for accessibility.
3
+ A collection of links and menus for website navigation. A menubar of triggers and links whose content
4
+ is rendered into one shared, floating-positioned popup, modeled on Base UI's Navigation Menu.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ng/primitives",
3
- "version": "0.51.0",
3
+ "version": "1.0.0-beta.1",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -19,13 +19,14 @@
19
19
  ],
20
20
  "peerDependencies": {
21
21
  "@angular/core": "^19.2.0 || ^20.0.0 || ^21.0.0",
22
- "@angular/cdk": "^19.2.0 || ^20.0.0 || ^21.0.0",
23
- "@floating-ui/dom": "^1.7.4"
22
+ "@floating-ui/dom": "^1.7.6",
23
+ "@internationalized/date": "^3.12.2",
24
+ "@internationalized/number": "^3.6.7"
24
25
  },
25
26
  "schematics": "./schematics/collection.json",
26
27
  "sideEffects": false,
27
28
  "ng-add": {
28
- "save": "true"
29
+ "save": true
29
30
  },
30
31
  "module": "fesm2022/radix-ng-primitives.mjs",
31
32
  "typings": "types/radix-ng-primitives.d.ts",
@@ -57,6 +58,10 @@
57
58
  "types": "./types/radix-ng-primitives-avatar.d.ts",
58
59
  "default": "./fesm2022/radix-ng-primitives-avatar.mjs"
59
60
  },
61
+ "./button": {
62
+ "types": "./types/radix-ng-primitives-button.d.ts",
63
+ "default": "./fesm2022/radix-ng-primitives-button.mjs"
64
+ },
60
65
  "./calendar": {
61
66
  "types": "./types/radix-ng-primitives-calendar.d.ts",
62
67
  "default": "./fesm2022/radix-ng-primitives-calendar.mjs"
@@ -101,14 +106,22 @@
101
106
  "types": "./types/radix-ng-primitives-dismissable-layer.d.ts",
102
107
  "default": "./fesm2022/radix-ng-primitives-dismissable-layer.mjs"
103
108
  },
104
- "./dropdown-menu": {
105
- "types": "./types/radix-ng-primitives-dropdown-menu.d.ts",
106
- "default": "./fesm2022/radix-ng-primitives-dropdown-menu.mjs"
109
+ "./drawer": {
110
+ "types": "./types/radix-ng-primitives-drawer.d.ts",
111
+ "default": "./fesm2022/radix-ng-primitives-drawer.mjs"
107
112
  },
108
113
  "./editable": {
109
114
  "types": "./types/radix-ng-primitives-editable.d.ts",
110
115
  "default": "./fesm2022/radix-ng-primitives-editable.mjs"
111
116
  },
117
+ "./field": {
118
+ "types": "./types/radix-ng-primitives-field.d.ts",
119
+ "default": "./fesm2022/radix-ng-primitives-field.mjs"
120
+ },
121
+ "./fieldset": {
122
+ "types": "./types/radix-ng-primitives-fieldset.d.ts",
123
+ "default": "./fesm2022/radix-ng-primitives-fieldset.mjs"
124
+ },
112
125
  "./focus-guards": {
113
126
  "types": "./types/radix-ng-primitives-focus-guards.d.ts",
114
127
  "default": "./fesm2022/radix-ng-primitives-focus-guards.mjs"
@@ -117,9 +130,9 @@
117
130
  "types": "./types/radix-ng-primitives-focus-scope.d.ts",
118
131
  "default": "./fesm2022/radix-ng-primitives-focus-scope.mjs"
119
132
  },
120
- "./hover-card": {
121
- "types": "./types/radix-ng-primitives-hover-card.d.ts",
122
- "default": "./fesm2022/radix-ng-primitives-hover-card.mjs"
133
+ "./input": {
134
+ "types": "./types/radix-ng-primitives-input.d.ts",
135
+ "default": "./fesm2022/radix-ng-primitives-input.mjs"
123
136
  },
124
137
  "./label": {
125
138
  "types": "./types/radix-ng-primitives-label.d.ts",
@@ -133,6 +146,10 @@
133
146
  "types": "./types/radix-ng-primitives-menubar.d.ts",
134
147
  "default": "./fesm2022/radix-ng-primitives-menubar.mjs"
135
148
  },
149
+ "./meter": {
150
+ "types": "./types/radix-ng-primitives-meter.d.ts",
151
+ "default": "./fesm2022/radix-ng-primitives-meter.mjs"
152
+ },
136
153
  "./navigation-menu": {
137
154
  "types": "./types/radix-ng-primitives-navigation-menu.d.ts",
138
155
  "default": "./fesm2022/radix-ng-primitives-navigation-menu.mjs"
@@ -161,6 +178,10 @@
161
178
  "types": "./types/radix-ng-primitives-presence.d.ts",
162
179
  "default": "./fesm2022/radix-ng-primitives-presence.mjs"
163
180
  },
181
+ "./preview-card": {
182
+ "types": "./types/radix-ng-primitives-preview-card.d.ts",
183
+ "default": "./fesm2022/radix-ng-primitives-preview-card.mjs"
184
+ },
164
185
  "./progress": {
165
186
  "types": "./types/radix-ng-primitives-progress.d.ts",
166
187
  "default": "./fesm2022/radix-ng-primitives-progress.mjs"
@@ -173,14 +194,14 @@
173
194
  "types": "./types/radix-ng-primitives-roving-focus.d.ts",
174
195
  "default": "./fesm2022/radix-ng-primitives-roving-focus.mjs"
175
196
  },
197
+ "./scroll-area": {
198
+ "types": "./types/radix-ng-primitives-scroll-area.d.ts",
199
+ "default": "./fesm2022/radix-ng-primitives-scroll-area.mjs"
200
+ },
176
201
  "./select": {
177
202
  "types": "./types/radix-ng-primitives-select.d.ts",
178
203
  "default": "./fesm2022/radix-ng-primitives-select.mjs"
179
204
  },
180
- "./select2": {
181
- "types": "./types/radix-ng-primitives-select2.d.ts",
182
- "default": "./fesm2022/radix-ng-primitives-select2.mjs"
183
- },
184
205
  "./separator": {
185
206
  "types": "./types/radix-ng-primitives-separator.d.ts",
186
207
  "default": "./fesm2022/radix-ng-primitives-separator.mjs"
@@ -205,6 +226,10 @@
205
226
  "types": "./types/radix-ng-primitives-time-field.d.ts",
206
227
  "default": "./fesm2022/radix-ng-primitives-time-field.mjs"
207
228
  },
229
+ "./toast": {
230
+ "types": "./types/radix-ng-primitives-toast.d.ts",
231
+ "default": "./fesm2022/radix-ng-primitives-toast.mjs"
232
+ },
208
233
  "./toggle": {
209
234
  "types": "./types/radix-ng-primitives-toggle.d.ts",
210
235
  "default": "./fesm2022/radix-ng-primitives-toggle.mjs"
@@ -221,10 +246,6 @@
221
246
  "types": "./types/radix-ng-primitives-tooltip.d.ts",
222
247
  "default": "./fesm2022/radix-ng-primitives-tooltip.mjs"
223
248
  },
224
- "./tooltip2": {
225
- "types": "./types/radix-ng-primitives-tooltip2.d.ts",
226
- "default": "./fesm2022/radix-ng-primitives-tooltip2.mjs"
227
- },
228
249
  "./visually-hidden": {
229
250
  "types": "./types/radix-ng-primitives-visually-hidden.d.ts",
230
251
  "default": "./fesm2022/radix-ng-primitives-visually-hidden.mjs"
package/portal/README.md CHANGED
@@ -1 +1,3 @@
1
1
  # @radix-ng/primitives/portal
2
+
3
+ Secondary entry point of `@radix-ng/primitives`. It can be used by importing from `@radix-ng/primitives/portal`.
@@ -0,0 +1,3 @@
1
+ # @radix-ng/primitives/preview-card
2
+
3
+ Secondary entry point of `@radix-ng/primitives`. It can be used by importing from `@radix-ng/primitives/preview-card`.
@@ -4,6 +4,7 @@
4
4
  "ng-add": {
5
5
  "description": "Add RadixNG to the application.",
6
6
  "factory": "./ng-add/index#ngAdd",
7
+ "schema": "./ng-add/schema.json",
7
8
  "aliases": ["install"]
8
9
  }
9
10
  }
@@ -1,6 +1,7 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
+ import { Schema } from './schema';
2
3
  /**
3
4
  * This is executed when `ng add @radix-ng/primitives` is run.
4
- * It installs all dependencies in the 'package.json'.
5
+ * It adds the package and its runtime peer dependencies to package.json.
5
6
  */
6
- export declare function ngAdd(): Rule;
7
+ export declare function ngAdd(options?: Schema): Rule;
@@ -4,57 +4,88 @@ exports.ngAdd = ngAdd;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const tasks_1 = require("@angular-devkit/schematics/tasks");
6
6
  const dependencies_1 = require("@schematics/angular/utility/dependencies");
7
- const pkgJson = require("../../package.json");
8
7
  const package_config_1 = require("./package-config");
8
+ const PACKAGE_NAME = '@radix-ng/primitives';
9
+ const PEER_DEPENDENCIES = {
10
+ '@floating-ui/dom': '^1.7.4',
11
+ '@internationalized/date': '^3.12.2',
12
+ '@internationalized/number': '^3.6.7'
13
+ };
14
+ function logDependencyGroup(context, label, dependencies) {
15
+ if (!dependencies.length) {
16
+ return;
17
+ }
18
+ context.logger.info(` ${label}:`);
19
+ dependencies.forEach((dependency) => context.logger.info(` - ${dependency}`));
20
+ }
9
21
  /**
10
22
  * This is executed when `ng add @radix-ng/primitives` is run.
11
- * It installs all dependencies in the 'package.json'.
23
+ * It adds the package and its runtime peer dependencies to package.json.
12
24
  */
13
- function ngAdd() {
25
+ function ngAdd(options = {}) {
14
26
  return (tree, context) => {
15
- const pkg = pkgJson;
16
27
  context.logger.info(``);
17
- context.logger.info(`Installing ${pkg.name} dependencies...`);
28
+ context.logger.info(`Radix NG Primitives`);
29
+ context.logger.info(`Setting up ${PACKAGE_NAME} for this Angular workspace.`);
30
+ context.logger.info(``);
18
31
  const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(tree, '@angular/core');
19
- context.logger.info(`@angular/core version ${ngCoreVersionTag}`);
20
32
  if (!ngCoreVersionTag) {
21
- throw new schematics_1.SchematicsException('@angular/core version not found');
33
+ throw new schematics_1.SchematicsException('Could not find @angular/core in package.json.');
22
34
  }
23
- const projectDeps = [
35
+ const getPeerVersion = (name) => {
36
+ const version = PEER_DEPENDENCIES[name];
37
+ if (!version) {
38
+ throw new schematics_1.SchematicsException(`Could not find ${name} in ${PACKAGE_NAME} peer dependencies.`);
39
+ }
40
+ return version;
41
+ };
42
+ const dependencies = [
43
+ { name: '@angular/common', type: dependencies_1.NodeDependencyType.Default, version: ngCoreVersionTag, overwrite: false },
24
44
  {
25
- name: '@angular/animations',
45
+ name: '@floating-ui/dom',
26
46
  type: dependencies_1.NodeDependencyType.Default,
27
- version: ngCoreVersionTag,
47
+ version: getPeerVersion('@floating-ui/dom'),
28
48
  overwrite: false
29
49
  },
30
- { name: '@angular/common', type: dependencies_1.NodeDependencyType.Default, version: ngCoreVersionTag, overwrite: false },
31
- { name: '@angular/core', type: dependencies_1.NodeDependencyType.Default, version: ngCoreVersionTag, overwrite: false }
32
- ];
33
- projectDeps.forEach((dep) => {
34
- (0, dependencies_1.addPackageJsonDependency)(tree, dep);
35
- context.logger.info(`Added dependency: ${dep.name}@${dep.version}`);
36
- });
37
- const libraryDeps = [
38
50
  {
39
- name: '@angular/cdk',
51
+ name: '@internationalized/date',
40
52
  type: dependencies_1.NodeDependencyType.Default,
41
- version: pkg.peerDependencies['@angular/cdk'],
53
+ version: getPeerVersion('@internationalized/date'),
54
+ overwrite: false
55
+ },
56
+ {
57
+ name: '@internationalized/number',
58
+ type: dependencies_1.NodeDependencyType.Default,
59
+ version: getPeerVersion('@internationalized/number'),
42
60
  overwrite: false
43
61
  }
44
62
  ];
45
- libraryDeps.forEach((dep) => {
63
+ const added = [];
64
+ const existing = [];
65
+ dependencies.forEach((dep) => {
66
+ const existingDependency = (0, dependencies_1.getPackageJsonDependency)(tree, dep.name);
46
67
  (0, dependencies_1.addPackageJsonDependency)(tree, dep);
47
- context.logger.info(`Added dependency: ${dep.name}@${dep.version}`);
68
+ if (existingDependency) {
69
+ existing.push(`${dep.name}@${existingDependency.version}`);
70
+ }
71
+ else {
72
+ added.push(`${dep.name}@${dep.version}`);
73
+ }
48
74
  });
49
- const library = {
50
- name: pkg.name,
51
- type: dependencies_1.NodeDependencyType.Default,
52
- version: `~${pkg.version}`,
53
- overwrite: true
54
- };
55
- (0, dependencies_1.addPackageJsonDependency)(tree, library);
56
- context.logger.info(`Installing ${library.name}@${library.version}`);
57
- context.addTask(new tasks_1.NodePackageInstallTask());
75
+ context.logger.info(`Updated package.json`);
76
+ logDependencyGroup(context, 'Added', added);
77
+ logDependencyGroup(context, 'Already present', existing);
78
+ if (options.skipInstall) {
79
+ context.logger.info(``);
80
+ context.logger.info(`Skipped package manager install.`);
81
+ }
82
+ else {
83
+ context.addTask(new tasks_1.NodePackageInstallTask());
84
+ context.logger.info(``);
85
+ context.logger.info(`Installing packages with your configured package manager...`);
86
+ }
87
+ context.logger.info(``);
88
+ context.logger.info(`Configuration complete. You can import primitives from ${PACKAGE_NAME}/<primitive>.`);
58
89
  return tree;
59
90
  };
60
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAUA,sBA0DC;AApED,2DAA+F;AAC/F,4DAA0E;AAC1E,2EAAwH;AACxH,8CAA8C;AAC9C,qDAAiF;AAEjF;;;GAGG;AACH,SAAgB,KAAK;IACjB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,OAAiC,CAAC;QAE9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,IAAA,iDAAgC,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,gBAAgB,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,IAAI,gCAAmB,CAAC,iCAAiC,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAqB;YAClC;gBACI,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,iCAAkB,CAAC,OAAO;gBAChC,OAAO,EAAE,gBAAgB;gBACzB,SAAS,EAAE,KAAK;aACnB;YACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iCAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE;YAC1G,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,iCAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE;SAC3G,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAA,uCAAwB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAqB;YAClC;gBACI,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,iCAAkB,CAAC,OAAO;gBAChC,OAAO,EAAE,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC;gBAC7C,SAAS,EAAE,KAAK;aACnB;SACJ,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAA,uCAAwB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAmB;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,iCAAkB,CAAC,OAAO;YAChC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;YAC1B,SAAS,EAAE,IAAI;SAClB,CAAC;QAEF,IAAA,uCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAErE,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,11 @@
7
7
  */
8
8
  import { Tree } from '@angular-devkit/schematics';
9
9
  export interface PackageJson {
10
- dependencies: Record<string, string>;
10
+ dependencies?: Record<string, string>;
11
+ devDependencies?: Record<string, string>;
11
12
  name: string;
12
- peerDependencies: Record<string, string>;
13
+ optionalDependencies?: Record<string, string>;
14
+ peerDependencies?: Record<string, string>;
13
15
  version: string;
14
16
  }
15
17
  /** Adds a package to the package.json in the given host tree. */
@@ -43,8 +43,16 @@ function getPackageVersionFromPackageJson(tree, name) {
43
43
  return null;
44
44
  }
45
45
  const packageJson = JSON.parse(tree.read('package.json').toString('utf8'));
46
- if (packageJson.dependencies && packageJson.dependencies[name]) {
47
- return packageJson.dependencies[name];
46
+ const dependencyTypes = [
47
+ packageJson.dependencies,
48
+ packageJson.devDependencies,
49
+ packageJson.peerDependencies,
50
+ packageJson.optionalDependencies
51
+ ];
52
+ for (const dependencies of dependencyTypes) {
53
+ if (dependencies?.[name]) {
54
+ return dependencies[name];
55
+ }
48
56
  }
49
57
  return null;
50
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-config.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/package-config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA4BH,0DAkBC;AAGD,4EAYC;AAlDD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAA2B;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAClB,IAAI,EAAE;SACN,MAAM,CACH,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC,EACD,EAA4B,CAC/B,CAAC;AACV,CAAC;AAED,iEAAiE;AACjE,SAAgB,uBAAuB,CAAC,IAAU,EAAE,GAAW,EAAE,OAAe;IAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAgB,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,kGAAkG;AAClG,SAAgB,gCAAgC,CAAC,IAAU,EAAE,IAAY;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB,CAAC;IAE3F,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"package-config.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/package-config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8BH,0DAkBC;AAGD,4EAoBC;AA1DD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAA2B;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAClB,IAAI,EAAE;SACN,MAAM,CACH,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC,EACD,EAA4B,CAC/B,CAAC;AACV,CAAC;AAED,iEAAiE;AACjE,SAAgB,uBAAuB,CAAC,IAAU,EAAE,GAAW,EAAE,OAAe;IAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAgB,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,kGAAkG;AAClG,SAAgB,gCAAgC,CAAC,IAAU,EAAE,IAAY;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB,CAAC;IAC3F,MAAM,eAAe,GAAG;QACpB,WAAW,CAAC,YAAY;QACxB,WAAW,CAAC,eAAe;QAC3B,WAAW,CAAC,gBAAgB;QAC5B,WAAW,CAAC,oBAAoB;KACnC,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface Schema {
2
+ skipInstall?: boolean;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../packages/primitives/schematics/ng-add/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "RadixNgPrimitivesNgAdd",
4
+ "title": "Radix NG Primitives ng-add options",
5
+ "type": "object",
6
+ "properties": {
7
+ "skipInstall": {
8
+ "description": "Skip package manager install after updating package.json.",
9
+ "type": "boolean",
10
+ "default": false
11
+ }
12
+ },
13
+ "additionalProperties": false
14
+ }
package/select/README.md CHANGED
@@ -1 +1,3 @@
1
1
  # @radix-ng/primitives/select
2
+
3
+ Secondary entry point of `@radix-ng/primitives`. It can be used by importing from `@radix-ng/primitives/select`.
@@ -1,16 +1,15 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Signal, ElementRef, InputSignalWithTransform, InputSignal, ModelSignal } from '@angular/core';
2
+ import { Signal, WritableSignal, ElementRef, InputSignalWithTransform, InputSignal, ModelSignal } from '@angular/core';
3
3
  import * as _radix_ng_primitives_accordion from '@radix-ng/primitives/accordion';
4
4
  import * as i1 from '@radix-ng/primitives/collapsible';
5
- import { BooleanInput } from '@angular/cdk/coercion';
6
- import { Direction } from '@angular/cdk/bidi';
7
- import { DataOrientation } from '@radix-ng/primitives/core';
5
+ import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
6
+ import { BooleanInput, Direction, DataOrientation, AcceptableValue } from '@radix-ng/primitives/core';
8
7
 
9
8
  declare class RdxAccordionContentDirective {
10
9
  protected readonly rootContext: _radix_ng_primitives_accordion.AccordionRootContext;
11
10
  protected readonly itemContext: _radix_ng_primitives_accordion.AccordionItemContext;
12
11
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAccordionContentDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionContentDirective, "[rdxAccordionContent]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxCollapsibleContentDirective; inputs: {}; outputs: {}; }]>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionContentDirective, "[rdxAccordionContent]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxCollapsiblePanelDirective; inputs: {}; outputs: {}; }]>;
14
13
  }
15
14
 
16
15
  declare class RdxAccordionHeaderDirective {
@@ -24,14 +23,15 @@ type RdxAccordionItemState = 'open' | 'closed';
24
23
  type AccordionItemContext = {
25
24
  open: Signal<boolean>;
26
25
  disabled: Signal<boolean>;
27
- triggerId: string;
26
+ triggerId: WritableSignal<string>;
28
27
  dataState: Signal<RdxAccordionItemState>;
29
28
  dataDisabled: Signal<boolean>;
30
29
  currentElement: ElementRef<HTMLElement>;
31
30
  value: Signal<string | undefined>;
32
31
  updateOpen: () => void;
32
+ index: Signal<number>;
33
33
  };
34
- declare const injectAccordionItemContext: (optional?: boolean) => AccordionItemContext | null;
34
+ declare const injectAccordionItemContext: _radix_ng_primitives_core.InjectContext<AccordionItemContext>;
35
35
  declare const provideAccordionItemContext: (useFactory: () => AccordionItemContext) => i0.Provider;
36
36
  /**
37
37
  * @group Components
@@ -51,17 +51,24 @@ declare class RdxAccordionItemDirective {
51
51
  * @group Props
52
52
  */
53
53
  readonly disabled: i0.InputSignalWithTransform<boolean, BooleanInput>;
54
+ /**
55
+ * Event handler called when the panel open state changes.
56
+ * @group Emits
57
+ */
58
+ readonly onOpenChange: i0.OutputEmitterRef<boolean>;
54
59
  readonly isDisabled: Signal<boolean>;
55
- readonly open: Signal<any>;
60
+ readonly open: Signal<boolean>;
56
61
  readonly dataState: Signal<RdxAccordionItemState>;
62
+ /** Set by the trigger; links the content's `aria-labelledby` to the trigger `id`. */
63
+ readonly triggerId: WritableSignal<string>;
64
+ readonly index: Signal<number>;
57
65
  constructor();
58
66
  updateOpen: () => void;
59
67
  handleArrowKey(event: Event): void;
60
68
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAccordionItemDirective, never>;
61
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionItemDirective, "[rdxAccordionItem]", ["rdxAccordionItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RdxCollapsibleRootDirective; inputs: { "disabled": "disabled"; "open": "open"; }; outputs: {}; }]>;
69
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionItemDirective, "[rdxAccordionItem]", ["rdxAccordionItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "onOpenChange": "onOpenChange"; }, never, never, true, [{ directive: typeof i1.RdxCollapsibleRootDirective; inputs: { "disabled": "disabled"; "open": "open"; }; outputs: {}; }]>;
62
70
  }
63
71
 
64
- type AcceptableValue = string | Record<string, any> | null;
65
72
  type AccordionRootContext = {
66
73
  disabled: InputSignalWithTransform<boolean, BooleanInput>;
67
74
  direction: InputSignal<Direction>;
@@ -69,10 +76,12 @@ type AccordionRootContext = {
69
76
  value: ModelSignal<AcceptableValue | AcceptableValue[] | undefined>;
70
77
  collapsible: Signal<boolean>;
71
78
  isSingle: Signal<boolean>;
79
+ loopFocus: InputSignalWithTransform<boolean, BooleanInput>;
80
+ keepMounted: InputSignalWithTransform<boolean, BooleanInput>;
72
81
  elementRef: ElementRef<HTMLElement>;
73
82
  changeModelValue: (value: string) => void;
74
83
  };
75
- declare const injectAccordionRootContext: (optional?: boolean) => AccordionRootContext | null;
84
+ declare const injectAccordionRootContext: _radix_ng_primitives_core.InjectContext<AccordionRootContext>;
76
85
  declare const provideAccordionRootContext: (useFactory: () => AccordionRootContext) => i0.Provider;
77
86
  /**
78
87
  * @group Components
@@ -127,17 +136,43 @@ declare class RdxAccordionRootDirective {
127
136
  */
128
137
  readonly type: InputSignal<"multiple" | "single">;
129
138
  /**
130
- * Event handler called when the expanded state of an item changes and type is "multiple".
139
+ * Allow multiple panels to be open simultaneously.
140
+ * Takes precedence over `type` when `true`.
141
+ *
142
+ * @defaultValue false
143
+ * @group Props
144
+ */
145
+ readonly multiple: InputSignalWithTransform<boolean, BooleanInput>;
146
+ /**
147
+ * Whether keyboard focus wraps from the last item to the first and vice versa.
148
+ *
149
+ * @defaultValue true
150
+ * @group Props
151
+ */
152
+ readonly loopFocus: InputSignalWithTransform<boolean, BooleanInput>;
153
+ /**
154
+ * Whether to keep the content of collapsed items mounted in the DOM.
155
+ * When `true`, closed panels keep their element in the DOM instead of
156
+ * receiving a `hidden` attribute. Applies to the always-mounted
157
+ * `rdxAccordionContent`; the `rdxAccordionContentPresence` variant always
158
+ * unmounts.
159
+ *
160
+ * @defaultValue false
161
+ * @group Props
162
+ */
163
+ readonly keepMounted: InputSignalWithTransform<boolean, BooleanInput>;
164
+ /**
165
+ * Event handler called when the expanded state of an item changes.
131
166
  * @group Emits
132
167
  */
133
- readonly onValueChange: i0.OutputEmitterRef<void>;
168
+ readonly onValueChange: i0.OutputEmitterRef<AcceptableValue | AcceptableValue[] | undefined>;
134
169
  readonly isSingle: Signal<boolean>;
135
170
  constructor();
136
171
  changeModelValue: (newValue: string) => void;
137
172
  private isValueEqualOrExist;
138
173
  private isEqual;
139
174
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAccordionRootDirective, never>;
140
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionRootDirective, "[rdxAccordionRoot]", ["rdxAccordionRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, never>;
175
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionRootDirective, "[rdxAccordionRoot]", ["rdxAccordionRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "dir": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "keepMounted": { "alias": "keepMounted"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, never>;
141
176
  }
142
177
 
143
178
  declare class RdxAccordionTriggerDirective {
@@ -146,12 +181,12 @@ declare class RdxAccordionTriggerDirective {
146
181
  constructor();
147
182
  changeItem(): void;
148
183
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAccordionTriggerDirective, never>;
149
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionTriggerDirective, "[rdxAccordionTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxCollapsibleTriggerDirective; inputs: {}; outputs: {}; }]>;
184
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionTriggerDirective, "[rdxAccordionTrigger]", never, {}, {}, never, never, true, never>;
150
185
  }
151
186
 
152
187
  declare class RdxAccordionContentPresenceDirective {
153
188
  static ɵfac: i0.ɵɵFactoryDeclaration<RdxAccordionContentPresenceDirective, never>;
154
- static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionContentPresenceDirective, "ng-template[rdxAccordionContentPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxCollapsibleContentPresenceDirective; inputs: {}; outputs: {}; }]>;
189
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAccordionContentPresenceDirective, "ng-template[rdxAccordionContentPresence]", never, {}, {}, never, never, true, [{ directive: typeof i1.RdxCollapsiblePanelPresenceDirective; inputs: {}; outputs: {}; }]>;
155
190
  }
156
191
 
157
192
  declare class RdxAccordionModule {