diff --git a/assets/styles/primevue.css b/assets/styles/primevue.css deleted file mode 100644 index 6f49a9c38..000000000 --- a/assets/styles/primevue.css +++ /dev/null @@ -1,3 +0,0 @@ -/** - * The primevue[.min].css has been deprecated. In order not to break existing projects, it is currently included in the build as an empty file. - */ \ No newline at end of file diff --git a/build-meta.js b/build-meta.js index bad43d1ab..8c5df610f 100644 --- a/build-meta.js +++ b/build-meta.js @@ -2,30 +2,33 @@ const fs = require('fs-extra'); const path = require('path'); function copyDependencies(inFolder, outFolder, subFolder) { - fs.readdirSync(path.resolve(__dirname, inFolder), { withFileTypes: true }) - .filter((dir) => dir.isDirectory()) - .forEach(({ name: folderName }) => { - fs.readdirSync(path.resolve(__dirname, inFolder + folderName)).forEach((file) => { - if (file === 'package.json' || file.endsWith('d.ts') || file.endsWith('vue')) { - fs.copySync(path.resolve(__dirname, inFolder + folderName) + '/' + file, outFolder + folderName + '/' + file); - } - }); + fs.readdirSync(inFolder, { withFileTypes: true }).forEach((entry) => { + const fileName = entry.name; + const sourcePath = path.join(inFolder, fileName); + const destPath = path.join(outFolder, fileName); - if (subFolder) { - try { - fs.readdirSync(path.resolve(__dirname, inFolder + folderName + subFolder)).forEach((subFile) => { - if (subFile === 'package.json' || subFile.endsWith('d.ts') || subFile.endsWith('vue')) { - fs.copySync(path.resolve(__dirname, inFolder + folderName + subFolder) + '/' + subFile, outFolder + folderName + subFolder + '/' + subFile); - } - }); - } catch {} + if (entry.isDirectory()) { + copyDependencies(sourcePath, destPath, subFolder); + } else { + if (fileName === 'package.json' || fileName.endsWith('d.ts') || fileName.endsWith('.vue')) { + if (subFolder && sourcePath.includes(subFolder)) { + const subDestPath = path.join(outFolder, fileName.replace(subFolder, '')); + + fs.ensureDirSync(path.dirname(subDestPath)); + fs.copyFileSync(sourcePath, subDestPath); + } else { + fs.ensureDirSync(path.dirname(destPath)); + fs.copyFileSync(sourcePath, destPath); + } } - }); + } + }); } copyDependencies('./components/lib/', 'dist/', '/style'); copyDependencies('./components/lib/icons/', 'dist/icons/'); copyDependencies('./components/lib/passthrough/', 'dist/passthrough/'); +copyDependencies('./components/lib/themes/', 'dist/themes/'); fs.copySync(path.resolve(__dirname, './components/lib/ts-helpers.d.ts'), 'dist/ts-helpers.d.ts'); fs.copySync(path.resolve(__dirname, './README.md'), 'dist/README.md'); diff --git a/components/lib/themes/utils/extendPreset.js b/components/lib/themes/actions/extendPreset.js similarity index 100% rename from components/lib/themes/utils/extendPreset.js rename to components/lib/themes/actions/extendPreset.js diff --git a/components/lib/themes/actions/index.js b/components/lib/themes/actions/index.js new file mode 100644 index 000000000..727194f8c --- /dev/null +++ b/components/lib/themes/actions/index.js @@ -0,0 +1,5 @@ +export { default as extendPreset } from './extendPreset'; +export { default as updatePreset } from './updatePreset'; +export { default as updatePrimary } from './updatePrimary'; +export { default as updateSurface } from './updateSurface'; +export { default as updateTheme } from './updateTheme'; diff --git a/components/lib/themes/actions/package.json b/components/lib/themes/actions/package.json new file mode 100644 index 000000000..f8e9d7ae0 --- /dev/null +++ b/components/lib/themes/actions/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/utils/updatePreset.js b/components/lib/themes/actions/updatePreset.js similarity index 84% rename from components/lib/themes/utils/updatePreset.js rename to components/lib/themes/actions/updatePreset.js index 527065549..e36f053c2 100644 --- a/components/lib/themes/utils/updatePreset.js +++ b/components/lib/themes/actions/updatePreset.js @@ -1,8 +1,7 @@ import Theme, { SharedUtils } from 'primevue/themes'; -const VARIABLE = Theme.defaults.variable; - export default (preset) => { + const VARIABLE = Theme.defaults.variable; const newPreset = SharedUtils.object.mergeKeysByRegex(Theme.getPreset(), preset, VARIABLE.excludedKeyRegex); Theme.setPreset(newPreset); diff --git a/components/lib/themes/actions/updatePrimary.js b/components/lib/themes/actions/updatePrimary.js new file mode 100644 index 000000000..c3441ba52 --- /dev/null +++ b/components/lib/themes/actions/updatePrimary.js @@ -0,0 +1,15 @@ +import Theme from 'primevue/themes'; + +export default (primary) => { + const { primitive, semantic, components, directives } = Theme.getPreset(); + const newPreset = { + primitive, + semantic: { ...semantic, primary }, + components, + directives + }; + + Theme.setPreset(newPreset); + + return newPreset; +}; diff --git a/components/lib/themes/actions/updateSurface.js b/components/lib/themes/actions/updateSurface.js new file mode 100644 index 000000000..740f3fcb8 --- /dev/null +++ b/components/lib/themes/actions/updateSurface.js @@ -0,0 +1,22 @@ +import Theme from 'primevue/themes'; + +export default (surface) => { + const { primitive, semantic, components, directives } = Theme.getPreset(); + const hasLightDark = surface?.hasOwnProperty('light') || surface?.hasOwnProperty('dark'); + const newColorScheme = { + colorScheme: { + light: { ...semantic?.colorScheme?.light, ...{ surface: hasLightDark ? surface?.light : surface } }, + dark: { ...semantic?.colorScheme?.dark, ...{ surface: hasLightDark ? surface?.dark : surface } } + } + }; + const newPreset = { + primitive, + semantic: { ...semantic, ...newColorScheme }, + components, + directives + }; + + Theme.setPreset(newPreset); + + return newPreset; +}; diff --git a/components/lib/themes/utils/updateTheme.js b/components/lib/themes/actions/updateTheme.js similarity index 100% rename from components/lib/themes/utils/updateTheme.js rename to components/lib/themes/actions/updateTheme.js diff --git a/components/lib/themes/utils/color/index.js b/components/lib/themes/helpers/color/index.js similarity index 100% rename from components/lib/themes/utils/color/index.js rename to components/lib/themes/helpers/color/index.js diff --git a/components/lib/themes/utils/color/mix.js b/components/lib/themes/helpers/color/mix.js similarity index 100% rename from components/lib/themes/utils/color/mix.js rename to components/lib/themes/helpers/color/mix.js diff --git a/components/lib/themes/utils/color/palette.js b/components/lib/themes/helpers/color/palette.js similarity index 100% rename from components/lib/themes/utils/color/palette.js rename to components/lib/themes/helpers/color/palette.js diff --git a/components/lib/themes/utils/color/shade.js b/components/lib/themes/helpers/color/shade.js similarity index 100% rename from components/lib/themes/utils/color/shade.js rename to components/lib/themes/helpers/color/shade.js diff --git a/components/lib/themes/utils/color/tint.js b/components/lib/themes/helpers/color/tint.js similarity index 100% rename from components/lib/themes/utils/color/tint.js rename to components/lib/themes/helpers/color/tint.js diff --git a/components/lib/themes/utils/dt.js b/components/lib/themes/helpers/dt.js similarity index 93% rename from components/lib/themes/utils/dt.js rename to components/lib/themes/helpers/dt.js index 3ce2cafd4..b7238b67c 100644 --- a/components/lib/themes/utils/dt.js +++ b/components/lib/themes/helpers/dt.js @@ -1,7 +1,5 @@ import Theme, { SharedUtils } from 'primevue/themes'; -const VARIABLE = Theme.defaults.variable; - export const $dt = (tokenPath, type) => { const config = Theme.getPConfig(); @@ -10,6 +8,7 @@ export const $dt = (tokenPath, type) => { export const dt = (theme = {}, tokenPath, type) => { if (tokenPath) { + const VARIABLE = Theme.defaults.variable; const { prefix, transform } = theme?.options || {}; const regex = /{([^}]*)}/g; const token = SharedUtils.object.test(regex, tokenPath) ? tokenPath : `{${tokenPath}}`; diff --git a/components/lib/themes/helpers/index.js b/components/lib/themes/helpers/index.js new file mode 100644 index 000000000..4795c147f --- /dev/null +++ b/components/lib/themes/helpers/index.js @@ -0,0 +1,3 @@ +export * from './color/index.js'; +export * from './dt'; +export { default as toVariables } from './toVariables'; diff --git a/components/lib/themes/helpers/package.json b/components/lib/themes/helpers/package.json new file mode 100644 index 000000000..f8e9d7ae0 --- /dev/null +++ b/components/lib/themes/helpers/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/utils/toVariables.js b/components/lib/themes/helpers/toVariables.js similarity index 96% rename from components/lib/themes/utils/toVariables.js rename to components/lib/themes/helpers/toVariables.js index 6df4ffe57..5c683f164 100644 --- a/components/lib/themes/utils/toVariables.js +++ b/components/lib/themes/helpers/toVariables.js @@ -1,8 +1,7 @@ import Theme, { SharedUtils } from 'primevue/themes'; -const VARIABLE = Theme.defaults.variable; - export default function (theme, options = {}) { + const VARIABLE = Theme.defaults.variable; const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options; const _toVariables = (_theme, _prefix = '') => { diff --git a/components/lib/themes/index.js b/components/lib/themes/index.js index 3f756ed2a..a39c3063b 100644 --- a/components/lib/themes/index.js +++ b/components/lib/themes/index.js @@ -1,2 +1,5 @@ +export * from 'primevue/themes/actions'; export { default } from 'primevue/themes/config'; -export * from './utils'; +export * from 'primevue/themes/helpers'; +export { default as ThemeService } from 'primevue/themes/service'; +export * from 'primevue/themes/utils'; diff --git a/components/lib/themes/primeone/base/calendar/package.json b/components/lib/themes/primeone/base/calendar/package.json index e69de29bb..f8e9d7ae0 100644 --- a/components/lib/themes/primeone/base/calendar/package.json +++ b/components/lib/themes/primeone/base/calendar/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/primeone/base/global.js b/components/lib/themes/primeone/base/global/index.js similarity index 100% rename from components/lib/themes/primeone/base/global.js rename to components/lib/themes/primeone/base/global/index.js diff --git a/components/lib/themes/primeone/base/global/package.json b/components/lib/themes/primeone/base/global/package.json new file mode 100644 index 000000000..f8e9d7ae0 --- /dev/null +++ b/components/lib/themes/primeone/base/global/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/primeone/base/index.js b/components/lib/themes/primeone/base/index.js index c10741b2c..fbcaa35da 100644 --- a/components/lib/themes/primeone/base/index.js +++ b/components/lib/themes/primeone/base/index.js @@ -84,8 +84,8 @@ import treeselect from 'primevue/themes/primeone/base/treeselect'; import treetable from 'primevue/themes/primeone/base/treetable'; export default { + global, components: { - global, accordion, autocomplete, avatar, diff --git a/components/lib/themes/primeone/presets/aura/avatar/index.js b/components/lib/themes/primeone/presets/aura/avatar/index.js index d43f62714..f704c4f3c 100644 --- a/components/lib/themes/primeone/presets/aura/avatar/index.js +++ b/components/lib/themes/primeone/presets/aura/avatar/index.js @@ -2,7 +2,7 @@ export default { colorScheme: { light: { root: { - background: '{surface.200}', + background: '{surface.200}' }, grouped: { borderColor: '{surface.0}' @@ -10,7 +10,7 @@ export default { }, dark: { root: { - background: '{surface.700}', + background: '{surface.700}' }, grouped: { borderColor: '{surface.900}' diff --git a/components/lib/themes/primeone/presets/aura/floatlabel/index.js b/components/lib/themes/primeone/presets/aura/floatlabel/index.js index 01001adcb..e83127703 100644 --- a/components/lib/themes/primeone/presets/aura/floatlabel/index.js +++ b/components/lib/themes/primeone/presets/aura/floatlabel/index.js @@ -2,6 +2,6 @@ export default { root: { color: '{form.field.float.label.color}', focusColor: '{form.field.float.label.focus.color}', - invalidColor: '{form.field.float.label.invalid.color}', + invalidColor: '{form.field.float.label.invalid.color}' } }; diff --git a/components/lib/themes/utils/service.js b/components/lib/themes/service/index.js similarity index 100% rename from components/lib/themes/utils/service.js rename to components/lib/themes/service/index.js diff --git a/components/lib/themes/service/package.json b/components/lib/themes/service/package.json new file mode 100644 index 000000000..f8e9d7ae0 --- /dev/null +++ b/components/lib/themes/service/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/utils/index.js b/components/lib/themes/utils/index.js index 5cf31f277..885be7b97 100644 --- a/components/lib/themes/utils/index.js +++ b/components/lib/themes/utils/index.js @@ -1,9 +1,2 @@ -export * from './color'; -export * from './dt'; -export { default as extendPreset } from './extendPreset'; -export { default as ThemeService } from './service'; export { default as SharedUtils } from './sharedUtils'; export { default as ThemeUtils } from './themeUtils'; -export { default as toVariables } from './toVariables'; -export { default as updatePreset } from './updatePreset'; -export { default as updateTheme } from './updateTheme'; diff --git a/components/lib/themes/utils/package.json b/components/lib/themes/utils/package.json new file mode 100644 index 000000000..f8e9d7ae0 --- /dev/null +++ b/components/lib/themes/utils/package.json @@ -0,0 +1,6 @@ +{ + "main": "./index.cjs.js", + "module": "./index.esm.js", + "unpkg": "./index.min.js", + "types": "./index.d.ts" +} diff --git a/components/lib/themes/utils/themeUtils.js b/components/lib/themes/utils/themeUtils.js index 5ecea88ab..3f20227ce 100644 --- a/components/lib/themes/utils/themeUtils.js +++ b/components/lib/themes/utils/themeUtils.js @@ -56,18 +56,14 @@ export default { const dark_css = SharedUtils.object.isNotEmpty(dark) ? this._toVariables({ dark }, options).declarations : ''; primitive_css = this._transformCSS(name, prim_css, 'light', 'variable', options, set, defaults); - semantic_css = `${this._transformCSS(name, `${sRest_css}${csRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults)}${this._transformCSS( - name, - `${dark_css}color-scheme:dark`, - 'dark', - 'variable', - options, - set, - defaults - )}`; + + const semantic_light_css = this._transformCSS(name, `${sRest_css}${csRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults); + const semantic_dark_css = this._transformCSS(name, `${dark_css}color-scheme:dark`, 'dark', 'variable', options, set, defaults); + + semantic_css = `${semantic_light_css}${semantic_dark_css}`; } - global_css = SharedUtils.object.getItemValue(base?.components?.global?.css, { ...params, dt: (tokenPath, type) => dt(theme, tokenPath, type) }); + global_css = SharedUtils.object.getItemValue(base?.global?.css, { ...params, dt: (tokenPath, type) => dt(theme, tokenPath, type) }); return { primitive: primitive_css, diff --git a/components/lib/togglebutton/ToggleButton.d.ts b/components/lib/togglebutton/ToggleButton.d.ts index 0dcb68d1d..6486bc4b8 100755 --- a/components/lib/togglebutton/ToggleButton.d.ts +++ b/components/lib/togglebutton/ToggleButton.d.ts @@ -12,7 +12,7 @@ import { ComponentHooks } from '../basecomponent'; import { PassThroughOptions } from '../passthrough'; import { ClassComponent, GlobalComponentConstructor, PassThrough } from '../ts-helpers'; -export declare type ToggleButtonPassThroughOptionType = ToggleButtonPassThroughAttributes | ((options: ToggleButtonPassThroughMethodOptions) => ToggleButtonPassThroughAttributes | string) | string | null | undefined; +export declare type ToggleButtonPassThroughOptionType = ToggleButtonPassThroughAttributes | ((options: ToggleButtonPassThroughMethodOptions) => ToggleButtonPassThroughAttributes | string) | string | null | undefined; /** * Custom passthrough(pt) option method. @@ -48,7 +48,7 @@ export interface ToggleButtonPassThroughMethodOptions { * Custom passthrough(pt) options. * @see {@link ToggleButtonProps.pt} */ -export interface ToggleButtonPassThroughOptions { +export interface ToggleButtonPassThroughOptions { /** * Used to pass attributes to the root's DOM element. */ diff --git a/layouts/AppConfigurator.vue b/layouts/AppConfigurator.vue index bb1f72c9d..8de9a89f6 100755 --- a/layouts/AppConfigurator.vue +++ b/layouts/AppConfigurator.vue @@ -38,7 +38,7 @@