@frame-ui-ng/components 0.1.0-beta.0 → 0.3.0-beta.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/accordion/src/styles/_vars.css +25 -25
- package/accordion/src/styles/accordion.css +105 -87
- package/alert/src/styles/_vars.css +28 -28
- package/badge/src/styles/_vars.css +19 -16
- package/badge/src/styles/badge.css +132 -125
- package/breadcrumb/src/styles/_vars.css +17 -16
- package/breadcrumb/src/styles/breadcrumb.css +110 -98
- package/button/src/styles/_vars.css +20 -20
- package/button/src/styles/button.css +66 -9
- package/button-group/src/styles/button-group.css +100 -69
- package/calendar/src/styles/_vars.css +29 -29
- package/calendar/src/styles/calendar.css +247 -226
- package/card/src/styles/_vars.css +17 -17
- package/checkbox/src/styles/_vars.css +22 -22
- package/collapsible/src/styles/collapsible.css +55 -42
- package/combobox/src/styles/_vars.css +61 -60
- package/combobox/src/styles/combobox.css +295 -285
- package/command/src/styles/_vars.css +47 -37
- package/command/src/styles/command.css +236 -171
- package/date-picker/src/styles/_vars.css +30 -29
- package/date-picker/src/styles/date-picker.css +203 -177
- package/dropdown-menu/src/styles/_vars.css +34 -34
- package/dropdown-menu/src/styles/dropdown-menu-item.css +87 -87
- package/fesm2022/frame-ui-ng-components-accordion.mjs +26 -11
- package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-badge.mjs +1 -0
- package/fesm2022/frame-ui-ng-components-badge.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-button.mjs +1 -1
- package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-calendar.mjs +369 -263
- package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-command.mjs +20 -2
- package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-date-picker.mjs +232 -226
- package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +45 -22
- package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-input.mjs +6 -3
- package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-select.mjs +6 -3
- package/fesm2022/frame-ui-ng-components-select.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-sidebar.mjs +47 -4
- package/fesm2022/frame-ui-ng-components-sidebar.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-toast.mjs +152 -142
- package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components-tooltip.mjs +263 -254
- package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
- package/fesm2022/frame-ui-ng-components.mjs +745 -531
- package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
- package/input/src/styles/_vars.css +65 -65
- package/input/src/styles/input-group.css +164 -112
- package/input/src/styles/input.css +197 -163
- package/input-otp/src/styles/_vars.css +21 -21
- package/item/src/styles/_vars.css +34 -34
- package/menubar/src/styles/_vars.css +22 -22
- package/modal/src/styles/_vars.css +19 -18
- package/modal/src/styles/modal.css +202 -179
- package/navigation-menu/src/styles/_vars.css +45 -45
- package/package.json +12 -3
- package/pagination/src/styles/_vars.css +22 -22
- package/pagination/src/styles/pagination.css +158 -138
- package/progress/src/styles/_vars.css +15 -15
- package/radio-group/src/styles/_vars.css +29 -29
- package/radio-group/src/styles/radio-group.css +146 -137
- package/resizable/src/styles/_vars.css +20 -20
- package/select/src/styles/_vars.css +28 -28
- package/select/src/styles/select-trigger.css +109 -95
- package/separator/src/styles/_vars.css +9 -9
- package/sheet/src/styles/_vars.css +20 -18
- package/sheet/src/styles/sheet.css +220 -215
- package/sidebar/src/styles/sidebar.css +544 -531
- package/slider/src/styles/_vars.css +17 -17
- package/src/styles/blueprint.css +659 -0
- package/src/styles/components.css +47 -47
- package/styles/blueprint.css +659 -0
- package/styles/components.css +47 -47
- package/styles.css +49 -49
- package/switch/src/styles/_vars.css +34 -34
- package/switch/src/styles/switch.css +130 -131
- package/tabs/src/styles/_vars.css +23 -23
- package/textarea/src/styles/_vars.css +20 -20
- package/textarea/src/styles/textarea.css +62 -60
- package/toast/src/styles/_vars.css +48 -47
- package/toast/src/styles/toast.css +279 -314
- package/toggle/src/styles/_vars.css +24 -24
- package/tooltip/src/styles/_vars.css +21 -21
- package/tooltip/src/styles/tooltip.css +99 -103
- package/types/frame-ui-ng-components-accordion.d.ts +3 -1
- package/types/frame-ui-ng-components-badge.d.ts +2 -2
- package/types/frame-ui-ng-components-calendar.d.ts +14 -0
- package/types/frame-ui-ng-components-command.d.ts +7 -2
- package/types/frame-ui-ng-components-context-menu.d.ts +2 -2
- package/types/frame-ui-ng-components-date-picker.d.ts +3 -1
- package/types/frame-ui-ng-components-dropdown-menu.d.ts +3 -3
- package/types/frame-ui-ng-components-input.d.ts +6 -3
- package/types/frame-ui-ng-components-select.d.ts +6 -3
- package/types/frame-ui-ng-components-sidebar.d.ts +8 -1
- package/types/frame-ui-ng-components-tooltip.d.ts +43 -73
- package/types/frame-ui-ng-components.d.ts +91 -55
- package/virtual-scroll/src/styles/virtual-scroll.css +54 -54
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-ui-ng-components-tooltip.mjs","sources":["../../../projects/components/tooltip/src/tooltip.position.ts","../../../projects/components/tooltip/src/tooltip.tokens.ts","../../../projects/components/tooltip/src/tooltip.content.ts","../../../projects/components/tooltip/src/tooltip.root.ts","../../../projects/components/tooltip/src/tooltip.trigger.ts","../../../projects/components/tooltip/src/tooltip.types.ts","../../../projects/components/tooltip/tooltip.module.ts","../../../projects/components/tooltip/frame-ui-ng-components-tooltip.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\n\nimport { FrTooltipAlignment, FrTooltipSide } from './tooltip.types';\n\nexport function buildTooltipPositions(options: {\n align: FrTooltipAlignment;\n alignOffset: number;\n side: FrTooltipSide;\n sideOffset: number;\n}): ConnectedPosition[] {\n const primary = buildPosition(options.side, options);\n const opposite = oppositeSide(options.side);\n const fallback = buildPosition(opposite, {\n align: options.align,\n alignOffset: options.alignOffset,\n sideOffset: options.sideOffset,\n });\n\n return [primary, fallback];\n}\n\nfunction buildPosition(\n side: FrTooltipSide,\n options: {\n align: FrTooltipAlignment;\n alignOffset: number;\n sideOffset: number;\n },\n): ConnectedPosition {\n if (side === 'top' || side === 'bottom') {\n const isBottom = side === 'bottom';\n\n return {\n originX: options.align,\n originY: isBottom ? 'bottom' : 'top',\n overlayX: options.align,\n overlayY: isBottom ? 'top' : 'bottom',\n offsetX: options.alignOffset,\n offsetY: isBottom ? options.sideOffset : -options.sideOffset,\n };\n }\n\n const isRight = side === 'right';\n\n return {\n originX: isRight ? 'end' : 'start',\n originY: verticalPosition(options.align),\n overlayX: isRight ? 'start' : 'end',\n overlayY: verticalPosition(options.align),\n offsetX: isRight ? options.sideOffset : -options.sideOffset,\n offsetY: options.alignOffset,\n };\n}\n\nfunction verticalPosition(align: FrTooltipAlignment): 'top' | 'center' | 'bottom' {\n if (align === 'center') {\n return 'center';\n }\n\n return align === 'start' ? 'top' : 'bottom';\n}\n\nfunction oppositeSide(side: FrTooltipSide): FrTooltipSide {\n if (side === 'top') {\n return 'bottom';\n }\n\n if (side === 'bottom') {\n return 'top';\n }\n\n if (side === 'left') {\n return 'right';\n }\n\n return 'left';\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type FrTooltipController = {\n isOpen(): boolean;\n overlaySide(): string;\n registerTrigger(trigger: HTMLElement): void;\n setContent(content: unknown | null): void;\n openWithDelay(): void;\n closeWithDelay(): void;\n open(): void;\n close(): void;\n};\n\nexport const FR_TOOLTIP_CONTROLLER = new InjectionToken<FrTooltipController>('FR_TOOLTIP_CONTROLLER');\n","import { ConnectedPosition } from '@angular/cdk/overlay';\nimport { Directive, TemplateRef, booleanAttribute, inject, input } from '@angular/core';\n\nimport { buildTooltipPositions } from './tooltip.position';\nimport { FR_TOOLTIP_CONTROLLER } from './tooltip.tokens';\nimport { FrTooltipAlignment, FrTooltipSide } from './tooltip.types';\n\nlet nextTooltipId = 0;\n\n@Directive({\n selector: 'ng-template[frTooltipContent]',\n exportAs: 'frTooltipContent',\n})\nexport class FrTooltipContent {\n readonly templateRef = inject(TemplateRef<unknown>);\n readonly id = `frame-tooltip-${nextTooltipId++}`;\n\n readonly align = input<FrTooltipAlignment>('center');\n readonly alignOffset = input(0);\n readonly arrow = input(false, { transform: booleanAttribute });\n readonly debugVisible = input(false, { transform: booleanAttribute });\n readonly side = input<FrTooltipSide>('top');\n readonly sideOffset = input(8);\n\n getPositions(): ConnectedPosition[] {\n return buildTooltipPositions({\n align: this.align(),\n alignOffset: this.alignOffset(),\n side: this.side(),\n sideOffset: this.sideOffset(),\n });\n }\n}\n\n@Directive({\n selector: '[frTooltipPanel]',\n host: {\n class: 'frame-tooltip__content',\n role: 'tooltip',\n '[id]': 'content.id',\n '[attr.data-side]': 'root.overlaySide()',\n '[attr.data-arrow]': 'content.arrow() ? \"\" : null',\n },\n})\nexport class FrTooltipPanel {\n protected readonly content = inject(FrTooltipContent);\n protected readonly root = inject(FR_TOOLTIP_CONTROLLER);\n}\n\n@Directive({\n selector: '[frTooltipShortcut]',\n host: {\n class: 'frame-tooltip__shortcut',\n },\n})\nexport class FrTooltipShortcut {}\n","import {\n CdkConnectedOverlay,\n CdkOverlayOrigin,\n ConnectedOverlayPositionChange,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n afterNextRender,\n booleanAttribute,\n computed,\n input,\n output,\n signal,\n ElementRef,\n inject,\n} from '@angular/core';\n\nimport { FrTooltipContent } from './tooltip.content';\nimport { buildTooltipPositions } from './tooltip.position';\nimport { FR_TOOLTIP_CONTROLLER } from './tooltip.tokens';\n\nconst DEFAULT_POSITIONS: ConnectedPosition[] = buildTooltipPositions({\n align: 'center',\n alignOffset: 0,\n side: 'top',\n sideOffset: 8,\n});\n\nconst TOOLTIP_TOKEN_NAMES = [\n '--frame-tooltip-content-bg',\n '--frame-tooltip-content-color',\n '--frame-tooltip-content-border',\n '--frame-tooltip-content-radius',\n '--frame-tooltip-content-shadow',\n '--frame-tooltip-content-padding',\n '--frame-tooltip-content-max-width',\n '--frame-tooltip-content-font-size',\n '--frame-tooltip-content-font-weight',\n '--frame-tooltip-content-line-height',\n '--frame-tooltip-arrow-size',\n '--frame-tooltip-motion-duration',\n '--frame-tooltip-motion-distance',\n '--frame-tooltip-motion-scale',\n '--frame-tooltip-motion-easing',\n] as const;\n\n@Component({\n selector: 'frame-tooltip',\n exportAs: 'frTooltip',\n imports: [CdkConnectedOverlay, CdkOverlayOrigin, NgTemplateOutlet],\n providers: [\n {\n provide: FR_TOOLTIP_CONTROLLER,\n useExisting: FrTooltipRoot,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'frame-tooltip',\n '[attr.data-state]': 'isOpen() ? \"open\" : \"closed\"',\n },\n template: `\n <span cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"frame-tooltip__anchor\">\n <ng-content />\n </span>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions()\"\n [cdkConnectedOverlayPanelClass]=\"overlayPanelClasses()\"\n [cdkConnectedOverlayPush]=\"true\"\n [cdkConnectedOverlayViewportMargin]=\"8\"\n (detach)=\"close()\"\n (overlayKeydown)=\"handleOverlayKeydown($event)\"\n (positionChange)=\"handlePositionChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"content()?.templateRef ?? null\" />\n </ng-template>\n `,\n})\nexport class FrTooltipRoot {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly openDelay = input(700);\n readonly closeDelay = input(0);\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n readonly debugVisible = input(false, { transform: booleanAttribute });\n readonly openChange = output<boolean>();\n\n readonly isOpen = signal(false);\n readonly content = signal<FrTooltipContent | null>(null);\n readonly overlaySide = signal('top');\n\n private openTimer: ReturnType<typeof setTimeout> | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private triggerElement: HTMLElement | null = null;\n\n readonly positions = computed(() => this.content()?.getPositions() ?? DEFAULT_POSITIONS);\n\n constructor() {\n afterNextRender(() => {\n if (this.defaultOpen() || this.debugVisible()) {\n this.open();\n }\n });\n }\n\n registerTrigger(trigger: HTMLElement): void {\n this.triggerElement = trigger;\n }\n\n setContent(content: unknown | null): void {\n this.content.set(content instanceof FrTooltipContent ? content : null);\n }\n\n openWithDelay(): void {\n this.cancelClose();\n this.cancelOpen();\n\n const delay = Math.max(0, this.openDelay());\n\n if (delay === 0) {\n this.open();\n return;\n }\n\n this.openTimer = setTimeout(() => this.open(), delay);\n }\n\n closeWithDelay(): void {\n if (this.debugVisible()) {\n return;\n }\n\n this.cancelOpen();\n this.cancelClose();\n\n const delay = Math.max(0, this.closeDelay());\n\n if (delay === 0) {\n this.close();\n return;\n }\n\n this.closeTimer = setTimeout(() => this.close(), delay);\n }\n\n open(): void {\n if (!this.content()) {\n return;\n }\n\n if (!this.isOpen()) {\n this.isOpen.set(true);\n this.openChange.emit(true);\n this.scheduleCustomPropertySync();\n }\n }\n\n close(): void {\n if (this.debugVisible()) {\n return;\n }\n\n this.cancelOpen();\n this.cancelClose();\n\n if (this.isOpen()) {\n this.isOpen.set(false);\n this.openChange.emit(false);\n }\n }\n\n handleOverlayKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.preventDefault();\n this.close();\n }\n }\n\n handlePositionChange(event: ConnectedOverlayPositionChange): void {\n const pair = event.connectionPair;\n\n if (pair.overlayY === 'top') {\n this.overlaySide.set('bottom');\n return;\n }\n\n if (pair.overlayY === 'bottom') {\n this.overlaySide.set('top');\n return;\n }\n\n this.overlaySide.set(pair.overlayX === 'start' ? 'right' : 'left');\n }\n\n overlayPanelClasses(): string[] {\n return ['frame-tooltip-overlay', `frame-tooltip-overlay--${this.overlaySide()}`];\n }\n\n private cancelOpen(): void {\n if (this.openTimer) {\n clearTimeout(this.openTimer);\n this.openTimer = null;\n }\n }\n\n private cancelClose(): void {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private syncCustomPropertiesToOverlay(): void {\n const triggerElement = this.triggerElement;\n const overlayPane = document.querySelector<HTMLElement>('.cdk-overlay-pane.frame-tooltip-overlay');\n const panel = overlayPane?.querySelector<HTMLElement>('.frame-tooltip__content');\n\n if (!triggerElement || !overlayPane || !panel) {\n return;\n }\n\n this.copyCustomProperties(this.elementRef.nativeElement, overlayPane, panel);\n this.copyCustomProperties(triggerElement, overlayPane, panel);\n }\n\n private scheduleCustomPropertySync(): void {\n queueMicrotask(() => {\n this.syncCustomPropertiesToOverlay();\n if (typeof requestAnimationFrame === 'function') {\n requestAnimationFrame(() => this.syncCustomPropertiesToOverlay());\n }\n });\n }\n\n private copyCustomProperties(\n source: HTMLElement,\n overlayPane: HTMLElement,\n panel: HTMLElement,\n ): void {\n const sourceStyles = getComputedStyle(source);\n\n for (const propertyName of TOOLTIP_TOKEN_NAMES) {\n const propertyValue = sourceStyles.getPropertyValue(propertyName);\n\n if (propertyValue.trim()) {\n overlayPane.style.setProperty(propertyName, propertyValue);\n panel.style.setProperty(propertyName, propertyValue);\n }\n }\n\n for (let index = 0; index < sourceStyles.length; index += 1) {\n const propertyName = sourceStyles.item(index);\n\n if (!propertyName.startsWith('--frame-tooltip-')) {\n continue;\n }\n const propertyValue = sourceStyles.getPropertyValue(propertyName);\n overlayPane.style.setProperty(propertyName, propertyValue);\n panel.style.setProperty(propertyName, propertyValue);\n }\n }\n}\n","import { Directive, ElementRef, effect, inject, input } from '@angular/core';\n\nimport { FrTooltipContent } from './tooltip.content';\nimport { FR_TOOLTIP_CONTROLLER } from './tooltip.tokens';\n\n@Directive({\n selector: '[frTooltipTrigger]',\n host: {\n class: 'frame-tooltip__trigger',\n '[attr.aria-describedby]': 'root.isOpen() ? content()?.id : null',\n '[attr.data-state]': 'root.isOpen() ? \"open\" : \"closed\"',\n '(mouseenter)': 'handleMouseEnter()',\n '(mouseleave)': 'handleMouseLeave()',\n '(focusin)': 'handleFocusIn()',\n '(focusout)': 'handleFocusOut()',\n '(keydown)': 'handleKeydown($event)',\n },\n})\nexport class FrTooltipTrigger {\n readonly content = input<FrTooltipContent | null>(null, {\n alias: 'frTooltipTrigger',\n });\n\n protected readonly root = inject(FR_TOOLTIP_CONTROLLER);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n constructor() {\n this.root.registerTrigger(this.elementRef.nativeElement);\n\n effect(() => {\n const content = this.content();\n\n if (content) {\n this.root.setContent(content);\n }\n });\n }\n\n protected handleMouseEnter(): void {\n this.root.setContent(this.content());\n this.root.openWithDelay();\n }\n\n protected handleMouseLeave(): void {\n this.root.closeWithDelay();\n }\n\n protected handleFocusIn(): void {\n this.root.setContent(this.content());\n this.root.openWithDelay();\n }\n\n protected handleFocusOut(): void {\n this.root.closeWithDelay();\n }\n\n protected handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n event.preventDefault();\n this.root.close();\n }\n }\n}\n","export const FR_TOOLTIP_SIDES = ['top', 'right', 'bottom', 'left'] as const;\nexport const FR_TOOLTIP_ALIGNMENTS = ['start', 'center', 'end'] as const;\n\nexport type FrTooltipSide = (typeof FR_TOOLTIP_SIDES)[number];\nexport type FrTooltipAlignment = (typeof FR_TOOLTIP_ALIGNMENTS)[number];\n","import { NgModule } from '@angular/core';\n\nimport { FrTooltipContent, FrTooltipPanel, FrTooltipShortcut } from './src/tooltip.content';\nimport { FrTooltipRoot } from './src/tooltip.root';\nimport { FrTooltipTrigger } from './src/tooltip.trigger';\n\n@NgModule({\n imports: [FrTooltipRoot, FrTooltipTrigger, FrTooltipContent, FrTooltipPanel, FrTooltipShortcut],\n exports: [FrTooltipRoot, FrTooltipTrigger, FrTooltipContent, FrTooltipPanel, FrTooltipShortcut],\n})\nexport class FrTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frame-ui-ng-components-tooltip.mjs","sources":["../../../projects/components/tooltip/src/tooltip.position.ts","../../../projects/components/tooltip/src/tooltip.tokens.ts","../../../projects/components/tooltip/src/tooltip.directive.ts","../../../projects/components/tooltip/src/tooltip.types.ts","../../../projects/components/tooltip/tooltip.module.ts","../../../projects/components/tooltip/frame-ui-ng-components-tooltip.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\n\nimport { FrTooltipAlignment, FrTooltipSide } from './tooltip.types';\n\nexport function buildTooltipPositions(options: {\n align: FrTooltipAlignment;\n alignOffset: number;\n side: FrTooltipSide;\n sideOffset: number;\n}): ConnectedPosition[] {\n const primary = buildPosition(options.side, options);\n const opposite = oppositeSide(options.side);\n const fallback = buildPosition(opposite, {\n align: options.align,\n alignOffset: options.alignOffset,\n sideOffset: options.sideOffset,\n });\n\n return [primary, fallback];\n}\n\nfunction buildPosition(\n side: FrTooltipSide,\n options: {\n align: FrTooltipAlignment;\n alignOffset: number;\n sideOffset: number;\n },\n): ConnectedPosition {\n if (side === 'top' || side === 'bottom') {\n const isBottom = side === 'bottom';\n\n return {\n originX: options.align,\n originY: isBottom ? 'bottom' : 'top',\n overlayX: options.align,\n overlayY: isBottom ? 'top' : 'bottom',\n offsetX: options.alignOffset,\n offsetY: isBottom ? options.sideOffset : -options.sideOffset,\n };\n }\n\n const isRight = side === 'right';\n\n return {\n originX: isRight ? 'end' : 'start',\n originY: verticalPosition(options.align),\n overlayX: isRight ? 'start' : 'end',\n overlayY: verticalPosition(options.align),\n offsetX: isRight ? options.sideOffset : -options.sideOffset,\n offsetY: options.alignOffset,\n };\n}\n\nfunction verticalPosition(align: FrTooltipAlignment): 'top' | 'center' | 'bottom' {\n if (align === 'center') {\n return 'center';\n }\n\n return align === 'start' ? 'top' : 'bottom';\n}\n\nfunction oppositeSide(side: FrTooltipSide): FrTooltipSide {\n if (side === 'top') {\n return 'bottom';\n }\n\n if (side === 'bottom') {\n return 'top';\n }\n\n if (side === 'left') {\n return 'right';\n }\n\n return 'left';\n}\n","export const FR_TOOLTIP_TOKEN_NAMES = [\r\n '--frame-tooltip-content-bg',\r\n '--frame-tooltip-content-color',\r\n '--frame-tooltip-content-border',\r\n '--frame-tooltip-content-radius',\r\n '--frame-tooltip-content-shadow',\r\n '--frame-tooltip-content-padding',\r\n '--frame-tooltip-content-max-width',\r\n '--frame-tooltip-content-font-size',\r\n '--frame-tooltip-content-font-weight',\r\n '--frame-tooltip-content-line-height',\r\n '--frame-tooltip-arrow-size',\r\n '--frame-tooltip-motion-duration',\r\n '--frame-tooltip-motion-distance',\r\n '--frame-tooltip-motion-scale',\r\n '--frame-tooltip-motion-easing',\r\n] as const;\r\n","import { ConnectedOverlayPositionChange, Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { DOCUMENT, NgTemplateOutlet, isPlatformBrowser } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n DestroyRef,\r\n Directive,\r\n ElementRef,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n booleanAttribute,\r\n effect,\r\n inject,\r\n input,\r\n signal,\r\n numberAttribute,\r\n} from '@angular/core';\r\n\r\nimport { buildTooltipPositions } from './tooltip.position';\r\nimport { FR_TOOLTIP_TOKEN_NAMES } from './tooltip.tokens';\r\nimport { FrTooltipAlignment, FrTooltipSide } from './tooltip.types';\r\n\r\nlet nextInlineTooltipId = 0;\r\n\r\n@Directive({\r\n selector: '[frTooltip]',\r\n host: {\r\n class: 'frame-tooltip__trigger',\r\n '[attr.aria-describedby]': 'isOpen() ? tooltipId : null',\r\n '[attr.data-state]': 'isOpen() ? \"open\" : \"closed\"',\r\n },\r\n})\r\nexport class FrTooltipDirective implements AfterViewInit {\r\n private readonly destroyRef = inject(DestroyRef);\r\n private readonly document = inject(DOCUMENT);\r\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private readonly overlay = inject(Overlay);\r\n private readonly platformId = inject(PLATFORM_ID);\r\n\r\n readonly content = input<string | TemplateRef<unknown> | null>(null, { alias: 'frTooltip' });\r\n readonly align = input<FrTooltipAlignment>('center', { alias: 'frTooltipAlign' });\r\n readonly alignOffset = input(0, { alias: 'frTooltipAlignOffset' });\r\n readonly arrow = input(false, { alias: 'frTooltipArrow', transform: booleanAttribute });\r\n readonly closeDelay = input(0, { alias: 'frTooltipCloseDelay' });\r\n readonly openDelay = input(0, { alias: 'frTooltipOpenDelay', transform: numberAttribute });\r\n readonly side = input<FrTooltipSide>('top', { alias: 'frTooltipSide' });\r\n readonly sideOffset = input(8, { alias: 'frTooltipSideOffset' });\r\n\r\n protected readonly isOpen = signal(false);\r\n protected readonly tooltipId = `frame-tooltip-inline-${nextInlineTooltipId++}`;\r\n\r\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\r\n private disabledObserver: MutationObserver | null = null;\r\n private openTimer: ReturnType<typeof setTimeout> | null = null;\r\n private overlayRef: OverlayRef | null = null;\r\n private panelRef: ComponentRef<FrTooltipInlinePanel> | null = null;\r\n private triggerElement = this.elementRef.nativeElement;\r\n private wrapped = false;\r\n private wrapper: HTMLElement | null = null;\r\n private teardownListeners: Array<() => void> = [];\r\n\r\n constructor() {\r\n this.destroyRef.onDestroy(() => this.destroy());\r\n\r\n effect(() => {\r\n const content = this.content();\r\n\r\n if (this.panelRef && content) {\r\n this.updatePanelInputs();\r\n }\r\n\r\n if (!content) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n\r\n this.ensureDisabledHostWrapper();\r\n this.bindTriggerEvents();\r\n this.observeDisabledState();\r\n }\r\n\r\n private bindTriggerEvents(): void {\r\n const target = this.triggerElement;\r\n\r\n this.teardownListeners.push(this.listen(target, 'mouseenter', () => this.openWithDelay()));\r\n this.teardownListeners.push(this.listen(target, 'mouseleave', () => this.closeWithDelay()));\r\n this.teardownListeners.push(this.listen(target, 'focusin', () => this.openWithDelay()));\r\n this.teardownListeners.push(this.listen(target, 'focusout', () => this.closeWithDelay()));\r\n this.teardownListeners.push(\r\n this.listen(target, 'keydown', (event) => {\r\n const keyboardEvent = event as KeyboardEvent;\r\n\r\n if (keyboardEvent.key === 'Escape') {\r\n keyboardEvent.preventDefault();\r\n this.close();\r\n }\r\n }),\r\n );\r\n }\r\n\r\n private ensureDisabledHostWrapper(): void {\r\n const element = this.elementRef.nativeElement;\r\n\r\n if (!('disabled' in element) || !element.hasAttribute('disabled') || this.wrapped) {\r\n return;\r\n }\r\n\r\n const parent = element.parentNode;\r\n\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n const wrapper = this.document.createElement('span');\r\n wrapper.className = 'frame-tooltip__disabled-trigger';\r\n wrapper.tabIndex = 0;\r\n parent.insertBefore(wrapper, element);\r\n wrapper.appendChild(element);\r\n this.triggerElement = wrapper;\r\n this.wrapper = wrapper;\r\n this.wrapped = true;\r\n }\r\n\r\n private observeDisabledState(): void {\r\n const element = this.elementRef.nativeElement;\r\n\r\n if (!('disabled' in element)) {\r\n return;\r\n }\r\n\r\n this.disabledObserver = new MutationObserver(() => {\r\n if (!element.hasAttribute('disabled') || this.wrapped) {\r\n return;\r\n }\r\n\r\n this.teardownTriggerListeners();\r\n this.ensureDisabledHostWrapper();\r\n this.bindTriggerEvents();\r\n });\r\n this.disabledObserver.observe(element, { attributes: true, attributeFilter: ['disabled'] });\r\n }\r\n\r\n private openWithDelay(): void {\r\n if (!this.content()) {\r\n return;\r\n }\r\n\r\n this.cancelClose();\r\n this.cancelOpen();\r\n\r\n const delay = Math.max(0, this.openDelay());\r\n\r\n if (delay === 0) {\r\n this.open();\r\n return;\r\n }\r\n\r\n this.openTimer = setTimeout(() => this.open(), delay);\r\n }\r\n\r\n private closeWithDelay(): void {\r\n this.cancelOpen();\r\n this.cancelClose();\r\n\r\n const delay = Math.max(0, this.closeDelay());\r\n\r\n if (delay === 0) {\r\n this.close();\r\n return;\r\n }\r\n\r\n this.closeTimer = setTimeout(() => this.close(), delay);\r\n }\r\n\r\n private open(): void {\r\n const content = this.content();\r\n\r\n if (!content) {\r\n return;\r\n }\r\n\r\n if (!this.overlayRef) {\r\n this.overlayRef = this.createOverlay();\r\n }\r\n\r\n if (!this.overlayRef.hasAttached()) {\r\n this.panelRef = this.overlayRef.attach(new ComponentPortal(FrTooltipInlinePanel));\r\n this.updatePanelInputs();\r\n this.syncCustomPropertiesToOverlay();\r\n }\r\n\r\n this.isOpen.set(true);\r\n }\r\n\r\n private close(): void {\r\n this.cancelOpen();\r\n this.cancelClose();\r\n this.overlayRef?.detach();\r\n this.panelRef = null;\r\n this.isOpen.set(false);\r\n }\r\n\r\n private createOverlay(): OverlayRef {\r\n const positionStrategy = this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.triggerElement)\r\n .withPositions(this.positions())\r\n .withPush(true)\r\n .withViewportMargin(8);\r\n\r\n positionStrategy.positionChanges.subscribe((event) => this.handlePositionChange(event));\r\n\r\n const overlayRef = this.overlay.create({\r\n panelClass: ['frame-tooltip-overlay', `frame-tooltip-overlay--${this.side()}`],\r\n positionStrategy,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n });\r\n\r\n overlayRef.keydownEvents().subscribe((event) => {\r\n if (event.key === 'Escape') {\r\n event.preventDefault();\r\n this.close();\r\n }\r\n });\r\n\r\n return overlayRef;\r\n }\r\n\r\n private positions() {\r\n return buildTooltipPositions({\r\n align: this.align(),\r\n alignOffset: this.alignOffset(),\r\n side: this.side(),\r\n sideOffset: this.sideOffset(),\r\n });\r\n }\r\n\r\n private handlePositionChange(event: ConnectedOverlayPositionChange): void {\r\n const pair = event.connectionPair;\r\n const side = pair.overlayY === 'top'\r\n ? 'bottom'\r\n : pair.overlayY === 'bottom'\r\n ? 'top'\r\n : pair.overlayX === 'start'\r\n ? 'right'\r\n : 'left';\r\n\r\n this.panelRef?.setInput('side', side);\r\n this.overlayRef?.removePanelClass(['frame-tooltip-overlay--top', 'frame-tooltip-overlay--right', 'frame-tooltip-overlay--bottom', 'frame-tooltip-overlay--left']);\r\n this.overlayRef?.addPanelClass(`frame-tooltip-overlay--${side}`);\r\n }\r\n\r\n private updatePanelInputs(): void {\r\n const panelRef = this.panelRef;\r\n\r\n if (!panelRef) {\r\n return;\r\n }\r\n\r\n panelRef.setInput('arrow', this.arrow());\r\n panelRef.setInput('content', this.content() ?? '');\r\n panelRef.setInput('id', this.tooltipId);\r\n panelRef.setInput('side', this.side());\r\n }\r\n\r\n private syncCustomPropertiesToOverlay(): void {\r\n const overlayPane = this.overlayRef?.overlayElement;\r\n const panel = overlayPane?.querySelector<HTMLElement>('.frame-tooltip__content');\r\n\r\n if (!overlayPane || !panel) {\r\n return;\r\n }\r\n\r\n this.copyCustomProperties(this.elementRef.nativeElement, overlayPane, panel);\r\n\r\n if (this.wrapper) {\r\n this.copyCustomProperties(this.wrapper, overlayPane, panel);\r\n }\r\n }\r\n\r\n private copyCustomProperties(source: HTMLElement, overlayPane: HTMLElement, panel: HTMLElement): void {\r\n const sourceStyles = getComputedStyle(source);\r\n\r\n for (const propertyName of FR_TOOLTIP_TOKEN_NAMES) {\r\n const propertyValue = sourceStyles.getPropertyValue(propertyName);\r\n\r\n if (propertyValue.trim()) {\r\n overlayPane.style.setProperty(propertyName, propertyValue);\r\n panel.style.setProperty(propertyName, propertyValue);\r\n }\r\n }\r\n\r\n for (let index = 0; index < sourceStyles.length; index += 1) {\r\n const propertyName = sourceStyles.item(index);\r\n\r\n if (!propertyName.startsWith('--frame-tooltip-')) {\r\n continue;\r\n }\r\n\r\n const propertyValue = sourceStyles.getPropertyValue(propertyName);\r\n overlayPane.style.setProperty(propertyName, propertyValue);\r\n panel.style.setProperty(propertyName, propertyValue);\r\n }\r\n }\r\n\r\n private listen(target: HTMLElement, eventName: string, listener: EventListener): () => void {\r\n target.addEventListener(eventName, listener);\r\n return () => target.removeEventListener(eventName, listener);\r\n }\r\n\r\n private cancelOpen(): void {\r\n if (this.openTimer) {\r\n clearTimeout(this.openTimer);\r\n this.openTimer = null;\r\n }\r\n }\r\n\r\n private cancelClose(): void {\r\n if (this.closeTimer) {\r\n clearTimeout(this.closeTimer);\r\n this.closeTimer = null;\r\n }\r\n }\r\n\r\n private destroy(): void {\r\n this.close();\r\n this.overlayRef?.dispose();\r\n this.overlayRef = null;\r\n this.disabledObserver?.disconnect();\r\n this.disabledObserver = null;\r\n\r\n this.teardownTriggerListeners();\r\n }\r\n\r\n private teardownTriggerListeners(): void {\r\n for (const teardown of this.teardownListeners) {\r\n teardown();\r\n }\r\n\r\n this.teardownListeners = [];\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[frTooltipShortcut]',\r\n host: {\r\n class: 'frame-tooltip__shortcut',\r\n },\r\n})\r\nexport class FrTooltipShortcut {}\r\n\r\n@Component({\r\n selector: 'frame-tooltip-inline-panel',\r\n imports: [NgTemplateOutlet],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `\r\n <div\r\n class=\"frame-tooltip__content\"\r\n role=\"tooltip\"\r\n [id]=\"id()\"\r\n [attr.data-side]=\"side()\"\r\n [attr.data-arrow]=\"arrow() ? '' : null\"\r\n >\r\n @if (templateContent(); as template) {\r\n <ng-container [ngTemplateOutlet]=\"template\" />\r\n } @else {\r\n {{ textContent() }}\r\n }\r\n </div>\r\n `,\r\n})\r\nclass FrTooltipInlinePanel {\r\n readonly arrow = input(false, { transform: booleanAttribute });\r\n readonly content = input<string | TemplateRef<unknown>>('');\r\n readonly id = input.required<string>();\r\n readonly side = input('top');\r\n\r\n protected readonly templateContent = signal<TemplateRef<unknown> | null>(null);\r\n protected readonly textContent = signal('');\r\n\r\n constructor() {\r\n effect(() => {\r\n const content = this.content();\r\n\r\n if (content instanceof TemplateRef) {\r\n this.templateContent.set(content);\r\n this.textContent.set('');\r\n return;\r\n }\r\n\r\n this.templateContent.set(null);\r\n this.textContent.set(content ?? '');\r\n });\r\n }\r\n}\r\n","export const FR_TOOLTIP_SIDES = ['top', 'right', 'bottom', 'left'] as const;\nexport const FR_TOOLTIP_ALIGNMENTS = ['start', 'center', 'end'] as const;\n\nexport type FrTooltipSide = (typeof FR_TOOLTIP_SIDES)[number];\nexport type FrTooltipAlignment = (typeof FR_TOOLTIP_ALIGNMENTS)[number];\n","import { NgModule } from '@angular/core';\r\n\r\nimport { FrTooltipDirective, FrTooltipShortcut } from './src/tooltip.directive';\r\n\r\n@NgModule({\r\n imports: [FrTooltipDirective, FrTooltipShortcut],\r\n exports: [FrTooltipDirective, FrTooltipShortcut],\r\n})\r\nexport class FrTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|