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 • 20.4 kB
Source Map (JSON)
{"version":3,"file":"primeng-config.mjs","sources":["../../src/config/themeprovider.ts","../../src/config/primeng.ts","../../src/config/provideprimeng.ts","../../src/config/primeng-config.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { effect, inject, Injectable, signal, untracked } from '@angular/core';\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { BaseStyle } from 'primeng/base';\n\nexport type ThemeType = { preset?: any; options?: any } | 'none' | boolean | undefined;\n\nexport type ThemeConfigType = {\n theme?: ThemeType;\n csp?: {\n nonce: string | undefined;\n };\n};\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeProvider {\n // @todo define type for theme\n theme = signal<any>(undefined);\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n isThemeChanged: boolean = false;\n\n public document: Document = inject(DOCUMENT);\n\n baseStyle: BaseStyle = inject(BaseStyle);\n\n constructor() {\n effect(() => {\n ThemeService.on('theme:change', (newTheme) => {\n untracked(() => {\n this.isThemeChanged = true;\n this.theme.set(newTheme);\n // this.onThemeChange(this.theme());\n });\n });\n });\n effect(() => {\n const themeValue = this.theme();\n if (this.document && themeValue) {\n if (!this.isThemeChanged) {\n this.onThemeChange(themeValue);\n }\n this.isThemeChanged = false;\n }\n });\n }\n\n ngOnDestroy() {\n Theme.clearLoadedStyleNames();\n ThemeService.clear();\n }\n\n onThemeChange(value: any) {\n Theme.setTheme(value);\n if (this.document) {\n this.loadCommonTheme();\n }\n }\n\n loadCommonTheme() {\n if (this.theme() === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = this.baseStyle.getCommonTheme?.() || {};\n const styleOptions = { nonce: this.csp?.()?.nonce };\n\n this.baseStyle.load(primitive?.css, { name: 'primitive-variables', ...styleOptions });\n this.baseStyle.load(semantic?.css, { name: 'semantic-variables', ...styleOptions });\n this.baseStyle.load(global?.css, { name: 'global-variables', ...styleOptions });\n this.baseStyle.loadGlobalTheme({ name: 'global-style', ...styleOptions }, style);\n\n Theme.setLoadedStyleName('common');\n }\n }\n\n setThemeConfig(config: ThemeConfigType): void {\n const { theme, csp } = config || {};\n if (theme) this.theme.set(theme);\n if (csp) this.csp.set(csp);\n }\n}\n","import { inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { FilterMatchMode, OverlayOptions, Translation } from 'primeng/api';\nimport { Subject } from 'rxjs';\nimport { ThemeConfigType, ThemeProvider } from './themeprovider';\n\n// Type for zIndex\nexport type ZIndex = {\n modal: number;\n overlay: number;\n menu: number;\n tooltip: number;\n};\n\nexport type PrimeNGConfigType = {\n ripple?: boolean;\n inputStyle?: 'outlined' | 'filled';\n inputVariant?: 'outlined' | 'filled';\n csp?: {\n nonce: string | undefined;\n };\n overlayOptions?: OverlayOptions;\n translation?: Translation;\n zIndex?: ZIndex;\n filterMatchModeOptions?: any;\n} & ThemeConfigType;\n\n@Injectable({ providedIn: 'root' })\nexport class PrimeNG extends ThemeProvider {\n ripple = signal<boolean>(false);\n\n public platformId: any = inject(PLATFORM_ID);\n\n inputStyle = signal<'outlined' | 'filled'>(null);\n\n inputVariant = signal<'outlined' | 'filled'>(null);\n\n overlayOptions: OverlayOptions = {};\n\n csp = signal<{ nonce: string | undefined }>({ nonce: undefined });\n\n filterMatchModeOptions = {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n };\n\n public translation: Translation = {\n startsWith: 'Starts with',\n contains: 'Contains',\n notContains: 'Not contains',\n endsWith: 'Ends with',\n equals: 'Equals',\n notEquals: 'Not equals',\n noFilter: 'No Filter',\n lt: 'Less than',\n lte: 'Less than or equal to',\n gt: 'Greater than',\n gte: 'Greater than or equal to',\n is: 'Is',\n isNot: 'Is not',\n before: 'Before',\n after: 'After',\n dateIs: 'Date is',\n dateIsNot: 'Date is not',\n dateBefore: 'Date is before',\n dateAfter: 'Date is after',\n clear: 'Clear',\n apply: 'Apply',\n matchAll: 'Match All',\n matchAny: 'Match Any',\n addRule: 'Add Rule',\n removeRule: 'Remove Rule',\n accept: 'Yes',\n reject: 'No',\n choose: 'Choose',\n upload: 'Upload',\n cancel: 'Cancel',\n pending: 'Pending',\n fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n chooseYear: 'Choose Year',\n chooseMonth: 'Choose Month',\n chooseDate: 'Choose Date',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n prevHour: 'Previous Hour',\n nextHour: 'Next Hour',\n prevMinute: 'Previous Minute',\n nextMinute: 'Next Minute',\n prevSecond: 'Previous Second',\n nextSecond: 'Next Second',\n am: 'am',\n pm: 'pm',\n dateFormat: 'mm/dd/yy',\n firstDayOfWeek: 0,\n today: 'Today',\n weekHeader: 'Wk',\n weak: 'Weak',\n medium: 'Medium',\n strong: 'Strong',\n passwordPrompt: 'Enter a password',\n emptyMessage: 'No results found',\n searchMessage: 'Search results are available',\n selectionMessage: '{0} items selected',\n emptySelectionMessage: 'No selected item',\n emptySearchMessage: 'No results found',\n emptyFilterMessage: 'No results found',\n fileChosenMessage: 'Files',\n noFileChosenMessage: 'No file chosen',\n aria: {\n trueLabel: 'True',\n falseLabel: 'False',\n nullLabel: 'Not Selected',\n star: '1 star',\n stars: '{star} stars',\n selectAll: 'All items selected',\n unselectAll: 'All items unselected',\n close: 'Close',\n previous: 'Previous',\n next: 'Next',\n navigation: 'Navigation',\n scrollTop: 'Scroll Top',\n moveTop: 'Move Top',\n moveUp: 'Move Up',\n moveDown: 'Move Down',\n moveBottom: 'Move Bottom',\n moveToTarget: 'Move to Target',\n moveToSource: 'Move to Source',\n moveAllToTarget: 'Move All to Target',\n moveAllToSource: 'Move All to Source',\n pageLabel: '{page}',\n firstPageLabel: 'First Page',\n lastPageLabel: 'Last Page',\n nextPageLabel: 'Next Page',\n prevPageLabel: 'Previous Page',\n rowsPerPageLabel: 'Rows per page',\n previousPageLabel: 'Previous Page',\n jumpToPageDropdownLabel: 'Jump to Page Dropdown',\n jumpToPageInputLabel: 'Jump to Page Input',\n selectRow: 'Row Selected',\n unselectRow: 'Row Unselected',\n expandRow: 'Row Expanded',\n collapseRow: 'Row Collapsed',\n showFilterMenu: 'Show Filter Menu',\n hideFilterMenu: 'Hide Filter Menu',\n filterOperator: 'Filter Operator',\n filterConstraint: 'Filter Constraint',\n editRow: 'Row Edit',\n saveEdit: 'Save Edit',\n cancelEdit: 'Cancel Edit',\n listView: 'List View',\n gridView: 'Grid View',\n slide: 'Slide',\n slideNumber: '{slideNumber}',\n zoomImage: 'Zoom Image',\n zoomIn: 'Zoom In',\n zoomOut: 'Zoom Out',\n rotateRight: 'Rotate Right',\n rotateLeft: 'Rotate Left',\n listLabel: 'Option List',\n selectColor: 'Select a color',\n removeLabel: 'Remove',\n browseFiles: 'Browse Files',\n maximizeLabel: 'Maximize'\n }\n };\n\n zIndex: ZIndex = {\n modal: 1100,\n overlay: 1000,\n menu: 1000,\n tooltip: 1100\n };\n\n private translationSource = new Subject<any>();\n\n translationObserver = this.translationSource.asObservable();\n\n getTranslation(key: string): any {\n return this.translation[key as keyof typeof this.translation];\n }\n\n setTranslation(value: Translation) {\n this.translation = { ...this.translation, ...value };\n this.translationSource.next(this.translation);\n }\n\n setConfig(config: PrimeNGConfigType): void {\n const { csp, ripple, inputStyle, inputVariant, theme, overlayOptions, translation } = config || {};\n\n if (csp) this.csp.set(csp);\n if (ripple) this.ripple.set(ripple);\n if (inputStyle) this.inputStyle.set(inputStyle);\n if (inputVariant) this.inputVariant.set(inputVariant);\n if (overlayOptions) this.overlayOptions = overlayOptions;\n if (translation) this.setTranslation(translation);\n\n if (theme)\n this.setThemeConfig({\n theme,\n csp\n } as ThemeConfigType);\n }\n}\n","import { EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, provideAppInitializer } from '@angular/core';\nimport { PrimeNG, PrimeNGConfigType } from './primeng';\n\nexport const PRIME_NG_CONFIG = new InjectionToken<PrimeNGConfigType>('PRIME_NG_CONFIG');\n\nexport function providePrimeNG(...features: PrimeNGConfigType[]): EnvironmentProviders {\n const providers = features?.map((feature) => ({\n provide: PRIME_NG_CONFIG,\n useValue: feature,\n multi: false\n }));\n\n const initializer = provideAppInitializer(() => {\n const PrimeNGConfig = inject(PrimeNG);\n features?.forEach((feature) => PrimeNGConfig.setConfig(feature));\n return;\n });\n\n return makeEnvironmentProviders([...providers, initializer]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}