@cute-widgets/base 20.0.1 → 20.0.3

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/CHANGELOG.md CHANGED
@@ -1 +1,13 @@
1
- ## Initial version 20.0.0
1
+ ## Version 20.0.3
2
+
3
+ * Cosmetic changes
4
+
5
+ ## Version 20.0.2
6
+
7
+ * `cute-select` now uses native CSS animation.
8
+
9
+ ## Version 20.0.1
10
+
11
+ ## Version 20.0.0
12
+
13
+ * Initial version.
@@ -23,7 +23,7 @@ declare class CuteDisableContextMenu {
23
23
  /**
24
24
  * Tracks a click outside the target element.
25
25
  * @example
26
- * <div cuteClickOutside (clickOutside)="closeDropdown()">
26
+ * <div (cuteClickOutside)="closeDropdown()">
27
27
  * <button (click)="toggleDropdown()">Toggle Dropdown</button>
28
28
  * <div *ngIf="dropdownOpen" class="dropdown">
29
29
  * Dropdown content
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
43
43
  /**
44
44
  * Tracks a click outside the target element.
45
45
  * @example
46
- * <div cuteClickOutside (clickOutside)="closeDropdown()">
46
+ * <div (cuteClickOutside)="closeDropdown()">
47
47
  * <button (click)="toggleDropdown()">Toggle Dropdown</button>
48
48
  * <div *ngIf="dropdownOpen" class="dropdown">
49
49
  * Dropdown content
@@ -1 +1 @@
1
- {"version":3,"file":"cute-widgets-base-core-directives.mjs","sources":["../../../../projects/cute-widgets/base/core/directives/src/disable-context-menu.ts","../../../../projects/cute-widgets/base/core/directives/src/click-outside.ts","../../../../projects/cute-widgets/base/core/directives/src/copy-to-clipboard.ts","../../../../projects/cute-widgets/base/core/directives/src/time-ago.ts","../../../../projects/cute-widgets/base/core/directives/src/responsive.ts","../../../../projects/cute-widgets/base/core/directives/src/svg-symbol.ts","../../../../projects/cute-widgets/base/core/directives/src/icon-link.ts","../../../../projects/cute-widgets/base/core/directives/src/focus-initial.ts","../../../../projects/cute-widgets/base/core/directives/cute-widgets-base-core-directives.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport { Directive, HostListener } from '@angular/core';\r\n\r\n/**\r\n * Allows users to disable the context menu that appears when they right-click\r\n */\r\n@Directive({\r\n selector: '[cuteDisableContextMenu]',\r\n standalone: true,\r\n})\r\nexport class CuteDisableContextMenu {\r\n @HostListener('contextmenu', ['$event'])\r\n onContextMenu(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, ElementRef, Output, EventEmitter, HostListener, inject} from '@angular/core';\r\n\r\n/**\r\n * Tracks a click outside the target element.\r\n * @example\r\n * <div cuteClickOutside (clickOutside)=\"closeDropdown()\">\r\n * <button (click)=\"toggleDropdown()\">Toggle Dropdown</button>\r\n * <div *ngIf=\"dropdownOpen\" class=\"dropdown\">\r\n * Dropdown content\r\n * </div>\r\n * </div>\r\n */\r\n@Directive({\r\n selector: '[cuteClickOutside]'\r\n})\r\nexport class CuteClickOutside {\r\n private _elementRef = inject(ElementRef);\r\n\r\n /** Emitted when the user clicks on a document outside the parent element. */\r\n @Output() cuteClickOutside = new EventEmitter<MouseEvent>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n if (!this._elementRef.nativeElement.contains(event.target)) {\r\n this.cuteClickOutside.emit(event);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, Input, ElementRef, HostListener, inject, Output, EventEmitter} from '@angular/core';\r\n\r\n/**\r\n * Allows users to copy a text to _system_ clipboard using the `Clipboard API`. The Clipboard API allows users to\r\n * programmatically read and write text and other kinds of data to and from the system clipboard in _secure contexts_.\r\n *\r\n * @example\r\n * ```HTML\r\n * <button [cuteCopyToClipboard]=\"'Text to copy'\"> Copy to Clipboard </button>\r\n * ```\r\n */\r\n@Directive({\r\n selector: '[cuteCopyToClipboard]',\r\n standalone: true,\r\n})\r\nexport class CuteCopyToClipboard {\r\n private el = inject(ElementRef);\r\n\r\n /** Text to copy to clipboard when the user clicks on the element that directive belongs to */\r\n @Input(\"cuteCopyToClipboard\") data?: string | ClipboardItem | ClipboardItems | (() => string|ClipboardItem|ClipboardItems);\r\n\r\n /** Emits when some text is copied to the clipboard. The emitted value indicates whether copying was successful. */\r\n @Output() cuteCopyToClipboardCopied = new EventEmitter<boolean>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('click')\r\n onClick() {\r\n if (this.data) {\r\n if (window.isSecureContext) {\r\n try {\r\n let dataToWrite;\r\n if (this.data instanceof Function) {\r\n dataToWrite = this.data()\r\n } else {\r\n dataToWrite = this.data;\r\n }\r\n if (typeof dataToWrite === \"string\") {\r\n navigator.clipboard\r\n .writeText(dataToWrite)\r\n .then(() => this.cuteCopyToClipboardCopied.next(true))\r\n .catch(() => {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n });\r\n } else {\r\n let items: ClipboardItems;\r\n if (dataToWrite instanceof ClipboardItem) {\r\n items = [dataToWrite];\r\n } else {\r\n items = dataToWrite;\r\n }\r\n navigator.clipboard\r\n .write(items)\r\n .then(() => this.cuteCopyToClipboardCopied.next(true))\r\n .catch(() => {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n });\r\n }\r\n } catch (err: any) {\r\n console.error(err.message);\r\n }\r\n } else {\r\n console.error(\"The Clipboard API is available only in secure contexts (HTTPS)\");\r\n this.cuteCopyToClipboardCopied.next(false);\r\n }\r\n } else {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {Directive, Input, ElementRef, Renderer2, OnChanges, SimpleChanges, inject} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cuteTimeAgo]',\r\n standalone: true,\r\n})\r\nexport class CuteTimeAgo implements OnChanges {\r\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private renderer = inject(Renderer2);\r\n\r\n @Input() cuteTimeAgo?: Date;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes[\"cuteTimeAgo\"]) {\r\n this.updateTimeAgo();\r\n }\r\n }\r\n\r\n private updateTimeAgo(): void {\r\n if (this.cuteTimeAgo instanceof Date) {\r\n const timeDifference = Date.now() - this.cuteTimeAgo.getTime();\r\n const secondsAgo = Math.floor(timeDifference / 1000);\r\n\r\n let text: string;\r\n\r\n if (secondsAgo < 60) {\r\n text = 'just now';\r\n } else if (secondsAgo < 3600) {\r\n const minutes = Math.floor(secondsAgo / 60);\r\n text = `${minutes} minute${minutes > 1 ? 's' : ''} ago`;\r\n } else if (secondsAgo < 86400) {\r\n const hours = Math.floor(secondsAgo / 3600);\r\n text = `${hours} hour${hours > 1 ? 's' : ''} ago`;\r\n } else {\r\n const days = Math.floor(secondsAgo / 86400);\r\n text = `${days} day${days > 1 ? 's' : ''} ago`;\r\n }\r\n\r\n this.renderer.setProperty(this.el.nativeElement, 'textContent', text);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {LayoutBreakpoint} from \"@cute-widgets/base/core/types\";\r\nimport {bsBreakpoints} from \"@cute-widgets/base/core/layout\";\r\n\r\n/**\r\n * ```HTML\r\n * <div cuteResponsive=\"md, lg\">\r\n * This content is visible on medium and large screens.\r\n * </div>\r\n * ```\r\n */\r\n@Directive({\r\n selector: '[cuteResponsive]',\r\n standalone: true,\r\n})\r\nexport class CuteResponsive implements OnInit {\r\n private templateRef = inject(TemplateRef);\r\n private viewContainer = inject(ViewContainerRef);\r\n\r\n /** Comma-separated screen size breakpoints (e.g., 'md, lg') or an array of it. */\r\n @Input(\"cuteResponsive\") breakPoints?: string | LayoutBreakpoint[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n private detectScreenSize() {\r\n const screenWidth = this.getScreenWidth();\r\n if (this.breakPoints?.includes(screenWidth)) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n private getScreenWidth(): LayoutBreakpoint {\r\n const width = window.innerWidth;\r\n if (width >= bsBreakpoints.grid.xxl) { return 'xxl'; } else\r\n if (width >= bsBreakpoints.grid.xl) { return 'xl'; } else\r\n if (width >= bsBreakpoints.grid.lg) { return 'lg'; } else\r\n if (width >= bsBreakpoints.grid.md) { return 'md'; } else\r\n if (width >= bsBreakpoints.grid.sm) { return 'sm'; } else\r\n { return 'xs'; }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, ElementRef, inject, Input, OnInit, SecurityContext} from \"@angular/core\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n/**\r\n * Appends `<use href=[symbolPath]>` as a child element of the SVG.\r\n * @example\r\n * ```html\r\n * <svg width=\"1em\" height=\"1em\" [cuteSvgSymbol]=\"BOOTSTRAP_ICONS+'#collection'\"></svg>\r\n * ```\r\n */\r\n@Directive({\r\n selector: 'svg[cuteSvgSymbol]',\r\n host: {\r\n '[attr.cuteSvgSymbol]': 'null',\r\n 'ngSkipHydration': 'true',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteSvgSymbol implements OnInit {\r\n private _elementRef = inject<ElementRef<SVGElement>>(ElementRef);\r\n private _sanitizer = inject(DomSanitizer);\r\n\r\n /** Path to SVG **symbol** element including its `id` prefixed with **#**. */\r\n @Input({alias: \"cuteSvgSymbol\", required: true}) svgSymbol: string|null = null ;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const url = this._sanitizer.sanitize(SecurityContext.URL, this.svgSymbol);\r\n if (url) {\r\n this._elementRef.nativeElement.innerHTML = `<use href=\"${url}\"></use>`;\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {booleanAttribute, Directive, HostAttributeToken, inject, Input} from \"@angular/core\";\r\n\r\n/**\r\n * The icon link helper directive modifies the default link styles to enhance their appearance and\r\n * quickly align any pairing of icon and text.\r\n */\r\n@Directive({\r\n selector: 'a[cuteIconLink]',\r\n exportAs: 'cuteIconLink',\r\n host: {\r\n 'class': 'icon-link',\r\n '[class.icon-link-hover]': 'hovered',\r\n //'[style.cursor]': 'noHRef ? \"pointer\" : undefined',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteIconLink /* extends ... */ {\r\n\r\n protected noHRef: boolean = false;\r\n\r\n /** Whether to move the icon to the right on hover. */\r\n @Input({transform: booleanAttribute})\r\n hovered: boolean = false;\r\n\r\n constructor() {\r\n const href = inject(new HostAttributeToken(\"href\"), {optional: true});\r\n this.noHRef = !href;\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cuteFocusInitial]',\r\n standalone: true,\r\n host: {\r\n '[attr.cdkFocusInitial]': 'true',\r\n }\r\n})\r\nexport class CuteFocusInitial {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cute-widgets-base-core-directives.mjs","sources":["../../../../projects/cute-widgets/base/core/directives/src/disable-context-menu.ts","../../../../projects/cute-widgets/base/core/directives/src/click-outside.ts","../../../../projects/cute-widgets/base/core/directives/src/copy-to-clipboard.ts","../../../../projects/cute-widgets/base/core/directives/src/time-ago.ts","../../../../projects/cute-widgets/base/core/directives/src/responsive.ts","../../../../projects/cute-widgets/base/core/directives/src/svg-symbol.ts","../../../../projects/cute-widgets/base/core/directives/src/icon-link.ts","../../../../projects/cute-widgets/base/core/directives/src/focus-initial.ts","../../../../projects/cute-widgets/base/core/directives/cute-widgets-base-core-directives.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport { Directive, HostListener } from '@angular/core';\r\n\r\n/**\r\n * Allows users to disable the context menu that appears when they right-click\r\n */\r\n@Directive({\r\n selector: '[cuteDisableContextMenu]',\r\n standalone: true,\r\n})\r\nexport class CuteDisableContextMenu {\r\n @HostListener('contextmenu', ['$event'])\r\n onContextMenu(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, ElementRef, Output, EventEmitter, HostListener, inject} from '@angular/core';\r\n\r\n/**\r\n * Tracks a click outside the target element.\r\n * @example\r\n * <div (cuteClickOutside)=\"closeDropdown()\">\r\n * <button (click)=\"toggleDropdown()\">Toggle Dropdown</button>\r\n * <div *ngIf=\"dropdownOpen\" class=\"dropdown\">\r\n * Dropdown content\r\n * </div>\r\n * </div>\r\n */\r\n@Directive({\r\n selector: '[cuteClickOutside]'\r\n})\r\nexport class CuteClickOutside {\r\n private _elementRef = inject(ElementRef);\r\n\r\n /** Emitted when the user clicks on a document outside the parent element. */\r\n @Output() cuteClickOutside = new EventEmitter<MouseEvent>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n if (!this._elementRef.nativeElement.contains(event.target)) {\r\n this.cuteClickOutside.emit(event);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, Input, ElementRef, HostListener, inject, Output, EventEmitter} from '@angular/core';\r\n\r\n/**\r\n * Allows users to copy a text to _system_ clipboard using the `Clipboard API`. The Clipboard API allows users to\r\n * programmatically read and write text and other kinds of data to and from the system clipboard in _secure contexts_.\r\n *\r\n * @example\r\n * ```HTML\r\n * <button [cuteCopyToClipboard]=\"'Text to copy'\"> Copy to Clipboard </button>\r\n * ```\r\n */\r\n@Directive({\r\n selector: '[cuteCopyToClipboard]',\r\n standalone: true,\r\n})\r\nexport class CuteCopyToClipboard {\r\n private el = inject(ElementRef);\r\n\r\n /** Text to copy to clipboard when the user clicks on the element that directive belongs to */\r\n @Input(\"cuteCopyToClipboard\") data?: string | ClipboardItem | ClipboardItems | (() => string|ClipboardItem|ClipboardItems);\r\n\r\n /** Emits when some text is copied to the clipboard. The emitted value indicates whether copying was successful. */\r\n @Output() cuteCopyToClipboardCopied = new EventEmitter<boolean>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('click')\r\n onClick() {\r\n if (this.data) {\r\n if (window.isSecureContext) {\r\n try {\r\n let dataToWrite;\r\n if (this.data instanceof Function) {\r\n dataToWrite = this.data()\r\n } else {\r\n dataToWrite = this.data;\r\n }\r\n if (typeof dataToWrite === \"string\") {\r\n navigator.clipboard\r\n .writeText(dataToWrite)\r\n .then(() => this.cuteCopyToClipboardCopied.next(true))\r\n .catch(() => {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n });\r\n } else {\r\n let items: ClipboardItems;\r\n if (dataToWrite instanceof ClipboardItem) {\r\n items = [dataToWrite];\r\n } else {\r\n items = dataToWrite;\r\n }\r\n navigator.clipboard\r\n .write(items)\r\n .then(() => this.cuteCopyToClipboardCopied.next(true))\r\n .catch(() => {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n });\r\n }\r\n } catch (err: any) {\r\n console.error(err.message);\r\n }\r\n } else {\r\n console.error(\"The Clipboard API is available only in secure contexts (HTTPS)\");\r\n this.cuteCopyToClipboardCopied.next(false);\r\n }\r\n } else {\r\n this.cuteCopyToClipboardCopied.next(false);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {Directive, Input, ElementRef, Renderer2, OnChanges, SimpleChanges, inject} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cuteTimeAgo]',\r\n standalone: true,\r\n})\r\nexport class CuteTimeAgo implements OnChanges {\r\n private el = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private renderer = inject(Renderer2);\r\n\r\n @Input() cuteTimeAgo?: Date;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes[\"cuteTimeAgo\"]) {\r\n this.updateTimeAgo();\r\n }\r\n }\r\n\r\n private updateTimeAgo(): void {\r\n if (this.cuteTimeAgo instanceof Date) {\r\n const timeDifference = Date.now() - this.cuteTimeAgo.getTime();\r\n const secondsAgo = Math.floor(timeDifference / 1000);\r\n\r\n let text: string;\r\n\r\n if (secondsAgo < 60) {\r\n text = 'just now';\r\n } else if (secondsAgo < 3600) {\r\n const minutes = Math.floor(secondsAgo / 60);\r\n text = `${minutes} minute${minutes > 1 ? 's' : ''} ago`;\r\n } else if (secondsAgo < 86400) {\r\n const hours = Math.floor(secondsAgo / 3600);\r\n text = `${hours} hour${hours > 1 ? 's' : ''} ago`;\r\n } else {\r\n const days = Math.floor(secondsAgo / 86400);\r\n text = `${days} day${days > 1 ? 's' : ''} ago`;\r\n }\r\n\r\n this.renderer.setProperty(this.el.nativeElement, 'textContent', text);\r\n }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {LayoutBreakpoint} from \"@cute-widgets/base/core/types\";\r\nimport {bsBreakpoints} from \"@cute-widgets/base/core/layout\";\r\n\r\n/**\r\n * ```HTML\r\n * <div cuteResponsive=\"md, lg\">\r\n * This content is visible on medium and large screens.\r\n * </div>\r\n * ```\r\n */\r\n@Directive({\r\n selector: '[cuteResponsive]',\r\n standalone: true,\r\n})\r\nexport class CuteResponsive implements OnInit {\r\n private templateRef = inject(TemplateRef);\r\n private viewContainer = inject(ViewContainerRef);\r\n\r\n /** Comma-separated screen size breakpoints (e.g., 'md, lg') or an array of it. */\r\n @Input(\"cuteResponsive\") breakPoints?: string | LayoutBreakpoint[];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n this.detectScreenSize();\r\n }\r\n\r\n private detectScreenSize() {\r\n const screenWidth = this.getScreenWidth();\r\n if (this.breakPoints?.includes(screenWidth)) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n private getScreenWidth(): LayoutBreakpoint {\r\n const width = window.innerWidth;\r\n if (width >= bsBreakpoints.grid.xxl) { return 'xxl'; } else\r\n if (width >= bsBreakpoints.grid.xl) { return 'xl'; } else\r\n if (width >= bsBreakpoints.grid.lg) { return 'lg'; } else\r\n if (width >= bsBreakpoints.grid.md) { return 'md'; } else\r\n if (width >= bsBreakpoints.grid.sm) { return 'sm'; } else\r\n { return 'xs'; }\r\n }\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive, ElementRef, inject, Input, OnInit, SecurityContext} from \"@angular/core\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n/**\r\n * Appends `<use href=[symbolPath]>` as a child element of the SVG.\r\n * @example\r\n * ```html\r\n * <svg width=\"1em\" height=\"1em\" [cuteSvgSymbol]=\"BOOTSTRAP_ICONS+'#collection'\"></svg>\r\n * ```\r\n */\r\n@Directive({\r\n selector: 'svg[cuteSvgSymbol]',\r\n host: {\r\n '[attr.cuteSvgSymbol]': 'null',\r\n 'ngSkipHydration': 'true',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteSvgSymbol implements OnInit {\r\n private _elementRef = inject<ElementRef<SVGElement>>(ElementRef);\r\n private _sanitizer = inject(DomSanitizer);\r\n\r\n /** Path to SVG **symbol** element including its `id` prefixed with **#**. */\r\n @Input({alias: \"cuteSvgSymbol\", required: true}) svgSymbol: string|null = null ;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n const url = this._sanitizer.sanitize(SecurityContext.URL, this.svgSymbol);\r\n if (url) {\r\n this._elementRef.nativeElement.innerHTML = `<use href=\"${url}\"></use>`;\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\n\r\nimport {booleanAttribute, Directive, HostAttributeToken, inject, Input} from \"@angular/core\";\r\n\r\n/**\r\n * The icon link helper directive modifies the default link styles to enhance their appearance and\r\n * quickly align any pairing of icon and text.\r\n */\r\n@Directive({\r\n selector: 'a[cuteIconLink]',\r\n exportAs: 'cuteIconLink',\r\n host: {\r\n 'class': 'icon-link',\r\n '[class.icon-link-hover]': 'hovered',\r\n //'[style.cursor]': 'noHRef ? \"pointer\" : undefined',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteIconLink /* extends ... */ {\r\n\r\n protected noHRef: boolean = false;\r\n\r\n /** Whether to move the icon to the right on hover. */\r\n @Input({transform: booleanAttribute})\r\n hovered: boolean = false;\r\n\r\n constructor() {\r\n const href = inject(new HostAttributeToken(\"href\"), {optional: true});\r\n this.noHRef = !href;\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cuteFocusInitial]',\r\n standalone: true,\r\n host: {\r\n '[attr.cdkFocusInitial]': 'true',\r\n }\r\n})\r\nexport class CuteFocusInitial {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}