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.8 kB
Source Map (JSON)
{"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 { 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._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 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._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(arg: string, rest?: string): string {\n const classes = this.parent ? this.parent.componentStyle?.classes?.[arg] : this.componentStyle?.classes?.[arg];\n\n if (typeof classes === 'function') {\n return classes({ instance: this });\n }\n\n return typeof classes === 'string' ? classes : arg;\n }\n\n sx(arg: string): string {\n const styles = this.componentStyle?.inlineStyles?.[arg];\n if (typeof styles === 'function') {\n return styles({ instance: this });\n }\n\n if (typeof styles === 'string') {\n return styles;\n } else {\n return { ...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\n get parent() {\n return this['parentInstance'];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}