UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 13.7 kB
{"version":3,"file":"primeng-basecomponent.mjs","sources":["../../src/basecomponent/style/basecomponentstyle.ts","../../src/basecomponent/basecomponent.ts","../../src/basecomponent/primeng-basecomponent.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\n@Injectable({ providedIn: 'root' })\nexport class BaseComponentStyle extends BaseStyle {\n name = 'common';\n}\n","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { ChangeDetectorRef, Directive, ElementRef, inject, Injector, Input, PLATFORM_ID, Renderer2, SimpleChanges } from '@angular/core';\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { cn, getKeyValue, uuid } from '@primeuix/utils';\nimport { Base, BaseStyle } from 'primeng/base';\nimport { PrimeNG } from 'primeng/config';\nimport { BaseComponentStyle } from './style/basecomponentstyle';\n\n@Directive({ standalone: true, providers: [BaseComponentStyle, BaseStyle] })\nexport class BaseComponent {\n public document: Document = inject(DOCUMENT);\n\n public platformId: any = inject(PLATFORM_ID);\n\n public el: ElementRef = inject(ElementRef);\n\n public readonly injector: Injector = inject(Injector);\n\n public readonly cd: ChangeDetectorRef = inject(ChangeDetectorRef);\n\n public renderer: Renderer2 = inject(Renderer2);\n\n public config: PrimeNG = inject(PrimeNG);\n\n public baseComponentStyle: BaseComponentStyle = inject(BaseComponentStyle);\n\n public baseStyle: BaseStyle = inject(BaseStyle);\n\n public scopedStyleEl: any;\n\n public rootEl: any;\n\n @Input() dt: Object | undefined;\n\n get styleOptions() {\n return { nonce: this.config?.csp().nonce };\n }\n\n get _name() {\n return this.constructor.name.replace(/^_/, '').toLowerCase();\n }\n\n get componentStyle() {\n return this['_componentStyle'];\n }\n\n attrSelector = uuid('pc');\n\n private themeChangeListeners: Function[] = [];\n\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\n _getOptionValue(options, key = '', params = {}) {\n return getKeyValue(options, key, params);\n }\n\n ngOnInit() {\n if (this.document) {\n this._loadCoreStyles();\n this._loadStyles();\n }\n }\n\n ngAfterViewInit() {\n this.rootEl = this.el?.nativeElement;\n if (this.rootEl) {\n this.rootEl?.setAttribute(this.attrSelector, '');\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.document && !isPlatformServer(this.platformId)) {\n const { dt } = changes;\n if (dt && dt.currentValue) {\n this._loadScopedThemeStyles(dt.currentValue);\n this._themeChangeListener(() => this._loadScopedThemeStyles(dt.currentValue));\n }\n }\n }\n\n ngOnDestroy() {\n this._unloadScopedThemeStyles();\n // @ts-ignore\n this.themeChangeListeners.forEach((callback) => ThemeService.off('theme:change', callback));\n }\n\n _loadStyles() {\n const _load = () => {\n if (!Base.isStyleNameLoaded('base')) {\n this.baseStyle.loadGlobalCSS(this.styleOptions);\n Base.setLoadedStyleName('base');\n }\n\n this._loadThemeStyles();\n // @todo update config.theme()\n };\n\n _load();\n this._themeChangeListener(() => _load());\n }\n\n _loadCoreStyles() {\n if (!Base.isStyleNameLoaded('base') && this.componentStyle?.name) {\n this.baseComponentStyle.loadCSS(this.styleOptions);\n this.componentStyle && this.componentStyle?.loadCSS(this.styleOptions);\n Base.setLoadedStyleName(this.componentStyle?.name);\n }\n }\n\n _loadThemeStyles() {\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = this.componentStyle?.getCommonTheme?.() || {};\n\n this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...this.styleOptions });\n this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...this.styleOptions });\n this.baseStyle.load(global?.css, { name: 'global-variables', ...this.styleOptions });\n this.baseStyle.loadGlobalTheme({ name: 'global-style', ...this.styleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n\n // component\n if (!Theme.isStyleNameLoaded(this.componentStyle?.name) && this.componentStyle?.name) {\n const { css, style } = this.componentStyle?.getComponentTheme?.() || {};\n\n this.componentStyle?.load(css, { name: `${this.componentStyle?.name}-variables`, ...this.styleOptions });\n this.componentStyle?.loadTheme({ name: `${this.componentStyle?.name}-style`, ...this.styleOptions }, style);\n\n Theme.setLoadedStyleName(this.componentStyle?.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = this.componentStyle?.getLayerOrderThemeCSS?.();\n\n this.baseStyle.load(layerOrder, { name: 'layer-order', first: true, ...this.styleOptions });\n Theme.setLoadedStyleName('layer-order');\n }\n\n if (this.dt) {\n this._loadScopedThemeStyles(this.dt);\n this._themeChangeListener(() => this._loadScopedThemeStyles(this.dt));\n }\n }\n\n _loadScopedThemeStyles(preset) {\n const { css } = 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\n this.scopedStyleEl = scopedStyle?.el;\n }\n\n _unloadScopedThemeStyles() {\n this.scopedStyleEl?.remove();\n }\n\n _themeChangeListener(callback = () => {}) {\n Base.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n this.themeChangeListeners.push(callback);\n }\n\n cx(key: string, params = {}): string {\n return cn(this._getOptionValue(this.$style?.classes, key, { instance: this, ...params }));\n }\n\n sx(key = '', when = true, params = {}) {\n if (when) {\n const self = this._getOptionValue(this.$style?.inlineStyles, key, { instance: this, ...params });\n //const base = this._getOptionValue(BaseComponentStyle.inlineStyles, key, { ...this.$params, ...params });\n\n return self;\n }\n\n return undefined;\n }\n\n get parent() {\n return this['parentInstance'];\n }\n\n get $style() {\n return this.parent ? this.parent.componentStyle : this.componentStyle;\n }\n\n protected readonly cn = cn;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}