@radix-ng/primitives 0.25.0 → 0.27.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.
- package/compodoc/documentation.json +25078 -12716
- package/core/src/positioning/constants.d.ts +2 -1
- package/core/src/positioning/types.d.ts +16 -5
- package/fesm2022/radix-ng-primitives-core.mjs +22 -9
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-hover-card.mjs +1213 -0
- package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-popover.mjs +20 -29
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +984 -355
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/hover-card/README.md +3 -0
- package/hover-card/index.d.ts +20 -0
- package/hover-card/src/hover-card-anchor.directive.d.ts +28 -0
- package/hover-card/src/hover-card-anchor.token.d.ts +3 -0
- package/hover-card/src/hover-card-arrow.directive.d.ts +40 -0
- package/hover-card/src/hover-card-arrow.token.d.ts +3 -0
- package/hover-card/src/hover-card-close.directive.d.ts +18 -0
- package/hover-card/src/hover-card-close.token.d.ts +3 -0
- package/hover-card/src/hover-card-content-attributes.component.d.ts +25 -0
- package/hover-card/src/hover-card-content-attributes.token.d.ts +3 -0
- package/hover-card/src/hover-card-content.directive.d.ts +104 -0
- package/hover-card/src/hover-card-root.directive.d.ts +168 -0
- package/hover-card/src/hover-card-root.inject.d.ts +3 -0
- package/hover-card/src/hover-card-trigger.directive.d.ts +26 -0
- package/hover-card/src/hover-card.types.d.ts +18 -0
- package/hover-card/src/utils/cdk-event.service.d.ts +30 -0
- package/hover-card/src/utils/constants.d.ts +1 -0
- package/hover-card/src/utils/types.d.ts +7 -0
- package/package.json +5 -1
- package/popover/src/popover-arrow.directive.d.ts +3 -2
- package/popover/src/popover-content.directive.d.ts +6 -5
- package/popover/src/popover-root.directive.d.ts +8 -8
- package/popover/src/popover-trigger.directive.d.ts +1 -1
- package/tooltip/README.md +2 -0
- package/tooltip/index.d.ts +9 -6
- package/tooltip/src/tooltip-anchor.directive.d.ts +28 -0
- package/tooltip/src/tooltip-anchor.token.d.ts +3 -0
- package/tooltip/src/tooltip-arrow.directive.d.ts +18 -16
- package/tooltip/src/tooltip-close.directive.d.ts +18 -0
- package/tooltip/src/tooltip-close.token.d.ts +3 -0
- package/tooltip/src/tooltip-content-attributes.component.d.ts +25 -0
- package/tooltip/src/tooltip-content-attributes.token.d.ts +3 -0
- package/tooltip/src/tooltip-content.directive.d.ts +85 -16
- package/tooltip/src/tooltip-root.directive.d.ts +121 -59
- package/tooltip/src/tooltip-root.inject.d.ts +3 -0
- package/tooltip/src/tooltip-trigger.directive.d.ts +11 -11
- package/tooltip/src/tooltip.types.d.ts +18 -7
- package/tooltip/src/utils/cdk-event.service.d.ts +30 -0
- package/tooltip/src/utils/constants.d.ts +1 -0
- package/tooltip/src/utils/types.d.ts +7 -0
- package/popover/src/popover.constants.d.ts +0 -6
- package/tooltip/src/tooltip-content-attributes.directive.d.ts +0 -8
- package/tooltip/src/tooltip-content.token.d.ts +0 -3
- package/tooltip/src/tooltip.config.d.ts +0 -6
@@ -18,14 +18,25 @@ export type RdxPositionSideAndAlignOffsets = {
|
|
18
18
|
sideOffset: number;
|
19
19
|
alignOffset: number;
|
20
20
|
};
|
21
|
-
export type RdxPositions = {
|
22
|
-
[key in RdxPositionSide]: {
|
23
|
-
[key in RdxPositionAlign]: ConnectionPositionPair
|
24
|
-
}
|
25
|
-
}
|
21
|
+
export type RdxPositions = Readonly<{
|
22
|
+
[key in RdxPositionSide]: Readonly<{
|
23
|
+
[key in RdxPositionAlign]: Readonly<ConnectionPositionPair>;
|
24
|
+
}>;
|
25
|
+
}>;
|
26
|
+
export type RdxPositioningDefaults = Readonly<{
|
27
|
+
offsets: Readonly<{
|
28
|
+
side: number;
|
29
|
+
align: number;
|
30
|
+
}>;
|
31
|
+
arrow: Readonly<{
|
32
|
+
width: number;
|
33
|
+
height: number;
|
34
|
+
}>;
|
35
|
+
}>;
|
26
36
|
export type RdxAllPossibleConnectedPositions = ReadonlyMap<`${RdxPositionSide}|${RdxPositionAlign}`, ConnectionPositionPair>;
|
27
37
|
export type RdxArrowPositionParams = {
|
28
38
|
top: string;
|
29
39
|
left: string;
|
30
40
|
transform: string;
|
41
|
+
transformOrigin: string;
|
31
42
|
};
|
@@ -280,6 +280,16 @@ const RDX_POSITIONS = {
|
|
280
280
|
}
|
281
281
|
}
|
282
282
|
};
|
283
|
+
const RDX_POSITIONING_DEFAULTS = {
|
284
|
+
offsets: {
|
285
|
+
side: 4,
|
286
|
+
align: 0
|
287
|
+
},
|
288
|
+
arrow: {
|
289
|
+
width: 8,
|
290
|
+
height: 6
|
291
|
+
}
|
292
|
+
};
|
283
293
|
|
284
294
|
function getContentPosition(sideAndAlignWithOffsets) {
|
285
295
|
const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;
|
@@ -344,7 +354,8 @@ function getArrowPositionParams(sideAndAlign, arrowWidthAndHeight, triggerWidthA
|
|
344
354
|
const posParams = {
|
345
355
|
top: '',
|
346
356
|
left: '',
|
347
|
-
transform: ''
|
357
|
+
transform: '',
|
358
|
+
transformOrigin: 'center center 0px'
|
348
359
|
};
|
349
360
|
if ([RdxPositionSide.Top, RdxPositionSide.Bottom].includes(sideAndAlign.side)) {
|
350
361
|
if (sideAndAlign.side === RdxPositionSide.Top) {
|
@@ -366,21 +377,23 @@ function getArrowPositionParams(sideAndAlign, arrowWidthAndHeight, triggerWidthA
|
|
366
377
|
}
|
367
378
|
else if ([RdxPositionSide.Left, RdxPositionSide.Right].includes(sideAndAlign.side)) {
|
368
379
|
if (sideAndAlign.side === RdxPositionSide.Left) {
|
369
|
-
posParams.left = `100
|
370
|
-
posParams.transform = `rotate(-90deg)
|
380
|
+
posParams.left = `calc(100% - ${arrowWidthAndHeight.width}px)`;
|
381
|
+
posParams.transform = `rotate(-90deg)`;
|
382
|
+
posParams.transformOrigin = 'top right 0px';
|
371
383
|
}
|
372
384
|
else {
|
373
|
-
posParams.left =
|
374
|
-
posParams.transform = `rotate(90deg)
|
385
|
+
posParams.left = `0`;
|
386
|
+
posParams.transform = `rotate(90deg)`;
|
387
|
+
posParams.transformOrigin = 'top left 0px';
|
375
388
|
}
|
376
389
|
if (sideAndAlign.align === RdxPositionAlign.Start) {
|
377
|
-
posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.
|
390
|
+
posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.width) / 2}px`;
|
378
391
|
}
|
379
392
|
else if (sideAndAlign.align === RdxPositionAlign.Center) {
|
380
|
-
posParams.top = `calc(50% - ${arrowWidthAndHeight.
|
393
|
+
posParams.top = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;
|
381
394
|
}
|
382
395
|
else if (sideAndAlign.align === RdxPositionAlign.End) {
|
383
|
-
posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.
|
396
|
+
posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.width) / 2}px)`;
|
384
397
|
}
|
385
398
|
}
|
386
399
|
return posParams;
|
@@ -390,5 +403,5 @@ function getArrowPositionParams(sideAndAlign, arrowWidthAndHeight, triggerWidthA
|
|
390
403
|
* Generated bundle index. Do not edit.
|
391
404
|
*/
|
392
405
|
|
393
|
-
export { RDX_POSITIONS, RdxAutoFocusDirective, RdxPositionAlign, RdxPositionSide, WINDOW, _IdGenerator, getAllPossibleConnectedPositions, getArrowPositionParams, getContentPosition, getSideAndAlignFromAllPossibleConnectedPositions, injectDocument, injectIsClient, injectNgControl, injectWindow, isInsideForm, provideValueAccessor };
|
406
|
+
export { RDX_POSITIONING_DEFAULTS, RDX_POSITIONS, RdxAutoFocusDirective, RdxPositionAlign, RdxPositionSide, WINDOW, _IdGenerator, getAllPossibleConnectedPositions, getArrowPositionParams, getContentPosition, getSideAndAlignFromAllPossibleConnectedPositions, injectDocument, injectIsClient, injectNgControl, injectWindow, isInsideForm, provideValueAccessor };
|
394
407
|
//# sourceMappingURL=radix-ng-primitives-core.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-core.mjs","sources":["../../../packages/primitives/core/src/accessor/provide-value-accessor.ts","../../../packages/primitives/core/src/auto-focus.directive.ts","../../../packages/primitives/core/src/document.ts","../../../packages/primitives/core/src/id-generator.ts","../../../packages/primitives/core/src/inject-ng-control.ts","../../../packages/primitives/core/src/is-client.ts","../../../packages/primitives/core/src/is-inside-form.ts","../../../packages/primitives/core/src/window.ts","../../../packages/primitives/core/src/positioning/types.ts","../../../packages/primitives/core/src/positioning/constants.ts","../../../packages/primitives/core/src/positioning/utils.ts","../../../packages/primitives/core/radix-ng-primitives-core.ts"],"sourcesContent":["import { Provider, Type } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.\n *\n * ```ts\n * @Directive({\n * providers: [provideValueAccessor(ExampleDirective)]\n *}\n * export class ExampleDirective{}\n * ```\n */\nexport function provideValueAccessor(type: Type<never>): Provider {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting: type,\n multi: true\n };\n}\n","import { booleanAttribute, Directive, ElementRef, inject, Input, NgZone } from '@angular/core';\n\n/*\n * <div [rdxAutoFocus]=\"true\"></div>\n */\n\n@Directive({\n selector: '[rdxAutoFocus]',\n standalone: true\n})\nexport class RdxAutoFocusDirective {\n #elementRef = inject(ElementRef);\n #ngZone = inject(NgZone);\n\n private _autoSelect = false;\n\n /**\n * @default false\n */\n @Input({ alias: 'rdxAutoFocus', transform: booleanAttribute })\n set autoFocus(value: boolean) {\n if (value) {\n // Note: Running this outside Angular's zone because `element.focus()` does not trigger change detection.\n this.#ngZone.runOutsideAngular(() =>\n // Note: `element.focus()` causes re-layout which might lead to frame drops on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask executed within the current rendering frame.\n // Animation tasks are executed in the next rendering frame.\n reqAnimationFrame(() => {\n this.#elementRef.nativeElement.focus();\n if (this._autoSelect && this.#elementRef.nativeElement.select) {\n this.#elementRef.nativeElement.select();\n }\n })\n );\n }\n }\n\n // Setter for autoSelect attribute to enable text selection when autoFocus is true.\n @Input({ transform: booleanAttribute })\n set autoSelect(value: boolean) {\n this._autoSelect = value;\n }\n}\n\nconst availablePrefixes = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\n let lastTime = 0;\n\n return function (callback: FrameRequestCallback): number {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n\n const id = setTimeout(() => {\n callback(currTime + timeToCall);\n }, timeToCall) as any;\n\n lastTime = currTime + timeToCall;\n\n return id;\n };\n}\n\n// Function to get the appropriate requestAnimationFrame method with fallback to polyfill.\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\n if (typeof window === 'undefined') {\n return () => 0;\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? (window as any)[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\n// Get the requestAnimationFrame function or its polyfill.\nconst reqAnimationFrame = getRequestAnimationFrame();\n","import { DOCUMENT } from '@angular/common';\nimport { inject } from '@angular/core';\n\nexport function injectDocument(): Document {\n return inject(DOCUMENT);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { APP_ID, inject, Injectable } from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic\n * like they were before the service was introduced. Note that ideally we wouldn't have to do\n * this, but there are some internal tests that rely on the IDs.\n */\nconst counters: Record<string, number> = {};\n\n/** Service that generates unique IDs for DOM nodes. */\n@Injectable({ providedIn: 'root' })\nexport class _IdGenerator {\n private readonly _appId = inject(APP_ID);\n\n /**\n * Generates a unique ID with a specific prefix.\n * @param prefix Prefix to add to the ID.\n */\n getId(prefix: string): string {\n // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n // Angular app on them, we can reduce the amount of breakages by not adding it.\n if (this._appId !== 'ng') {\n prefix += this._appId;\n }\n\n if (!Object.prototype.hasOwnProperty.call(counters, prefix)) {\n counters[prefix] = 0;\n }\n\n return `${prefix}${counters[prefix]++}`;\n }\n}\n","import { inject } from '@angular/core';\nimport { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';\n\nexport function injectNgControl(params: {\n optional: true;\n}): FormControlDirective | FormControlName | NgModel | undefined;\nexport function injectNgControl(params: { optional: false }): FormControlDirective | FormControlName | NgModel;\nexport function injectNgControl(): FormControlDirective | FormControlName | NgModel;\n\nexport function injectNgControl(params?: { optional: true } | { optional: false }) {\n const ngControl = inject(NgControl, { self: true, optional: true });\n\n if (!params?.optional && !ngControl) throw new Error('NgControl not found');\n\n if (\n ngControl instanceof FormControlDirective ||\n ngControl instanceof FormControlName ||\n ngControl instanceof NgModel\n ) {\n return ngControl;\n }\n\n if (params?.optional) {\n return undefined;\n }\n\n throw new Error('NgControl is not an instance of FormControlDirective, FormControlName or NgModel');\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { inject } from '@angular/core';\n\nexport function injectIsClient() {\n return inject(Platform).isBrowser;\n}\n","import { ElementRef } from '@angular/core';\n\nexport function isInsideForm(el: ElementRef<HTMLElement> | null): boolean {\n if (!el || !el.nativeElement) {\n return true;\n }\n return Boolean(el.nativeElement.closest('form'));\n}\n","import { inject, InjectionToken } from '@angular/core';\nimport { injectDocument } from './document';\n\nexport const WINDOW = new InjectionToken<Window & typeof globalThis>('An abstraction over global window object', {\n factory: () => {\n const { defaultView } = injectDocument();\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n return defaultView;\n }\n});\n\nexport function injectWindow(): Window & typeof globalThis {\n return inject(WINDOW);\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport enum RdxPositionSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum RdxPositionAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport type RdxPositionSideAndAlign = { side: RdxPositionSide; align: RdxPositionAlign };\nexport type RdxPositionSideAndAlignOffsets = { sideOffset: number; alignOffset: number };\n\nexport type RdxPositions = {\n [key in RdxPositionSide]: {\n [key in RdxPositionAlign]: ConnectionPositionPair;\n };\n};\n\nexport type RdxAllPossibleConnectedPositions = ReadonlyMap<\n `${RdxPositionSide}|${RdxPositionAlign}`,\n ConnectionPositionPair\n>;\nexport type RdxArrowPositionParams = {\n top: string;\n left: string;\n transform: string;\n};\n","import { RdxPositionAlign, RdxPositions, RdxPositionSide } from './types';\n\nexport const RDX_POSITIONS: RdxPositions = {\n [RdxPositionSide.Top]: {\n [RdxPositionAlign.Center]: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n },\n [RdxPositionSide.Right]: {\n [RdxPositionAlign.Center]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n [RdxPositionAlign.Start]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n },\n [RdxPositionSide.Bottom]: {\n [RdxPositionAlign.Center]: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n },\n [RdxPositionSide.Left]: {\n [RdxPositionAlign.Center]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n }\n} as const;\n","import { ConnectedPosition, ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { RDX_POSITIONS } from './constants';\nimport {\n RdxAllPossibleConnectedPositions,\n RdxArrowPositionParams,\n RdxPositionAlign,\n RdxPositionSide,\n RdxPositionSideAndAlign,\n RdxPositionSideAndAlignOffsets\n} from './types';\n\nexport function getContentPosition(\n sideAndAlignWithOffsets: RdxPositionSideAndAlign & RdxPositionSideAndAlignOffsets\n): ConnectedPosition {\n const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;\n const position = {\n ...(RDX_POSITIONS[side]?.[align] ?? RDX_POSITIONS[RdxPositionSide.Top][RdxPositionAlign.Center])\n };\n if (sideOffset || alignOffset) {\n if ([RdxPositionSide.Top, RdxPositionSide.Bottom].includes(side)) {\n if (sideOffset) {\n position.offsetY = side === RdxPositionSide.Top ? -sideOffset : sideOffset;\n }\n if (alignOffset) {\n position.offsetX = alignOffset;\n }\n } else {\n if (sideOffset) {\n position.offsetX = side === RdxPositionSide.Left ? -sideOffset : sideOffset;\n }\n if (alignOffset) {\n position.offsetY = alignOffset;\n }\n }\n }\n return position;\n}\n\nlet allPossibleConnectedPositions: RdxAllPossibleConnectedPositions;\nexport function getAllPossibleConnectedPositions() {\n if (!allPossibleConnectedPositions) {\n allPossibleConnectedPositions = new Map();\n }\n if (allPossibleConnectedPositions.size < 1) {\n for (const [side, aligns] of Object.entries(RDX_POSITIONS)) {\n for (const [align, position] of Object.entries(aligns)) {\n (allPossibleConnectedPositions as Map<any, any>).set(`${side}|${align}`, position);\n }\n }\n }\n return allPossibleConnectedPositions;\n}\n\nexport function getSideAndAlignFromAllPossibleConnectedPositions(\n position: ConnectionPositionPair\n): RdxPositionSideAndAlign {\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n let sideAndAlign: RdxPositionSideAndAlign | undefined;\n allPossibleConnectedPositions.forEach((value, key) => {\n if (\n position.originX === value.originX &&\n position.originY === value.originY &&\n position.overlayX === value.overlayX &&\n position.overlayY === value.overlayY\n ) {\n const sideAndAlignArray = key.split('|');\n sideAndAlign = {\n side: sideAndAlignArray[0] as RdxPositionSide,\n align: sideAndAlignArray[1] as RdxPositionAlign\n };\n }\n });\n if (!sideAndAlign) {\n throw Error(\n `[Rdx positioning] cannot infer both side and align from the given position (${JSON.stringify(position)})`\n );\n }\n return sideAndAlign;\n}\n\nexport function getArrowPositionParams(\n sideAndAlign: RdxPositionSideAndAlign,\n arrowWidthAndHeight: { width: number; height: number },\n triggerWidthAndHeight: { width: number; height: number }\n): RdxArrowPositionParams {\n const posParams: RdxArrowPositionParams = {\n top: '',\n left: '',\n transform: ''\n };\n\n if ([RdxPositionSide.Top, RdxPositionSide.Bottom].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPositionSide.Top) {\n posParams.top = '100%';\n } else {\n posParams.top = `-${arrowWidthAndHeight.height}px`;\n posParams.transform = `rotate(180deg)`;\n }\n\n if (sideAndAlign.align === RdxPositionAlign.Start) {\n posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n } else if (sideAndAlign.align === RdxPositionAlign.Center) {\n posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;\n } else if (sideAndAlign.align === RdxPositionAlign.End) {\n posParams.left = `calc(100% - ${(triggerWidthAndHeight.width + arrowWidthAndHeight.width) / 2}px)`;\n }\n } else if ([RdxPositionSide.Left, RdxPositionSide.Right].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPositionSide.Left) {\n posParams.left = `100%`;\n posParams.transform = `rotate(-90deg) translate(0, -50%)`;\n } else {\n posParams.left = `-${arrowWidthAndHeight.width}px`;\n posParams.transform = `rotate(90deg) translate(0, -50%)`;\n }\n\n if (sideAndAlign.align === RdxPositionAlign.Start) {\n posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;\n } else if (sideAndAlign.align === RdxPositionAlign.Center) {\n posParams.top = `calc(50% - ${arrowWidthAndHeight.height / 2}px)`;\n } else if (sideAndAlign.align === RdxPositionAlign.End) {\n posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.height) / 2}px)`;\n }\n }\n\n return posParams;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"radix-ng-primitives-core.mjs","sources":["../../../packages/primitives/core/src/accessor/provide-value-accessor.ts","../../../packages/primitives/core/src/auto-focus.directive.ts","../../../packages/primitives/core/src/document.ts","../../../packages/primitives/core/src/id-generator.ts","../../../packages/primitives/core/src/inject-ng-control.ts","../../../packages/primitives/core/src/is-client.ts","../../../packages/primitives/core/src/is-inside-form.ts","../../../packages/primitives/core/src/window.ts","../../../packages/primitives/core/src/positioning/types.ts","../../../packages/primitives/core/src/positioning/constants.ts","../../../packages/primitives/core/src/positioning/utils.ts","../../../packages/primitives/core/radix-ng-primitives-core.ts"],"sourcesContent":["import { Provider, Type } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.\n *\n * ```ts\n * @Directive({\n * providers: [provideValueAccessor(ExampleDirective)]\n *}\n * export class ExampleDirective{}\n * ```\n */\nexport function provideValueAccessor(type: Type<never>): Provider {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting: type,\n multi: true\n };\n}\n","import { booleanAttribute, Directive, ElementRef, inject, Input, NgZone } from '@angular/core';\n\n/*\n * <div [rdxAutoFocus]=\"true\"></div>\n */\n\n@Directive({\n selector: '[rdxAutoFocus]',\n standalone: true\n})\nexport class RdxAutoFocusDirective {\n #elementRef = inject(ElementRef);\n #ngZone = inject(NgZone);\n\n private _autoSelect = false;\n\n /**\n * @default false\n */\n @Input({ alias: 'rdxAutoFocus', transform: booleanAttribute })\n set autoFocus(value: boolean) {\n if (value) {\n // Note: Running this outside Angular's zone because `element.focus()` does not trigger change detection.\n this.#ngZone.runOutsideAngular(() =>\n // Note: `element.focus()` causes re-layout which might lead to frame drops on slower devices.\n // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#setting-focus\n // `setTimeout` is a macrotask executed within the current rendering frame.\n // Animation tasks are executed in the next rendering frame.\n reqAnimationFrame(() => {\n this.#elementRef.nativeElement.focus();\n if (this._autoSelect && this.#elementRef.nativeElement.select) {\n this.#elementRef.nativeElement.select();\n }\n })\n );\n }\n }\n\n // Setter for autoSelect attribute to enable text selection when autoFocus is true.\n @Input({ transform: booleanAttribute })\n set autoSelect(value: boolean) {\n this._autoSelect = value;\n }\n}\n\nconst availablePrefixes = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\n let lastTime = 0;\n\n return function (callback: FrameRequestCallback): number {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n\n const id = setTimeout(() => {\n callback(currTime + timeToCall);\n }, timeToCall) as any;\n\n lastTime = currTime + timeToCall;\n\n return id;\n };\n}\n\n// Function to get the appropriate requestAnimationFrame method with fallback to polyfill.\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\n if (typeof window === 'undefined') {\n return () => 0;\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? (window as any)[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\n// Get the requestAnimationFrame function or its polyfill.\nconst reqAnimationFrame = getRequestAnimationFrame();\n","import { DOCUMENT } from '@angular/common';\nimport { inject } from '@angular/core';\n\nexport function injectDocument(): Document {\n return inject(DOCUMENT);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport { APP_ID, inject, Injectable } from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic\n * like they were before the service was introduced. Note that ideally we wouldn't have to do\n * this, but there are some internal tests that rely on the IDs.\n */\nconst counters: Record<string, number> = {};\n\n/** Service that generates unique IDs for DOM nodes. */\n@Injectable({ providedIn: 'root' })\nexport class _IdGenerator {\n private readonly _appId = inject(APP_ID);\n\n /**\n * Generates a unique ID with a specific prefix.\n * @param prefix Prefix to add to the ID.\n */\n getId(prefix: string): string {\n // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n // Angular app on them, we can reduce the amount of breakages by not adding it.\n if (this._appId !== 'ng') {\n prefix += this._appId;\n }\n\n if (!Object.prototype.hasOwnProperty.call(counters, prefix)) {\n counters[prefix] = 0;\n }\n\n return `${prefix}${counters[prefix]++}`;\n }\n}\n","import { inject } from '@angular/core';\nimport { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';\n\nexport function injectNgControl(params: {\n optional: true;\n}): FormControlDirective | FormControlName | NgModel | undefined;\nexport function injectNgControl(params: { optional: false }): FormControlDirective | FormControlName | NgModel;\nexport function injectNgControl(): FormControlDirective | FormControlName | NgModel;\n\nexport function injectNgControl(params?: { optional: true } | { optional: false }) {\n const ngControl = inject(NgControl, { self: true, optional: true });\n\n if (!params?.optional && !ngControl) throw new Error('NgControl not found');\n\n if (\n ngControl instanceof FormControlDirective ||\n ngControl instanceof FormControlName ||\n ngControl instanceof NgModel\n ) {\n return ngControl;\n }\n\n if (params?.optional) {\n return undefined;\n }\n\n throw new Error('NgControl is not an instance of FormControlDirective, FormControlName or NgModel');\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { inject } from '@angular/core';\n\nexport function injectIsClient() {\n return inject(Platform).isBrowser;\n}\n","import { ElementRef } from '@angular/core';\n\nexport function isInsideForm(el: ElementRef<HTMLElement> | null): boolean {\n if (!el || !el.nativeElement) {\n return true;\n }\n return Boolean(el.nativeElement.closest('form'));\n}\n","import { inject, InjectionToken } from '@angular/core';\nimport { injectDocument } from './document';\n\nexport const WINDOW = new InjectionToken<Window & typeof globalThis>('An abstraction over global window object', {\n factory: () => {\n const { defaultView } = injectDocument();\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n return defaultView;\n }\n});\n\nexport function injectWindow(): Window & typeof globalThis {\n return inject(WINDOW);\n}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport enum RdxPositionSide {\n Top = 'top',\n Right = 'right',\n Bottom = 'bottom',\n Left = 'left'\n}\n\nexport enum RdxPositionAlign {\n Start = 'start',\n Center = 'center',\n End = 'end'\n}\n\nexport type RdxPositionSideAndAlign = { side: RdxPositionSide; align: RdxPositionAlign };\nexport type RdxPositionSideAndAlignOffsets = { sideOffset: number; alignOffset: number };\n\nexport type RdxPositions = Readonly<{\n [key in RdxPositionSide]: Readonly<{\n [key in RdxPositionAlign]: Readonly<ConnectionPositionPair>;\n }>;\n}>;\n\nexport type RdxPositioningDefaults = Readonly<{\n offsets: Readonly<{\n side: number;\n align: number;\n }>;\n arrow: Readonly<{\n width: number;\n height: number;\n }>;\n}>;\n\nexport type RdxAllPossibleConnectedPositions = ReadonlyMap<\n `${RdxPositionSide}|${RdxPositionAlign}`,\n ConnectionPositionPair\n>;\nexport type RdxArrowPositionParams = {\n top: string;\n left: string;\n transform: string;\n transformOrigin: string;\n};\n","import { RdxPositionAlign, RdxPositioningDefaults, RdxPositions, RdxPositionSide } from './types';\n\nexport const RDX_POSITIONS: RdxPositions = {\n [RdxPositionSide.Top]: {\n [RdxPositionAlign.Center]: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n },\n [RdxPositionSide.Right]: {\n [RdxPositionAlign.Center]: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n [RdxPositionAlign.Start]: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n },\n [RdxPositionSide.Bottom]: {\n [RdxPositionAlign.Center]: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n },\n [RdxPositionSide.Left]: {\n [RdxPositionAlign.Center]: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n [RdxPositionAlign.Start]: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n [RdxPositionAlign.End]: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n }\n} as const;\n\nexport const RDX_POSITIONING_DEFAULTS: RdxPositioningDefaults = {\n offsets: {\n side: 4,\n align: 0\n },\n arrow: {\n width: 8,\n height: 6\n }\n} as const;\n","import { ConnectedPosition, ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { RDX_POSITIONS } from './constants';\nimport {\n RdxAllPossibleConnectedPositions,\n RdxArrowPositionParams,\n RdxPositionAlign,\n RdxPositionSide,\n RdxPositionSideAndAlign,\n RdxPositionSideAndAlignOffsets\n} from './types';\n\nexport function getContentPosition(\n sideAndAlignWithOffsets: RdxPositionSideAndAlign & RdxPositionSideAndAlignOffsets\n): ConnectedPosition {\n const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;\n const position: ConnectedPosition = {\n ...(RDX_POSITIONS[side]?.[align] ?? RDX_POSITIONS[RdxPositionSide.Top][RdxPositionAlign.Center])\n };\n if (sideOffset || alignOffset) {\n if ([RdxPositionSide.Top, RdxPositionSide.Bottom].includes(side)) {\n if (sideOffset) {\n position.offsetY = side === RdxPositionSide.Top ? -sideOffset : sideOffset;\n }\n if (alignOffset) {\n position.offsetX = alignOffset;\n }\n } else {\n if (sideOffset) {\n position.offsetX = side === RdxPositionSide.Left ? -sideOffset : sideOffset;\n }\n if (alignOffset) {\n position.offsetY = alignOffset;\n }\n }\n }\n return position;\n}\n\nlet allPossibleConnectedPositions: RdxAllPossibleConnectedPositions;\nexport function getAllPossibleConnectedPositions() {\n if (!allPossibleConnectedPositions) {\n allPossibleConnectedPositions = new Map();\n }\n if (allPossibleConnectedPositions.size < 1) {\n for (const [side, aligns] of Object.entries(RDX_POSITIONS)) {\n for (const [align, position] of Object.entries(aligns)) {\n (allPossibleConnectedPositions as Map<any, any>).set(`${side}|${align}`, position);\n }\n }\n }\n return allPossibleConnectedPositions;\n}\n\nexport function getSideAndAlignFromAllPossibleConnectedPositions(\n position: ConnectionPositionPair\n): RdxPositionSideAndAlign {\n const allPossibleConnectedPositions = getAllPossibleConnectedPositions();\n let sideAndAlign: RdxPositionSideAndAlign | undefined;\n allPossibleConnectedPositions.forEach((value, key) => {\n if (\n position.originX === value.originX &&\n position.originY === value.originY &&\n position.overlayX === value.overlayX &&\n position.overlayY === value.overlayY\n ) {\n const sideAndAlignArray = key.split('|');\n sideAndAlign = {\n side: sideAndAlignArray[0] as RdxPositionSide,\n align: sideAndAlignArray[1] as RdxPositionAlign\n };\n }\n });\n if (!sideAndAlign) {\n throw Error(\n `[Rdx positioning] cannot infer both side and align from the given position (${JSON.stringify(position)})`\n );\n }\n return sideAndAlign;\n}\n\nexport function getArrowPositionParams(\n sideAndAlign: RdxPositionSideAndAlign,\n arrowWidthAndHeight: { width: number; height: number },\n triggerWidthAndHeight: { width: number; height: number }\n): RdxArrowPositionParams {\n const posParams: RdxArrowPositionParams = {\n top: '',\n left: '',\n transform: '',\n transformOrigin: 'center center 0px'\n };\n\n if ([RdxPositionSide.Top, RdxPositionSide.Bottom].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPositionSide.Top) {\n posParams.top = '100%';\n } else {\n posParams.top = `-${arrowWidthAndHeight.height}px`;\n posParams.transform = `rotate(180deg)`;\n }\n\n if (sideAndAlign.align === RdxPositionAlign.Start) {\n posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;\n } else if (sideAndAlign.align === RdxPositionAlign.Center) {\n posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;\n } else if (sideAndAlign.align === RdxPositionAlign.End) {\n posParams.left = `calc(100% - ${(triggerWidthAndHeight.width + arrowWidthAndHeight.width) / 2}px)`;\n }\n } else if ([RdxPositionSide.Left, RdxPositionSide.Right].includes(sideAndAlign.side)) {\n if (sideAndAlign.side === RdxPositionSide.Left) {\n posParams.left = `calc(100% - ${arrowWidthAndHeight.width}px)`;\n posParams.transform = `rotate(-90deg)`;\n posParams.transformOrigin = 'top right 0px';\n } else {\n posParams.left = `0`;\n posParams.transform = `rotate(90deg)`;\n posParams.transformOrigin = 'top left 0px';\n }\n\n if (sideAndAlign.align === RdxPositionAlign.Start) {\n posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.width) / 2}px`;\n } else if (sideAndAlign.align === RdxPositionAlign.Center) {\n posParams.top = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;\n } else if (sideAndAlign.align === RdxPositionAlign.End) {\n posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.width) / 2}px)`;\n }\n }\n\n return posParams;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|