diff --git a/.github/workflows/generate_api_doc.yml b/.github/workflows/generate_api_doc.yml
index 56def89a6..ca537bbc9 100644
--- a/.github/workflows/generate_api_doc.yml
+++ b/.github/workflows/generate_api_doc.yml
@@ -1,42 +1,45 @@
name: Generate API DOC
on:
- push:
- branches: [ master ]
- paths:
- - '**/**/*.d.ts'
- - '/api-generator/build-apidoc.js'
+ push:
+ branches: [master]
+ paths:
+ - '**/**/*.d.ts'
+ - '/api-generator/build-apidoc.js'
permissions:
- contents: write
+ contents: write
jobs:
- build:
- if: github.repository == 'primefaces/primevue' && github.ref == 'refs/heads/master'
- runs-on: ubuntu-latest
+ build:
+ if: github.repository == 'primefaces/primevue' && github.ref == 'refs/heads/master'
+ runs-on: ubuntu-latest
- strategy:
- matrix:
- node-version: [16.x]
+ strategy:
+ matrix:
+ node-version: [16.x]
- steps:
- - uses: actions/checkout@v3
+ steps:
+ - uses: actions/checkout@v3
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'npm'
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'npm'
- - name: Install node packages
- run: npm install
+ - name: Install node packages
+ run: npm install
- - name: Generate api doc
- run: npm run apidoc
+ - name: Generate api doc
+ run: npm run apidoc
- - name: Commit doc
- run: |
- git config user.name "GitHub Actions Bot"
- git config user.email "<>"
- git commit -a -m "Update API doc"
- git push
+ - name: Code Format
+ run: npm run format
+
+ - name: Commit doc
+ run: |
+ git config user.name "GitHub Actions Bot"
+ git config user.email "<>"
+ git commit -a -m "Update API doc"
+ git push
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cac8abb1f..4bb3a093d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,53 @@
# Changelog
+## [3.36.0](https://github.com/primefaces/primevue/tree/3.36.0) (2023-10-11)
+
+[Full Changelog](https://github.com/primefaces/primevue/compare/3.35.0...3.36.0)
+
+**Implemented New Features and Enhancements:**
+
+- Improve block/unblockScroll architecture [\#4589](https://github.com/primefaces/primevue/issues/4589)
+- Splitter: Add Resize event to Splitter component [\#4561](https://github.com/primefaces/primevue/issues/4561)
+- Datatable: Sort mode multiple - undefined breaks order [\#4555](https://github.com/primefaces/primevue/issues/4555)
+- InlineMessage: Icon shrinks as text grows larger [\#4550](https://github.com/primefaces/primevue/issues/4550)
+- Export styles of all components [\#4530](https://github.com/primefaces/primevue/issues/4530)
+- Add `modules` property to Editor [\#4450](https://github.com/primefaces/primevue/issues/4450)
+- No styles injected on SSR resulting in Large Layout Shifts on load [\#4210](https://github.com/primefaces/primevue/issues/4210)
+- MultiSelect: Filter does not work when options is an array of strings [\#4071](https://github.com/primefaces/primevue/issues/4071)
+- Add `allowEmpty` property to SelectButton [\#3973](https://github.com/primefaces/primevue/issues/3973)
+- Ability to close a specific toast message [\#1763](https://github.com/primefaces/primevue/issues/1763)
+
+**Fixed bugs:**
+
+- Dock Component MenuBar z-index issue [\#4584](https://github.com/primefaces/primevue/issues/4584)
+- OrderList: Missing moveUpButtonProps [\#4581](https://github.com/primefaces/primevue/issues/4581)
+- Config: Missing export definition in types [\#4579](https://github.com/primefaces/primevue/issues/4579)
+- Cannot click to select min or max value when using slider with step property [\#4577](https://github.com/primefaces/primevue/issues/4577)
+- Editor layer defect [\#4576](https://github.com/primefaces/primevue/issues/4576)
+- Tailwind Datatable: Uncaught \(in promise\) TypeError: Cannot read properties of undefined \(reading 'frozen'\) [\#4566](https://github.com/primefaces/primevue/issues/4566)
+- Using Tailwind setup - the Ripple data attributes get added automatically [\#4564](https://github.com/primefaces/primevue/issues/4564)
+- Splitter: In the tailwind theme, double-clicking on a split line causes the element to move. [\#4562](https://github.com/primefaces/primevue/issues/4562)
+- InputNumber: Buttons are not sorted correctly in TW theme if buttonLayout is horizontal [\#4560](https://github.com/primefaces/primevue/issues/4560)
+- The `appearance` style is not working in Tailwind preset [\#4559](https://github.com/primefaces/primevue/issues/4559)
+- Image: preview mode button spacing fixes [\#4554](https://github.com/primefaces/primevue/issues/4554)
+- Image: toolbar unstyled mode fixes [\#4553](https://github.com/primefaces/primevue/issues/4553)
+- Galleria: indicator list z-index defect [\#4545](https://github.com/primefaces/primevue/issues/4545)
+- Column: headercheckboxicon slot not working [\#4543](https://github.com/primefaces/primevue/issues/4543)
+- ContextMenu: global property is not working [\#4536](https://github.com/primefaces/primevue/issues/4536)
+- InputText: Float labels bug out when page loads with form auto-filled \(webkit\) [\#4533](https://github.com/primefaces/primevue/issues/4533)
+- Sidebar: autofocus cannot with other components [\#4532](https://github.com/primefaces/primevue/issues/4532)
+- PanelMenu | Separator is not ignored when navigating with the arrow keys. [\#4522](https://github.com/primefaces/primevue/issues/4522)
+- V-Tooltip, TailwindCSS: Styling not working when using pinia store [\#4505](https://github.com/primefaces/primevue/issues/4505)
+- Calendar: Timepicker changes from `12 am` to `12 pm` automatically [\#4449](https://github.com/primefaces/primevue/issues/4449)
+- Calendar: Multiple Month/Year selection mode not highlighting selected month [\#4418](https://github.com/primefaces/primevue/issues/4418)
+- File Upload - Chrome/Windows input is triggered during any mouse click, not just left click [\#4144](https://github.com/primefaces/primevue/issues/4144)
+- InputSwitch: Type Definition doesn't expose `disabled` [\#3985](https://github.com/primefaces/primevue/issues/3985)
+- DataGrid: Invalid typing of slot props [\#3395](https://github.com/primefaces/primevue/issues/3395)
+
+**Deprecated:**
+
+- Remove FullCalendar theme support [\#4575](https://github.com/primefaces/primevue/issues/4575)
+
## [3.35.0](https://github.com/primefaces/primevue/tree/3.35.0) (2023-09-26)
[Full Changelog](https://github.com/primefaces/primevue/compare/3.34.1...3.35.0)
diff --git a/api-generator/build-apidoc.js b/api-generator/build-apidoc.js
index ecbc066b7..00d5490d4 100644
--- a/api-generator/build-apidoc.js
+++ b/api-generator/build-apidoc.js
@@ -352,7 +352,17 @@ if (project) {
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0].text : '', // TODO: Check
- description: prop.comment && prop.comment.summary.map((s) => s.text || '').join(' '),
+ description:
+ prop.comment &&
+ prop.comment.summary
+ .map((s) => {
+ if (s.text.indexOf('[here]') > -1) {
+ return `${s.text.slice(0, s.text.indexOf('[here]'))} here ${s.text.slice(s.text.indexOf(')') + 1)}`;
+ }
+
+ return s.text || '';
+ })
+ .join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0].text) : undefined
});
});
diff --git a/api-generator/components/selectbutton.js b/api-generator/components/selectbutton.js
index 93a2641ea..6dd55ad81 100644
--- a/api-generator/components/selectbutton.js
+++ b/api-generator/components/selectbutton.js
@@ -51,6 +51,12 @@ const SelectButtonProps = [
name: 'unselectable',
type: 'boolean',
default: 'false',
+ description: 'Whether selection can not be cleared.'
+ },
+ {
+ name: 'allowEmpty',
+ type: 'boolean',
+ default: 'true',
description: 'Whether selection can be cleared.'
},
{
diff --git a/components/doc/DocApiTable.vue b/components/doc/DocApiTable.vue
index b1a2246b0..f67f62a6c 100644
--- a/components/doc/DocApiTable.vue
+++ b/components/doc/DocApiTable.vue
@@ -59,7 +59,10 @@
{{ v }}
- {{ v }}
+
+
+ {{ v }}
+
diff --git a/components/doc/codeeditor/templates.js b/components/doc/codeeditor/templates.js
index 0597cd8a2..2cdb86e6c 100644
--- a/components/doc/codeeditor/templates.js
+++ b/components/doc/codeeditor/templates.js
@@ -2,7 +2,7 @@ import pkg from '../../../package.json';
import { services } from './services';
const PrimeVue = {
- version: '^3.35.0',
+ version: '^3.36.0',
description:
'PrimeVue is an open source UI library for Vue 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 PrimeBlock, which has 400+ ready to use UI blocks to build spectacular applications in no time.'
};
diff --git a/components/lib/api/FilterService.js b/components/lib/api/FilterService.js
index 8185a41f4..1fb8b05cc 100644
--- a/components/lib/api/FilterService.js
+++ b/components/lib/api/FilterService.js
@@ -4,10 +4,19 @@ const FilterService = {
filter(value, fields, filterValue, filterMatchMode, filterLocale) {
let filteredItems = [];
- if (value) {
- for (let item of value) {
- for (let field of fields) {
- let fieldValue = ObjectUtils.resolveFieldData(item, field);
+ if (!value) {
+ return filteredItems;
+ }
+
+ for (const item of value) {
+ if (typeof item === 'string') {
+ if (this.filters[filterMatchMode](item, filterValue, filterLocale)) {
+ filteredItems.push(item);
+ continue;
+ }
+ } else {
+ for (const field of fields) {
+ const fieldValue = ObjectUtils.resolveFieldData(item, field);
if (this.filters[filterMatchMode](fieldValue, filterValue, filterLocale)) {
filteredItems.push(item);
diff --git a/components/lib/badgedirective/BadgeDirective.js b/components/lib/badgedirective/BadgeDirective.js
index b032fb191..3a8930cb6 100644
--- a/components/lib/badgedirective/BadgeDirective.js
+++ b/components/lib/badgedirective/BadgeDirective.js
@@ -5,11 +5,9 @@ const BadgeDirective = BaseBadgeDirective.extend('badge', {
mounted(el, binding) {
const id = UniqueComponentId() + '_badge';
- el.unstyled = binding.instance.$primevue?.config?.unstyled || binding.value?.unstyled || false;
-
const badge = DomHandler.createElement('span', {
id,
- class: !el.unstyled && this.cx('root'),
+ class: !this.isUnstyled() && this.cx('root'),
'p-bind': this.ptm('root', {
context: {
...binding.modifiers,
@@ -22,7 +20,7 @@ const BadgeDirective = BaseBadgeDirective.extend('badge', {
el.$_pbadgeId = badge.getAttribute('id');
for (let modifier in binding.modifiers) {
- !el.unstyled && DomHandler.addClass(badge, 'p-badge-' + modifier);
+ !this.isUnstyled() && DomHandler.addClass(badge, 'p-badge-' + modifier);
}
if (binding.value != null) {
@@ -30,22 +28,22 @@ const BadgeDirective = BaseBadgeDirective.extend('badge', {
else el.$_badgeValue = binding.value;
badge.appendChild(document.createTextNode(el.$_badgeValue));
- if (String(el.$_badgeValue).length === 1 && !el.unstyled) {
- !el.unstyled && DomHandler.addClass(badge, 'p-badge-no-gutter');
+ if (String(el.$_badgeValue).length === 1 && !this.isUnstyled()) {
+ !this.isUnstyled() && DomHandler.addClass(badge, 'p-badge-no-gutter');
}
} else {
- !el.unstyled && DomHandler.addClass(badge, 'p-badge-dot');
+ !this.isUnstyled() && DomHandler.addClass(badge, 'p-badge-dot');
}
el.setAttribute('data-pd-badge', true);
- !el.unstyled && DomHandler.addClass(el, 'p-overlay-badge');
+ !this.isUnstyled() && DomHandler.addClass(el, 'p-overlay-badge');
el.setAttribute('data-p-overlay-badge', 'true');
el.appendChild(badge);
this.$el = badge;
},
updated(el, binding) {
- !el.unstyled && DomHandler.addClass(el, 'p-overlay-badge');
+ !this.isUnstyled() && DomHandler.addClass(el, 'p-overlay-badge');
el.setAttribute('data-p-overlay-badge', 'true');
if (binding.oldValue !== binding.value) {
@@ -54,7 +52,7 @@ const BadgeDirective = BaseBadgeDirective.extend('badge', {
if (typeof binding.value === 'object') el.$_badgeValue = binding.value.value;
else el.$_badgeValue = binding.value;
- if (!el.unstyled) {
+ if (!this.isUnstyled()) {
if (el.$_badgeValue) {
if (DomHandler.hasClass(badge, 'p-badge-dot')) DomHandler.removeClass(badge, 'p-badge-dot');
diff --git a/components/lib/basedirective/BaseDirective.js b/components/lib/basedirective/BaseDirective.js
index 3784e4e2d..fb51257f3 100644
--- a/components/lib/basedirective/BaseDirective.js
+++ b/components/lib/basedirective/BaseDirective.js
@@ -4,6 +4,7 @@ import { mergeProps } from 'vue';
const BaseDirective = {
_getMeta: (...args) => [ObjectUtils.isObject(args[0]) ? undefined : args[0], ObjectUtils.getItemValue(ObjectUtils.isObject(args[0]) ? args[0] : args[1])],
+ _getConfig: (binding, vnode) => (binding?.instance?.$primevue || vnode?.ctx?.appContext?.config?.globalProperties?.$primevue)?.config,
_getOptionValue: (options, key = '', params = {}) => {
const fKeys = ObjectUtils.toFlatCase(key).split('.');
const fKey = fKeys.shift();
@@ -23,7 +24,7 @@ const BaseDirective = {
const datasetPrefix = 'data-pc-';
const { mergeSections = true, mergeProps: useMergeProps = false } = instance.binding?.value?.ptOptions || instance.$config?.ptOptions || {};
- const global = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT, getValue, key, params) : undefined;
+ const global = searchInDefaultPT ? BaseDirective._useDefaultPT(instance, instance.defaultPT(), getValue, key, params) : undefined;
const self = BaseDirective._usePT(instance, BaseDirective._getPT(obj, instance.$name), getValue, key, { ...params, global: global || {} });
const datasets = {
...(key === 'root' && { [`${datasetPrefix}name`]: ObjectUtils.toFlatCase(instance.$name) }),
@@ -70,7 +71,7 @@ const BaseDirective = {
},
_hook: (directiveName, hookName, el, binding, vnode, prevVnode) => {
const name = `on${ObjectUtils.toCapitalCase(hookName)}`;
- const config = binding?.instance?.$primevue?.config;
+ const config = BaseDirective._getConfig(binding, vnode);
const instance = el?.$instance;
const selfHook = BaseDirective._usePT(instance, BaseDirective._getPT(binding?.value?.pt, directiveName), BaseDirective._getOptionValue, `hooks.${name}`);
const defaultHook = BaseDirective._useDefaultPT(instance, config?.pt?.directives?.[directiveName], BaseDirective._getOptionValue, `hooks.${name}`);
@@ -83,7 +84,7 @@ const BaseDirective = {
const handleHook = (hook, el, binding, vnode, prevVnode) => {
el._$instances = el._$instances || {};
- const config = binding?.instance?.$primevue?.config;
+ const config = BaseDirective._getConfig(binding, vnode);
const $prevInstance = el._$instances[name] || {};
const $options = ObjectUtils.isEmpty($prevInstance) ? { ...options, ...options?.methods } : {};
@@ -97,12 +98,12 @@ const BaseDirective = {
$style: { classes: undefined, inlineStyles: undefined, loadStyle: () => {}, ...options?.style },
$config: config,
/* computed instance variables */
- defaultPT: BaseDirective._getPT(config?.pt, undefined, (value) => value?.directives?.[name]),
- isUnstyled: el.unstyled !== undefined ? el.unstyled : config?.unstyled,
+ defaultPT: () => BaseDirective._getPT(config?.pt, undefined, (value) => value?.directives?.[name]),
+ isUnstyled: () => (el.$instance?.$binding?.value?.unstyled !== undefined ? el.$instance?.$binding?.value?.unstyled : config?.unstyled),
/* instance's methods */
ptm: (key = '', params = {}) => BaseDirective._getPTValue(el.$instance, el.$instance?.$binding?.value?.pt, key, { ...params }),
ptmo: (obj = {}, key = '', params = {}) => BaseDirective._getPTValue(el.$instance, obj, key, params, false),
- cx: (key = '', params = {}) => (!el.$instance?.isUnstyled ? BaseDirective._getOptionValue(el.$instance?.$style?.classes, key, { ...params }) : undefined),
+ cx: (key = '', params = {}) => (!el.$instance?.isUnstyled() ? BaseDirective._getOptionValue(el.$instance?.$style?.classes, key, { ...params }) : undefined),
sx: (key = '', when = true, params = {}) => (when ? BaseDirective._getOptionValue(el.$instance?.$style?.inlineStyles, key, { ...params }) : undefined),
...$options
};
@@ -117,10 +118,10 @@ const BaseDirective = {
handleHook('created', el, binding, vnode, prevVnode);
},
beforeMount: (el, binding, vnode, prevVnode) => {
- const config = binding?.instance?.$primevue?.config;
+ const config = BaseDirective._getConfig(binding, vnode);
BaseStyle.loadStyle(undefined, { nonce: config?.csp?.nonce });
- !el.$instance?.isUnstyled && el.$instance?.$style?.loadStyle(undefined, { nonce: config?.csp?.nonce });
+ !el.$instance?.isUnstyled() && el.$instance?.$style?.loadStyle(undefined, { nonce: config?.csp?.nonce });
handleHook('beforeMount', el, binding, vnode, prevVnode);
},
mounted: (el, binding, vnode, prevVnode) => {
diff --git a/components/lib/blockui/BlockUI.vue b/components/lib/blockui/BlockUI.vue
index 1dfb4d8c7..0464f271d 100755
--- a/components/lib/blockui/BlockUI.vue
+++ b/components/lib/blockui/BlockUI.vue
@@ -50,8 +50,7 @@ export default {
});
document.body.appendChild(this.mask);
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
document.activeElement.blur();
} else {
this.mask = DomHandler.createElement('div', {
@@ -92,8 +91,7 @@ export default {
if (this.fullScreen) {
document.body.removeChild(this.mask);
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
} else {
this.$refs.container.removeChild(this.mask);
}
diff --git a/components/lib/calendar/Calendar.vue b/components/lib/calendar/Calendar.vue
index 34c714399..05c176303 100755
--- a/components/lib/calendar/Calendar.vue
+++ b/components/lib/calendar/Calendar.vue
@@ -1656,8 +1656,7 @@ export default {
this.mask.addEventListener('click', this.maskClickListener);
document.body.appendChild(this.mask);
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
}
},
disableModality() {
@@ -1691,8 +1690,7 @@ export default {
}
if (!hasBlockerMasks) {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
}
},
updateCurrentMetaData() {
@@ -2671,7 +2669,7 @@ export default {
let innerHTML = '';
if (this.responsiveOptions) {
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
let responsiveOptions = [...this.responsiveOptions].filter((o) => !!(o.breakpoint && o.numMonths)).sort((o1, o2) => -1 * comparer(o1.breakpoint, o2.breakpoint));
for (let i = 0; i < responsiveOptions.length; i++) {
diff --git a/components/lib/calendar/style/CalendarStyle.js b/components/lib/calendar/style/CalendarStyle.js
index b5c95014c..b35ad376e 100644
--- a/components/lib/calendar/style/CalendarStyle.js
+++ b/components/lib/calendar/style/CalendarStyle.js
@@ -210,8 +210,6 @@ const classes = {
decrementButton: 'p-link',
separatorContainer: 'p-separator',
minutePicker: 'p-minute-picker',
- incrementButton: 'p-link',
- decrementButton: 'p-link',
secondPicker: 'p-second-picker',
ampmPicker: 'p-ampm-picker',
buttonbar: 'p-datepicker-buttonbar',
diff --git a/components/lib/carousel/Carousel.vue b/components/lib/carousel/Carousel.vue
index fb1685e81..cd189b170 100755
--- a/components/lib/carousel/Carousel.vue
+++ b/components/lib/carousel/Carousel.vue
@@ -101,7 +101,7 @@ import ChevronLeftIcon from 'primevue/icons/chevronleft';
import ChevronRightIcon from 'primevue/icons/chevronright';
import ChevronUpIcon from 'primevue/icons/chevronup';
import Ripple from 'primevue/ripple';
-import { DomHandler, UniqueComponentId } from 'primevue/utils';
+import { DomHandler, UniqueComponentId, ObjectUtils } from 'primevue/utils';
import BaseCarousel from './BaseCarousel.vue';
export default {
@@ -548,20 +548,13 @@ export default {
if (this.responsiveOptions && !this.isUnstyled) {
let _responsiveOptions = [...this.responsiveOptions];
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
_responsiveOptions.sort((data1, data2) => {
const value1 = data1.breakpoint;
const value2 = data2.breakpoint;
- let result = null;
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparer(value1, value2);
- else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
-
- return -1 * result;
+ return ObjectUtils.sort(value1, value2, -1, comparer);
});
for (let i = 0; i < _responsiveOptions.length; i++) {
diff --git a/components/lib/config/PrimeVue.d.ts b/components/lib/config/PrimeVue.d.ts
index c46016675..5aeb5a5d8 100644
--- a/components/lib/config/PrimeVue.d.ts
+++ b/components/lib/config/PrimeVue.d.ts
@@ -108,6 +108,8 @@ export interface PrimeVueConfiguration {
csp?: PrimeVueCSPOptions;
}
+export declare const defaultOptions: PrimeVueConfiguration;
+
export interface PrimeVueZIndexOptions {
modal?: number;
overlay?: number;
diff --git a/components/lib/datatable/BaseDataTable.vue b/components/lib/datatable/BaseDataTable.vue
index 51015d0c7..d307f759b 100644
--- a/components/lib/datatable/BaseDataTable.vue
+++ b/components/lib/datatable/BaseDataTable.vue
@@ -78,6 +78,10 @@ export default {
type: Number,
default: 1
},
+ nullSortOrder: {
+ type: Number,
+ default: 1
+ },
multiSortMeta: {
type: Array,
default: null
diff --git a/components/lib/datatable/DataTable.d.ts b/components/lib/datatable/DataTable.d.ts
index 61275bdb5..84d063cc2 100755
--- a/components/lib/datatable/DataTable.d.ts
+++ b/components/lib/datatable/DataTable.d.ts
@@ -887,6 +887,11 @@ export interface DataTableProps {
* Order to sort the data by default.
*/
sortOrder?: number | undefined;
+ /**
+ * Determines how null values are sorted.
+ * @defaultValue 1
+ */
+ nullSortOrder?: number;
/**
* Default sort order of an unsorted column.
* @defaultValue 1
diff --git a/components/lib/datatable/DataTable.vue b/components/lib/datatable/DataTable.vue
index 8ee20b53d..931878a38 100755
--- a/components/lib/datatable/DataTable.vue
+++ b/components/lib/datatable/DataTable.vue
@@ -341,6 +341,7 @@ export default {
d_rows: this.rows,
d_sortField: this.sortField,
d_sortOrder: this.sortOrder,
+ d_nullSortOrder: this.nullSortOrder,
d_multiSortMeta: this.multiSortMeta ? [...this.multiSortMeta] : [],
d_groupRowsSortMeta: null,
d_selectionKeys: null,
@@ -381,6 +382,9 @@ export default {
sortOrder(newValue) {
this.d_sortOrder = newValue;
},
+ nullSortOrder(newValue) {
+ this.d_nullSortOrder = newValue;
+ },
multiSortMeta(newValue) {
this.d_multiSortMeta = newValue;
},
@@ -530,27 +534,19 @@ export default {
}
let data = [...value];
- let resolvedFieldDatas = new Map();
+ let resolvedFieldData = new Map();
for (let item of data) {
- resolvedFieldDatas.set(item, ObjectUtils.resolveFieldData(item, this.d_sortField));
+ resolvedFieldData.set(item, ObjectUtils.resolveFieldData(item, this.d_sortField));
}
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
data.sort((data1, data2) => {
- let value1 = resolvedFieldDatas.get(data1);
- let value2 = resolvedFieldDatas.get(data2);
+ let value1 = resolvedFieldData.get(data1);
+ let value2 = resolvedFieldData.get(data2);
- let result = null;
-
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparer(value1, value2);
- else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
-
- return this.d_sortOrder * result;
+ return ObjectUtils.sort(value1, value2, this.d_sortOrder, comparer, this.d_nullSortOrder);
});
return data;
@@ -579,23 +575,13 @@ export default {
multisortField(data1, data2, index) {
const value1 = ObjectUtils.resolveFieldData(data1, this.d_multiSortMeta[index].field);
const value2 = ObjectUtils.resolveFieldData(data2, this.d_multiSortMeta[index].field);
- let result = null;
-
- if (typeof value1 === 'string' || value1 instanceof String) {
- if (value1.localeCompare && value1 !== value2) {
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
-
- return this.d_multiSortMeta[index].order * comparer(value1, value2);
- }
- } else {
- result = value1 < value2 ? -1 : 1;
- }
+ const comparer = ObjectUtils.localeComparator();
if (value1 === value2) {
return this.d_multiSortMeta.length - 1 > index ? this.multisortField(data1, data2, index + 1) : 0;
}
- return this.d_multiSortMeta[index].order * result;
+ return ObjectUtils.sort(value1, value2, this.d_multiSortMeta[index].order, comparer, this.d_nullSortOrder);
},
addMultiSortField(field) {
let index = this.d_multiSortMeta.findIndex((meta) => meta.field === field);
diff --git a/components/lib/dataview/DataView.vue b/components/lib/dataview/DataView.vue
index 4cc5d8854..b1e14fc3e 100755
--- a/components/lib/dataview/DataView.vue
+++ b/components/lib/dataview/DataView.vue
@@ -110,20 +110,13 @@ export default {
sort() {
if (this.value) {
const value = [...this.value];
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
value.sort((data1, data2) => {
let value1 = ObjectUtils.resolveFieldData(data1, this.sortField);
let value2 = ObjectUtils.resolveFieldData(data2, this.sortField);
- let result = null;
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparer(value1, value2);
- else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
-
- return this.sortOrder * result;
+ return ObjectUtils.sort(value1, value2, this.sortOrder, comparer);
});
return value;
diff --git a/components/lib/dialog/Dialog.vue b/components/lib/dialog/Dialog.vue
index 9587f5f08..253cab11c 100755
--- a/components/lib/dialog/Dialog.vue
+++ b/components/lib/dialog/Dialog.vue
@@ -203,25 +203,17 @@ export default {
}
if (!this.modal) {
- if (this.maximized) {
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
- } else {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
- }
+ this.maximized ? DomHandler.blockBodyScroll() : DomHandler.unblockBodyScroll();
}
},
enableDocumentSettings() {
if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
}
},
unbindDocumentState() {
if (this.modal || (!this.modal && this.blockScroll) || (this.maximizable && this.maximized)) {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
}
},
onKeyDown(event) {
diff --git a/components/lib/editor/style/EditorStyle.js b/components/lib/editor/style/EditorStyle.js
index 412c95d8f..17d69891b 100644
--- a/components/lib/editor/style/EditorStyle.js
+++ b/components/lib/editor/style/EditorStyle.js
@@ -2,11 +2,11 @@ import BaseStyle from 'primevue/base/style';
const quillCSS = `
/*!
- * Quill Editor v1.3.3
- * https://quilljs.com/
- * Copyright (c) 2014, Jason Chen
- * Copyright (c) 2013, salesforce.com
- */
+* Quill Editor v1.3.3
+* https://quilljs.com/
+* Copyright (c) 2014, Jason Chen
+* Copyright (c) 2013, salesforce.com
+*/
.ql-container {
box-sizing: border-box;
font-family: Helvetica, Arial, sans-serif;
diff --git a/components/lib/fieldset/style/FieldsetStyle.js b/components/lib/fieldset/style/FieldsetStyle.js
index 32d7522f8..ab61bb36f 100644
--- a/components/lib/fieldset/style/FieldsetStyle.js
+++ b/components/lib/fieldset/style/FieldsetStyle.js
@@ -33,7 +33,6 @@ const classes = {
legend: 'p-fieldset-legend',
legendtitle: 'p-fieldset-legend-text',
togglericon: 'p-fieldset-toggler',
- legendtitle: 'p-fieldset-legend-text',
toggleablecontent: 'p-toggleable-content',
content: 'p-fieldset-content'
};
diff --git a/components/lib/galleria/Galleria.vue b/components/lib/galleria/Galleria.vue
index d8aaa4675..39c39c5d4 100755
--- a/components/lib/galleria/Galleria.vue
+++ b/components/lib/galleria/Galleria.vue
@@ -35,8 +35,7 @@ export default {
},
beforeUnmount() {
if (this.fullScreen) {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
}
this.mask = null;
@@ -52,8 +51,7 @@ export default {
},
onEnter(el) {
this.mask.style.zIndex = String(parseInt(el.style.zIndex, 10) - 1);
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
this.focus();
},
onBeforeLeave() {
@@ -62,8 +60,7 @@ export default {
onAfterLeave(el) {
ZIndexUtils.clear(el);
this.containerVisible = false;
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
},
onActiveItemChange(index) {
if (this.activeIndex !== index) {
diff --git a/components/lib/galleria/GalleriaThumbnails.vue b/components/lib/galleria/GalleriaThumbnails.vue
index acd89e8d0..5df896fad 100755
--- a/components/lib/galleria/GalleriaThumbnails.vue
+++ b/components/lib/galleria/GalleriaThumbnails.vue
@@ -68,7 +68,7 @@ import ChevronLeftIcon from 'primevue/icons/chevronleft';
import ChevronRightIcon from 'primevue/icons/chevronright';
import ChevronUpIcon from 'primevue/icons/chevronup';
import Ripple from 'primevue/ripple';
-import { DomHandler } from 'primevue/utils';
+import { DomHandler, ObjectUtils } from 'primevue/utils';
export default {
name: 'GalleriaThumbnails',
@@ -438,20 +438,13 @@ export default {
if (this.responsiveOptions && !this.isUnstyled) {
this.sortedResponsiveOptions = [...this.responsiveOptions];
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
this.sortedResponsiveOptions.sort((data1, data2) => {
const value1 = data1.breakpoint;
const value2 = data2.breakpoint;
- let result = null;
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparer(value1, value2);
- else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
-
- return -1 * result;
+ return ObjectUtils.sort(value1, value2, -1, comparer);
});
for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {
diff --git a/components/lib/image/Image.vue b/components/lib/image/Image.vue
index 0eca4a757..5abdfa650 100644
--- a/components/lib/image/Image.vue
+++ b/components/lib/image/Image.vue
@@ -93,8 +93,7 @@ export default {
},
onImageClick() {
if (this.preview) {
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
this.maskVisible = true;
setTimeout(() => {
this.previewVisible = true;
@@ -164,8 +163,7 @@ export default {
!this.isUnstyled && DomHandler.addClass(this.mask, 'p-component-overlay-leave');
},
onLeave() {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
this.$emit('hide');
},
onAfterLeave(el) {
@@ -183,8 +181,7 @@ export default {
this.previewVisible = false;
this.rotate = 0;
this.scale = 1;
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
}
},
computed: {
diff --git a/components/lib/orderlist/OrderList.vue b/components/lib/orderlist/OrderList.vue
index ffc153a15..74804a56b 100755
--- a/components/lib/orderlist/OrderList.vue
+++ b/components/lib/orderlist/OrderList.vue
@@ -2,28 +2,28 @@
-
+
-
+
-
+
-
+
diff --git a/components/lib/organizationchart/OrganizationChart.d.ts b/components/lib/organizationchart/OrganizationChart.d.ts
index ed111c638..eab2cb3ee 100755
--- a/components/lib/organizationchart/OrganizationChart.d.ts
+++ b/components/lib/organizationchart/OrganizationChart.d.ts
@@ -261,7 +261,12 @@ export interface OrganizationChartSlots {
/**
* Custom content template.
*/
- default(node: any): VNode[];
+ default(scope: {
+ /**
+ * Current node
+ */
+ node: any;
+ }): VNode[];
/**
* Dynamic content template.
* @todo
diff --git a/components/lib/organizationchart/style/OrganizationChartStyle.js b/components/lib/organizationchart/style/OrganizationChartStyle.js
index 873407c22..3b3f1e0cf 100644
--- a/components/lib/organizationchart/style/OrganizationChartStyle.js
+++ b/components/lib/organizationchart/style/OrganizationChartStyle.js
@@ -65,7 +65,6 @@ const classes = {
nodeTogglerIcon: 'p-node-toggler-icon',
lines: 'p-organizationchart-lines',
lineDown: 'p-organizationchart-line-down',
- lines: 'p-organizationchart-lines',
lineLeft: ({ index }) => ['p-organizationchart-line-left', { 'p-organizationchart-line-top': !(index === 0) }],
lineRight: ({ props, index }) => ['p-organizationchart-line-right', { 'p-organizationchart-line-top': !(index === props.node.children.length - 1) }],
nodes: 'p-organizationchart-nodes'
diff --git a/components/lib/passthrough/tailwind/index.js b/components/lib/passthrough/tailwind/index.js
index 2c023b661..cb5ba5909 100644
--- a/components/lib/passthrough/tailwind/index.js
+++ b/components/lib/passthrough/tailwind/index.js
@@ -369,11 +369,6 @@ export default {
}
]
}),
- splitterpanel: {
- root: {
- class: 'flex grow'
- }
- },
gutter: ({ props }) => ({
class: [
'flex items-center justify-center shrink-0',
@@ -394,6 +389,11 @@ export default {
]
})
},
+ splitterpanel: {
+ root: {
+ class: 'flex grow'
+ }
+ },
dialog: {
root: ({ state }) => ({
class: [
@@ -901,7 +901,14 @@ export default {
class: 'w-full inline-flex'
},
input: ({ props }) => ({
- class: [{ 'rounded-tr-none rounded-br-none': props.showButtons && props.buttonLayout == 'stacked' }]
+ class: [
+ {
+ 'rounded-tr-none rounded-br-none': props.showButtons && props.buttonLayout == 'stacked'
+ },
+ {
+ 'order-2': props.buttonLayout == 'horizontal'
+ }
+ ]
}),
buttongroup: ({ props }) => ({
class: [{ 'flex flex-col': props.showButtons && props.buttonLayout == 'stacked' }]
@@ -911,6 +918,9 @@ export default {
'flex !items-center !justify-center',
{
'rounded-br-none rounded-bl-none rounded-bl-none !p-0 flex-1 w-[3rem]': props.showButtons && props.buttonLayout == 'stacked'
+ },
+ {
+ 'order-3': props.buttonLayout == 'horizontal'
}
]
}),
@@ -922,6 +932,9 @@ export default {
'flex !items-center !justify-center',
{
'rounded-tr-none rounded-tl-none rounded-tl-none !p-0 flex-1 w-[3rem]': props.showButtons && props.buttonLayout == 'stacked'
+ },
+ {
+ 'order-1': props.buttonLayout == 'horizontal'
}
]
})
@@ -3734,7 +3747,7 @@ export default {
context.sorted ? 'bg-blue-50 text-blue-700' : 'bg-slate-50 text-slate-700', // Sort
context.sorted ? 'dark:text-white/80 dark:bg-blue-300' : 'dark:text-white/80 dark:bg-gray-900', // Dark Mode
{
- 'sticky z-[1]': props.frozen || props.frozen === '', // Frozen Columns
+ 'sticky z-[1]': context.frozen || context.frozen === '', // Frozen Columns
'border-x border-y': context?.showGridlines,
'overflow-hidden space-nowrap border-y relative bg-clip-padding': context.resizable // Resizable
}
diff --git a/components/lib/ripple/Ripple.js b/components/lib/ripple/Ripple.js
index 846b71275..f44816648 100644
--- a/components/lib/ripple/Ripple.js
+++ b/components/lib/ripple/Ripple.js
@@ -2,17 +2,15 @@ import { DomHandler } from 'primevue/utils';
import BaseRipple from './BaseRipple';
const Ripple = BaseRipple.extend('ripple', {
- mounted(el, binding) {
- const primevue = binding.instance.$primevue;
-
- if (primevue && primevue.config && primevue.config.ripple) {
- el.unstyled = primevue.config.unstyled || binding.value?.unstyled || false;
+ mounted(el) {
+ const config = el?.$instance?.$config;
+ if (config && config.ripple) {
this.create(el);
this.bindEvents(el);
- }
- el.setAttribute('data-pd-ripple', true);
+ el.setAttribute('data-pd-ripple', true);
+ }
},
unmounted(el) {
this.remove(el);
@@ -31,8 +29,8 @@ const Ripple = BaseRipple.extend('ripple', {
'aria-hidden': true,
'data-p-ink': true,
'data-p-ink-active': false,
- class: !el.unstyled && this.cx('root'),
- onAnimationEnd: this.onAnimationEnd,
+ class: !this.isUnstyled() && this.cx('root'),
+ onAnimationEnd: this.onAnimationEnd.bind(this),
'p-bind': this.ptm('root')
});
@@ -57,7 +55,7 @@ const Ripple = BaseRipple.extend('ripple', {
return;
}
- !target.unstyled && DomHandler.removeClass(ink, 'p-ink-active');
+ !this.isUnstyled() && DomHandler.removeClass(ink, 'p-ink-active');
ink.setAttribute('data-p-ink-active', 'false');
if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {
@@ -74,12 +72,12 @@ const Ripple = BaseRipple.extend('ripple', {
ink.style.top = y + 'px';
ink.style.left = x + 'px';
- !target.unstyled && DomHandler.addClass(ink, 'p-ink-active');
+ !this.isUnstyled() && DomHandler.addClass(ink, 'p-ink-active');
ink.setAttribute('data-p-ink-active', 'true');
this.timeout = setTimeout(() => {
if (ink) {
- !target.unstyled && DomHandler.removeClass(ink, 'p-ink-active');
+ !this.isUnstyled() && DomHandler.removeClass(ink, 'p-ink-active');
ink.setAttribute('data-p-ink-active', 'false');
}
}, 401);
@@ -89,7 +87,7 @@ const Ripple = BaseRipple.extend('ripple', {
clearTimeout(this.timeout);
}
- !event.currentTarget.unstyled && DomHandler.removeClass(event.currentTarget, 'p-ink-active');
+ !this.isUnstyled() && DomHandler.removeClass(event.currentTarget, 'p-ink-active');
event.currentTarget.setAttribute('data-p-ink-active', 'false');
},
getInk(el) {
diff --git a/components/lib/selectbutton/BaseSelectButton.vue b/components/lib/selectbutton/BaseSelectButton.vue
index 7ea87474c..c2018299f 100644
--- a/components/lib/selectbutton/BaseSelectButton.vue
+++ b/components/lib/selectbutton/BaseSelectButton.vue
@@ -16,6 +16,10 @@ export default {
type: Boolean,
default: false
},
+ allowEmpty: {
+ type: Boolean,
+ default: true
+ },
disabled: Boolean,
dataKey: null,
'aria-labelledby': {
diff --git a/components/lib/selectbutton/SelectButton.d.ts b/components/lib/selectbutton/SelectButton.d.ts
index 3269cd3d5..e8c1a6369 100755
--- a/components/lib/selectbutton/SelectButton.d.ts
+++ b/components/lib/selectbutton/SelectButton.d.ts
@@ -155,10 +155,16 @@ export interface SelectButtonProps {
*/
dataKey?: string | undefined;
/**
- * Whether selection can be cleared.
+ * Whether selection can not be cleared.
* @defaultValue false
+ * @deprecated Use 'allowEmpty' property instead.
*/
unselectable?: boolean | undefined;
+ /**
+ * Whether selection can be cleared.
+ * @defaultValue true
+ */
+ allowEmpty?: boolean | undefined;
/**
* Identifier of the underlying element.
*/
diff --git a/components/lib/selectbutton/SelectButton.vue b/components/lib/selectbutton/SelectButton.vue
index a291fb572..08ea3fc7b 100755
--- a/components/lib/selectbutton/SelectButton.vue
+++ b/components/lib/selectbutton/SelectButton.vue
@@ -81,7 +81,7 @@ export default {
let selected = this.isSelected(option);
- if (selected && this.unselectable) {
+ if (selected && (this.unselectable || !this.allowEmpty)) {
return;
}
diff --git a/components/lib/sidebar/Sidebar.vue b/components/lib/sidebar/Sidebar.vue
index 9817b9fe4..a0ab8caed 100755
--- a/components/lib/sidebar/Sidebar.vue
+++ b/components/lib/sidebar/Sidebar.vue
@@ -124,16 +124,14 @@ export default {
}
if (this.blockScroll) {
- DomHandler.addClass(document.body, 'p-overflow-hidden');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll();
}
},
disableDocumentSettings() {
this.unbindOutsideClickListener();
if (this.blockScroll) {
- DomHandler.removeClass(document.body, 'p-overflow-hidden');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll();
}
},
onKeydown(event) {
diff --git a/components/lib/slider/Slider.vue b/components/lib/slider/Slider.vue
index a5d81ead2..46e501816 100755
--- a/components/lib/slider/Slider.vue
+++ b/components/lib/slider/Slider.vue
@@ -102,8 +102,8 @@ export default {
const oldValue = this.range ? this.modelValue[this.handleIndex] : this.modelValue;
const diff = newValue - oldValue;
- if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;
- else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;
+ if (diff < 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;
+ else if (diff > 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;
} else {
newValue = Math.floor(newValue);
}
diff --git a/components/lib/toast/Toast.d.ts b/components/lib/toast/Toast.d.ts
index e040ed875..3210fc916 100755
--- a/components/lib/toast/Toast.d.ts
+++ b/components/lib/toast/Toast.d.ts
@@ -238,6 +238,11 @@ export interface ToastProps {
* @deprecated since v3.26.0. Use 'pt' property.
*/
closeButtonProps?: ButtonHTMLAttributes | undefined;
+ /**
+ * Used to access message options.
+ * @type {ToastMessageOptions}
+ */
+ message?: ToastMessageOptions;
/**
* Used to pass attributes to DOM elements inside the component.
* @type {ToastPassThroughOptions}
diff --git a/components/lib/tooltip/Tooltip.js b/components/lib/tooltip/Tooltip.js
index 31668a6dd..83bc593c2 100755
--- a/components/lib/tooltip/Tooltip.js
+++ b/components/lib/tooltip/Tooltip.js
@@ -32,7 +32,6 @@ const Tooltip = BaseTooltip.extend('tooltip', {
}
target.$_ptooltipZIndex = options.instance.$primevue?.config?.zIndex?.tooltip;
- target.unstyled = options.instance.$primevue?.config?.unstyled || options.value?.unstyled || false;
this.bindEvents(target, options);
@@ -76,8 +75,6 @@ const Tooltip = BaseTooltip.extend('tooltip', {
this.bindEvents(target, options);
}
}
-
- target.unstyled = options.instance.$primevue?.config?.unstyled || options.value?.unstyled || false;
},
unmounted(el, options) {
let target = this.getTarget(el);
@@ -186,7 +183,7 @@ const Tooltip = BaseTooltip.extend('tooltip', {
let tooltipElement = this.create(el, options);
this.align(el);
- !el.unstyled && DomHandler.fadeIn(tooltipElement, 250);
+ !this.isUnstyled() && DomHandler.fadeIn(tooltipElement, 250);
const $this = this;
@@ -228,7 +225,7 @@ const Tooltip = BaseTooltip.extend('tooltip', {
const modifiers = el.$_ptooltipModifiers;
const tooltipArrow = DomHandler.createElement('div', {
- class: !el.unstyled && this.cx('arrow'),
+ class: !this.isUnstyled() && this.cx('arrow'),
style: {
top: modifiers?.bottom ? '0' : modifiers?.right || modifiers?.left || (!modifiers?.right && !modifiers?.left && !modifiers?.top && !modifiers?.bottom) ? '50%' : null,
bottom: modifiers?.top ? '0' : null,
@@ -241,7 +238,7 @@ const Tooltip = BaseTooltip.extend('tooltip', {
});
const tooltipText = DomHandler.createElement('div', {
- class: !el.unstyled && this.cx('text'),
+ class: !this.isUnstyled() && this.cx('text'),
'p-bind': this.ptm('text', {
context: modifiers
})
@@ -263,7 +260,7 @@ const Tooltip = BaseTooltip.extend('tooltip', {
display: 'inline-block',
width: el.$_ptooltipFitContent ? 'fit-content' : undefined
},
- class: [!el.unstyled && this.cx('root'), el.$_ptooltipClass],
+ class: [!this.isUnstyled() && this.cx('root'), el.$_ptooltipClass],
'p-bind': this.ptm('root', {
context: modifiers
})
@@ -405,8 +402,9 @@ const Tooltip = BaseTooltip.extend('tooltip', {
tooltipElement.style.left = -999 + 'px';
tooltipElement.style.top = -999 + 'px';
DomHandler.removeClass(tooltipElement, `p-tooltip-${tooltipElement.$_ptooltipPosition}`);
- DomHandler.addClass(tooltipElement, `p-tooltip-${position}`);
+ !this.isUnstyled() && DomHandler.addClass(tooltipElement, `p-tooltip-${position}`);
tooltipElement.$_ptooltipPosition = position;
+ tooltipElement.setAttribute('data-p-position', position);
},
isOutOfBounds(el) {
let tooltipElement = this.getTooltipElement(el);
diff --git a/components/lib/tree/Tree.d.ts b/components/lib/tree/Tree.d.ts
index 7b5651d12..38fb2d71b 100755
--- a/components/lib/tree/Tree.d.ts
+++ b/components/lib/tree/Tree.d.ts
@@ -347,6 +347,10 @@ export interface TreeProps {
* Defines valid slots in Tree component.
*/
export interface TreeSlots {
+ /**
+ * Default content slot.
+ */
+ default(): VNode[];
/**
* Custom loading icon template.
* @param {Object} scope - loadingicon slot's params.
@@ -399,12 +403,11 @@ export interface TreeSlots {
* Optional slots.
* @todo
*/
-
[key: string]: (node: any) => VNode[];
}
/**
- * Defines valid slots in Tree component.
+ * Defines valid emits in Tree component.
*/
export interface TreeEmits {
/**
diff --git a/components/lib/treetable/TreeTable.vue b/components/lib/treetable/TreeTable.vue
index ca0dda448..28f03c5c7 100755
--- a/components/lib/treetable/TreeTable.vue
+++ b/components/lib/treetable/TreeTable.vue
@@ -429,20 +429,13 @@ export default {
},
sortNodesSingle(nodes) {
let _nodes = [...nodes];
- const comparer = new Intl.Collator(undefined, { numeric: true }).compare;
+ const comparer = ObjectUtils.localeComparator();
_nodes.sort((node1, node2) => {
const value1 = ObjectUtils.resolveFieldData(node1.data, this.d_sortField);
const value2 = ObjectUtils.resolveFieldData(node2.data, this.d_sortField);
- let result = null;
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparer(value1, value2);
- else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
-
- return this.d_sortOrder * result;
+ return ObjectUtils.sort(value1, value2, this.d_sortOrder, comparer);
});
return _nodes;
@@ -462,22 +455,13 @@ export default {
multisortField(node1, node2, index) {
const value1 = ObjectUtils.resolveFieldData(node1.data, this.d_multiSortMeta[index].field);
const value2 = ObjectUtils.resolveFieldData(node2.data, this.d_multiSortMeta[index].field);
- let result = null;
+ const comparer = ObjectUtils.localeComparator();
- if (value1 == null && value2 != null) result = -1;
- else if (value1 != null && value2 == null) result = 1;
- else if (value1 == null && value2 == null) result = 0;
- else {
- if (value1 === value2) {
- return this.d_multiSortMeta.length - 1 > index ? this.multisortField(node1, node2, index + 1) : 0;
- } else {
- if ((typeof value1 === 'string' || value1 instanceof String) && (typeof value2 === 'string' || value2 instanceof String))
- return this.d_multiSortMeta[index].order * new Intl.Collator(undefined, { numeric: true }).compare(value1, value2);
- else result = value1 < value2 ? -1 : 1;
- }
+ if (value1 === value2) {
+ return this.d_multiSortMeta.length - 1 > index ? this.multisortField(node1, node2, index + 1) : 0;
}
- return this.d_multiSortMeta[index].order * result;
+ return ObjectUtils.sort(value1, value2, this.d_multiSortMeta[index].order, comparer);
},
filter(value) {
let filteredNodes = [];
diff --git a/components/lib/utils/DomHandler.js b/components/lib/utils/DomHandler.js
index 8b6df3f7a..d1f5a9b6b 100755
--- a/components/lib/utils/DomHandler.js
+++ b/components/lib/utils/DomHandler.js
@@ -564,6 +564,10 @@ export default {
return scrollbarWidth;
},
+ calculateBodyScrollbarWidth() {
+ return window.innerWidth - document.documentElement.offsetWidth;
+ },
+
getBrowser() {
if (!this.browser) {
let matched = this.resolveUserAgent();
@@ -755,5 +759,15 @@ export default {
window.open(encodeURI(csv));
}
}
+ },
+
+ blockBodyScroll(className = 'p-overflow-hidden') {
+ document.body.style.setProperty('--scrollbar-width', this.calculateBodyScrollbarWidth() + 'px');
+ this.addClass(document.body, className);
+ },
+
+ unblockBodyScroll(className = 'p-overflow-hidden') {
+ document.body.style.removeProperty('--scrollbar-width');
+ this.removeClass(document.body, className);
}
};
diff --git a/components/lib/utils/ObjectUtils.js b/components/lib/utils/ObjectUtils.js
index e5e31629a..4f95ab537 100755
--- a/components/lib/utils/ObjectUtils.js
+++ b/components/lib/utils/ObjectUtils.js
@@ -302,6 +302,37 @@ export default {
return index;
},
+ sort(value1, value2, order = 1, comparator, nullSortOrder = 1) {
+ const result = this.compare(value1, value2, comparator, order);
+ let finalSortOrder = order;
+
+ // nullSortOrder == 1 means Excel like sort nulls at bottom
+ if (this.isEmpty(value1) || this.isEmpty(value2)) {
+ finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;
+ }
+
+ return finalSortOrder * result;
+ },
+
+ compare(value1, value2, comparator, order = 1) {
+ let result = -1;
+ const emptyValue1 = this.isEmpty(value1);
+ const emptyValue2 = this.isEmpty(value2);
+
+ if (emptyValue1 && emptyValue2) result = 0;
+ else if (emptyValue1) result = order;
+ else if (emptyValue2) result = -order;
+ else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparator(value1, value2);
+ else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
+
+ return result;
+ },
+
+ localeComparator() {
+ //performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.
+ return new Intl.Collator(undefined, { numeric: true }).compare;
+ },
+
nestedKeys(obj = {}, parentKey = '') {
return Object.entries(obj).reduce((o, [key, value]) => {
const currentKey = parentKey ? `${parentKey}.${key}` : key;
diff --git a/components/lib/utils/Utils.d.ts b/components/lib/utils/Utils.d.ts
index 2917f74e8..e9b83bffd 100644
--- a/components/lib/utils/Utils.d.ts
+++ b/components/lib/utils/Utils.d.ts
@@ -46,6 +46,7 @@ export declare class DomHandler {
static clearSelection(): void;
static getSelection(): string | null;
static calculateScrollbarWidth(): number;
+ static calculateBodyScrollbarWidth(): number;
static getBrowser(): object;
static resolveUserAgent(): { browser: string; version: string };
static isVisible(el: HTMLElement): boolean;
@@ -64,6 +65,8 @@ export declare class DomHandler {
static hasCSSAnimation(el: HTMLElement): boolean;
static hasCSSTransition(el: HTMLElement): boolean;
static exportCSV(csv: any, filename: string): void;
+ static blockBodyScroll(className?: string): void;
+ static unblockBodyScroll(className?: string): void;
}
export declare class ObjectUtils {
@@ -89,6 +92,8 @@ export declare class ObjectUtils {
static isPrintableCharacter(char: string): boolean;
static findLast(value: any[], callback: () => any): any;
static findLastIndex(value: any[], callback: () => any): number;
+ static sort(value1: any, value2: any, order: number, comparator: (a: any, b: any) => any, nullSortOrder: number): number;
+ static compare(value1: any, value2: any, comparator: (a: any, b: any) => any, order: number): number;
static nestedKeys(obj: object, parentKey?: string): string[];
}
diff --git a/doc/common/apidoc/index.json b/doc/common/apidoc/index.json
index be7c7de13..55902e824 100644
--- a/doc/common/apidoc/index.json
+++ b/doc/common/apidoc/index.json
@@ -18854,6 +18854,14 @@
"default": "",
"description": "Order to sort the data by default."
},
+ {
+ "name": "nullSortOrder",
+ "optional": true,
+ "readonly": false,
+ "type": "number",
+ "default": "1",
+ "description": "Determines how null values are sorted."
+ },
{
"name": "defaultSortOrder",
"optional": true,
@@ -24332,7 +24340,7 @@
"readonly": false,
"type": "any[]",
"default": "",
- "description": "Whitelist of formats to display, see [here](https://quilljs.com/docs/formats/) for available options."
+ "description": "Whitelist of formats to display, see here for available options."
},
{
"name": "editorStyle",
@@ -24348,7 +24356,7 @@
"readonly": false,
"type": "any",
"default": "",
- "description": "Modules configuration, see [here](https://quilljs.com/docs/modules/) for available options."
+ "description": "Modules configuration, see here for available options."
},
{
"name": "pt",
@@ -35969,9 +35977,9 @@
"name": "default",
"parameters": [
{
- "name": "node",
+ "name": "scope",
"optional": false,
- "type": "any"
+ "type": "{\n \t node: any, // Current node\n }"
}
],
"returnType": "VNode[]",
@@ -42662,6 +42670,15 @@
"readonly": false,
"type": "boolean",
"default": "false",
+ "description": "Whether selection can not be cleared.",
+ "deprecated": "Use 'allowEmpty' property instead."
+ },
+ {
+ "name": "allowEmpty",
+ "optional": true,
+ "readonly": false,
+ "type": "boolean",
+ "default": "true",
"description": "Whether selection can be cleared."
},
{
@@ -49714,6 +49731,14 @@
"description": "Used to pass all properties of the HTMLButtonElement to the close button.",
"deprecated": "since v3.26.0. Use 'pt' property."
},
+ {
+ "name": "message",
+ "optional": true,
+ "readonly": false,
+ "type": "ToastMessageOptions",
+ "default": "",
+ "description": "Used to access message options."
+ },
{
"name": "pt",
"optional": true,
@@ -51650,6 +51675,12 @@
}
],
"methods": [
+ {
+ "name": "default",
+ "parameters": [],
+ "returnType": "VNode[]",
+ "description": "Default content slot."
+ },
{
"name": "loadingicon",
"parameters": [
@@ -51705,7 +51736,7 @@
]
},
"TreeEmits": {
- "description": "Defines valid slots in Tree component.",
+ "description": "Defines valid emits in Tree component.",
"relatedProp": "",
"props": [],
"methods": [
diff --git a/doc/dock/AdvancedDoc.vue b/doc/dock/AdvancedDoc.vue
index e4be3fee9..af5e45272 100644
--- a/doc/dock/AdvancedDoc.vue
+++ b/doc/dock/AdvancedDoc.vue
@@ -6,15 +6,15 @@
-
+
-
-
-
- Fri 13:07
-
-
+
+
+
+ Fri 13:07
+
+
@@ -257,15 +257,15 @@ export default {
-
+
-
-
-
- Fri 13:07
-
-
+
+
+
+ Fri 13:07
+
+
@@ -546,11 +546,6 @@ export default {
background-image: url("https://primefaces.org/cdn/primevue/images/dock/window.jpg");
background-repeat: no-repeat;
background-size: cover;
- z-index: 1;
-}
-
-.dock-demo > .p-dock {
- z-index: 1000;
}
.dock-demo .p-menubar {
@@ -564,10 +559,24 @@ export default {
+
+
+
+
+
+
+
+
+ Fri 13:07
+
+
+
+
+
-
+
@@ -581,8 +590,7 @@ export default {
-
+
@@ -845,11 +853,7 @@ const commandHandler = (text) => {
background-image: url("https://primefaces.org/cdn/primevue/images/dock/window.jpg");
background-repeat: no-repeat;
background-size: cover;
- z-index: 1;
-}
-
-.dock-demo > .p-dock {
- z-index: 1000;
+
}
.dock-demo .p-menubar {
@@ -912,11 +916,6 @@ const commandHandler = (text) => {
background-image: url('https://primefaces.org/cdn/primevue/images/dock/window.jpg');
background-repeat: no-repeat;
background-size: cover;
- z-index: 1;
-}
-
-.dock-demo > .p-dock {
- z-index: 1000;
}
.dock-demo .p-menubar {
diff --git a/doc/tailwind/SetupDoc.vue b/doc/tailwind/SetupDoc.vue
index ab1d7285f..665554201 100644
--- a/doc/tailwind/SetupDoc.vue
+++ b/doc/tailwind/SetupDoc.vue
@@ -55,7 +55,6 @@ export default {
basic: `
import {createApp} from "vue";
import PrimeVue from "primevue/config";
-import Tailwind from "primevue/passthrough/tailwind";
const app = createApp(App);
@@ -66,7 +65,6 @@ app.use(PrimeVue, { unstyled: true, pt: {} });
basic: `
import {createApp} from "vue";
import PrimeVue from "primevue/config";
-import Tailwind from "primevue/passthrough/tailwind";
const app = createApp(App);
diff --git a/layouts/default.vue b/layouts/default.vue
index a720befce..0bc56c254 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -42,8 +42,7 @@ export default {
}
this.sidebarActive = false;
- DomHandler.removeClass(document.body, 'blocked-scroll');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll('blocked-scroll');
this.$toast.removeAllGroups();
}
}
@@ -61,18 +60,15 @@ export default {
onMenuButtonClick() {
if (this.sidebarActive) {
this.sidebarActive = false;
- DomHandler.removeClass(document.body, 'blocked-scroll');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll('blocked-scroll');
} else {
this.sidebarActive = true;
- DomHandler.addClass(document.body, 'blocked-scroll');
- document.body.style.setProperty('--scrollbar-width', DomHandler.calculateScrollbarWidth() + 'px');
+ DomHandler.blockBodyScroll('blocked-scroll');
}
},
onMaskClick() {
this.sidebarActive = false;
- DomHandler.removeClass(document.body, 'blocked-scroll');
- document.body.style.removeProperty('--scrollbar-width');
+ DomHandler.unblockBodyScroll('blocked-scroll');
},
hideNews(event) {
this.$appState.newsActive = false;
diff --git a/package-build.json b/package-build.json
index a703c6082..61ad3cc5d 100644
--- a/package-build.json
+++ b/package-build.json
@@ -1,6 +1,6 @@
{
"name": "primevue",
- "version": "3.35.1-SNAPSHOT",
+ "version": "3.36.1-SNAPSHOT",
"homepage": "https://primevue.org/",
"repository": {
"type": "git",
diff --git a/package-lock.json b/package-lock.json
index d295c2ac1..2c6428d36 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "primevue",
- "version": "3.35.1-SNAPSHOT",
+ "version": "3.36.1-SNAPSHOT",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "primevue",
- "version": "3.35.1-SNAPSHOT",
+ "version": "3.36.1-SNAPSHOT",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -388,9 +388,9 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz",
- "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
+ "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
"dev": true,
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
@@ -2352,9 +2352,9 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.8.2",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.2.tgz",
- "integrity": "sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g==",
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz",
+ "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==",
"dev": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -2384,9 +2384,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.22.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz",
- "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==",
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -2411,9 +2411,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.50.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
- "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz",
+ "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2576,26 +2576,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
"node_modules/@mapbox/node-pre-gyp/node_modules/nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
@@ -2626,28 +2606,6 @@
"node": ">=10"
}
},
- "node_modules/@mapbox/node-pre-gyp/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "node_modules/@mapbox/node-pre-gyp/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "node_modules/@mapbox/node-pre-gyp/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/@mapbox/node-pre-gyp/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -2800,26 +2758,23 @@
}
},
"node_modules/@nuxt/telemetry": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.5.0.tgz",
- "integrity": "sha512-7vZyOHfCAZg1PuCwy3B87MQOezW4pf8BC3gNDL92FW24BuLF0dl/BbFfxPeRxvjivuj5kkNM78x/qzNRCKfZgw==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.5.2.tgz",
+ "integrity": "sha512-kZ+rWq/5MZonMhp8KGFI5zMaR2VsiWpnlkOLJIuIX2WoJl0DkHvtxCtuFq2erAqMVruWLpKU+tgMC+1cno/QmA==",
"dev": true,
"dependencies": {
- "@nuxt/kit": "^3.7.3",
- "chalk": "^5.3.0",
+ "@nuxt/kit": "^3.7.4",
"ci-info": "^3.8.0",
"consola": "^3.2.3",
"create-require": "^1.1.1",
"defu": "^6.1.2",
"destr": "^2.0.1",
"dotenv": "^16.3.1",
- "fs-extra": "^11.1.1",
"git-url-parse": "^13.1.0",
"is-docker": "^3.0.0",
"jiti": "^1.20.0",
"mri": "^1.2.0",
"nanoid": "^4.0.2",
- "node-fetch": "^3.3.2",
"ofetch": "^1.3.3",
"parse-git-config": "^3.0.0",
"pathe": "^1.1.1",
@@ -2881,18 +2836,6 @@
"node": "^14.18.0 || >=16.10.0"
}
},
- "node_modules/@nuxt/telemetry/node_modules/chalk": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
- "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
- "dev": true,
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
"node_modules/@nuxt/telemetry/node_modules/consola": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
@@ -3150,9 +3093,9 @@
}
},
"node_modules/@nuxt/vite-builder/node_modules/rollup": {
- "version": "3.29.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.3.tgz",
- "integrity": "sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==",
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -3662,9 +3605,9 @@
}
},
"node_modules/@rollup/plugin-alias": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.0.tgz",
- "integrity": "sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.1.tgz",
+ "integrity": "sha512-JObvbWdOHoMy9W7SU0lvGhDtWq9PllP5mjpAy+TUslZG/WzOId9u80Hsqq1vCUn9pFJ0cxpdcnAv+QzU2zFH3Q==",
"dev": true,
"dependencies": {
"slash": "^4.0.0"
@@ -3673,7 +3616,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3682,9 +3625,9 @@
}
},
"node_modules/@rollup/plugin-babel": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz",
- "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz",
+ "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==",
"dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.18.6",
@@ -3696,7 +3639,7 @@
"peerDependencies": {
"@babel/core": "^7.0.0",
"@types/babel__core": "^7.1.9",
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"@types/babel__core": {
@@ -3745,9 +3688,9 @@
}
},
"node_modules/@rollup/plugin-inject": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.3.tgz",
- "integrity": "sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.4.tgz",
+ "integrity": "sha512-dM93Nyqp9Ah14jvThFFA30ifjB8cDKk3Bx69M1nIIHGytXug3VrTv5HEuYBzevu45HvZ0ho7t+40bmScmkzZhg==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.1",
@@ -3758,7 +3701,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3779,9 +3722,9 @@
}
},
"node_modules/@rollup/plugin-json": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz",
- "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.1.tgz",
+ "integrity": "sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.1"
@@ -3790,7 +3733,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3799,9 +3742,9 @@
}
},
"node_modules/@rollup/plugin-node-resolve": {
- "version": "15.2.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.1.tgz",
- "integrity": "sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==",
+ "version": "15.2.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz",
+ "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.1",
@@ -3815,7 +3758,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^2.78.0||^3.0.0"
+ "rollup": "^2.78.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3824,9 +3767,9 @@
}
},
"node_modules/@rollup/plugin-replace": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.2.tgz",
- "integrity": "sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.3.tgz",
+ "integrity": "sha512-je7fu05B800IrMlWjb2wzJcdXzHYW46iTipfChnBDbIbDXhASZs27W1B58T2Yf45jZtJUONegpbce+9Ut2Ti/Q==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.1",
@@ -3836,7 +3779,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3857,9 +3800,9 @@
}
},
"node_modules/@rollup/plugin-terser": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz",
- "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+ "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
"dev": true,
"dependencies": {
"serialize-javascript": "^6.0.1",
@@ -3870,7 +3813,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^2.x || ^3.x"
+ "rollup": "^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3879,9 +3822,9 @@
}
},
"node_modules/@rollup/plugin-wasm": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.2.1.tgz",
- "integrity": "sha512-WDMmM+4121/DId2uLdhvhC08SqaZVoYfLr1IeVj28jJn9GqPoJCdVzUaaevhIU6nJiZ+EYPZT0xOxsNQUFrQsQ==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.2.2.tgz",
+ "integrity": "sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==",
"dev": true,
"dependencies": {
"@rollup/pluginutils": "^5.0.2"
@@ -3890,7 +3833,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3899,9 +3842,9 @@
}
},
"node_modules/@rollup/pluginutils": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.4.tgz",
- "integrity": "sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz",
+ "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==",
"dependencies": {
"@types/estree": "^1.0.0",
"estree-walker": "^2.0.2",
@@ -3911,7 +3854,7 @@
"node": ">=14.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
@@ -3944,9 +3887,9 @@
}
},
"node_modules/@types/chai": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.6.tgz",
- "integrity": "sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-/k+vesl92vMvMygmQrFe9Aimxi6oQXFUX9mA5HanTrKUSAMoLauSi6PNFOdRw0oeqilaW600GNx2vSaT2f8aIQ==",
"dev": true
},
"node_modules/@types/chai-subset": {
@@ -3959,9 +3902,9 @@
}
},
"node_modules/@types/eslint": {
- "version": "8.44.3",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.3.tgz",
- "integrity": "sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==",
+ "version": "8.44.4",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.4.tgz",
+ "integrity": "sha512-lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA==",
"dev": true,
"peer": true,
"dependencies": {
@@ -3992,10 +3935,13 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.7.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.0.tgz",
- "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==",
- "dev": true
+ "version": "20.8.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz",
+ "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.25.1"
+ }
},
"node_modules/@types/resolve": {
"version": "1.20.2",
@@ -4391,9 +4337,9 @@
}
},
"node_modules/@vue/devtools-api": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
- "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
+ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
},
"node_modules/@vue/reactivity": {
"version": "3.3.4",
@@ -4722,6 +4668,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
"dependencies": {
"debug": "4"
},
@@ -5311,13 +5258,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz",
- "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
+ "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.4.2",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
"semver": "^6.3.1"
},
"peerDependencies": {
@@ -5325,12 +5272,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz",
- "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz",
+ "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.2",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
"core-js-compat": "^3.32.2"
},
"peerDependencies": {
@@ -5338,12 +5285,12 @@
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz",
- "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
+ "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.2"
+ "@babel/helper-define-polyfill-provider": "^0.4.3"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -5521,9 +5468,9 @@
"dev": true
},
"node_modules/browserslist": {
- "version": "4.21.11",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz",
- "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"funding": [
{
"type": "opencollective",
@@ -5539,8 +5486,8 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001538",
- "electron-to-chromium": "^1.4.526",
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
"node-releases": "^2.0.13",
"update-browserslist-db": "^1.0.13"
},
@@ -5846,9 +5793,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001539",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001539.tgz",
- "integrity": "sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA==",
+ "version": "1.0.30001547",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz",
+ "integrity": "sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==",
"funding": [
{
"type": "opencollective",
@@ -5865,18 +5812,18 @@
]
},
"node_modules/chai": {
- "version": "4.3.8",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.8.tgz",
- "integrity": "sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==",
+ "version": "4.3.10",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz",
+ "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==",
"dev": true,
"dependencies": {
"assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^4.1.2",
- "get-func-name": "^2.0.0",
- "loupe": "^2.3.1",
+ "check-error": "^1.0.3",
+ "deep-eql": "^4.1.3",
+ "get-func-name": "^2.0.2",
+ "loupe": "^2.3.6",
"pathval": "^1.1.1",
- "type-detect": "^4.0.5"
+ "type-detect": "^4.0.8"
},
"engines": {
"node": ">=4"
@@ -5902,10 +5849,13 @@
"dev": true
},
"node_modules/check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
+ "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
"dev": true,
+ "dependencies": {
+ "get-func-name": "^2.0.2"
+ },
"engines": {
"node": "*"
}
@@ -5974,9 +5924,9 @@
}
},
"node_modules/ci-info": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
- "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
"dev": true,
"funding": [
{
@@ -6547,12 +6497,12 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.32.2",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz",
- "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==",
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz",
+ "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==",
"dev": true,
"dependencies": {
- "browserslist": "^4.21.10"
+ "browserslist": "^4.22.1"
},
"funding": {
"type": "opencollective",
@@ -6821,15 +6771,6 @@
"type": "^1.0.1"
}
},
- "node_modules/data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true,
- "engines": {
- "node": ">= 12"
- }
- },
"node_modules/data-urls": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
@@ -7340,9 +7281,9 @@
"dev": true
},
"node_modules/electron-to-chromium": {
- "version": "1.4.529",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.529.tgz",
- "integrity": "sha512-6uyPyXTo8lkv8SWAmjKFbG42U073TXlzD4R8rW3EzuznhFS2olCIAfjjQtV2dV2ar/vRF55KUd3zQYnCB0dd3A=="
+ "version": "1.4.549",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.549.tgz",
+ "integrity": "sha512-gpXfJslSi4hYDkA0mTLEpYKRv9siAgSUgZ+UWyk+J5Cttpd1ThCVwdclzIwQSclz3hYn049+M2fgrP1WpvF8xg=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -7564,15 +7505,15 @@
}
},
"node_modules/eslint": {
- "version": "8.50.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
- "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
+ "version": "8.51.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz",
+ "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.2",
- "@eslint/js": "8.50.0",
+ "@eslint/js": "8.51.0",
"@humanwhocodes/config-array": "^0.11.11",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
@@ -7869,9 +7810,9 @@
}
},
"node_modules/eslint/node_modules/globals": {
- "version": "13.22.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz",
- "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==",
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -8392,29 +8333,6 @@
"reusify": "^1.0.4"
}
},
- "node_modules/fetch-blob": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
- "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "dependencies": {
- "node-domexception": "^1.0.0",
- "web-streams-polyfill": "^3.0.3"
- },
- "engines": {
- "node": "^12.20 || >= 14.13"
- }
- },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -8525,12 +8443,12 @@
}
},
"node_modules/flat-cache": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz",
- "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz",
+ "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==",
"dev": true,
"dependencies": {
- "flatted": "^3.2.7",
+ "flatted": "^3.2.9",
"keyv": "^4.5.3",
"rimraf": "^3.0.2"
},
@@ -8609,18 +8527,6 @@
"node": ">= 6"
}
},
- "node_modules/formdata-polyfill": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
- "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
- "dev": true,
- "dependencies": {
- "fetch-blob": "^3.1.2"
- },
- "engines": {
- "node": ">=12.20.0"
- }
- },
"node_modules/fraction.js": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz",
@@ -8850,22 +8756,45 @@
}
},
"node_modules/giget": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz",
- "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz",
+ "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==",
"dependencies": {
- "colorette": "^2.0.19",
+ "colorette": "^2.0.20",
"defu": "^6.1.2",
- "https-proxy-agent": "^5.0.1",
+ "https-proxy-agent": "^7.0.2",
"mri": "^1.2.0",
- "node-fetch-native": "^1.0.2",
- "pathe": "^1.1.0",
- "tar": "^6.1.13"
+ "node-fetch-native": "^1.4.0",
+ "pathe": "^1.1.1",
+ "tar": "^6.2.0"
},
"bin": {
"giget": "dist/cli.mjs"
}
},
+ "node_modules/giget/node_modules/agent-base": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/giget/node_modules/https-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/git-config-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz",
@@ -9379,15 +9308,15 @@
}
},
"node_modules/h3": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/h3/-/h3-1.8.1.tgz",
- "integrity": "sha512-m5rFuu+5bpwBBHqqS0zexjK+Q8dhtFRvO9JXQG0RvSPL6QrIT6vv42vuBM22SLOgGMoZYsHk0y7VPidt9s+nkw==",
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.8.2.tgz",
+ "integrity": "sha512-1Ca0orJJlCaiFY68BvzQtP2lKLk46kcLAxVM8JgYbtm2cUg6IY7pjpYgWMwUvDO9QI30N5JAukOKoT8KD3Q0PQ==",
"dev": true,
"dependencies": {
"cookie-es": "^1.0.0",
"defu": "^6.1.2",
"destr": "^2.0.1",
- "iron-webcrypto": "^0.8.0",
+ "iron-webcrypto": "^0.10.1",
"radix3": "^1.1.0",
"ufo": "^1.3.0",
"uncrypto": "^0.1.3",
@@ -9407,13 +9336,10 @@
"dev": true
},
"node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz",
+ "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==",
"dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
"engines": {
"node": ">= 0.4.0"
}
@@ -9650,6 +9576,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
@@ -9853,9 +9780,9 @@
}
},
"node_modules/iron-webcrypto": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-0.8.2.tgz",
- "integrity": "sha512-jGiwmpgTuF19Vt4hn3+AzaVFGpVZt7A1ysd5ivFel2r4aNVFwqaYa6aU6qsF1PM7b+WFivZHz3nipwUOXaOnHg==",
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-0.10.1.tgz",
+ "integrity": "sha512-QGOS8MRMnj/UiOa+aMIgfyHcvkhqNUsUxb1XzskENvbo+rEfp6TOwqd1KPuDzXC4OnGHcMSVxDGRoilqB8ViqA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/brc-dd"
@@ -10576,9 +10503,9 @@
"dev": true
},
"node_modules/keyv": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"dependencies": {
"json-buffer": "3.0.1"
@@ -10935,9 +10862,9 @@
"dev": true
},
"node_modules/magic-string": {
- "version": "0.30.3",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz",
- "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
+ "version": "0.30.4",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz",
+ "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
},
@@ -11748,9 +11675,9 @@
}
},
"node_modules/nitropack/node_modules/rollup": {
- "version": "3.29.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.3.tgz",
- "integrity": "sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==",
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -11802,41 +11729,24 @@
"integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==",
"dev": true
},
- "node_modules/node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "github",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "engines": {
- "node": ">=10.5.0"
- }
- },
"node_modules/node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"dev": true,
"dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
+ "whatwg-url": "^5.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": "4.x || >=6.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
}
},
"node_modules/node-fetch-native": {
@@ -11844,6 +11754,28 @@
"resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz",
"integrity": "sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA=="
},
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
@@ -13073,9 +13005,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.30",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz",
- "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
@@ -13751,9 +13683,9 @@
}
},
"node_modules/preact": {
- "version": "10.17.1",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz",
- "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==",
+ "version": "10.18.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.18.1.tgz",
+ "integrity": "sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/preact"
@@ -14436,9 +14368,9 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.22.6",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz",
- "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==",
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
"dev": true,
"dependencies": {
"is-core-module": "^2.13.0",
@@ -14948,9 +14880,9 @@
"dev": true
},
"node_modules/sass": {
- "version": "1.68.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz",
- "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==",
+ "version": "1.69.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.2.tgz",
+ "integrity": "sha512-48lDtG/9OuSQZ9oNmJMUXI2QdCakAWrAGjpX/Fy6j4Og8dEAyE598x5GqCqnHkwV7+I5w8DJpqjm581q5HNh3w==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -15748,9 +15680,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.15",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
- "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+ "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
"dev": true
},
"node_modules/split-string": {
@@ -16190,9 +16122,9 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/terser": {
- "version": "5.20.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.20.0.tgz",
- "integrity": "sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==",
+ "version": "5.21.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz",
+ "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -16675,9 +16607,9 @@
}
},
"node_modules/ufo": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.0.tgz",
- "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw=="
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz",
+ "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw=="
},
"node_modules/uglify-js": {
"version": "3.17.4",
@@ -16770,6 +16702,12 @@
"integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==",
"dev": true
},
+ "node_modules/undici-types": {
+ "version": "5.25.3",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
+ "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
+ "dev": true
+ },
"node_modules/unenv": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/unenv/-/unenv-1.7.4.tgz",
@@ -17494,9 +17432,9 @@
}
},
"node_modules/vee-validate": {
- "version": "4.11.7",
- "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.11.7.tgz",
- "integrity": "sha512-HWnZgOY02mPuAQheaVcKZwahC879YsGNRW4/kkjxeOJ3wu1oruEeomuk+ovCyxTPQoAl1WPHurVJKL1yPGd/WQ==",
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.11.8.tgz",
+ "integrity": "sha512-ZuVpw0axWYBM3aVTD/bm94hcWHumqeUgNjptOqfBT0gyqyHaGYCrm0tSD/0bygEbWUDwEPJOQaEKaUGM82j8TQ==",
"dependencies": {
"@vue/devtools-api": "^6.5.0",
"type-fest": "^4.3.1"
@@ -17506,9 +17444,9 @@
}
},
"node_modules/vee-validate/node_modules/type-fest": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.1.tgz",
- "integrity": "sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz",
+ "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==",
"engines": {
"node": ">=16"
},
@@ -17616,9 +17554,9 @@
}
},
"node_modules/vite": {
- "version": "4.4.9",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
- "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
+ "version": "4.4.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
+ "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
"dev": true,
"dependencies": {
"esbuild": "^0.18.10",
@@ -18384,9 +18322,9 @@
}
},
"node_modules/vite/node_modules/rollup": {
- "version": "3.29.3",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.3.tgz",
- "integrity": "sha512-T7du6Hum8jOkSWetjRgbwpM6Sy0nECYrYRSmZjayFcOddtKJWU4d17AC3HNUk7HRuqy4p+G7aEZclSHytqUmEg==",
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -18588,9 +18526,9 @@
"dev": true
},
"node_modules/vscode-uri": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
- "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==",
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
+ "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==",
"dev": true
},
"node_modules/vue": {
@@ -18627,9 +18565,9 @@
"dev": true
},
"node_modules/vue-eslint-parser": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz",
- "integrity": "sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==",
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz",
+ "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==",
"dev": true,
"dependencies": {
"debug": "^4.3.4",
@@ -18771,15 +18709,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/web-streams-polyfill": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
- "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
@@ -19198,9 +19127,9 @@
}
},
"node_modules/zhead": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.1.1.tgz",
- "integrity": "sha512-FRmjAFioi07R+bmL+fqbkXF/pCbC9PwcKQ8RDluC5xTaVbNBgYRQ4eKuS1C8c7Sil//UIxet/AGp7D6royoHhA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.1.3.tgz",
+ "integrity": "sha512-T6kZx8TYdLhuy2vURjPUj9EK9Dobnctu12CYw9ibu6Xj/UAqh2q2bQaA3vFrL4Rna5+CXYHYN3uJrUu6VulYzw==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/harlan-zw"
diff --git a/package.json b/package.json
index 2bac18a37..1b268685b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "primevue",
- "version": "3.35.1",
+ "version": "3.36.1-SNAPSHOT",
"homepage": "https://primevue.org/",
"repository": {
"type": "git",
@@ -17,8 +17,8 @@
"build:package": "NODE_ENV=production rollup -c && node build-meta && node api-generator/build-api && gulp build-styles",
"build:check": "npm run format:check && npm run security:check",
"security:check": "npm audit --production --audit-level high",
- "format": "prettier --write \"**/*.{js,vue,d.ts,json}\" --cache",
- "format:check": "prettier --check \"**/*.{js,vue,d.ts,json}\"",
+ "format": "prettier --write \"**/*.{js,vue,d.ts}\" --cache",
+ "format:check": "prettier --check \"**/*.{js,vue,d.ts}\"",
"test:unit": "vitest run",
"test:unit:watch": "vitest watch",
"test:coverage": "vitest run --coverage",
diff --git a/public/themes/lara-dark-blue/theme.css b/public/themes/lara-dark-blue/theme.css
index bfeb807d9..07d987ef2 100644
--- a/public/themes/lara-dark-blue/theme.css
+++ b/public/themes/lara-dark-blue/theme.css
@@ -191,12 +191,12 @@
}
.p-editor-container .p-editor-toolbar {
- background: #1f2937;
+ background: #071426;
border-top-right-radius: 6px;
border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #424b57;
+ border: 1px solid #0b213f;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
stroke: rgba(255, 255, 255, 0.6);
@@ -227,8 +227,8 @@
fill: rgba(255, 255, 255, 0.87);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
- background: #1f2937;
- border: 1px solid #424b57;
+ background: #071426;
+ border: 1px solid #0b213f;
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 6px;
padding: 0.75rem 0;
@@ -248,10 +248,10 @@
border-bottom-left-radius: 6px;
}
.p-editor-container .p-editor-content.ql-snow {
- border: 1px solid #424b57;
+ border: 1px solid #0b213f;
}
.p-editor-container .p-editor-content .ql-editor {
- background: #111827;
+ background: #040d19;
color: rgba(255, 255, 255, 0.87);
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
diff --git a/public/themes/lara-dark-indigo/theme.css b/public/themes/lara-dark-indigo/theme.css
index 7fee60669..6c6597ed4 100644
--- a/public/themes/lara-dark-indigo/theme.css
+++ b/public/themes/lara-dark-indigo/theme.css
@@ -191,12 +191,12 @@
}
.p-editor-container .p-editor-toolbar {
- background: #1f2937;
+ background: #071426;
border-top-right-radius: 6px;
border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #424b57;
+ border: 1px solid #0b213f;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
stroke: rgba(255, 255, 255, 0.6);
@@ -227,8 +227,8 @@
fill: rgba(255, 255, 255, 0.87);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
- background: #1f2937;
- border: 1px solid #424b57;
+ background: #071426;
+ border: 1px solid #0b213f;
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 6px;
padding: 0.75rem 0;
@@ -248,10 +248,10 @@
border-bottom-left-radius: 6px;
}
.p-editor-container .p-editor-content.ql-snow {
- border: 1px solid #424b57;
+ border: 1px solid #0b213f;
}
.p-editor-container .p-editor-content .ql-editor {
- background: #111827;
+ background: #040d19;
color: rgba(255, 255, 255, 0.87);
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
diff --git a/public/themes/lara-dark-purple/theme.css b/public/themes/lara-dark-purple/theme.css
index 2b5b2a441..e9387f836 100644
--- a/public/themes/lara-dark-purple/theme.css
+++ b/public/themes/lara-dark-purple/theme.css
@@ -191,12 +191,12 @@
}
.p-editor-container .p-editor-toolbar {
- background: #1f2937;
+ background: #071426;
border-top-right-radius: 6px;
border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #424b57;
+ border: 1px solid #0b213f;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
stroke: rgba(255, 255, 255, 0.6);
@@ -227,8 +227,8 @@
fill: rgba(255, 255, 255, 0.87);
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
- background: #1f2937;
- border: 1px solid #424b57;
+ background: #071426;
+ border: 1px solid #0b213f;
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
border-radius: 6px;
padding: 0.75rem 0;
@@ -251,7 +251,10 @@
border: 1px solid #424b57;
}
.p-editor-container .p-editor-content .ql-editor {
- background: #111827;
+ border: 1px solid #0b213f;
+}
+.p-editor-container .p-editor-content .ql-editor {
+ background: #040d19;
color: rgba(255, 255, 255, 0.87);
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
diff --git a/public/themes/lara-dark-teal/theme.css b/public/themes/lara-dark-teal/theme.css
index fced73f9e..c27fa4072 100644
--- a/public/themes/lara-dark-teal/theme.css
+++ b/public/themes/lara-dark-teal/theme.css
@@ -289,6 +289,105 @@
color: #10b981;
}
+.p-editor-container .p-editor-toolbar {
+ background: #071426;
+ border-top-right-radius: 6px;
+ border-top-left-radius: 6px;
+}
+.p-editor-container .p-editor-toolbar.ql-snow {
+ border: 1px solid #0b213f;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
+ stroke: rgba(255, 255, 255, 0.6);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
+ fill: rgba(255, 255, 255, 0.6);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
+ border: 0 none;
+ color: rgba(255, 255, 255, 0.6);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
+ color: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
+ stroke: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
+ fill: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
+ color: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
+ stroke: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
+ fill: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
+ background: #071426;
+ border: 1px solid #0b213f;
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
+ border-radius: 6px;
+ padding: 0.75rem 0;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
+ color: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
+ color: rgba(255, 255, 255, 0.87);
+ background: rgba(255, 255, 255, 0.03);
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
+ padding: 0.75rem 1.25rem;
+}
+.p-editor-container .p-editor-content {
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.p-editor-container .p-editor-content.ql-snow {
+ border: 1px solid #0b213f;
+}
+.p-editor-container .p-editor-content .ql-editor {
+ background: #040d19;
+ color: rgba(255, 255, 255, 0.87);
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover,
+.p-editor-container .ql-snow.ql-toolbar button:focus {
+ color: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
+ stroke: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
+ fill: rgba(255, 255, 255, 0.87);
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
+ color: #5EEAD4;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
+ stroke: #5EEAD4;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
+ fill: #5EEAD4;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
+ color: #5EEAD4;
+}
+
@layer primevue {
* {
box-sizing: border-box;
diff --git a/public/themes/lara-light-blue/theme.css b/public/themes/lara-light-blue/theme.css
index 6f558efca..9f6fac156 100644
--- a/public/themes/lara-light-blue/theme.css
+++ b/public/themes/lara-light-blue/theme.css
@@ -191,40 +191,12 @@
}
.p-editor-container .p-editor-toolbar {
- background: #f9fafb;
+
+ background: #f8f9fa;
border-top-right-radius: 6px;
border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
- stroke: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
- fill: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
- border: 0 none;
- color: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
- fill: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
- fill: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
background: #ffffff;
@@ -233,12 +205,6 @@
border-radius: 6px;
padding: 0.75rem 0;
}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
- color: #4b5563;
- background: #f3f4f6;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
padding: 0.75rem 1.25rem;
@@ -247,27 +213,8 @@
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}
-.p-editor-container .p-editor-content.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-content .ql-editor {
- background: #ffffff;
- color: #4b5563;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
-}
.p-editor-container .ql-snow.ql-toolbar button:hover,
-.p-editor-container .ql-snow.ql-toolbar button:focus {
- color: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
- fill: #4b5563;
-}
+.p-editor-container .ql-snow.ql-toolbar button:focus,
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
diff --git a/public/themes/lara-light-indigo/theme.css b/public/themes/lara-light-indigo/theme.css
index 9f1aa1750..6ccdb395f 100644
--- a/public/themes/lara-light-indigo/theme.css
+++ b/public/themes/lara-light-indigo/theme.css
@@ -190,56 +190,6 @@
--primary-900:#282960;
}
-.p-editor-container .p-editor-toolbar {
- background: #f9fafb;
- border-top-right-radius: 6px;
- border-top-left-radius: 6px;
-}
-.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
- stroke: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
- fill: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
- border: 0 none;
- color: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
- fill: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
- fill: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
- background: #ffffff;
- border: 0 none;
- box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
- border-radius: 6px;
- padding: 0.75rem 0;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
- color: #4b5563;
- background: #f3f4f6;
-}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
padding: 0.75rem 1.25rem;
}
@@ -247,27 +197,6 @@
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}
-.p-editor-container .p-editor-content.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-content .ql-editor {
- background: #ffffff;
- color: #4b5563;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover,
-.p-editor-container .ql-snow.ql-toolbar button:focus {
- color: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
- fill: #4b5563;
-}
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
diff --git a/public/themes/lara-light-purple/theme.css b/public/themes/lara-light-purple/theme.css
index c8d685a76..1eb0454d6 100644
--- a/public/themes/lara-light-purple/theme.css
+++ b/public/themes/lara-light-purple/theme.css
@@ -190,42 +190,6 @@
--primary-900:#382562;
}
-.p-editor-container .p-editor-toolbar {
- background: #f9fafb;
- border-top-right-radius: 6px;
- border-top-left-radius: 6px;
-}
-.p-editor-container .p-editor-toolbar.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
- stroke: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
- fill: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
- border: 0 none;
- color: #6b7280;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
- fill: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
- fill: #4b5563;
-}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
background: #ffffff;
border: 0 none;
@@ -233,13 +197,7 @@
border-radius: 6px;
padding: 0.75rem 0;
}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
- color: #4b5563;
-}
-.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
- color: #4b5563;
- background: #f3f4f6;
-}
+
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
padding: 0.75rem 1.25rem;
}
@@ -247,27 +205,7 @@
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}
-.p-editor-container .p-editor-content.ql-snow {
- border: 1px solid #e5e7eb;
-}
-.p-editor-container .p-editor-content .ql-editor {
- background: #ffffff;
- color: #4b5563;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover,
-.p-editor-container .ql-snow.ql-toolbar button:focus {
- color: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
- stroke: #4b5563;
-}
-.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
-.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
- fill: #4b5563;
-}
+
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
diff --git a/public/themes/lara-light-teal/theme.css b/public/themes/lara-light-teal/theme.css
index 8039fd547..66a4698e3 100644
--- a/public/themes/lara-light-teal/theme.css
+++ b/public/themes/lara-light-teal/theme.css
@@ -289,6 +289,105 @@
color: #10b981;
}
+.p-editor-container .p-editor-toolbar {
+ background: #f8f9fa;
+ border-top-right-radius: 6px;
+ border-top-left-radius: 6px;
+}
+.p-editor-container .p-editor-toolbar.ql-snow {
+ border: 1px solid #dee2e6;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
+ stroke: #6c757d;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
+ fill: #6c757d;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
+ border: 0 none;
+ color: #6c757d;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
+ color: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
+ stroke: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
+ fill: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
+ color: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
+ stroke: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
+ fill: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
+ background: #ffffff;
+ border: 0 none;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+ border-radius: 6px;
+ padding: 0.75rem 0;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
+ color: #495057;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
+ color: #495057;
+ background: #e9ecef;
+}
+.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
+ padding: 0.75rem 1.25rem;
+}
+.p-editor-container .p-editor-content {
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.p-editor-container .p-editor-content.ql-snow {
+ border: 1px solid #dee2e6;
+}
+.p-editor-container .p-editor-content .ql-editor {
+ background: #ffffff;
+ color: #495057;
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover,
+.p-editor-container .ql-snow.ql-toolbar button:focus {
+ color: #495057;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
+ stroke: #495057;
+}
+.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
+ fill: #495057;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
+ color: #14B8A6;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
+ stroke: #14B8A6;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
+ fill: #14B8A6;
+}
+.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
+.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
+ color: #14B8A6;
+}
+
@layer primevue {
* {
box-sizing: border-box;