@radix-ng/primitives 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/avatar/README.md +1 -0
  2. package/avatar/index.d.ts +4 -0
  3. package/avatar/src/avatar-fallback.directive.d.ts +34 -0
  4. package/avatar/src/avatar-image.directive.d.ts +17 -0
  5. package/avatar/src/avatar.config.d.ts +12 -0
  6. package/avatar/src/avatar.directive.d.ts +22 -0
  7. package/avatar/src/avatar.token.d.ts +4 -0
  8. package/checkbox/index.d.ts +1 -1
  9. package/esm2022/avatar/index.mjs +5 -0
  10. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +5 -0
  11. package/esm2022/avatar/src/avatar-fallback.directive.mjs +61 -0
  12. package/esm2022/avatar/src/avatar-image.directive.mjs +50 -0
  13. package/esm2022/avatar/src/avatar.config.mjs +17 -0
  14. package/esm2022/avatar/src/avatar.directive.mjs +38 -0
  15. package/esm2022/avatar/src/avatar.token.mjs +6 -0
  16. package/esm2022/checkbox/index.mjs +2 -2
  17. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +1 -1
  18. package/esm2022/checkbox/src/checkbox.directive.mjs +2 -2
  19. package/esm2022/checkbox/src/checkbox.token.mjs +2 -2
  20. package/esm2022/overlay/index.mjs +5 -0
  21. package/esm2022/overlay/radix-ng-primitives-overlay.mjs +5 -0
  22. package/esm2022/overlay/src/overlay-arrow.directive.mjs +59 -0
  23. package/esm2022/overlay/src/overlay-arrow.token.mjs +3 -0
  24. package/esm2022/overlay/src/overlay-trigger.directive.mjs +279 -0
  25. package/esm2022/overlay/src/overlay-trigger.token.mjs +9 -0
  26. package/esm2022/overlay/src/overlay.directive.mjs +51 -0
  27. package/esm2022/overlay/src/overlay.token.mjs +3 -0
  28. package/esm2022/progress/src/progress-indicator.directive.mjs +1 -1
  29. package/esm2022/progress/src/progress.directive.mjs +1 -1
  30. package/esm2022/progress/src/progress.token.mjs +2 -2
  31. package/esm2022/radio/index.mjs +6 -0
  32. package/esm2022/radio/radix-ng-primitives-radio.mjs +5 -0
  33. package/esm2022/radio/src/radio-group.directive.mjs +108 -0
  34. package/esm2022/radio/src/radio-group.token.mjs +6 -0
  35. package/esm2022/radio/src/radio-indicator.directive.mjs +30 -0
  36. package/esm2022/radio/src/radio-item.directive.mjs +79 -0
  37. package/esm2022/radio/src/radio-item.token.mjs +6 -0
  38. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +2 -2
  39. package/esm2022/roving-focus/src/roving-focus-group.token.mjs +2 -2
  40. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +2 -2
  41. package/esm2022/roving-focus/src/roving-focus-item.token.mjs +2 -2
  42. package/esm2022/separator/src/separator.directive.mjs +2 -2
  43. package/esm2022/switch/index.mjs +2 -2
  44. package/esm2022/switch/src/switch-thumb.directive.mjs +1 -1
  45. package/esm2022/switch/src/switch.directive.mjs +2 -2
  46. package/esm2022/switch/src/switch.token.mjs +2 -2
  47. package/esm2022/tooltip/index.mjs +5 -0
  48. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
  49. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +17 -0
  50. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +148 -0
  51. package/esm2022/tooltip/src/tooltip-trigger.token.mjs +6 -0
  52. package/esm2022/tooltip/src/tooltip.config.mjs +31 -0
  53. package/esm2022/tooltip/src/tooltip.directive.mjs +46 -0
  54. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +1 -1
  55. package/fesm2022/radix-ng-primitives-avatar.mjs +167 -0
  56. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -0
  57. package/fesm2022/radix-ng-primitives-checkbox.mjs +21 -21
  58. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  59. package/fesm2022/radix-ng-primitives-overlay.mjs +399 -0
  60. package/fesm2022/radix-ng-primitives-overlay.mjs.map +1 -0
  61. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-radio.mjs +221 -0
  63. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -0
  64. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  65. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-switch.mjs +23 -23
  67. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-tooltip.mjs +242 -0
  69. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
  70. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  71. package/overlay/README.md +1 -0
  72. package/overlay/index.d.ts +4 -0
  73. package/overlay/src/overlay-arrow.directive.d.ts +29 -0
  74. package/overlay/src/overlay-arrow.token.d.ts +3 -0
  75. package/overlay/src/overlay-trigger.directive.d.ts +163 -0
  76. package/overlay/src/overlay-trigger.token.d.ts +7 -0
  77. package/overlay/src/overlay.directive.d.ts +29 -0
  78. package/overlay/src/overlay.token.d.ts +3 -0
  79. package/package.json +29 -4
  80. package/radio/README.md +1 -0
  81. package/radio/index.d.ts +5 -0
  82. package/radio/src/radio-group.directive.d.ts +65 -0
  83. package/radio/src/radio-group.token.d.ts +4 -0
  84. package/radio/src/radio-indicator.directive.d.ts +13 -0
  85. package/radio/src/radio-item.directive.d.ts +36 -0
  86. package/radio/src/radio-item.token.d.ts +4 -0
  87. package/switch/index.d.ts +1 -1
  88. package/tooltip/README.md +1 -0
  89. package/tooltip/index.d.ts +4 -0
  90. package/tooltip/src/tooltip-arrow.directive.d.ts +6 -0
  91. package/tooltip/src/tooltip-trigger.directive.d.ts +79 -0
  92. package/tooltip/src/tooltip-trigger.token.d.ts +4 -0
  93. package/tooltip/src/tooltip.config.d.ts +46 -0
  94. package/tooltip/src/tooltip.directive.d.ts +17 -0
@@ -0,0 +1,242 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, InjectionToken, inject, booleanAttribute, numberAttribute, Input, HostListener } from '@angular/core';
3
+ import * as i1 from '@radix-ng/primitives/overlay';
4
+ import { OverlayArrowDirective, OverlayTriggerDirective, OverlayDirective } from '@radix-ng/primitives/overlay';
5
+
6
+ class TooltipArrowDirective {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: TooltipArrowDirective, isStandalone: true, selector: "[rdxTooltipArrow]", hostDirectives: [{ directive: i1.OverlayArrowDirective }], ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipArrowDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[rdxTooltipArrow]',
14
+ standalone: true,
15
+ hostDirectives: [OverlayArrowDirective]
16
+ }]
17
+ }] });
18
+
19
+ const TooltipTriggerToken = new InjectionToken('TooltipTriggerToken');
20
+ function injectTooltipTrigger() {
21
+ return inject(TooltipTriggerToken);
22
+ }
23
+
24
+ const TooltipConfigToken = new InjectionToken('TooltipConfig');
25
+ const defaultTooltipConfig = {
26
+ offset: 4,
27
+ placement: 'top',
28
+ showDelay: 0,
29
+ hideDelay: 0,
30
+ flip: true,
31
+ container: document.body
32
+ };
33
+ /**
34
+ * Provide the default Tooltip configuration
35
+ * @param config The Tooltip configuration
36
+ * @returns The provider
37
+ */
38
+ function provideTooltipConfig(config) {
39
+ return [
40
+ {
41
+ provide: TooltipConfigToken,
42
+ useValue: { ...defaultTooltipConfig, ...config }
43
+ }
44
+ ];
45
+ }
46
+ /**
47
+ * Inject the Tooltip configuration
48
+ * @returns The global Tooltip configuration
49
+ */
50
+ function injectTooltipConfig() {
51
+ return inject(TooltipConfigToken, { optional: true }) ?? defaultTooltipConfig;
52
+ }
53
+
54
+ /* eslint-disable @angular-eslint/no-input-rename */
55
+ class TooltipTriggerDirective {
56
+ constructor() {
57
+ /**
58
+ * Access the overlay trigger directive
59
+ */
60
+ this.overlayTrigger = inject(OverlayTriggerDirective);
61
+ /**
62
+ * Access the global tooltip configuration
63
+ */
64
+ this.tooltipConfig = injectTooltipConfig();
65
+ /**
66
+ * Define if the trigger should be disabled.
67
+ * @default false
68
+ */
69
+ this.disabled = false;
70
+ /**
71
+ * Define the placement of the tooltip relative to the trigger.
72
+ * @default 'bottom'
73
+ */
74
+ this.placement = this.tooltipConfig.placement;
75
+ /**
76
+ * Define the offset of the tooltip relative to the trigger.
77
+ * @default 0
78
+ */
79
+ this.offset = this.tooltipConfig.offset;
80
+ /**
81
+ * Define the delay before the tooltip is displayed.
82
+ * @default 0
83
+ */
84
+ this.showDelay = this.tooltipConfig.showDelay;
85
+ /**
86
+ * Define the delay before the tooltip is hidden.
87
+ * @default 0
88
+ */
89
+ this.hideDelay = this.tooltipConfig.hideDelay;
90
+ /**
91
+ * Define whether the tooltip should flip when there is not enough space for the tooltip.
92
+ * @default true
93
+ */
94
+ this.flip = this.tooltipConfig.flip;
95
+ /**
96
+ * Define the container in to which the tooltip should be attached.
97
+ * @default document.body
98
+ */
99
+ this.container = this.tooltipConfig.container;
100
+ }
101
+ ngOnInit() {
102
+ this.overlayTrigger.registerProvider({
103
+ provide: TooltipTriggerToken,
104
+ useValue: this
105
+ });
106
+ }
107
+ /**
108
+ * Show the tooltip.
109
+ */
110
+ show() {
111
+ this.overlayTrigger.show();
112
+ }
113
+ /**
114
+ * Hide the tooltip.
115
+ */
116
+ hide() {
117
+ this.overlayTrigger.hide();
118
+ }
119
+ /**
120
+ * Define the tooltip id.
121
+ * @param id The tooltip id
122
+ * @internal
123
+ */
124
+ setTooltipId(id) {
125
+ this.tooltipId = id;
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
128
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: TooltipTriggerDirective, isStandalone: true, selector: "[rdxTooltipTrigger]", inputs: { templateRef: ["rdxTooltipTrigger", "templateRef"], disabled: ["rdxTooltipDisabled", "disabled", booleanAttribute], placement: ["rdxTooltipPlacement", "placement"], offset: ["rdxTooltipOffset", "offset", numberAttribute], showDelay: ["rdxTooltipShowDelay", "showDelay", numberAttribute], hideDelay: ["rdxTooltipHideDelay", "hideDelay", numberAttribute], flip: ["rdxTooltipFlip", "flip", booleanAttribute], container: ["rdxTooltipContainer", "container"] }, host: { listeners: { "mouseenter": "show()", "focus": "show()", "mouseleave": "hide()", "blur": "hide()", "window:keydown.escape": "hide()" }, properties: { "attr.aria-describedby": "tooltipId" } }, hostDirectives: [{ directive: i1.OverlayTriggerDirective, inputs: ["rdxOverlayTrigger", "rdxTooltipTrigger", "rdxOverlayDisabled", "rdxTooltipDisabled", "rdxOverlayPlacement", "rdxTooltipPlacement", "rdxOverlayOffset", "rdxTooltipOffset", "rdxOverlayShowDelay", "rdxTooltipShowDelay", "rdxOverlayHideDelay", "rdxTooltipHideDelay", "rdxOverlayShift", "rdxTooltipShift", "rdxOverlayFlip", "rdxTooltipFlip", "rdxOverlayContainer", "rdxTooltipContainer"] }], ngImport: i0 }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipTriggerDirective, decorators: [{
131
+ type: Directive,
132
+ args: [{
133
+ selector: '[rdxTooltipTrigger]',
134
+ standalone: true,
135
+ host: {
136
+ '[attr.aria-describedby]': 'tooltipId'
137
+ },
138
+ hostDirectives: [
139
+ {
140
+ directive: OverlayTriggerDirective,
141
+ inputs: [
142
+ 'rdxOverlayTrigger: rdxTooltipTrigger',
143
+ 'rdxOverlayDisabled: rdxTooltipDisabled',
144
+ 'rdxOverlayPlacement: rdxTooltipPlacement',
145
+ 'rdxOverlayOffset: rdxTooltipOffset',
146
+ 'rdxOverlayShowDelay: rdxTooltipShowDelay',
147
+ 'rdxOverlayHideDelay: rdxTooltipHideDelay',
148
+ 'rdxOverlayShift: rdxTooltipShift',
149
+ 'rdxOverlayFlip: rdxTooltipFlip',
150
+ 'rdxOverlayContainer: rdxTooltipContainer'
151
+ ]
152
+ }
153
+ ]
154
+ }]
155
+ }], propDecorators: { templateRef: [{
156
+ type: Input,
157
+ args: [{ alias: 'rdxTooltipTrigger', required: true }]
158
+ }], disabled: [{
159
+ type: Input,
160
+ args: [{ alias: 'rdxTooltipDisabled', transform: booleanAttribute }]
161
+ }], placement: [{
162
+ type: Input,
163
+ args: ['rdxTooltipPlacement']
164
+ }], offset: [{
165
+ type: Input,
166
+ args: [{ alias: 'rdxTooltipOffset', transform: numberAttribute }]
167
+ }], showDelay: [{
168
+ type: Input,
169
+ args: [{ alias: 'rdxTooltipShowDelay', transform: numberAttribute }]
170
+ }], hideDelay: [{
171
+ type: Input,
172
+ args: [{ alias: 'rdxTooltipHideDelay', transform: numberAttribute }]
173
+ }], flip: [{
174
+ type: Input,
175
+ args: [{ alias: 'rdxTooltipFlip', transform: booleanAttribute }]
176
+ }], container: [{
177
+ type: Input,
178
+ args: ['rdxTooltipContainer']
179
+ }], show: [{
180
+ type: HostListener,
181
+ args: ['mouseenter']
182
+ }, {
183
+ type: HostListener,
184
+ args: ['focus']
185
+ }], hide: [{
186
+ type: HostListener,
187
+ args: ['mouseleave']
188
+ }, {
189
+ type: HostListener,
190
+ args: ['blur']
191
+ }, {
192
+ type: HostListener,
193
+ args: ['window:keydown.escape']
194
+ }] } });
195
+
196
+ /**
197
+ * A unique identifier for the tooltip
198
+ */
199
+ let uniqueId = 0;
200
+ class TooltipDirective {
201
+ constructor() {
202
+ /**
203
+ * Access the tooltip trigger
204
+ */
205
+ this.trigger = injectTooltipTrigger();
206
+ /**
207
+ * Define the tooltip id
208
+ */
209
+ this.id = `rdx-tooltip-${uniqueId++}`;
210
+ }
211
+ ngOnInit() {
212
+ this.trigger.setTooltipId(this.id);
213
+ }
214
+ ngOnChanges(changes) {
215
+ if ('id' in changes) {
216
+ this.trigger.setTooltipId(this.id);
217
+ }
218
+ }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
220
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: TooltipDirective, isStandalone: true, selector: "[rdxTooltip]", inputs: { id: "id" }, host: { attributes: { "role": "tooltip" } }, exportAs: ["rdxTooltip"], usesOnChanges: true, hostDirectives: [{ directive: i1.OverlayDirective }], ngImport: i0 }); }
221
+ }
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TooltipDirective, decorators: [{
223
+ type: Directive,
224
+ args: [{
225
+ selector: '[rdxTooltip]',
226
+ standalone: true,
227
+ exportAs: 'rdxTooltip',
228
+ hostDirectives: [OverlayDirective],
229
+ host: {
230
+ role: 'tooltip'
231
+ }
232
+ }]
233
+ }], propDecorators: { id: [{
234
+ type: Input
235
+ }] } });
236
+
237
+ /**
238
+ * Generated bundle index. Do not edit.
239
+ */
240
+
241
+ export { TooltipArrowDirective, TooltipConfigToken, TooltipDirective, TooltipTriggerDirective, injectTooltipConfig, provideTooltipConfig };
242
+ //# sourceMappingURL=radix-ng-primitives-tooltip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-tooltip.mjs","sources":["../../../packages/primitives/tooltip/src/tooltip-arrow.directive.ts","../../../packages/primitives/tooltip/src/tooltip-trigger.token.ts","../../../packages/primitives/tooltip/src/tooltip.config.ts","../../../packages/primitives/tooltip/src/tooltip-trigger.directive.ts","../../../packages/primitives/tooltip/src/tooltip.directive.ts","../../../packages/primitives/tooltip/radix-ng-primitives-tooltip.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\nimport { OverlayArrowDirective } from '@radix-ng/primitives/overlay';\n\n@Directive({\n selector: '[rdxTooltipArrow]',\n standalone: true,\n hostDirectives: [OverlayArrowDirective]\n})\nexport class TooltipArrowDirective {}\n","import { inject, InjectionToken } from '@angular/core';\n\nimport type { TooltipTriggerDirective } from './tooltip-trigger.directive';\n\nexport const TooltipTriggerToken = new InjectionToken<TooltipTriggerDirective>(\n 'TooltipTriggerToken'\n);\n\nexport function injectTooltipTrigger(): TooltipTriggerDirective {\n return inject(TooltipTriggerToken);\n}\n","import { inject, InjectionToken, Provider } from '@angular/core';\n\nimport { Placement } from '@floating-ui/dom';\n\nexport const TooltipConfigToken = new InjectionToken<TooltipConfig>('TooltipConfig');\n\nexport interface TooltipConfig {\n /**\n * Define the offset of the tooltip relative to the trigger.\n * @default 4\n */\n offset: number;\n\n /**\n * Define the placement of the tooltip relative to the trigger.\n * @default 'top'\n */\n placement: Placement;\n\n /**\n * Define the delay before the tooltip is shown.\n * @default 0\n */\n showDelay: number;\n\n /**\n * Define the delay before the tooltip is hidden.\n * @default 0\n */\n hideDelay: number;\n\n /**\n * Define whether the tooltip should flip when there is not enough space for the tooltip.\n * @default true\n */\n flip: boolean;\n\n /**\n * Define the container in to which the tooltip should be attached.\n * @default document.body\n */\n container: HTMLElement;\n}\n\nconst defaultTooltipConfig: TooltipConfig = {\n offset: 4,\n placement: 'top',\n showDelay: 0,\n hideDelay: 0,\n flip: true,\n container: document.body\n};\n\n/**\n * Provide the default Tooltip configuration\n * @param config The Tooltip configuration\n * @returns The provider\n */\nexport function provideTooltipConfig(config: Partial<TooltipConfig>): Provider[] {\n return [\n {\n provide: TooltipConfigToken,\n useValue: { ...defaultTooltipConfig, ...config }\n }\n ];\n}\n\n/**\n * Inject the Tooltip configuration\n * @returns The global Tooltip configuration\n */\nexport function injectTooltipConfig(): TooltipConfig {\n return inject(TooltipConfigToken, { optional: true }) ?? defaultTooltipConfig;\n}\n","/* eslint-disable @angular-eslint/no-input-rename */\nimport {\n booleanAttribute,\n Directive,\n HostListener,\n inject,\n Input,\n numberAttribute,\n OnInit,\n TemplateRef\n} from '@angular/core';\n\nimport { Placement } from '@floating-ui/dom';\nimport { OverlayTriggerDirective } from '@radix-ng/primitives/overlay';\n\nimport { TooltipTriggerToken } from './tooltip-trigger.token';\nimport { injectTooltipConfig } from './tooltip.config';\n\n@Directive({\n selector: '[rdxTooltipTrigger]',\n standalone: true,\n host: {\n '[attr.aria-describedby]': 'tooltipId'\n },\n hostDirectives: [\n {\n directive: OverlayTriggerDirective,\n inputs: [\n 'rdxOverlayTrigger: rdxTooltipTrigger',\n 'rdxOverlayDisabled: rdxTooltipDisabled',\n 'rdxOverlayPlacement: rdxTooltipPlacement',\n 'rdxOverlayOffset: rdxTooltipOffset',\n 'rdxOverlayShowDelay: rdxTooltipShowDelay',\n 'rdxOverlayHideDelay: rdxTooltipHideDelay',\n 'rdxOverlayShift: rdxTooltipShift',\n 'rdxOverlayFlip: rdxTooltipFlip',\n 'rdxOverlayContainer: rdxTooltipContainer'\n ]\n }\n ]\n})\nexport class TooltipTriggerDirective implements OnInit {\n /**\n * Access the overlay trigger directive\n */\n private readonly overlayTrigger = inject(OverlayTriggerDirective);\n\n /**\n * Access the global tooltip configuration\n */\n private readonly tooltipConfig = injectTooltipConfig();\n\n /**\n * Define the tooltip to display when the trigger is activated.\n */\n @Input({ alias: 'rdxTooltipTrigger', required: true }) templateRef!: TemplateRef<void>;\n\n /**\n * Define if the trigger should be disabled.\n * @default false\n */\n @Input({ alias: 'rdxTooltipDisabled', transform: booleanAttribute }) disabled = false;\n\n /**\n * Define the placement of the tooltip relative to the trigger.\n * @default 'bottom'\n */\n @Input('rdxTooltipPlacement') placement: Placement = this.tooltipConfig.placement;\n\n /**\n * Define the offset of the tooltip relative to the trigger.\n * @default 0\n */\n @Input({ alias: 'rdxTooltipOffset', transform: numberAttribute }) offset: number =\n this.tooltipConfig.offset;\n\n /**\n * Define the delay before the tooltip is displayed.\n * @default 0\n */\n @Input({ alias: 'rdxTooltipShowDelay', transform: numberAttribute }) showDelay: number =\n this.tooltipConfig.showDelay;\n\n /**\n * Define the delay before the tooltip is hidden.\n * @default 0\n */\n @Input({ alias: 'rdxTooltipHideDelay', transform: numberAttribute }) hideDelay: number =\n this.tooltipConfig.hideDelay;\n\n /**\n * Define whether the tooltip should flip when there is not enough space for the tooltip.\n * @default true\n */\n @Input({ alias: 'rdxTooltipFlip', transform: booleanAttribute }) flip: boolean =\n this.tooltipConfig.flip;\n\n /**\n * Define the container in to which the tooltip should be attached.\n * @default document.body\n */\n @Input('rdxTooltipContainer') container: HTMLElement = this.tooltipConfig.container;\n\n /**\n * The tooltip id.\n */\n protected tooltipId?: string;\n\n ngOnInit(): void {\n this.overlayTrigger.registerProvider({\n provide: TooltipTriggerToken,\n useValue: this\n });\n }\n\n /**\n * Show the tooltip.\n */\n @HostListener('mouseenter')\n @HostListener('focus')\n show(): void {\n this.overlayTrigger.show();\n }\n\n /**\n * Hide the tooltip.\n */\n @HostListener('mouseleave')\n @HostListener('blur')\n @HostListener('window:keydown.escape')\n hide(): void {\n this.overlayTrigger.hide();\n }\n\n /**\n * Define the tooltip id.\n * @param id The tooltip id\n * @internal\n */\n setTooltipId(id: string) {\n this.tooltipId = id;\n }\n}\n","import { Directive, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport { OverlayDirective } from '@radix-ng/primitives/overlay';\n\nimport { injectTooltipTrigger } from './tooltip-trigger.token';\n\n/**\n * A unique identifier for the tooltip\n */\nlet uniqueId = 0;\n\n@Directive({\n selector: '[rdxTooltip]',\n standalone: true,\n exportAs: 'rdxTooltip',\n hostDirectives: [OverlayDirective],\n host: {\n role: 'tooltip'\n }\n})\nexport class TooltipDirective implements OnInit, OnChanges {\n /**\n * Access the tooltip trigger\n */\n private readonly trigger = injectTooltipTrigger();\n\n /**\n * Define the tooltip id\n */\n @Input() id = `rdx-tooltip-${uniqueId++}`;\n\n ngOnInit(): void {\n this.trigger.setTooltipId(this.id);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('id' in changes) {\n this.trigger.setTooltipId(this.id);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -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/radix-ng-primitives-visually-hidden.ts"],"sourcesContent":["import { Directive, ElementRef, OnInit, inject } from '@angular/core';\n\n@Directive({\n selector: '[rdxVisuallyHidden]',\n standalone: true\n})\nexport class VisuallyHiddenDirective implements OnInit {\n /**\n * Access the element.\n */\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n // hide the element\n Object.assign(this.element.nativeElement.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 whiteSpace: 'nowrap',\n wordWrap: 'normal',\n // Avoid browsers rendering the focus ring in some cases.\n outline: 'none',\n appearance: 'none',\n // Avoid some cases where the browser will still render the native controls\n '-webkit-appearance': 'none',\n '-moz-appearance': 'none',\n left: 0\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,uBAAuB,CAAA;AAJpC,IAAA,WAAA,GAAA;AAKI;;AAEG;AACc,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AAwB1E,KAAA;IAtBG,QAAQ,GAAA;;QAEJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5C,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,QAAQ,EAAE,QAAQ;;AAElB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,MAAM;;AAElB,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,iBAAiB,EAAE,MAAM;AACzB,YAAA,IAAI,EAAE,CAAC;AACV,SAAA,CAAC,CAAC;KACN;8GA3BQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"radix-ng-primitives-visually-hidden.mjs","sources":["../../../packages/primitives/visually-hidden/src/visually-hidden.directive.ts","../../../packages/primitives/visually-hidden/radix-ng-primitives-visually-hidden.ts"],"sourcesContent":["import { Directive, ElementRef, inject, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[rdxVisuallyHidden]',\n standalone: true\n})\nexport class VisuallyHiddenDirective implements OnInit {\n /**\n * Access the element.\n */\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n ngOnInit(): void {\n // hide the element\n Object.assign(this.element.nativeElement.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 whiteSpace: 'nowrap',\n wordWrap: 'normal',\n // Avoid browsers rendering the focus ring in some cases.\n outline: 'none',\n appearance: 'none',\n // Avoid some cases where the browser will still render the native controls\n '-webkit-appearance': 'none',\n '-moz-appearance': 'none',\n left: 0\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,uBAAuB,CAAA;AAJpC,IAAA,WAAA,GAAA;AAKI;;AAEG;AACc,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AAwB1E,KAAA;IAtBG,QAAQ,GAAA;;QAEJ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5C,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,QAAQ,EAAE,QAAQ;;AAElB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,MAAM;;AAElB,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,iBAAiB,EAAE,MAAM;AACzB,YAAA,IAAI,EAAE,CAAC;AACV,SAAA,CAAC,CAAC;KACN;8GA3BQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;ACLD;;AAEG;;;;"}
@@ -0,0 +1 @@
1
+ # @radix-ng/primitives/overlay
@@ -0,0 +1,4 @@
1
+ export * from './src/overlay-arrow.directive';
2
+ export * from './src/overlay-trigger.directive';
3
+ export * from './src/overlay-trigger.token';
4
+ export * from './src/overlay.directive';
@@ -0,0 +1,29 @@
1
+ import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Placement } from '@floating-ui/dom';
3
+ import * as i0 from "@angular/core";
4
+ export declare class OverlayArrowDirective implements OnInit, OnDestroy {
5
+ /**
6
+ * Access the arrow element
7
+ */
8
+ readonly elementRef: ElementRef<any>;
9
+ /**
10
+ * Access the overlay trigger
11
+ */
12
+ private readonly overlayTrigger;
13
+ /**
14
+ * Register the arrow on init
15
+ * @internal
16
+ */
17
+ ngOnInit(): void;
18
+ /**
19
+ * Unregister the arrow on destroy
20
+ * @internal
21
+ */
22
+ ngOnDestroy(): void;
23
+ /**
24
+ * Define the position of the arrow.
25
+ */
26
+ setPosition(placement: Placement, arrowX?: number, arrowY?: number): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayArrowDirective, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OverlayArrowDirective, "[rdxOverlayArrow]", never, {}, {}, never, never, true, never>;
29
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { OverlayArrowDirective } from './overlay-arrow.directive';
3
+ export declare const OverlayArrowToken: InjectionToken<OverlayArrowDirective>;
@@ -0,0 +1,163 @@
1
+ import { StaticProvider, TemplateRef } from '@angular/core';
2
+ import { Placement } from '@floating-ui/dom';
3
+ import type { OverlayArrowDirective } from './overlay-arrow.directive';
4
+ import type { OverlayDirective } from './overlay.directive';
5
+ import * as i0 from "@angular/core";
6
+ export declare class OverlayTriggerDirective {
7
+ /**
8
+ * Access the application ref
9
+ */
10
+ private readonly appRef;
11
+ /**
12
+ * Access the component factory resolver
13
+ */
14
+ private readonly componentFactoryResolver;
15
+ /**
16
+ * Access the injector
17
+ */
18
+ private readonly injector;
19
+ /**
20
+ * Access the trigger element
21
+ */
22
+ private readonly trigger;
23
+ /**
24
+ * Access the view container
25
+ */
26
+ private readonly viewContainer;
27
+ /**
28
+ * Define the overlay to display when the trigger is activated.
29
+ */
30
+ templateRef: TemplateRef<void>;
31
+ /**
32
+ * Define if the trigger should be disabled.
33
+ * @default false
34
+ */
35
+ disabled: boolean;
36
+ /**
37
+ * Define the placement of the overlay relative to the trigger.
38
+ * @default 'bottom'
39
+ */
40
+ placement: Placement;
41
+ /**
42
+ * Define the offset of the overlay relative to the trigger.
43
+ * @default 4
44
+ */
45
+ offset: number;
46
+ /**
47
+ * Define the delay before the overlay is displayed.
48
+ * @default 0
49
+ */
50
+ showDelay: number;
51
+ /**
52
+ * Define the delay before the overlay is hidden.
53
+ * @default 0
54
+ */
55
+ hideDelay: number;
56
+ /**
57
+ * Define whether the overlay should shift when the overlay is near the edge of the viewport.
58
+ * @default true
59
+ */
60
+ shift: boolean;
61
+ /**
62
+ * Define whether the overlay should flip when there is not enough space for the overlay.
63
+ * @default true
64
+ */
65
+ flip: boolean;
66
+ /**
67
+ * Define the container in to which the overlay should be attached.
68
+ * @default document.body
69
+ */
70
+ container: HTMLElement;
71
+ /**
72
+ * Store the overlay content instance.
73
+ */
74
+ private overlay;
75
+ /**
76
+ * Store the overlay arrow instance.
77
+ */
78
+ private arrow;
79
+ /**
80
+ * Store the view ref
81
+ */
82
+ private viewRef;
83
+ /**
84
+ * Store the show delay timeout
85
+ */
86
+ private showDelayTimeout;
87
+ /**
88
+ * Store the hide delay timeout
89
+ */
90
+ private hideDelayTimeout;
91
+ /**
92
+ * Store the dispose function
93
+ */
94
+ private dispose?;
95
+ /**
96
+ * Store additional providers to register on the overlay.
97
+ */
98
+ private readonly providers;
99
+ /**
100
+ * Determine the state of the overlay.
101
+ */
102
+ private get isOpen();
103
+ /**
104
+ * Determine the state of the overlay.
105
+ */
106
+ protected get state(): 'closed' | 'opening' | 'open' | 'closing';
107
+ /**
108
+ * Create the overlay.
109
+ */
110
+ private createOverlay;
111
+ /**
112
+ * Update the overlay position.
113
+ */
114
+ private updateOverlayPosition;
115
+ /**
116
+ * Destroy the overlay.
117
+ */
118
+ private destroyOverlay;
119
+ /**
120
+ * Show the overlay.
121
+ */
122
+ show(): void;
123
+ /**
124
+ * Hide the overlay.
125
+ */
126
+ hide(): void;
127
+ /**
128
+ * Register the overlay.
129
+ * @param overlay The overlay to register.
130
+ * @internal
131
+ */
132
+ registerOverlay(overlay: OverlayDirective): void;
133
+ /**
134
+ * Unregister the overlay.
135
+ * @internal
136
+ */
137
+ unregisterOverlay(): void;
138
+ /**
139
+ * Register the arrow.
140
+ * @param arrow The arrow to register.
141
+ * @internal
142
+ */
143
+ registerArrow(arrow: OverlayArrowDirective): void;
144
+ /**
145
+ * Unregister the arrow.
146
+ * @internal
147
+ */
148
+ unregisterArrow(): void;
149
+ /**
150
+ * Register a provider on the overlay.
151
+ * @param provider The provider to register.
152
+ * @internal
153
+ */
154
+ registerProvider(provider: StaticProvider): void;
155
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayTriggerDirective, never>;
156
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OverlayTriggerDirective, "[rdxOverlayTrigger]", ["rdxOverlayTrigger"], { "templateRef": { "alias": "rdxOverlayTrigger"; "required": true; }; "disabled": { "alias": "rdxOverlayDisabled"; "required": false; }; "placement": { "alias": "rdxOverlayPlacement"; "required": false; }; "offset": { "alias": "rdxOverlayOffset"; "required": false; }; "showDelay": { "alias": "rdxOverlayShowDelay"; "required": false; }; "hideDelay": { "alias": "rdxOverlayHideDelay"; "required": false; }; "shift": { "alias": "rdxOverlayShift"; "required": false; }; "flip": { "alias": "rdxOverlayFlip"; "required": false; }; "container": { "alias": "rdxOverlayContainer"; "required": false; }; }, {}, never, never, true, never>;
157
+ static ngAcceptInputType_disabled: unknown;
158
+ static ngAcceptInputType_offset: unknown;
159
+ static ngAcceptInputType_showDelay: unknown;
160
+ static ngAcceptInputType_hideDelay: unknown;
161
+ static ngAcceptInputType_shift: unknown;
162
+ static ngAcceptInputType_flip: unknown;
163
+ }
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { OverlayTriggerDirective } from './overlay-trigger.directive';
3
+ export declare const OverlayTriggerToken: InjectionToken<OverlayTriggerDirective>;
4
+ /**
5
+ * Inject the overlay trigger directive
6
+ */
7
+ export declare function injectOverlayTrigger(): OverlayTriggerDirective;
@@ -0,0 +1,29 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class OverlayDirective implements OnInit, OnDestroy {
4
+ /**
5
+ * Access the overlay element
6
+ */
7
+ private readonly elementRef;
8
+ /**
9
+ * Access the overlay trigger
10
+ */
11
+ private readonly overlayTrigger;
12
+ /**
13
+ * Register the overlay on init
14
+ */
15
+ ngOnInit(): void;
16
+ /**
17
+ * Unregister the overlay on destroy
18
+ */
19
+ ngOnDestroy(): void;
20
+ /**
21
+ * Set the position of the overlay
22
+ * @param x The x position
23
+ * @param y The y position
24
+ * @internal
25
+ */
26
+ setPosition(x?: number, y?: number): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayDirective, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<OverlayDirective, "[rdxOverlay]", never, {}, {}, never, never, true, never>;
29
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { OverlayDirective } from './overlay.directive';
3
+ export declare const OverlayToken: InjectionToken<OverlayDirective>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ng/primitives",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -21,6 +21,10 @@
21
21
  "@angular/core": "^17.0.0",
22
22
  "@angular/cdk": "^17.0.0"
23
23
  },
24
+ "dependencies": {
25
+ "@floating-ui/dom": "^1.6.3",
26
+ "tslib": "^2.3.0"
27
+ },
24
28
  "sideEffects": false,
25
29
  "module": "fesm2022/radix-ng-primitives.mjs",
26
30
  "typings": "index.d.ts",
@@ -34,6 +38,12 @@
34
38
  "esm": "./esm2022/radix-ng-primitives.mjs",
35
39
  "default": "./fesm2022/radix-ng-primitives.mjs"
36
40
  },
41
+ "./avatar": {
42
+ "types": "./avatar/index.d.ts",
43
+ "esm2022": "./esm2022/avatar/radix-ng-primitives-avatar.mjs",
44
+ "esm": "./esm2022/avatar/radix-ng-primitives-avatar.mjs",
45
+ "default": "./fesm2022/radix-ng-primitives-avatar.mjs"
46
+ },
37
47
  "./checkbox": {
38
48
  "types": "./checkbox/index.d.ts",
39
49
  "esm2022": "./esm2022/checkbox/radix-ng-primitives-checkbox.mjs",
@@ -46,12 +56,24 @@
46
56
  "esm": "./esm2022/label/radix-ng-primitives-label.mjs",
47
57
  "default": "./fesm2022/radix-ng-primitives-label.mjs"
48
58
  },
59
+ "./overlay": {
60
+ "types": "./overlay/index.d.ts",
61
+ "esm2022": "./esm2022/overlay/radix-ng-primitives-overlay.mjs",
62
+ "esm": "./esm2022/overlay/radix-ng-primitives-overlay.mjs",
63
+ "default": "./fesm2022/radix-ng-primitives-overlay.mjs"
64
+ },
49
65
  "./progress": {
50
66
  "types": "./progress/index.d.ts",
51
67
  "esm2022": "./esm2022/progress/radix-ng-primitives-progress.mjs",
52
68
  "esm": "./esm2022/progress/radix-ng-primitives-progress.mjs",
53
69
  "default": "./fesm2022/radix-ng-primitives-progress.mjs"
54
70
  },
71
+ "./radio": {
72
+ "types": "./radio/index.d.ts",
73
+ "esm2022": "./esm2022/radio/radix-ng-primitives-radio.mjs",
74
+ "esm": "./esm2022/radio/radix-ng-primitives-radio.mjs",
75
+ "default": "./fesm2022/radix-ng-primitives-radio.mjs"
76
+ },
55
77
  "./roving-focus": {
56
78
  "types": "./roving-focus/index.d.ts",
57
79
  "esm2022": "./esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs",
@@ -70,14 +92,17 @@
70
92
  "esm": "./esm2022/switch/radix-ng-primitives-switch.mjs",
71
93
  "default": "./fesm2022/radix-ng-primitives-switch.mjs"
72
94
  },
95
+ "./tooltip": {
96
+ "types": "./tooltip/index.d.ts",
97
+ "esm2022": "./esm2022/tooltip/radix-ng-primitives-tooltip.mjs",
98
+ "esm": "./esm2022/tooltip/radix-ng-primitives-tooltip.mjs",
99
+ "default": "./fesm2022/radix-ng-primitives-tooltip.mjs"
100
+ },
73
101
  "./visually-hidden": {
74
102
  "types": "./visually-hidden/index.d.ts",
75
103
  "esm2022": "./esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs",
76
104
  "esm": "./esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs",
77
105
  "default": "./fesm2022/radix-ng-primitives-visually-hidden.mjs"
78
106
  }
79
- },
80
- "dependencies": {
81
- "tslib": "^2.3.0"
82
107
  }
83
108
  }
@@ -0,0 +1 @@
1
+ # @radix-ng/primitives/radio
@@ -0,0 +1,5 @@
1
+ export * from './src/radio-group.directive';
2
+ export * from './src/radio-group.token';
3
+ export * from './src/radio-indicator.directive';
4
+ export * from './src/radio-item.directive';
5
+ export * from './src/radio-item.token';