@filip.mazev/blocks 1.2.36 → 1.2.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"filip.mazev-blocks-primitives.mjs","sources":["../../../projects/blocks/primitives/components/tooltip/tooltip.ts","../../../projects/blocks/primitives/components/tooltip/tooltip.html","../../../projects/blocks/primitives/components/menu/menu.ts","../../../projects/blocks/primitives/components/menu/menu.html","../../../projects/blocks/primitives/components/menu-item/menu-item.ts","../../../projects/blocks/primitives/components/menu-item/menu-item.html","../../../projects/blocks/primitives/directives/tooltip.directive.ts","../../../projects/blocks/primitives/directives/dropdown.directive.ts","../../../projects/blocks/primitives/directives/context-menu.directive.ts","../../../projects/blocks/primitives/public-api.ts","../../../projects/blocks/primitives/filip.mazev-blocks-primitives.ts"],"sourcesContent":["import { Component, computed, inject, input } from '@angular/core';\nimport { BX_I18N, BxA11yService, isTextWithKey, ResolvableText } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-tooltip',\n templateUrl: './tooltip.html',\n styleUrl: './tooltip.scss'\n})\nexport class Tooltip {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n public readonly text = input.required<ResolvableText>();\n\n protected readonly resolvedText = computed(() => {\n this.i18n?.version?.(); \n \n const textData = this.text();\n if (!textData) return undefined;\n \n if (isTextWithKey(textData)) {\n return this.i18n?.translate(textData.key) ?? textData.key;\n }\n \n return textData;\n });\n}","<div class=\"bx-tooltip-surface\" [class.bx-tooltip-animated]=\"isAnimated()\">\n @if (resolvedText()) {\n {{ resolvedText() }}\n }\n</div>","import { Component, computed, inject } from '@angular/core';\nimport { BxA11yService } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-menu',\n imports: [],\n templateUrl: './menu.html',\n styleUrl: './menu.scss',\n})\nexport class Menu {\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => {\n return !this.a11y.isReducedMotion();\n });\n}\n","<div class=\"bx-menu-wrapper\" [class.bx-menu-animated]=\"isAnimated()\">\n <ng-content></ng-content>\n</div>","import { BX_I18N, BxA11yService, BxShortcutService, isTextWithKey, ResolvableShortcut, ResolvableText } from \"@filip.mazev/blocks/core\";\nimport { Component, computed, inject, input, output } from \"@angular/core\";\nimport { Icon, IconName } from \"@filip.mazev/blocks/icons\";\n\n@Component({\n selector: 'bx-menu-item',\n imports: [Icon],\n templateUrl: './menu-item.html',\n styleUrl: './menu-item.scss'\n})\nexport class MenuItem {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n private readonly bxShortcutService = inject(BxShortcutService);\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n\n public readonly icon = input<IconName | undefined>(undefined);\n public readonly endIcon = input<IconName | undefined>(undefined);\n public readonly label = input<ResolvableText | undefined>(undefined);\n public readonly disabled = input(false);\n public readonly danger = input(false); \n \n public readonly shortcut = input<ResolvableShortcut | undefined>(undefined);\n\n public readonly action = output<MouseEvent>();\n\n protected readonly resolvedLabel = computed(() => {\n this.i18n?.version?.(); \n \n const label = this.label();\n if (!label) return undefined;\n \n if (isTextWithKey(label)) {\n return this.i18n?.translate(label.key) ?? label.key;\n }\n return label;\n });\n\n protected readonly resolvedShortcut = computed(() => {\n return this.bxShortcutService.resolve(this.shortcut());\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.action.emit(event);\n }\n}","<button class=\"bx-menu-item-btn\" [class.is-disabled]=\"disabled()\" [class.is-danger]=\"danger()\"\n [class.bx-menu-item-animated]=\"isAnimated()\" (click)=\"onClick($event)\">\n\n @if (icon()) {\n <bx-icon class=\"bx-icon-pos-start\" [name]=\"icon()!\" size=\"20\" />\n }\n\n <span class=\"bx-menu-item-content\">\n @if (resolvedLabel()) {\n {{ resolvedLabel() }}\n } @else {\n <ng-content></ng-content>\n }\n </span>\n\n @if (resolvedShortcut()) {\n <span class=\"bx-menu-item-shortcut\">\n @for (key of resolvedShortcut(); track $index) {\n <kbd>{{ key }}</kbd>\n }\n </span>\n }\n\n @if (endIcon()) {\n <bx-icon class=\"bx-icon-pos-end\" [name]=\"endIcon()!\" size=\"20\" />\n }\n</button>","import { Directive, ElementRef, HostListener, inject, input } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BxPlacement, BxOverlayPositionService, ResolvableText } from '@filip.mazev/blocks/core';\nimport { Tooltip } from '../components/tooltip/tooltip';\n\n@Directive({\n selector: '[bxTooltip]'\n})\nexport class TooltipDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n\n public readonly bxTooltip = input.required<ResolvableText>();\n public readonly placement = input<BxPlacement>('bottom');\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('mouseenter')\n public show(): void {\n if (this.overlayRef?.hasAttached()) return;\n\n const positionStrategy = this.positionBuilder.getElementStrategy(\n this.elementRef.nativeElement, \n this.placement()\n );\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(), \n hasBackdrop: false\n });\n\n const portal = new ComponentPortal(Tooltip);\n const componentRef = this.overlayRef.attach(portal);\n componentRef.setInput('text', this.bxTooltip());\n }\n\n @HostListener('mouseleave')\n public hide(): void {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n}","import { Directive, ElementRef, HostListener, inject, input, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxPlacement, BxOverlayPositionService } from '@filip.mazev/blocks/core';\n\n@Directive({\n selector: '[bxDropdown]',\n exportAs: 'bxDropdown'\n})\nexport class DropdownDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly vcr = inject(ViewContainerRef);\n\n private readonly _isOpen = signal<boolean>(false);\n public readonly isOpen = this._isOpen.asReadonly();\n\n public readonly bxDropdown = input.required<TemplateRef<unknown>>();\n public readonly placement = input<BxPlacement>('bottom');\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('click', ['$event'])\n public toggle(event: MouseEvent): void {\n event.stopPropagation();\n this.isOpen() ? this.close() : this.open();\n }\n\n private open(): void {\n const positionStrategy = this.positionBuilder.getElementStrategy(\n this.elementRef.nativeElement, \n this.placement(),\n 4 \n );\n\n this._isOpen.set(true);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n\n this.overlayRef.backdropClick().subscribe(() => this.close());\n\n const portal = new TemplatePortal(this.bxDropdown(), this.vcr);\n this.overlayRef.attach(portal);\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached()) return;\n\n const target = event.target as Node;\n \n const clickedInsideMenu = this.overlayRef.overlayElement.contains(target);\n const clickedInsideButton = this.elementRef.nativeElement.contains(target);\n\n if (clickedInsideMenu || !clickedInsideButton) {\n this.close();\n }\n }\n\n private close(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this._isOpen.set(false);\n }\n }\n}","import { Directive, HostListener, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxOverlayPositionService } from '@filip.mazev/blocks/core';\n\n@Directive({\n selector: '[bxContextMenu]'\n})\nexport class ContextMenuDirective {\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly vcr = inject(ViewContainerRef);\n \n public readonly bxContextMenu = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('contextmenu', ['$event'])\n public open(event: MouseEvent): void {\n event.preventDefault();\n this.close();\n\n const positionStrategy = this.positionBuilder.getCoordinateStrategy(event.clientX, event.clientY);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.close(), \n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop' \n });\n\n this.overlayRef.backdropClick().subscribe(() => this.close());\n\n const portal = new TemplatePortal(this.bxContextMenu(), this.vcr);\n this.overlayRef.attach(portal);\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached()) {\n return;\n }\n\n if (this.overlayRef.overlayElement.contains(event.target as Node)) {\n this.close();\n }\n }\n\n private close(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}","/*\n * Public API Surface of toastr\n */\n\nexport * from './components/tooltip/tooltip';\nexport * from './components/menu/menu';\nexport * from './components/menu-item/menu-item';\n\nexport * from './directives/tooltip.directive';\nexport * from './directives/dropdown.directive';\nexport * from './directives/context-menu.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filip.mazev-blocks-primitives.mjs","sources":["../../../projects/blocks/primitives/components/tooltip/tooltip.ts","../../../projects/blocks/primitives/components/tooltip/tooltip.html","../../../projects/blocks/primitives/components/menu/menu.ts","../../../projects/blocks/primitives/components/menu/menu.html","../../../projects/blocks/primitives/components/menu-item/menu-item.ts","../../../projects/blocks/primitives/components/menu-item/menu-item.html","../../../projects/blocks/primitives/directives/tooltip.directive.ts","../../../projects/blocks/primitives/directives/dropdown.directive.ts","../../../projects/blocks/primitives/directives/context-menu.directive.ts","../../../projects/blocks/primitives/public-api.ts","../../../projects/blocks/primitives/filip.mazev-blocks-primitives.ts"],"sourcesContent":["import { Component, computed, inject, input } from '@angular/core';\nimport { BX_I18N, BxA11yService, isTextWithKey, ResolvableText } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-tooltip',\n templateUrl: './tooltip.html',\n styleUrl: './tooltip.scss'\n})\nexport class Tooltip {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n public readonly text = input.required<ResolvableText>();\n\n protected readonly resolvedText = computed(() => {\n this.i18n?.version?.(); \n \n const textData = this.text();\n if (!textData) return undefined;\n \n if (isTextWithKey(textData)) {\n return this.i18n?.translate(textData.key) ?? textData.key;\n }\n \n return textData;\n });\n}","<div class=\"bx-tooltip-surface\" [class.bx-tooltip-animated]=\"isAnimated()\">\n @if (resolvedText()) {\n {{ resolvedText() }}\n }\n</div>","import { Component, computed, inject } from '@angular/core';\nimport { BxA11yService } from '@filip.mazev/blocks/core';\n\n@Component({\n selector: 'bx-menu',\n imports: [],\n templateUrl: './menu.html',\n styleUrl: './menu.scss',\n})\nexport class Menu {\n private readonly a11y = inject(BxA11yService);\n\n public readonly isAnimated = computed(() => {\n return !this.a11y.isReducedMotion();\n });\n}\n","<div class=\"bx-menu-wrapper\" [class.bx-menu-animated]=\"isAnimated()\">\n <ng-content></ng-content>\n</div>","import { BX_I18N, BxA11yService, BxShortcutService, isTextWithKey, ResolvableShortcut, ResolvableText } from \"@filip.mazev/blocks/core\";\nimport { Component, computed, inject, input, output } from \"@angular/core\";\nimport { Icon, IconName } from \"@filip.mazev/blocks/icons\";\n\n@Component({\n selector: 'bx-menu-item',\n imports: [Icon],\n templateUrl: './menu-item.html',\n styleUrl: './menu-item.scss'\n})\nexport class MenuItem {\n private readonly i18n = inject(BX_I18N, { optional: true });\n private readonly a11y = inject(BxA11yService);\n private readonly bxShortcutService = inject(BxShortcutService);\n\n public readonly isAnimated = computed(() => !this.a11y.isReducedMotion());\n\n public readonly icon = input<IconName | undefined>(undefined);\n public readonly endIcon = input<IconName | undefined>(undefined);\n public readonly label = input<ResolvableText | undefined>(undefined);\n public readonly disabled = input(false);\n public readonly danger = input(false); \n \n public readonly shortcut = input<ResolvableShortcut | undefined>(undefined);\n\n public readonly action = output<MouseEvent>();\n\n protected readonly resolvedLabel = computed(() => {\n this.i18n?.version?.(); \n \n const label = this.label();\n if (!label) return undefined;\n \n if (isTextWithKey(label)) {\n return this.i18n?.translate(label.key) ?? label.key;\n }\n return label;\n });\n\n protected readonly resolvedShortcut = computed(() => {\n return this.bxShortcutService.resolve(this.shortcut());\n });\n\n protected onClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.action.emit(event);\n }\n}","<button class=\"bx-menu-item-btn\" [class.is-disabled]=\"disabled()\" [class.is-danger]=\"danger()\"\n [class.bx-menu-item-animated]=\"isAnimated()\" (click)=\"onClick($event)\">\n\n @if (icon()) {\n <bx-icon class=\"bx-icon-pos-start\" [name]=\"icon()!\" size=\"20\" />\n }\n\n <span class=\"bx-menu-item-content\">\n @if (resolvedLabel()) {\n {{ resolvedLabel() }}\n } @else {\n <ng-content></ng-content>\n }\n </span>\n\n @if (resolvedShortcut()) {\n <span class=\"bx-menu-item-shortcut\">\n @for (key of resolvedShortcut(); track $index) {\n <kbd>{{ key }}</kbd>\n }\n </span>\n }\n\n @if (endIcon()) {\n <bx-icon class=\"bx-icon-pos-end\" [name]=\"endIcon()!\" size=\"20\" />\n }\n</button>","import { Directive, ElementRef, HostListener, inject, input } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BxPlacement, BxOverlayPositionService, ResolvableText } from '@filip.mazev/blocks/core';\nimport { Tooltip } from '../components/tooltip/tooltip';\n\n@Directive({\n selector: '[bxTooltip]'\n})\nexport class TooltipDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n\n public readonly bxTooltip = input.required<ResolvableText>();\n public readonly placement = input<BxPlacement>('bottom');\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('mouseenter')\n public show(): void {\n if (this.overlayRef?.hasAttached()) return;\n\n const positionStrategy = this.positionBuilder.getElementStrategy(\n this.elementRef.nativeElement, \n this.placement()\n );\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(), \n hasBackdrop: false\n });\n\n const portal = new ComponentPortal(Tooltip);\n const componentRef = this.overlayRef.attach(portal);\n componentRef.setInput('text', this.bxTooltip());\n }\n\n @HostListener('mouseleave')\n public hide(): void {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n}","import { Directive, ElementRef, HostListener, inject, input, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxPlacement, BxOverlayPositionService } from '@filip.mazev/blocks/core';\n\n@Directive({\n selector: '[bxDropdown]',\n exportAs: 'bxDropdown'\n})\nexport class DropdownDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly vcr = inject(ViewContainerRef);\n\n private readonly _isOpen = signal<boolean>(false);\n public readonly isOpen = this._isOpen.asReadonly();\n\n public readonly bxDropdown = input.required<TemplateRef<unknown>>();\n public readonly placement = input<BxPlacement>('bottom');\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('click', ['$event'])\n public toggle(event: MouseEvent): void {\n event.stopPropagation();\n this.isOpen() ? this.close() : this.open();\n }\n\n private open(): void {\n const positionStrategy = this.positionBuilder.getElementStrategy(\n this.elementRef.nativeElement, \n this.placement(),\n 4 \n );\n\n this._isOpen.set(true);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n\n this.overlayRef.backdropClick().subscribe(() => this.close());\n\n const portal = new TemplatePortal(this.bxDropdown(), this.vcr);\n this.overlayRef.attach(portal);\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached()) return;\n\n const target = event.target as Node;\n \n const clickedInsideMenu = this.overlayRef.overlayElement.contains(target);\n const clickedInsideButton = this.elementRef.nativeElement.contains(target);\n\n if (clickedInsideMenu || !clickedInsideButton) {\n this.close();\n }\n }\n\n private close(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n this._isOpen.set(false);\n }\n }\n}","import { Directive, HostListener, inject, input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BxOverlayPositionService } from '@filip.mazev/blocks/core';\n\n@Directive({\n selector: '[bxContextMenu]'\n})\nexport class ContextMenuDirective {\n private readonly overlay = inject(Overlay);\n private readonly positionBuilder = inject(BxOverlayPositionService);\n private readonly vcr = inject(ViewContainerRef);\n \n public readonly bxContextMenu = input.required<TemplateRef<unknown>>();\n\n private overlayRef: OverlayRef | null = null;\n\n @HostListener('contextmenu', ['$event'])\n public open(event: MouseEvent): void {\n event.preventDefault();\n this.close();\n\n const positionStrategy = this.positionBuilder.getCoordinateStrategy(event.clientX, event.clientY);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.close(), \n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop' \n });\n\n this.overlayRef.backdropClick().subscribe(() => this.close());\n\n const portal = new TemplatePortal(this.bxContextMenu(), this.vcr);\n this.overlayRef.attach(portal);\n }\n\n @HostListener('document:click', ['$event'])\n public onDocumentClick(event: MouseEvent): void {\n if (!this.overlayRef?.hasAttached()) {\n return;\n }\n\n if (this.overlayRef.overlayElement.contains(event.target as Node)) {\n this.close();\n }\n }\n\n private close(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}","/*\n * Public API Surface of toastr\n */\n\nexport * from './components/tooltip/tooltip';\nexport * from './components/menu/menu';\nexport * from './components/menu-item/menu-item';\n\nexport * from './directives/tooltip.directive';\nexport * from './directives/dropdown.directive';\nexport * from './directives/context-menu.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}