{"version":3,"sources":["node_modules/primeng/fesm2022/primeng-basecomponent.mjs","node_modules/primeng/fesm2022/primeng-dom.mjs","node_modules/primeng/fesm2022/primeng-autofocus.mjs","node_modules/primeng/fesm2022/primeng-badge.mjs","node_modules/primeng/fesm2022/primeng-icons-baseicon.mjs","node_modules/primeng/fesm2022/primeng-icons-spinner.mjs","node_modules/primeng/fesm2022/primeng-ripple.mjs","node_modules/primeng/fesm2022/primeng-button.mjs","src/app/focus-prime/components/fp-button/fp-button-tokens.ts","src/app/focus-prime/components/fp-button/fp-button.component.ts","src/app/focus-prime/components/fp-button/fp-button.component.html"],"sourcesContent":["import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, PLATFORM_ID, ElementRef, Injector, ChangeDetectorRef, Renderer2, Directive, Input } from '@angular/core';\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { uuid, getKeyValue } from '@primeuix/utils';\nimport { BaseStyle, Base } from 'primeng/base';\nimport { PrimeNG } from 'primeng/config';\nlet BaseComponentStyle = /*#__PURE__*/(() => {\n class BaseComponentStyle extends BaseStyle {\n name = 'common';\n static ɵfac = /*@__PURE__*/(() => {\n let ɵBaseComponentStyle_BaseFactory;\n return function BaseComponentStyle_Factory(__ngFactoryType__) {\n return (ɵBaseComponentStyle_BaseFactory || (ɵBaseComponentStyle_BaseFactory = i0.ɵɵgetInheritedFactory(BaseComponentStyle)))(__ngFactoryType__ || BaseComponentStyle);\n };\n })();\n static ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: BaseComponentStyle,\n factory: BaseComponentStyle.ɵfac,\n providedIn: 'root'\n });\n }\n return BaseComponentStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BaseComponent = /*#__PURE__*/(() => {\n class BaseComponent {\n document = inject(DOCUMENT);\n platformId = inject(PLATFORM_ID);\n el = inject(ElementRef);\n injector = inject(Injector);\n cd = inject(ChangeDetectorRef);\n renderer = inject(Renderer2);\n config = inject(PrimeNG);\n baseComponentStyle = inject(BaseComponentStyle);\n baseStyle = inject(BaseStyle);\n scopedStyleEl;\n rootEl;\n dt;\n get styleOptions() {\n return {\n nonce: this.config?.csp().nonce\n };\n }\n get _name() {\n return this.constructor.name.replace(/^_/, '').toLowerCase();\n }\n get componentStyle() {\n return this['_componentStyle'];\n }\n attrSelector = uuid('pc');\n _getHostInstance(instance) {\n if (instance) {\n return instance ? this['hostName'] ? instance['name'] === this['hostName'] ? instance : this._getHostInstance(instance.parentInstance) : instance.parentInstance : undefined;\n }\n }\n _getOptionValue(options, key = '', params = {}) {\n return getKeyValue(options, key, params);\n }\n ngOnInit() {\n if (this.document) {\n this._loadStyles();\n }\n }\n ngAfterViewInit() {\n this.rootEl = this.el?.nativeElement;\n if (this.rootEl) {\n this.rootEl?.setAttribute(this.attrSelector, '');\n }\n }\n ngOnChanges(changes) {\n if (this.document && !isPlatformServer(this.platformId)) {\n const {\n dt\n } = changes;\n if (dt && dt.currentValue) {\n this._loadScopedThemeStyles(dt.currentValue);\n this._themeChangeListener(() => this._loadScopedThemeStyles(dt.currentValue));\n }\n }\n }\n ngOnDestroy() {\n this._unloadScopedThemeStyles();\n }\n _loadStyles() {\n const _load = () => {\n if (!Base.isStyleNameLoaded('base')) {\n this.baseStyle.loadGlobalCSS(this.styleOptions);\n Base.setLoadedStyleName('base');\n }\n this._loadThemeStyles();\n // @todo update config.theme()\n };\n _load();\n this._themeChangeListener(() => _load());\n }\n _loadCoreStyles() {\n if (!Base.isStyleNameLoaded('base') && this._name) {\n this.baseComponentStyle.loadCSS(this.styleOptions);\n this.componentStyle && this.componentStyle?.loadCSS(this.styleOptions);\n Base.setLoadedStyleName(this.componentStyle?.name);\n }\n }\n _loadThemeStyles() {\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const {\n primitive,\n semantic,\n global,\n style\n } = this.componentStyle?.getCommonTheme?.() || {};\n this.baseStyle.load(primitive?.css, {\n name: 'primitive-variables',\n ...this.styleOptions\n });\n this.baseStyle.load(semantic?.css, {\n name: 'semantic-variables',\n ...this.styleOptions\n });\n this.baseStyle.load(global?.css, {\n name: 'global-variables',\n ...this.styleOptions\n });\n this.baseStyle.loadGlobalTheme({\n name: 'global-style',\n ...this.styleOptions\n }, style);\n Theme.setLoadedStyleName('common');\n }\n // component\n if (!Theme.isStyleNameLoaded(this.componentStyle?.name) && this.componentStyle?.name) {\n const {\n css,\n style\n } = this.componentStyle?.getComponentTheme?.() || {};\n this.componentStyle?.load(css, {\n name: `${this.componentStyle?.name}-variables`,\n ...this.styleOptions\n });\n this.componentStyle?.loadTheme({\n name: `${this.componentStyle?.name}-style`,\n ...this.styleOptions\n }, style);\n Theme.setLoadedStyleName(this.componentStyle?.name);\n }\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = this.componentStyle?.getLayerOrderThemeCSS?.();\n this.baseStyle.load(layerOrder, {\n name: 'layer-order',\n first: true,\n ...this.styleOptions\n });\n Theme.setLoadedStyleName('layer-order');\n }\n if (this.dt) {\n this._loadScopedThemeStyles(this.dt);\n this._themeChangeListener(() => this._loadScopedThemeStyles(this.dt));\n }\n }\n _loadScopedThemeStyles(preset) {\n const {\n css\n } = this.componentStyle?.getPresetTheme?.(preset, `[${this.attrSelector}]`) || {};\n const scopedStyle = this.componentStyle?.load(css, {\n name: `${this.attrSelector}-${this.componentStyle?.name}`,\n ...this.styleOptions\n });\n this.scopedStyleEl = scopedStyle?.el;\n }\n _unloadScopedThemeStyles() {\n this.scopedStyleEl?.remove();\n }\n _themeChangeListener(callback = () => {}) {\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n }\n cx(arg, rest) {\n const classes = this.parent ? this.parent.componentStyle?.classes?.[arg] : this.componentStyle?.classes?.[arg];\n if (typeof classes === 'function') {\n return classes({\n instance: this\n });\n }\n return typeof classes === 'string' ? classes : arg;\n }\n sx(arg) {\n const styles = this.componentStyle?.inlineStyles?.[arg];\n if (typeof styles === 'function') {\n return styles({\n instance: this\n });\n }\n if (typeof styles === 'string') {\n return styles;\n } else {\n return {\n ...styles\n };\n }\n }\n // cx(key = '', params = {}) {\n // const classes = this.parent ? this.parent.componentStyle?.classes : this.componentStyle?.classes;\n // return this._getOptionValue(classes({ instance: this._getHostInstance(this) }), key, { ...params });\n // }\n get parent() {\n return this['parentInstance'];\n }\n static ɵfac = function BaseComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BaseComponent)();\n };\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: BaseComponent,\n inputs: {\n dt: \"dt\"\n },\n features: [i0.ɵɵProvidersFeature([BaseComponentStyle, BaseStyle]), i0.ɵɵNgOnChangesFeature]\n });\n }\n return BaseComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseComponent, BaseComponentStyle };\n","/**\n * @dynamic is for runtime initializing DomHandler.browser\n *\n * If delete below comment, we can see this error message:\n * Metadata collected contains an error that will be reported at runtime:\n * Only initialized variables and constants can be referenced\n * because the value of this variable is needed by the template compiler.\n */\n// @dynamic\nlet DomHandler = /*#__PURE__*/(() => {\n class DomHandler {\n static zindex = 1000;\n static calculatedScrollbarWidth = null;\n static calculatedScrollbarHeight = null;\n static browser;\n static addClass(element, className) {\n if (element && className) {\n if (element.classList) element.classList.add(className);else element.className += ' ' + className;\n }\n }\n static addMultipleClasses(element, className) {\n if (element && className) {\n if (element.classList) {\n let styles = className.trim().split(' ');\n for (let i = 0; i < styles.length; i++) {\n element.classList.add(styles[i]);\n }\n } else {\n let styles = className.split(' ');\n for (let i = 0; i < styles.length; i++) {\n element.className += ' ' + styles[i];\n }\n }\n }\n }\n static removeClass(element, className) {\n if (element && className) {\n if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n static removeMultipleClasses(element, classNames) {\n if (element && classNames) {\n [classNames].flat().filter(Boolean).forEach(cNames => cNames.split(' ').forEach(className => this.removeClass(element, className)));\n }\n }\n static hasClass(element, className) {\n if (element && className) {\n if (element.classList) return element.classList.contains(className);else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n return false;\n }\n static siblings(element) {\n return Array.prototype.filter.call(element.parentNode.children, function (child) {\n return child !== element;\n });\n }\n static find(element, selector) {\n return Array.from(element.querySelectorAll(selector));\n }\n static findSingle(element, selector) {\n return this.isElement(element) ? element.querySelector(selector) : null;\n }\n static index(element) {\n let children = element.parentNode.childNodes;\n let num = 0;\n for (var i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].nodeType == 1) num++;\n }\n return -1;\n }\n static indexWithinGroup(element, attributeName) {\n let children = element.parentNode ? element.parentNode.childNodes : [];\n let num = 0;\n for (var i = 0; i < children.length; i++) {\n if (children[i] == element) return num;\n if (children[i].attributes && children[i].attributes[attributeName] && children[i].nodeType == 1) num++;\n }\n return -1;\n }\n static appendOverlay(overlay, target, appendTo = 'self') {\n if (appendTo !== 'self' && overlay && target) {\n this.appendChild(overlay, target);\n }\n }\n static alignOverlay(overlay, target, appendTo = 'self', calculateMinWidth = true) {\n if (overlay && target) {\n if (calculateMinWidth) {\n overlay.style.minWidth = `${DomHandler.getOuterWidth(target)}px`;\n }\n if (appendTo === 'self') {\n this.relativePosition(overlay, target);\n } else {\n this.absolutePosition(overlay, target);\n }\n }\n }\n static relativePosition(element, target, gutter = true) {\n const getClosestRelativeElement = el => {\n if (!el) return;\n return getComputedStyle(el).getPropertyValue('position') === 'relative' ? el : getClosestRelativeElement(el.parentElement);\n };\n const elementDimensions = element.offsetParent ? {\n width: element.offsetWidth,\n height: element.offsetHeight\n } : this.getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n const relativeElement = getClosestRelativeElement(element);\n const relativeElementOffset = relativeElement?.getBoundingClientRect() || {\n top: -1 * windowScrollTop,\n left: -1 * windowScrollLeft\n };\n let top, left;\n if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = targetOffset.top - relativeElementOffset.top - elementDimensions.height;\n element.style.transformOrigin = 'bottom';\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight + targetOffset.top - relativeElementOffset.top;\n element.style.transformOrigin = 'top';\n }\n const horizontalOverflow = targetOffset.left + elementDimensions.width - viewport.width;\n const targetLeftOffsetInSpaceOfRelativeElement = targetOffset.left - relativeElementOffset.left;\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = (targetOffset.left - relativeElementOffset.left) * -1;\n } else if (horizontalOverflow > 0) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = targetLeftOffsetInSpaceOfRelativeElement - horizontalOverflow;\n } else {\n // element fits on screen (align with target)\n left = targetOffset.left - relativeElementOffset.left;\n }\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n gutter && (element.style.marginTop = origin === 'bottom' ? 'calc(var(--p-anchor-gutter) * -1)' : 'calc(var(--p-anchor-gutter))');\n }\n static absolutePosition(element, target, gutter = true) {\n const elementDimensions = element.offsetParent ? {\n width: element.offsetWidth,\n height: element.offsetHeight\n } : this.getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = this.getWindowScrollTop();\n const windowScrollLeft = this.getWindowScrollLeft();\n const viewport = this.getViewport();\n let top, left;\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n element.style.transformOrigin = 'bottom';\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n element.style.transformOrigin = 'top';\n }\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);else left = targetOffset.left + windowScrollLeft;\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n gutter && (element.style.marginTop = origin === 'bottom' ? 'calc(var(--p-anchor-gutter) * -1)' : 'calc(var(--p-anchor-gutter))');\n }\n static getParents(element, parents = []) {\n return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));\n }\n static getScrollableParents(element) {\n let scrollableParents = [];\n if (element) {\n let parents = this.getParents(element);\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = node => {\n let styleDeclaration = window['getComputedStyle'](node, null);\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n };\n for (let parent of parents) {\n let scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(',');\n for (let selector of selectors) {\n let el = this.findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n return scrollableParents;\n }\n static getHiddenElementOuterHeight(element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementHeight = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementHeight;\n }\n static getHiddenElementOuterWidth(element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementWidth = element.offsetWidth;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementWidth;\n }\n static getHiddenElementDimensions(element) {\n let dimensions = {};\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return dimensions;\n }\n static scrollInView(container, item) {\n let borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n let paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n let containerRect = container.getBoundingClientRect();\n let itemRect = item.getBoundingClientRect();\n let offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n let scroll = container.scrollTop;\n let elementHeight = container.clientHeight;\n let itemHeight = this.getOuterHeight(item);\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n }\n static fadeIn(element, duration) {\n element.style.opacity = 0;\n let last = +new Date();\n let opacity = 0;\n let tick = function () {\n opacity = +element.style.opacity.replace(',', '.') + (new Date().getTime() - last) / duration;\n element.style.opacity = opacity;\n last = +new Date();\n if (+opacity < 1) {\n window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16);\n }\n };\n tick();\n }\n static fadeOut(element, ms) {\n var opacity = 1,\n interval = 50,\n duration = ms,\n gap = interval / duration;\n let fading = setInterval(() => {\n opacity = opacity - gap;\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n element.style.opacity = opacity;\n }, interval);\n }\n static getWindowScrollTop() {\n let doc = document.documentElement;\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n static getWindowScrollLeft() {\n let doc = document.documentElement;\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n static matches(element, selector) {\n var p = Element.prototype;\n var f = p['matches'] || p.webkitMatchesSelector || p['mozMatchesSelector'] || p['msMatchesSelector'] || function (s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n return f.call(element, selector);\n }\n static getOuterWidth(el, margin) {\n let width = el.offsetWidth;\n if (margin) {\n let style = getComputedStyle(el);\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n return width;\n }\n static getHorizontalPadding(el) {\n let style = getComputedStyle(el);\n return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n static getHorizontalMargin(el) {\n let style = getComputedStyle(el);\n return parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n static innerWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n static width(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n static getInnerHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n height += parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n return height;\n }\n static getOuterHeight(el, margin) {\n let height = el.offsetHeight;\n if (margin) {\n let style = getComputedStyle(el);\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n return height;\n }\n static getHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n return height;\n }\n static getWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n return width;\n }\n static getViewport() {\n let win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n return {\n width: w,\n height: h\n };\n }\n static getOffset(el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)\n };\n }\n static replaceElementWith(element, replacementElement) {\n let parentNode = element.parentNode;\n if (!parentNode) throw `Can't replace element`;\n return parentNode.replaceChild(replacementElement, element);\n }\n static getUserAgent() {\n if (navigator && this.isClient()) {\n return navigator.userAgent;\n }\n }\n static isIE() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return true;\n }\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return true;\n }\n var edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return true;\n }\n // other browser\n return false;\n }\n static isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];\n }\n static isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n }\n static isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n static appendChild(element, target) {\n if (this.isElement(target)) target.appendChild(element);else if (target && target.el && target.el.nativeElement) target.el.nativeElement.appendChild(element);else throw 'Cannot append ' + target + ' to ' + element;\n }\n static removeChild(element, target) {\n if (this.isElement(target)) target.removeChild(element);else if (target.el && target.el.nativeElement) target.el.nativeElement.removeChild(element);else throw 'Cannot remove ' + element + ' from ' + target;\n }\n static removeElement(element) {\n if (!('remove' in Element.prototype)) element.parentNode.removeChild(element);else element.remove();\n }\n static isElement(obj) {\n return typeof HTMLElement === 'object' ? obj instanceof HTMLElement : obj && typeof obj === 'object' && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n }\n static calculateScrollbarWidth(el) {\n if (el) {\n let style = getComputedStyle(el);\n return el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (this.calculatedScrollbarWidth !== null) return this.calculatedScrollbarWidth;\n let scrollDiv = document.createElement('div');\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n this.calculatedScrollbarWidth = scrollbarWidth;\n return scrollbarWidth;\n }\n }\n static calculateScrollbarHeight() {\n if (this.calculatedScrollbarHeight !== null) return this.calculatedScrollbarHeight;\n let scrollDiv = document.createElement('div');\n scrollDiv.className = 'p-scrollbar-measure';\n document.body.appendChild(scrollDiv);\n let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n document.body.removeChild(scrollDiv);\n this.calculatedScrollbarWidth = scrollbarHeight;\n return scrollbarHeight;\n }\n static invokeElementMethod(element, methodName, args) {\n element[methodName].apply(element, args);\n }\n static clearSelection() {\n if (window.getSelection) {\n if (window.getSelection().empty) {\n window.getSelection().empty();\n } else if (window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {\n window.getSelection().removeAllRanges();\n }\n } else if (document['selection'] && document['selection'].empty) {\n try {\n document['selection'].empty();\n } catch (error) {\n //ignore IE bug\n }\n }\n }\n static getBrowser() {\n if (!this.browser) {\n let matched = this.resolveUserAgent();\n this.browser = {};\n if (matched.browser) {\n this.browser[matched.browser] = true;\n this.browser['version'] = matched.version;\n }\n if (this.browser['chrome']) {\n this.browser['webkit'] = true;\n } else if (this.browser['webkit']) {\n this.browser['safari'] = true;\n }\n }\n return this.browser;\n }\n static resolveUserAgent() {\n let ua = navigator.userAgent.toLowerCase();\n let match = /(chrome)[ \\/]([\\w.]+)/.exec(ua) || /(webkit)[ \\/]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) || [];\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n }\n static isInteger(value) {\n if (Number.isInteger) {\n return Number.isInteger(value);\n } else {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n }\n }\n static isHidden(element) {\n return !element || element.offsetParent === null;\n }\n static isVisible(element) {\n return element && element.offsetParent != null;\n }\n static isExist(element) {\n return element !== null && typeof element !== 'undefined' && element.nodeName && element.parentNode;\n }\n static focus(element, options) {\n element && document.activeElement !== element && element.focus(options);\n }\n static getFocusableSelectorString(selector = '') {\n return `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-inputtext:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n .p-button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`;\n }\n static getFocusableElements(element, selector = '') {\n let focusableElements = this.find(element, this.getFocusableSelectorString(selector));\n let visibleFocusableElements = [];\n for (let focusableElement of focusableElements) {\n const computedStyle = getComputedStyle(focusableElement);\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n return visibleFocusableElements;\n }\n static getFocusableElement(element, selector = '') {\n let focusableElement = this.findSingle(element, this.getFocusableSelectorString(selector));\n if (focusableElement) {\n const computedStyle = getComputedStyle(focusableElement);\n if (this.isVisible(focusableElement) && computedStyle.display != 'none' && computedStyle.visibility != 'hidden') return focusableElement;\n }\n return null;\n }\n static getFirstFocusableElement(element, selector = '') {\n const focusableElements = this.getFocusableElements(element, selector);\n return focusableElements.length > 0 ? focusableElements[0] : null;\n }\n static getLastFocusableElement(element, selector) {\n const focusableElements = this.getFocusableElements(element, selector);\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n }\n static getNextFocusableElement(element, reverse = false) {\n const focusableElements = DomHandler.getFocusableElements(element);\n let index = 0;\n if (focusableElements && focusableElements.length > 0) {\n const focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n if (reverse) {\n if (focusedIndex == -1 || focusedIndex === 0) {\n index = focusableElements.length - 1;\n } else {\n index = focusedIndex - 1;\n }\n } else if (focusedIndex != -1 && focusedIndex !== focusableElements.length - 1) {\n index = focusedIndex + 1;\n }\n }\n return focusableElements[index];\n }\n static generateZIndex() {\n this.zindex = this.zindex || 999;\n return ++this.zindex;\n }\n static getSelection() {\n if (window.getSelection) return window.getSelection().toString();else if (document.getSelection) return document.getSelection().toString();else if (document['selection']) return document['selection'].createRange().text;\n return null;\n }\n static getTargetElement(target, el) {\n if (!target) return null;\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case '@next':\n return el?.nextElementSibling;\n case '@prev':\n return el?.previousElementSibling;\n case '@parent':\n return el?.parentElement;\n case '@grandparent':\n return el?.parentElement.parentElement;\n default:\n const type = typeof target;\n if (type === 'string') {\n return document.querySelector(target);\n } else if (type === 'object' && target.hasOwnProperty('nativeElement')) {\n return this.isExist(target.nativeElement) ? target.nativeElement : undefined;\n }\n const isFunction = obj => !!(obj && obj.constructor && obj.call && obj.apply);\n const element = isFunction(target) ? target() : target;\n return element && element.nodeType === 9 || this.isExist(element) ? element : null;\n }\n }\n static isClient() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n }\n static getAttribute(element, name) {\n if (element) {\n const value = element.getAttribute(name);\n if (!isNaN(value)) {\n return +value;\n }\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n return value;\n }\n return undefined;\n }\n static calculateBodyScrollbarWidth() {\n return window.innerWidth - document.documentElement.offsetWidth;\n }\n static blockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.setProperty('--scrollbar-width', this.calculateBodyScrollbarWidth() + 'px');\n this.addClass(document.body, className);\n }\n static unblockBodyScroll(className = 'p-overflow-hidden') {\n document.body.style.removeProperty('--scrollbar-width');\n this.removeClass(document.body, className);\n }\n static createElement(type, attributes = {}, ...children) {\n if (type) {\n const element = document.createElement(type);\n this.setAttributes(element, attributes);\n element.append(...children);\n return element;\n }\n return undefined;\n }\n static setAttribute(element, attribute = '', value) {\n if (this.isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n }\n static setAttributes(element, attributes = {}) {\n if (this.isElement(element)) {\n const computedStyles = (rule, value) => {\n const styles = element?.$attrs?.[rule] ? [element?.$attrs?.[rule]] : [];\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : !!_v ? _k : undefined);\n cv = _cv.length ? cv.concat(_cv.filter(c => !!c)) : cv;\n }\n }\n return cv;\n }, styles);\n };\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'pBind') {\n this.setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n }\n static isFocusableElement(element, selector = '') {\n return this.isElement(element) ? element.matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`) : false;\n }\n }\n return DomHandler;\n})();\nclass ConnectedOverlayScrollHandler {\n element;\n listener;\n scrollableParents;\n constructor(element, listener = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n bindScrollListener() {\n this.scrollableParents = DomHandler.getScrollableParents(this.element);\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n unbindScrollListener() {\n if (this.scrollableParents) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ConnectedOverlayScrollHandler, DomHandler };\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, PLATFORM_ID, ElementRef, booleanAttribute, Directive, Input, NgModule } from '@angular/core';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { DomHandler } from 'primeng/dom';\n\n/**\n * AutoFocus manages focus on focusable element on load.\n * @group Components\n */\nlet AutoFocus = /*#__PURE__*/(() => {\n class AutoFocus extends BaseComponent {\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @deprecated use [pAutoFocus]=\"true\"\n * @group Props\n */\n autofocus = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n _autofocus = false;\n focused = false;\n platformId = inject(PLATFORM_ID);\n document = inject(DOCUMENT);\n host = inject(ElementRef);\n ngAfterContentChecked() {\n // This sets the `attr.autofocus` which is different than the Input `autofocus` attribute.\n if (this.autofocus === false) {\n this.host.nativeElement.removeAttribute('autofocus');\n } else {\n this.host.nativeElement.setAttribute('autofocus', true);\n }\n if (!this.focused) {\n this.autoFocus();\n }\n }\n ngAfterViewChecked() {\n if (!this.focused) {\n this.autoFocus();\n }\n }\n autoFocus() {\n if (isPlatformBrowser(this.platformId) && this._autofocus) {\n setTimeout(() => {\n const focusableElements = DomHandler.getFocusableElements(this.host?.nativeElement);\n if (focusableElements.length === 0) {\n this.host.nativeElement.focus();\n }\n if (focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n this.focused = true;\n });\n }\n }\n static ɵfac = /*@__PURE__*/(() => {\n let ɵAutoFocus_BaseFactory;\n return function AutoFocus_Factory(__ngFactoryType__) {\n return (ɵAutoFocus_BaseFactory || (ɵAutoFocus_BaseFactory = i0.ɵɵgetInheritedFactory(AutoFocus)))(__ngFactoryType__ || AutoFocus);\n };\n })();\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: AutoFocus,\n selectors: [[\"\", \"pAutoFocus\", \"\"]],\n inputs: {\n autofocus: [2, \"autofocus\", \"autofocus\", booleanAttribute],\n _autofocus: [0, \"pAutoFocus\", \"_autofocus\"]\n },\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature]\n });\n }\n return AutoFocus;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AutoFocusModule = /*#__PURE__*/(() => {\n class AutoFocusModule {\n static ɵfac = function AutoFocusModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || AutoFocusModule)();\n };\n static ɵmod = /*@__PURE__*/i0.ɵɵdefineNgModule({\n type: AutoFocusModule\n });\n static ɵinj = /*@__PURE__*/i0.ɵɵdefineInjector({});\n }\n return AutoFocusModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(AutoFocusModule, {\n imports: [AutoFocus],\n exports: [AutoFocus]\n });\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutoFocus, AutoFocusModule };\n","import { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, Directive, Input, input, booleanAttribute, computed, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';\nimport { isNotEmpty, isEmpty, uuid, hasClass, removeClass, addClass } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst theme = ({\n dt\n}) => `\n.p-badge {\n display: inline-flex;\n border-radius: ${dt('badge.border.radius')};\n justify-content: center;\n padding: ${dt('badge.padding')};\n background: ${dt('badge.primary.background')};\n color: ${dt('badge.primary.color')};\n font-size: ${dt('badge.font.size')};\n font-weight: ${dt('badge.font.weight')};\n min-width: ${dt('badge.min.width')};\n height: ${dt('badge.height')};\n line-height: ${dt('badge.height')};\n}\n\n.p-badge-dot {\n width: ${dt('badge.dot.size')};\n min-width: ${dt('badge.dot.size')};\n height: ${dt('badge.dot.size')};\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ${dt('badge.secondary.background')};\n color: ${dt('badge.secondary.color')};\n}\n\n.p-badge-success {\n background: ${dt('badge.success.background')};\n color: ${dt('badge.success.color')};\n}\n\n.p-badge-info {\n background: ${dt('badge.info.background')};\n color: ${dt('badge.info.color')};\n}\n\n.p-badge-warn {\n background: ${dt('badge.warn.background')};\n color: ${dt('badge.warn.color')};\n}\n\n.p-badge-danger {\n background: ${dt('badge.danger.background')};\n color: ${dt('badge.danger.color')};\n}\n\n.p-badge-contrast {\n background: ${dt('badge.contrast.background')};\n color: ${dt('badge.contrast.color')};\n}\n\n.p-badge-sm {\n font-size: ${dt('badge.sm.font.size')};\n min-width: ${dt('badge.sm.min.width')};\n height: ${dt('badge.sm.height')};\n line-height: ${dt('badge.sm.height')};\n}\n\n.p-badge-lg {\n font-size: ${dt('badge.lg.font.size')};\n min-width: ${dt('badge.lg.min.width')};\n height: ${dt('badge.lg.height')};\n line-height: ${dt('badge.lg.height')};\n}\n\n.p-badge-xl {\n font-size: ${dt('badge.xl.font.size')};\n min-width: ${dt('badge.xl.min.width')};\n height: ${dt('badge.xl.height')};\n line-height: ${dt('badge.xl.height')};\n}\n\n/* For PrimeNG (directive)*/\n\n.p-overlay-badge {\n position: relative;\n}\n\n.p-overlay-badge > .p-badge {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n}\n`;\nconst classes = {\n root: ({\n props,\n instance\n }) => ['p-badge p-component', {\n 'p-badge-circle': isNotEmpty(props.value) && String(props.value).length === 1,\n 'p-badge-dot': isEmpty(props.value) && !instance.$slots.default,\n 'p-badge-sm': props.size === 'small',\n 'p-badge-lg': props.size === 'large',\n 'p-badge-xl': props.size === 'xlarge',\n 'p-badge-info': props.severity === 'info',\n 'p-badge-success': props.severity === 'success',\n 'p-badge-warn': props.severity === 'warn',\n 'p-badge-danger': props.severity === 'danger',\n 'p-badge-secondary': props.severity === 'secondary',\n 'p-badge-contrast': props.severity === 'contrast'\n }]\n};\nlet BadgeStyle = /*#__PURE__*/(() => {\n class BadgeStyle extends BaseStyle {\n name = 'badge';\n theme = theme;\n classes = classes;\n static ɵfac = /*@__PURE__*/(() => {\n let ɵBadgeStyle_BaseFactory;\n return function BadgeStyle_Factory(__ngFactoryType__) {\n return (ɵBadgeStyle_BaseFactory || (ɵBadgeStyle_BaseFactory = i0.ɵɵgetInheritedFactory(BadgeStyle)))(__ngFactoryType__ || BadgeStyle);\n };\n })();\n static ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: BadgeStyle,\n factory: BadgeStyle.ɵfac\n });\n }\n return BadgeStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Badge represents people using icons, labels and images.\n *\n * [Live Demo](https://www.primeng.org/badge)\n *\n * @module badgestyle\n *\n */\nvar BadgeClasses = /*#__PURE__*/function (BadgeClasses) {\n /**\n * Class name of the root element\n */\n BadgeClasses[\"root\"] = \"p-badge\";\n return BadgeClasses;\n}(BadgeClasses || {});\n/**\n * Badge Directive is directive usage of badge component.\n * @group Components\n */\nlet BadgeDirective = /*#__PURE__*/(() => {\n class BadgeDirective extends BaseComponent {\n /**\n * When specified, disables the component.\n * @group Props\n */\n disabled;\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n badgeSize;\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n * @deprecated use badgeSize instead.\n */\n set size(value) {\n this._size = value;\n console.log('size property is deprecated and will removed in v18, use badgeSize instead.');\n }\n get size() {\n return this._size;\n }\n _size;\n /**\n * Severity type of the badge.\n * @group Props\n */\n severity;\n /**\n * Value to display inside the badge.\n * @group Props\n */\n value;\n /**\n * Inline style of the element.\n * @group Props\n */\n badgeStyle;\n /**\n * Class of the element.\n * @group Props\n */\n badgeStyleClass;\n id;\n badgeEl;\n _componentStyle = inject(BadgeStyle);\n get activeElement() {\n return this.el.nativeElement.nodeName.indexOf('-') != -1 ? this.el.nativeElement.firstChild : this.el.nativeElement;\n }\n get canUpdateBadge() {\n return this.id && !this.disabled;\n }\n constructor() {\n super();\n }\n ngOnChanges({\n value,\n size,\n severity,\n disabled,\n badgeStyle,\n badgeStyleClass\n }) {\n super.ngOnChanges({\n value,\n size,\n severity,\n disabled\n });\n if (disabled) {\n this.toggleDisableState();\n }\n if (!this.canUpdateBadge) {\n return;\n }\n if (severity) {\n this.setSeverity(severity.previousValue);\n }\n if (size) {\n this.setSizeClasses();\n }\n if (value) {\n this.setValue();\n }\n if (badgeStyle || badgeStyleClass) {\n this.applyStyles();\n }\n }\n ngAfterViewInit() {\n this.id = uuid('pn_id_') + '_badge';\n this.renderBadgeContent();\n }\n setValue(element) {\n const badge = element ?? this.document.getElementById(this.id);\n if (!badge) {\n return;\n }\n if (this.value != null) {\n if (hasClass(badge, 'p-badge-dot')) {\n removeClass(badge, 'p-badge-dot');\n }\n if (this.value && String(this.value).length === 1) {\n addClass(badge, 'p-badge-circle');\n } else {\n removeClass(badge, 'p-badge-circle');\n }\n } else {\n if (!hasClass(badge, 'p-badge-dot')) {\n addClass(badge, 'p-badge-dot');\n }\n removeClass(badge, 'p-badge-circle');\n }\n badge.innerHTML = '';\n const badgeValue = this.value != null ? String(this.value) : '';\n this.renderer.appendChild(badge, this.document.createTextNode(badgeValue));\n }\n setSizeClasses(element) {\n const badge = element ?? this.document.getElementById(this.id);\n if (!badge) {\n return;\n }\n if (this.badgeSize) {\n if (this.badgeSize === 'large') {\n addClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n if (this.badgeSize === 'xlarge') {\n addClass(badge, 'p-badge-xl');\n removeClass(badge, 'p-badge-lg');\n }\n } else if (this.size && !this.badgeSize) {\n if (this.size === 'large') {\n addClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n if (this.size === 'xlarge') {\n addClass(badge, 'p-badge-xl');\n removeClass(badge, 'p-badge-lg');\n }\n } else {\n removeClass(badge, 'p-badge-lg');\n removeClass(badge, 'p-badge-xl');\n }\n }\n renderBadgeContent() {\n if (this.disabled) {\n return null;\n }\n const el = this.activeElement;\n const badge = this.document.createElement('span');\n badge.id = this.id;\n badge.className = 'p-badge p-component';\n this.setSeverity(null, badge);\n this.setSizeClasses(badge);\n this.setValue(badge);\n addClass(el, 'p-overlay-badge');\n this.renderer.appendChild(el, badge);\n this.badgeEl = badge;\n this.applyStyles();\n }\n applyStyles() {\n if (this.badgeEl && this.badgeStyle && typeof this.badgeStyle === 'object') {\n for (const [key, value] of Object.entries(this.badgeStyle)) {\n this.renderer.setStyle(this.badgeEl, key, value);\n }\n }\n if (this.badgeEl && this.badgeStyleClass) {\n this.badgeEl.classList.add(...this.badgeStyleClass.split(' '));\n }\n }\n setSeverity(oldSeverity, element) {\n const badge = element ?? this.document.getElementById(this.id);\n if (!badge) {\n return;\n }\n if (this.severity) {\n addClass(badge, `p-badge-${this.severity}`);\n }\n if (oldSeverity) {\n removeClass(badge, `p-badge-${oldSeverity}`);\n }\n }\n toggleDisableState() {\n if (!this.id) {\n return;\n }\n if (this.disabled) {\n const badge = this.activeElement?.querySelector(`#${this.id}`);\n if (badge) {\n this.renderer.removeChild(this.activeElement, badge);\n }\n } else {\n this.renderBadgeContent();\n }\n }\n static ɵfac = function BadgeDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BadgeDirective)();\n };\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: BadgeDirective,\n selectors: [[\"\", \"pBadge\", \"\"]],\n inputs: {\n disabled: [0, \"badgeDisabled\", \"disabled\"],\n badgeSize: \"badgeSize\",\n size: \"size\",\n severity: \"severity\",\n value: \"value\",\n badgeStyle: \"badgeStyle\",\n badgeStyleClass: \"badgeStyleClass\"\n },\n features: [i0.ɵɵProvidersFeature([BadgeStyle]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n return BadgeDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Badge is a small status indicator for another element.\n * @group Components\n */\nlet Badge = /*#__PURE__*/(() => {\n class Badge extends BaseComponent {\n /**\n * Class of the element.\n * @group Props\n */\n styleClass = input();\n /**\n * Inline style of the element.\n * @group Props\n */\n style = input();\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n badgeSize = input();\n /**\n * Size of the badge, valid options are \"large\" and \"xlarge\".\n * @group Props\n */\n size = input();\n /**\n * Severity type of the badge.\n * @group Props\n */\n severity = input();\n /**\n * Value to display inside the badge.\n * @group Props\n */\n value = input();\n /**\n * When specified, disables the component.\n * @group Props\n */\n badgeDisabled = input(false, {\n transform: booleanAttribute\n });\n _componentStyle = inject(BadgeStyle);\n /**\n * Computes the container class for the badge element based on its properties.\n * @returns An object representing the CSS classes to be applied to the badge container.\n */\n containerClass = computed(() => {\n let classes = 'p-badge p-component';\n if (isNotEmpty(this.value()) && String(this.value()).length === 1) {\n classes += ' p-badge-circle';\n }\n if (this.badgeSize() === 'large') {\n classes += ' p-badge-lg';\n } else if (this.badgeSize() === 'xlarge') {\n classes += ' p-badge-xl';\n } else if (this.badgeSize() === 'small') {\n classes += ' p-badge-sm';\n }\n if (isEmpty(this.value())) {\n classes += ' p-badge-dot';\n }\n if (this.styleClass()) {\n classes += ` ${this.styleClass()}`;\n }\n if (this.severity()) {\n classes += ` p-badge-${this.severity()}`;\n }\n return classes;\n });\n static ɵfac = /*@__PURE__*/(() => {\n let ɵBadge_BaseFactory;\n return function Badge_Factory(__ngFactoryType__) {\n return (ɵBadge_BaseFactory || (ɵBadge_BaseFactory = i0.ɵɵgetInheritedFactory(Badge)))(__ngFactoryType__ || Badge);\n };\n })();\n static ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: Badge,\n selectors: [[\"p-badge\"]],\n hostVars: 6,\n hostBindings: function Badge_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵstyleMap(ctx.style());\n i0.ɵɵclassMap(ctx.containerClass());\n i0.ɵɵstyleProp(\"display\", ctx.badgeDisabled() && \"none\");\n }\n },\n inputs: {\n styleClass: [1, \"styleClass\"],\n style: [1, \"style\"],\n badgeSize: [1, \"badgeSize\"],\n size: [1, \"size\"],\n severity: [1, \"severity\"],\n value: [1, \"value\"],\n badgeDisabled: [1, \"badgeDisabled\"]\n },\n features: [i0.ɵɵProvidersFeature([BadgeStyle]), i0.ɵɵInheritDefinitionFeature],\n decls: 1,\n vars: 1,\n template: function Badge_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n i0.ɵɵtextInterpolate(ctx.value());\n }\n },\n dependencies: [CommonModule, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return Badge;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BadgeModule = /*#__PURE__*/(() => {\n class BadgeModule {\n static ɵfac = function BadgeModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BadgeModule)();\n };\n static ɵmod = /*@__PURE__*/i0.ɵɵdefineNgModule({\n type: BadgeModule\n });\n static ɵinj = /*@__PURE__*/i0.ɵɵdefineInjector({\n imports: [Badge, SharedModule, SharedModule]\n });\n }\n return BadgeModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(BadgeModule, {\n imports: [Badge, BadgeDirective, SharedModule],\n exports: [Badge, BadgeDirective, SharedModule]\n });\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Badge, BadgeClasses, BadgeDirective, BadgeModule, BadgeStyle };\n","import * as i0 from '@angular/core';\nimport { Injectable, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\nimport { isEmpty } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst css = `\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n`;\nlet BaseIconStyle = /*#__PURE__*/(() => {\n class BaseIconStyle extends BaseStyle {\n name = 'baseicon';\n inlineStyles = css;\n static ɵfac = /*@__PURE__*/(() => {\n let ɵBaseIconStyle_BaseFactory;\n return function BaseIconStyle_Factory(__ngFactoryType__) {\n return (ɵBaseIconStyle_BaseFactory || (ɵBaseIconStyle_BaseFactory = i0.ɵɵgetInheritedFactory(BaseIconStyle)))(__ngFactoryType__ || BaseIconStyle);\n };\n })();\n static ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: BaseIconStyle,\n factory: BaseIconStyle.ɵfac\n });\n }\n return BaseIconStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * [Live Demo](https://www.primeng.org/)\n *\n * @module baseiconstyle\n *\n */\nvar BaseIconClasses = /*#__PURE__*/function (BaseIconClasses) {\n BaseIconClasses[\"root\"] = \"p-icon\";\n return BaseIconClasses;\n}(BaseIconClasses || {});\nconst _c0 = [\"*\"];\nlet BaseIcon = /*#__PURE__*/(() => {\n class BaseIcon extends BaseComponent {\n label;\n spin = false;\n styleClass;\n role;\n ariaLabel;\n ariaHidden;\n ngOnInit() {\n super.ngOnInit();\n this.getAttributes();\n }\n getAttributes() {\n const isLabelEmpty = isEmpty(this.label);\n this.role = !isLabelEmpty ? 'img' : undefined;\n this.ariaLabel = !isLabelEmpty ? this.label : undefined;\n this.ariaHidden = isLabelEmpty;\n }\n getClassNames() {\n return `p-icon ${this.styleClass ? this.styleClass + ' ' : ''}${this.spin ? 'p-icon-spin' : ''}`;\n }\n static ɵfac = /*@__PURE__*/(() => {\n let ɵBaseIcon_BaseFactory;\n return function BaseIcon_Factory(__ngFactoryType__) {\n return (ɵBaseIcon_BaseFactory || (ɵBaseIcon_BaseFactory = i0.ɵɵgetInheritedFactory(BaseIcon)))(__ngFactoryType__ || BaseIcon);\n };\n })();\n static ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: BaseIcon,\n selectors: [[\"ng-component\"]],\n hostAttrs: [1, \"p-component\", \"p-iconwrapper\"],\n inputs: {\n label: \"label\",\n spin: [2, \"spin\", \"spin\", booleanAttribute],\n styleClass: \"styleClass\"\n },\n features: [i0.ɵɵProvidersFeature([BaseIconStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function BaseIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return BaseIcon;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseIcon, BaseIconClasses, BaseIconStyle };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nlet SpinnerIcon = /*#__PURE__*/(() => {\n class SpinnerIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /*@__PURE__*/(() => {\n let ɵSpinnerIcon_BaseFactory;\n return function SpinnerIcon_Factory(__ngFactoryType__) {\n return (ɵSpinnerIcon_BaseFactory || (ɵSpinnerIcon_BaseFactory = i0.ɵɵgetInheritedFactory(SpinnerIcon)))(__ngFactoryType__ || SpinnerIcon);\n };\n })();\n static ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: SpinnerIcon,\n selectors: [[\"SpinnerIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function SpinnerIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n }\n return SpinnerIcon;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SpinnerIcon };\n","import { isPlatformBrowser } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, NgZone, effect, Directive, NgModule } from '@angular/core';\nimport { removeClass, getHeight, getWidth, getOuterWidth, getOuterHeight, getOffset, addClass, remove } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst theme = ({\n dt\n}) => `\n/* For PrimeNG */\n.p-ripple {\n overflow: hidden;\n position: relative;\n}\n\n.p-ink {\n display: block;\n position: absolute;\n background: ${dt('ripple.background')};\n border-radius: 100%;\n transform: scale(0);\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n.p-ripple-disabled .p-ink {\n display: none !important;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n`;\nconst classes = {\n root: 'p-ink'\n};\nlet RippleStyle = /*#__PURE__*/(() => {\n class RippleStyle extends BaseStyle {\n name = 'ripple';\n theme = theme;\n classes = classes;\n static ɵfac = /*@__PURE__*/(() => {\n let ɵRippleStyle_BaseFactory;\n return function RippleStyle_Factory(__ngFactoryType__) {\n return (ɵRippleStyle_BaseFactory || (ɵRippleStyle_BaseFactory = i0.ɵɵgetInheritedFactory(RippleStyle)))(__ngFactoryType__ || RippleStyle);\n };\n })();\n static ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: RippleStyle,\n factory: RippleStyle.ɵfac\n });\n }\n return RippleStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Ripple directive adds ripple effect to the host element.\n *\n * [Live Demo](https://www.primeng.org/ripple)\n *\n * @module ripplestyle\n *\n */\nvar RippleClasses = /*#__PURE__*/function (RippleClasses) {\n /**\n * Class name of the root element\n */\n RippleClasses[\"root\"] = \"p-ink\";\n return RippleClasses;\n}(RippleClasses || {});\n/**\n * Ripple directive adds ripple effect to the host element.\n * @group Components\n */\nlet Ripple = /*#__PURE__*/(() => {\n class Ripple extends BaseComponent {\n zone = inject(NgZone);\n _componentStyle = inject(RippleStyle);\n animationListener;\n mouseDownListener;\n timeout;\n constructor() {\n super();\n effect(() => {\n if (isPlatformBrowser(this.platformId)) {\n if (this.config.ripple()) {\n this.zone.runOutsideAngular(() => {\n this.create();\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.onMouseDown.bind(this));\n });\n } else {\n this.remove();\n }\n }\n });\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n onMouseDown(event) {\n let ink = this.getInk();\n if (!ink || this.document.defaultView?.getComputedStyle(ink, null).display === 'none') {\n return;\n }\n removeClass(ink, 'p-ink-active');\n if (!getHeight(ink) && !getWidth(ink)) {\n let d = Math.max(getOuterWidth(this.el.nativeElement), getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n let offset = getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + this.document.body.scrollTop - getWidth(ink) / 2;\n let y = event.pageY - offset.top + this.document.body.scrollLeft - getHeight(ink) / 2;\n this.renderer.setStyle(ink, 'top', y + 'px');\n this.renderer.setStyle(ink, 'left', x + 'px');\n addClass(ink, 'p-ink-active');\n this.timeout = setTimeout(() => {\n let ink = this.getInk();\n if (ink) {\n removeClass(ink, 'p-ink-active');\n }\n }, 401);\n }\n getInk() {\n const children = this.el.nativeElement.children;\n for (let i = 0; i < children.length; i++) {\n if (typeof children[i].className === 'string' && children[i].className.indexOf('p-ink') !== -1) {\n return children[i];\n }\n }\n return null;\n }\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n removeClass(ink, 'p-ink-active');\n }\n }\n onAnimationEnd(event) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n removeClass(event.currentTarget, 'p-ink-active');\n }\n create() {\n let ink = this.renderer.createElement('span');\n this.renderer.addClass(ink, 'p-ink');\n this.renderer.appendChild(this.el.nativeElement, ink);\n this.renderer.setAttribute(ink, 'aria-hidden', 'true');\n this.renderer.setAttribute(ink, 'role', 'presentation');\n if (!this.animationListener) {\n this.animationListener = this.renderer.listen(ink, 'animationend', this.onAnimationEnd.bind(this));\n }\n }\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.mouseDownListener && this.mouseDownListener();\n this.animationListener && this.animationListener();\n this.mouseDownListener = null;\n this.animationListener = null;\n remove(ink);\n }\n }\n ngOnDestroy() {\n if (this.config && this.config.ripple()) {\n this.remove();\n }\n super.ngOnDestroy();\n }\n static ɵfac = function Ripple_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Ripple)();\n };\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: Ripple,\n selectors: [[\"\", \"pRipple\", \"\"]],\n hostAttrs: [1, \"p-ripple\"],\n features: [i0.ɵɵProvidersFeature([RippleStyle]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n return Ripple;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RippleModule = /*#__PURE__*/(() => {\n class RippleModule {\n static ɵfac = function RippleModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || RippleModule)();\n };\n static ɵmod = /*@__PURE__*/i0.ɵɵdefineNgModule({\n type: RippleModule\n });\n static ɵinj = /*@__PURE__*/i0.ɵɵdefineInjector({});\n }\n return RippleModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(RippleModule, {\n imports: [Ripple],\n exports: [Ripple]\n });\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Ripple, RippleClasses, RippleModule, RippleStyle };\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, Directive, contentChild, computed, booleanAttribute, Input, EventEmitter, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Output, ContentChild, ContentChildren, NgModule } from '@angular/core';\nimport { addClass, isEmpty, findSingle } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport * as i2 from 'primeng/badge';\nimport { BadgeModule } from 'primeng/badge';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { SpinnerIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { BaseStyle } from 'primeng/base';\nconst theme = ({\n dt\n}) => `\n.p-button {\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n color: ${dt('button.primary.color')};\n background: ${dt('button.primary.background')};\n border: 1px solid ${dt('button.primary.border.color')};\n padding-block: ${dt('button.padding.y')};\n padding-inline: ${dt('button.padding.x')};\n font-size: 1rem;\n font-family: inherit;\n font-feature-settings: inherit;\n transition: background ${dt('button.transition.duration')}, color ${dt('button.transition.duration')}, border-color ${dt('button.transition.duration')},\n outline-color ${dt('button.transition.duration')}, box-shadow ${dt('button.transition.duration')};\n border-radius: ${dt('button.border.radius')};\n outline-color: transparent;\n gap: ${dt('button.gap')};\n}\n\n.p-button-icon,\n.p-button-icon:before,\n.p-button-icon:after {\n line-height: inherit;\n}\n\n.p-button:disabled {\n cursor: default;\n}\n\n.p-button-icon-right {\n order: 1;\n}\n\n.p-button-icon-right:dir(rtl) {\n order: -1;\n}\n\n.p-button:not(.p-button-vertical) .p-button-icon:not(.p-button-icon-right):dir(rtl) {\n order: 1;\n}\n\n.p-button-icon-bottom {\n order: 2;\n}\n\n.p-button-icon-only {\n width: ${dt('button.icon.only.width')};\n padding-inline-start: 0;\n padding-inline-end: 0;\n gap: 0;\n}\n\n.p-button-icon-only.p-button-rounded {\n border-radius: 50%;\n height: ${dt('button.icon.only.width')};\n}\n\n.p-button-icon-only .p-button-label {\n visibility: hidden;\n width: 0;\n}\n\n.p-button-sm {\n font-size: ${dt('button.sm.font.size')};\n padding-block: ${dt('button.sm.padding.y')};\n padding-inline: ${dt('button.sm.padding.x')};\n}\n\n.p-button-sm .p-button-icon {\n font-size: ${dt('button.sm.font.size')};\n}\n\n.p-button-lg {\n font-size: ${dt('button.lg.font.size')};\n padding-block: ${dt('button.lg.padding.y')};\n padding-inline: ${dt('button.lg.padding.x')};\n}\n\n.p-button-lg .p-button-icon {\n font-size: ${dt('button.lg.font.size')};\n}\n\n.p-button-vertical {\n flex-direction: column;\n}\n\n.p-button-label {\n font-weight: ${dt('button.label.font.weight')};\n}\n\n.p-button-fluid {\n width: 100%;\n}\n\n.p-button-fluid.p-button-icon-only {\n width: ${dt('button.icon.only.width')};\n}\n\n.p-button:not(:disabled):hover {\n background: ${dt('button.primary.hover.background')};\n border: 1px solid ${dt('button.primary.hover.border.color')};\n color: ${dt('button.primary.hover.color')};\n}\n\n.p-button:not(:disabled):active {\n background: ${dt('button.primary.active.background')};\n border: 1px solid ${dt('button.primary.active.border.color')};\n color: ${dt('button.primary.active.color')};\n}\n\n.p-button:focus-visible {\n box-shadow: ${dt('button.primary.focus.ring.shadow')};\n outline: ${dt('button.focus.ring.width')} ${dt('button.focus.ring.style')} ${dt('button.primary.focus.ring.color')};\n outline-offset: ${dt('button.focus.ring.offset')};\n}\n\n.p-button .p-badge {\n min-width: ${dt('button.badge.size')};\n height: ${dt('button.badge.size')};\n line-height: ${dt('button.badge.size')};\n}\n\n.p-button-raised {\n box-shadow: ${dt('button.raised.shadow')};\n}\n\n.p-button-rounded {\n border-radius: ${dt('button.rounded.border.radius')};\n}\n\n.p-button-secondary {\n background: ${dt('button.secondary.background')};\n border: 1px solid ${dt('button.secondary.border.color')};\n color: ${dt('button.secondary.color')};\n}\n\n.p-button-secondary:not(:disabled):hover {\n background: ${dt('button.secondary.hover.background')};\n border: 1px solid ${dt('button.secondary.hover.border.color')};\n color: ${dt('button.secondary.hover.color')};\n}\n\n.p-button-secondary:not(:disabled):active {\n background: ${dt('button.secondary.active.background')};\n border: 1px solid ${dt('button.secondary.active.border.color')};\n color: ${dt('button.secondary.active.color')};\n}\n\n.p-button-secondary:focus-visible {\n outline-color: ${dt('button.secondary.focus.ring.color')};\n box-shadow: ${dt('button.secondary.focus.ring.shadow')};\n}\n\n.p-button-success {\n background: ${dt('button.success.background')};\n border: 1px solid ${dt('button.success.border.color')};\n color: ${dt('button.success.color')};\n}\n\n.p-button-success:not(:disabled):hover {\n background: ${dt('button.success.hover.background')};\n border: 1px solid ${dt('button.success.hover.border.color')};\n color: ${dt('button.success.hover.color')};\n}\n\n.p-button-success:not(:disabled):active {\n background: ${dt('button.success.active.background')};\n border: 1px solid ${dt('button.success.active.border.color')};\n color: ${dt('button.success.active.color')};\n}\n\n.p-button-success:focus-visible {\n outline-color: ${dt('button.success.focus.ring.color')};\n box-shadow: ${dt('button.success.focus.ring.shadow')};\n}\n\n.p-button-info {\n background: ${dt('button.info.background')};\n border: 1px solid ${dt('button.info.border.color')};\n color: ${dt('button.info.color')};\n}\n\n.p-button-info:not(:disabled):hover {\n background: ${dt('button.info.hover.background')};\n border: 1px solid ${dt('button.info.hover.border.color')};\n color: ${dt('button.info.hover.color')};\n}\n\n.p-button-info:not(:disabled):active {\n background: ${dt('button.info.active.background')};\n border: 1px solid ${dt('button.info.active.border.color')};\n color: ${dt('button.info.active.color')};\n}\n\n.p-button-info:focus-visible {\n outline-color: ${dt('button.info.focus.ring.color')};\n box-shadow: ${dt('button.info.focus.ring.shadow')};\n}\n\n.p-button-warn {\n background: ${dt('button.warn.background')};\n border: 1px solid ${dt('button.warn.border.color')};\n color: ${dt('button.warn.color')};\n}\n\n.p-button-warn:not(:disabled):hover {\n background: ${dt('button.warn.hover.background')};\n border: 1px solid ${dt('button.warn.hover.border.color')};\n color: ${dt('button.warn.hover.color')};\n}\n\n.p-button-warn:not(:disabled):active {\n background: ${dt('button.warn.active.background')};\n border: 1px solid ${dt('button.warn.active.border.color')};\n color: ${dt('button.warn.active.color')};\n}\n\n.p-button-warn:focus-visible {\n outline-color: ${dt('button.warn.focus.ring.color')};\n box-shadow: ${dt('button.warn.focus.ring.shadow')};\n}\n\n.p-button-help {\n background: ${dt('button.help.background')};\n border: 1px solid ${dt('button.help.border.color')};\n color: ${dt('button.help.color')};\n}\n\n.p-button-help:not(:disabled):hover {\n background: ${dt('button.help.hover.background')};\n border: 1px solid ${dt('button.help.hover.border.color')};\n color: ${dt('button.help.hover.color')};\n}\n\n.p-button-help:not(:disabled):active {\n background: ${dt('button.help.active.background')};\n border: 1px solid ${dt('button.help.active.border.color')};\n color: ${dt('button.help.active.color')};\n}\n\n.p-button-help:focus-visible {\n outline-color: ${dt('button.help.focus.ring.color')};\n box-shadow: ${dt('button.help.focus.ring.shadow')};\n}\n\n.p-button-danger {\n background: ${dt('button.danger.background')};\n border: 1px solid ${dt('button.danger.border.color')};\n color: ${dt('button.danger.color')};\n}\n\n.p-button-danger:not(:disabled):hover {\n background: ${dt('button.danger.hover.background')};\n border: 1px solid ${dt('button.danger.hover.border.color')};\n color: ${dt('button.danger.hover.color')};\n}\n\n.p-button-danger:not(:disabled):active {\n background: ${dt('button.danger.active.background')};\n border: 1px solid ${dt('button.danger.active.border.color')};\n color: ${dt('button.danger.active.color')};\n}\n\n.p-button-danger:focus-visible {\n outline-color: ${dt('button.danger.focus.ring.color')};\n box-shadow: ${dt('button.danger.focus.ring.shadow')};\n}\n\n.p-button-contrast {\n background: ${dt('button.contrast.background')};\n border: 1px solid ${dt('button.contrast.border.color')};\n color: ${dt('button.contrast.color')};\n}\n\n.p-button-contrast:not(:disabled):hover {\n background: ${dt('button.contrast.hover.background')};\n border: 1px solid ${dt('button.contrast.hover.border.color')};\n color: ${dt('button.contrast.hover.color')};\n}\n\n.p-button-contrast:not(:disabled):active {\n background: ${dt('button.contrast.active.background')};\n border: 1px solid ${dt('button.contrast.active.border.color')};\n color: ${dt('button.contrast.active.color')};\n}\n\n.p-button-contrast:focus-visible {\n outline-color: ${dt('button.contrast.focus.ring.color')};\n box-shadow: ${dt('button.contrast.focus.ring.shadow')};\n}\n\n.p-button-outlined {\n background: transparent;\n border-color: ${dt('button.outlined.primary.border.color')};\n color: ${dt('button.outlined.primary.color')};\n}\n\n.p-button-outlined:not(:disabled):hover {\n background: ${dt('button.outlined.primary.hover.background')};\n border-color: ${dt('button.outlined.primary.border.color')};\n color: ${dt('button.outlined.primary.color')};\n}\n\n.p-button-outlined:not(:disabled):active {\n background: ${dt('button.outlined.primary.active.background')};\n border-color: ${dt('button.outlined.primary.border.color')};\n color: ${dt('button.outlined.primary.color')};\n}\n\n.p-button-outlined.p-button-secondary {\n border-color: ${dt('button.outlined.secondary.border.color')};\n color: ${dt('button.outlined.secondary.color')};\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):hover {\n background: ${dt('button.outlined.secondary.hover.background')};\n border-color: ${dt('button.outlined.secondary.border.color')};\n color: ${dt('button.outlined.secondary.color')};\n}\n\n.p-button-outlined.p-button-secondary:not(:disabled):active {\n background: ${dt('button.outlined.secondary.active.background')};\n border-color: ${dt('button.outlined.secondary.border.color')};\n color: ${dt('button.outlined.secondary.color')};\n}\n\n.p-button-outlined.p-button-success {\n border-color: ${dt('button.outlined.success.border.color')};\n color: ${dt('button.outlined.success.color')};\n}\n\n.p-button-outlined.p-button-success:not(:disabled):hover {\n background: ${dt('button.outlined.success.hover.background')};\n border-color: ${dt('button.outlined.success.border.color')};\n color: ${dt('button.outlined.success.color')};\n}\n\n.p-button-outlined.p-button-success:not(:disabled):active {\n background: ${dt('button.outlined.success.active.background')};\n border-color: ${dt('button.outlined.success.border.color')};\n color: ${dt('button.outlined.success.color')};\n}\n\n.p-button-outlined.p-button-info {\n border-color: ${dt('button.outlined.info.border.color')};\n color: ${dt('button.outlined.info.color')};\n}\n\n.p-button-outlined.p-button-info:not(:disabled):hover {\n background: ${dt('button.outlined.info.hover.background')};\n border-color: ${dt('button.outlined.info.border.color')};\n color: ${dt('button.outlined.info.color')};\n}\n\n.p-button-outlined.p-button-info:not(:disabled):active {\n background: ${dt('button.outlined.info.active.background')};\n border-color: ${dt('button.outlined.info.border.color')};\n color: ${dt('button.outlined.info.color')};\n}\n\n.p-button-outlined.p-button-warn {\n border-color: ${dt('button.outlined.warn.border.color')};\n color: ${dt('button.outlined.warn.color')};\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):hover {\n background: ${dt('button.outlined.warn.hover.background')};\n border-color: ${dt('button.outlined.warn.border.color')};\n color: ${dt('button.outlined.warn.color')};\n}\n\n.p-button-outlined.p-button-warn:not(:disabled):active {\n background: ${dt('button.outlined.warn.active.background')};\n border-color: ${dt('button.outlined.warn.border.color')};\n color: ${dt('button.outlined.warn.color')};\n}\n\n.p-button-outlined.p-button-help {\n border-color: ${dt('button.outlined.help.border.color')};\n color: ${dt('button.outlined.help.color')};\n}\n\n.p-button-outlined.p-button-help:not(:disabled):hover {\n background: ${dt('button.outlined.help.hover.background')};\n border-color: ${dt('button.outlined.help.border.color')};\n color: ${dt('button.outlined.help.color')};\n}\n\n.p-button-outlined.p-button-help:not(:disabled):active {\n background: ${dt('button.outlined.help.active.background')};\n border-color: ${dt('button.outlined.help.border.color')};\n color: ${dt('button.outlined.help.color')};\n}\n\n.p-button-outlined.p-button-danger {\n border-color: ${dt('button.outlined.danger.border.color')};\n color: ${dt('button.outlined.danger.color')};\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):hover {\n background: ${dt('button.outlined.danger.hover.background')};\n border-color: ${dt('button.outlined.danger.border.color')};\n color: ${dt('button.outlined.danger.color')};\n}\n\n.p-button-outlined.p-button-danger:not(:disabled):active {\n background: ${dt('button.outlined.danger.active.background')};\n border-color: ${dt('button.outlined.danger.border.color')};\n color: ${dt('button.outlined.danger.color')};\n}\n\n.p-button-outlined.p-button-contrast {\n border-color: ${dt('button.outlined.contrast.border.color')};\n color: ${dt('button.outlined.contrast.color')};\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):hover {\n background: ${dt('button.outlined.contrast.hover.background')};\n border-color: ${dt('button.outlined.contrast.border.color')};\n color: ${dt('button.outlined.contrast.color')};\n}\n\n.p-button-outlined.p-button-contrast:not(:disabled):active {\n background: ${dt('button.outlined.contrast.active.background')};\n border-color: ${dt('button.outlined.contrast.border.color')};\n color: ${dt('button.outlined.contrast.color')};\n}\n\n.p-button-outlined.p-button-plain {\n border-color: ${dt('button.outlined.plain.border.color')};\n color: ${dt('button.outlined.plain.color')};\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):hover {\n background: ${dt('button.outlined.plain.hover.background')};\n border-color: ${dt('button.outlined.plain.border.color')};\n color: ${dt('button.outlined.plain.color')};\n}\n\n.p-button-outlined.p-button-plain:not(:disabled):active {\n background: ${dt('button.outlined.plain.active.background')};\n border-color: ${dt('button.outlined.plain.border.color')};\n color: ${dt('button.outlined.plain.color')};\n}\n\n.p-button-text {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.primary.color')};\n}\n\n.p-button-text:not(:disabled):hover {\n background: ${dt('button.text.primary.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.primary.color')};\n}\n\n.p-button-text:not(:disabled):active {\n background: ${dt('button.text.primary.active.background')};\n border-color: transparent;\n color: ${dt('button.text.primary.color')};\n}\n\n.p-button-text.p-button-secondary {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.secondary.color')};\n}\n\n.p-button-text.p-button-secondary:not(:disabled):hover {\n background: ${dt('button.text.secondary.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.secondary.color')};\n}\n\n.p-button-text.p-button-secondary:not(:disabled):active {\n background: ${dt('button.text.secondary.active.background')};\n border-color: transparent;\n color: ${dt('button.text.secondary.color')};\n}\n\n.p-button-text.p-button-success {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.success.color')};\n}\n\n.p-button-text.p-button-success:not(:disabled):hover {\n background: ${dt('button.text.success.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.success.color')};\n}\n\n.p-button-text.p-button-success:not(:disabled):active {\n background: ${dt('button.text.success.active.background')};\n border-color: transparent;\n color: ${dt('button.text.success.color')};\n}\n\n.p-button-text.p-button-info {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.info.color')};\n}\n\n.p-button-text.p-button-info:not(:disabled):hover {\n background: ${dt('button.text.info.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.info.color')};\n}\n\n.p-button-text.p-button-info:not(:disabled):active {\n background: ${dt('button.text.info.active.background')};\n border-color: transparent;\n color: ${dt('button.text.info.color')};\n}\n\n.p-button-text.p-button-warn {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.warn.color')};\n}\n\n.p-button-text.p-button-warn:not(:disabled):hover {\n background: ${dt('button.text.warn.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.warn.color')};\n}\n\n.p-button-text.p-button-warn:not(:disabled):active {\n background: ${dt('button.text.warn.active.background')};\n border-color: transparent;\n color: ${dt('button.text.warn.color')};\n}\n\n.p-button-text.p-button-help {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.help.color')};\n}\n\n.p-button-text.p-button-help:not(:disabled):hover {\n background: ${dt('button.text.help.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.help.color')};\n}\n\n.p-button-text.p-button-help:not(:disabled):active {\n background: ${dt('button.text.help.active.background')};\n border-color: transparent;\n color: ${dt('button.text.help.color')};\n}\n\n.p-button-text.p-button-danger {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.danger.color')};\n}\n\n.p-button-text.p-button-danger:not(:disabled):hover {\n background: ${dt('button.text.danger.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.danger.color')};\n}\n\n.p-button-text.p-button-danger:not(:disabled):active {\n background: ${dt('button.text.danger.active.background')};\n border-color: transparent;\n color: ${dt('button.text.danger.color')};\n}\n\n.p-button-text.p-button-plain {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.plain.color')};\n}\n\n.p-button-text.p-button-plain:not(:disabled):hover {\n background: ${dt('button.text.plain.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.plain.color')};\n}\n\n.p-button-text.p-button-plain:not(:disabled):active {\n background: ${dt('button.text.plain.active.background')};\n border-color: transparent;\n color: ${dt('button.text.plain.color')};\n}\n\n.p-button-text.p-button-contrast {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.text.contrast.color')};\n}\n\n.p-button-text.p-button-contrast:not(:disabled):hover {\n background: ${dt('button.text.contrast.hover.background')};\n border-color: transparent;\n color: ${dt('button.text.contrast.color')};\n}\n\n.p-button-text.p-button-contrast:not(:disabled):active {\n background: ${dt('button.text.contrast.active.background')};\n border-color: transparent;\n color: ${dt('button.text.contrast.color')};\n}\n\n.p-button-link {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.link.color')};\n}\n\n.p-button-link:not(:disabled):hover {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.link.hover.color')};\n}\n\n.p-button-link:not(:disabled):hover .p-button-label {\n text-decoration: underline;\n}\n\n.p-button-link:not(:disabled):active {\n background: transparent;\n border-color: transparent;\n color: ${dt('button.link.active.color')};\n}\n\n/* For PrimeNG */\n.p-button-icon-right {\n order: 1;\n}\n\np-button[iconpos='right'] spinnericon {\n order: 1;\n}\n`;\nconst classes = {\n root: ({\n instance,\n props\n }) => ['p-button p-component', {\n 'p-button-icon-only': instance.hasIcon && !props.label && !props.badge,\n 'p-button-vertical': (props.iconPos === 'top' || props.iconPos === 'bottom') && props.label,\n 'p-button-loading': props.loading,\n 'p-button-link': props.link,\n [`p-button-${props.severity}`]: props.severity,\n 'p-button-raised': props.raised,\n 'p-button-rounded': props.rounded,\n 'p-button-text': props.text,\n 'p-button-outlined': props.outlined,\n 'p-button-sm': props.size === 'small',\n 'p-button-lg': props.size === 'large',\n 'p-button-plain': props.plain,\n 'p-button-fluid': props.fluid\n }],\n loadingIcon: 'p-button-loading-icon',\n icon: ({\n props\n }) => ['p-button-icon', {\n [`p-button-icon-${props.iconPos}`]: props.label\n }],\n label: 'p-button-label'\n};\nlet ButtonStyle = /*#__PURE__*/(() => {\n class ButtonStyle extends BaseStyle {\n name = 'button';\n theme = theme;\n classes = classes;\n static ɵfac = /*@__PURE__*/(() => {\n let ɵButtonStyle_BaseFactory;\n return function ButtonStyle_Factory(__ngFactoryType__) {\n return (ɵButtonStyle_BaseFactory || (ɵButtonStyle_BaseFactory = i0.ɵɵgetInheritedFactory(ButtonStyle)))(__ngFactoryType__ || ButtonStyle);\n };\n })();\n static ɵprov = /*@__PURE__*/i0.ɵɵdefineInjectable({\n token: ButtonStyle,\n factory: ButtonStyle.ɵfac\n });\n }\n return ButtonStyle;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n *\n * Button is an extension to standard button element with icons and theming.\n *\n * [Live Demo](https://www.primeng.org/button/)\n *\n * @module buttonstyle\n *\n */\nvar ButtonClasses = /*#__PURE__*/function (ButtonClasses) {\n /**\n * Class name of the root element\n */\n ButtonClasses[\"root\"] = \"p-button\";\n /**\n * Class name of the loading icon element\n */\n ButtonClasses[\"loadingIcon\"] = \"p-button-loading-icon\";\n /**\n * Class name of the icon element\n */\n ButtonClasses[\"icon\"] = \"p-button-icon\";\n /**\n * Class name of the label element\n */\n ButtonClasses[\"label\"] = \"p-button-label\";\n return ButtonClasses;\n}(ButtonClasses || {});\nconst _c0 = [\"content\"];\nconst _c1 = [\"loading\"];\nconst _c2 = [\"icon\"];\nconst _c3 = [\"*\"];\nconst _c4 = a0 => ({\n class: a0\n});\nfunction Button_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Button_ng_container_3_ng_container_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 8);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngClass\", ctx_r0.iconClass());\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"loadingicon\");\n }\n}\nfunction Button_ng_container_3_ng_container_1_SpinnerIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"SpinnerIcon\", 9);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"styleClass\", ctx_r0.spinnerIconClass())(\"spin\", true);\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"loadingicon\");\n }\n}\nfunction Button_ng_container_3_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Button_ng_container_3_ng_container_1_span_1_Template, 1, 3, \"span\", 6)(2, Button_ng_container_3_ng_container_1_SpinnerIcon_2_Template, 1, 4, \"SpinnerIcon\", 7);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.loadingIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.loadingIcon);\n }\n}\nfunction Button_ng_container_3_2_ng_template_0_Template(rf, ctx) {}\nfunction Button_ng_container_3_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Button_ng_container_3_2_ng_template_0_Template, 0, 0, \"ng-template\", 10);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.loadingIconTemplate || ctx_r0._loadingIconTemplate);\n }\n}\nfunction Button_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Button_ng_container_3_ng_container_1_Template, 3, 2, \"ng-container\", 2)(2, Button_ng_container_3_2_Template, 1, 1, null, 5);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.loadingIconTemplate && !ctx_r0._loadingIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingIconTemplate || ctx_r0._loadingIconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(3, _c4, ctx_r0.iconClass()));\n }\n}\nfunction Button_ng_container_4_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 8);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵclassMap(ctx_r0.icon);\n i0.ɵɵproperty(\"ngClass\", ctx_r0.iconClass());\n i0.ɵɵattribute(\"data-pc-section\", \"icon\");\n }\n}\nfunction Button_ng_container_4_2_ng_template_0_Template(rf, ctx) {}\nfunction Button_ng_container_4_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Button_ng_container_4_2_ng_template_0_Template, 0, 0, \"ng-template\", 10);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.icon && (ctx_r0.iconTemplate || ctx_r0._iconTemplate));\n }\n}\nfunction Button_ng_container_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Button_ng_container_4_span_1_Template, 1, 4, \"span\", 11)(2, Button_ng_container_4_2_Template, 1, 1, null, 5);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.icon && !ctx_r0.iconTemplate && !ctx_r0._iconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.iconTemplate || ctx_r0._iconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(3, _c4, ctx_r0.iconClass()));\n }\n}\nfunction Button_span_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 12);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"aria-hidden\", ctx_r0.icon && !ctx_r0.label)(\"data-pc-section\", \"label\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r0.label);\n }\n}\nfunction Button_p_badge_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"p-badge\", 13);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"value\", ctx_r0.badge)(\"severity\", ctx_r0.badgeSeverity);\n }\n}\nconst INTERNAL_BUTTON_CLASSES = {\n button: 'p-button',\n component: 'p-component',\n iconOnly: 'p-button-icon-only',\n disabled: 'p-disabled',\n loading: 'p-button-loading',\n labelOnly: 'p-button-loading-label-only'\n};\nlet ButtonLabel = /*#__PURE__*/(() => {\n class ButtonLabel extends BaseComponent {\n _componentStyle = inject(ButtonStyle);\n static ɵfac = /*@__PURE__*/(() => {\n let ɵButtonLabel_BaseFactory;\n return function ButtonLabel_Factory(__ngFactoryType__) {\n return (ɵButtonLabel_BaseFactory || (ɵButtonLabel_BaseFactory = i0.ɵɵgetInheritedFactory(ButtonLabel)))(__ngFactoryType__ || ButtonLabel);\n };\n })();\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: ButtonLabel,\n selectors: [[\"\", \"pButtonLabel\", \"\"]],\n hostVars: 2,\n hostBindings: function ButtonLabel_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"p-button-label\", true);\n }\n },\n features: [i0.ɵɵProvidersFeature([ButtonStyle]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n return ButtonLabel;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ButtonIcon = /*#__PURE__*/(() => {\n class ButtonIcon extends BaseComponent {\n _componentStyle = inject(ButtonStyle);\n static ɵfac = /*@__PURE__*/(() => {\n let ɵButtonIcon_BaseFactory;\n return function ButtonIcon_Factory(__ngFactoryType__) {\n return (ɵButtonIcon_BaseFactory || (ɵButtonIcon_BaseFactory = i0.ɵɵgetInheritedFactory(ButtonIcon)))(__ngFactoryType__ || ButtonIcon);\n };\n })();\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: ButtonIcon,\n selectors: [[\"\", \"pButtonIcon\", \"\"]],\n hostVars: 2,\n hostBindings: function ButtonIcon_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"p-button-icon\", true);\n }\n },\n features: [i0.ɵɵProvidersFeature([ButtonStyle]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n return ButtonIcon;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Button directive is an extension to button component.\n * @group Components\n */\nlet ButtonDirective = /*#__PURE__*/(() => {\n class ButtonDirective extends BaseComponent {\n /**\n * Position of the icon.\n * @deprecated utilize pButtonIcon and pButtonLabel directives.\n * @group Props\n */\n iconPos = 'left';\n /**\n * Uses to pass attributes to the loading icon's DOM element.\n * @deprecated utilize pButonIcon instead.\n * @group Props\n */\n loadingIcon;\n set label(val) {\n this._label = val;\n if (this.initialized) {\n this.updateLabel();\n this.updateIcon();\n this.setStyleClass();\n }\n }\n set icon(val) {\n this._icon = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n get loading() {\n return this._loading;\n }\n set loading(val) {\n this._loading = val;\n if (this.initialized) {\n this.updateIcon();\n this.setStyleClass();\n }\n }\n _buttonProps;\n iconSignal = contentChild(ButtonIcon);\n labelSignal = contentChild(ButtonLabel);\n isIconOnly = computed(() => !!(!this.labelSignal() && this.iconSignal()));\n set buttonProps(val) {\n this._buttonProps = val;\n if (val && typeof val === 'object') {\n //@ts-ignore\n Object.entries(val).forEach(([k, v]) => this[`_${k}`] !== v && (this[`_${k}`] = v));\n }\n }\n /**\n * Defines the style of the button.\n * @group Props\n */\n severity;\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n raised = false;\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n rounded = false;\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n text = false;\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n outlined = false;\n /**\n * Defines the size of the button.\n * @group Props\n */\n size = null;\n /**\n * Add a plain textual class to the button without a background initially.\n * @deprecated use variant property instead.\n * @group Props\n */\n plain = false;\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n fluid;\n _label;\n _icon;\n _loading = false;\n initialized;\n get htmlElement() {\n return this.el.nativeElement;\n }\n _internalClasses = Object.values(INTERNAL_BUTTON_CLASSES);\n isTextButton = computed(() => !!(!this.iconSignal() && this.labelSignal() && this.text));\n /**\n * Text of the button.\n * @deprecated use pButtonLabel directive instead.\n * @group Props\n */\n get label() {\n return this._label;\n }\n /**\n * Name of the icon.\n * @deprecated use pButtonIcon directive instead\n * @group Props\n */\n get icon() {\n return this._icon;\n }\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @deprecated assign props directly to the button element.\n * @group Props\n */\n get buttonProps() {\n return this._buttonProps;\n }\n spinnerIcon = ``;\n _componentStyle = inject(ButtonStyle);\n ngAfterViewInit() {\n super.ngAfterViewInit();\n addClass(this.htmlElement, this.getStyleClass().join(' '));\n this.createIcon();\n this.createLabel();\n this.initialized = true;\n }\n ngOnChanges(simpleChanges) {\n super.ngOnChanges(simpleChanges);\n const {\n buttonProps\n } = simpleChanges;\n if (buttonProps) {\n const props = buttonProps.currentValue;\n for (const property in props) {\n this[property] = props[property];\n }\n }\n }\n getStyleClass() {\n const styleClass = [INTERNAL_BUTTON_CLASSES.button, INTERNAL_BUTTON_CLASSES.component];\n if (this.icon && !this.label && isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n if (this.loading) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.disabled, INTERNAL_BUTTON_CLASSES.loading);\n if (!this.icon && this.label) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.labelOnly);\n }\n if (this.icon && !this.label && !isEmpty(this.htmlElement.textContent)) {\n styleClass.push(INTERNAL_BUTTON_CLASSES.iconOnly);\n }\n }\n if (this.text) {\n styleClass.push('p-button-text');\n }\n if (this.severity) {\n styleClass.push(`p-button-${this.severity}`);\n }\n if (this.plain) {\n styleClass.push('p-button-plain');\n }\n if (this.raised) {\n styleClass.push('p-button-raised');\n }\n if (this.size) {\n styleClass.push(`p-button-${this.size}`);\n }\n if (this.outlined) {\n styleClass.push('p-button-outlined');\n }\n if (this.rounded) {\n styleClass.push('p-button-rounded');\n }\n if (this.size === 'small') {\n styleClass.push('p-button-sm');\n }\n if (this.size === 'large') {\n styleClass.push('p-button-lg');\n }\n if (this.hasFluid) {\n styleClass.push('p-button-fluid');\n }\n return styleClass;\n }\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return isEmpty(this.fluid) ? !!fluidComponent : this.fluid;\n }\n setStyleClass() {\n const styleClass = this.getStyleClass();\n this.htmlElement.classList.remove(...this._internalClasses);\n this.htmlElement.classList.add(...styleClass);\n }\n createLabel() {\n const created = findSingle(this.htmlElement, '.p-button-label');\n if (!created && this.label) {\n let labelElement = this.document.createElement('span');\n if (this.icon && !this.label) {\n labelElement.setAttribute('aria-hidden', 'true');\n }\n labelElement.className = 'p-button-label';\n labelElement.appendChild(this.document.createTextNode(this.label));\n this.htmlElement.appendChild(labelElement);\n }\n }\n createIcon() {\n const created = findSingle(this.htmlElement, '.p-button-icon');\n if (!created && (this.icon || this.loading)) {\n let iconElement = this.document.createElement('span');\n iconElement.className = 'p-button-icon';\n iconElement.setAttribute('aria-hidden', 'true');\n let iconPosClass = this.label ? 'p-button-icon-' + this.iconPos : null;\n if (iconPosClass) {\n addClass(iconElement, iconPosClass);\n }\n let iconClass = this.getIconClass();\n if (iconClass) {\n addClass(iconElement, iconClass);\n }\n if (!this.loadingIcon && this.loading) {\n iconElement.innerHTML = this.spinnerIcon;\n }\n this.htmlElement.insertBefore(iconElement, this.htmlElement.firstChild);\n }\n }\n updateLabel() {\n let labelElement = findSingle(this.htmlElement, '.p-button-label');\n if (!this.label) {\n labelElement && this.htmlElement.removeChild(labelElement);\n return;\n }\n labelElement ? labelElement.textContent = this.label : this.createLabel();\n }\n updateIcon() {\n let iconElement = findSingle(this.htmlElement, '.p-button-icon');\n let labelElement = findSingle(this.htmlElement, '.p-button-label');\n if (this.loading && !this.loadingIcon && iconElement) {\n iconElement.innerHTML = this.spinnerIcon;\n } else if (iconElement?.innerHTML) {\n iconElement.innerHTML = '';\n }\n if (iconElement) {\n if (this.iconPos) {\n iconElement.className = 'p-button-icon ' + (labelElement ? 'p-button-icon-' + this.iconPos : '') + ' ' + this.getIconClass();\n } else {\n iconElement.className = 'p-button-icon ' + this.getIconClass();\n }\n } else {\n this.createIcon();\n }\n }\n getIconClass() {\n return this.loading ? 'p-button-loading-icon ' + (this.loadingIcon ? this.loadingIcon : 'p-icon') : this.icon || 'p-hidden';\n }\n ngOnDestroy() {\n this.initialized = false;\n super.ngOnDestroy();\n }\n static ɵfac = /*@__PURE__*/(() => {\n let ɵButtonDirective_BaseFactory;\n return function ButtonDirective_Factory(__ngFactoryType__) {\n return (ɵButtonDirective_BaseFactory || (ɵButtonDirective_BaseFactory = i0.ɵɵgetInheritedFactory(ButtonDirective)))(__ngFactoryType__ || ButtonDirective);\n };\n })();\n static ɵdir = /*@__PURE__*/i0.ɵɵdefineDirective({\n type: ButtonDirective,\n selectors: [[\"\", \"pButton\", \"\"]],\n contentQueries: function ButtonDirective_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuerySignal(dirIndex, ctx.iconSignal, ButtonIcon, 5);\n i0.ɵɵcontentQuerySignal(dirIndex, ctx.labelSignal, ButtonLabel, 5);\n }\n if (rf & 2) {\n i0.ɵɵqueryAdvance(2);\n }\n },\n hostVars: 4,\n hostBindings: function ButtonDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"p-button-icon-only\", ctx.isIconOnly())(\"p-button-text\", ctx.isTextButton());\n }\n },\n inputs: {\n iconPos: \"iconPos\",\n loadingIcon: \"loadingIcon\",\n loading: \"loading\",\n severity: \"severity\",\n raised: [2, \"raised\", \"raised\", booleanAttribute],\n rounded: [2, \"rounded\", \"rounded\", booleanAttribute],\n text: [2, \"text\", \"text\", booleanAttribute],\n outlined: [2, \"outlined\", \"outlined\", booleanAttribute],\n size: \"size\",\n plain: [2, \"plain\", \"plain\", booleanAttribute],\n fluid: [2, \"fluid\", \"fluid\", booleanAttribute],\n label: \"label\",\n icon: \"icon\",\n buttonProps: \"buttonProps\"\n },\n features: [i0.ɵɵProvidersFeature([ButtonStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n return ButtonDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Button is an extension to standard button element with icons and theming.\n * @group Components\n */\nlet Button = /*#__PURE__*/(() => {\n class Button extends BaseComponent {\n /**\n * Type of the button.\n * @group Props\n */\n type = 'button';\n /**\n * Position of the icon.\n * @group Props\n */\n iconPos = 'left';\n /**\n * Name of the icon.\n * @group Props\n */\n icon;\n /**\n * Value of the badge.\n * @group Props\n */\n badge;\n /**\n * Uses to pass attributes to the label's DOM element.\n * @group Props\n */\n label;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n disabled;\n /**\n * Whether the button is in loading state.\n * @group Props\n */\n loading = false;\n /**\n * Icon to display in loading state.\n * @group Props\n */\n loadingIcon;\n /**\n * Add a shadow to indicate elevation.\n * @group Props\n */\n raised = false;\n /**\n * Add a circular border radius to the button.\n * @group Props\n */\n rounded = false;\n /**\n * Add a textual class to the button without a background initially.\n * @group Props\n */\n text = false;\n /**\n * Add a plain textual class to the button without a background initially.\n * @deprecated use variant property instead.\n * @group Props\n */\n plain = false;\n /**\n * Defines the style of the button.\n * @group Props\n */\n severity;\n /**\n * Add a border class without a background initially.\n * @group Props\n */\n outlined = false;\n /**\n * Add a link style to the button.\n * @group Props\n */\n link = false;\n /**\n * Add a tabindex to the button.\n * @group Props\n */\n tabindex;\n /**\n * Defines the size of the button.\n * @group Props\n */\n size;\n /**\n * Specifies the variant of the component.\n * @group Props\n */\n variant;\n /**\n * Inline style of the element.\n * @group Props\n */\n style;\n /**\n * Class of the element.\n * @group Props\n */\n styleClass;\n /**\n * Style class of the badge.\n * @group Props\n * @deprecated use badgeSeverity instead.\n */\n badgeClass;\n /**\n * Severity type of the badge.\n * @group Props\n * @defaultValue secondary\n */\n badgeSeverity = 'secondary';\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n ariaLabel;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus;\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n fluid;\n /**\n * Callback to execute when button is clicked.\n * This event is intended to be used with the component. Using a regular