From 60fc2c72b2983317f598aa70080e0f1b13e70ba5 Mon Sep 17 00:00:00 2001 From: Topher Johnson Date: Mon, 19 Feb 2024 23:37:46 -0800 Subject: [PATCH 001/293] Add option to enable/disable libraries This commit adds the option to enable/disable libraries from the library options editor. The backend changes required for this functionality are in jellyfin PR 11037. This commit adds a checkbox in the library options editor. It adds a checkbox saying "Library Enabled" that is checked by default. libraryoptionseditor.js - added logic to handle enable libraries checkbox. Enables libraries by default libraryoptionseditor.template.html - added "enable libraries" checkbox src/strings/en-us.json - added English strings for enable library checkbox. --- CONTRIBUTORS.md | 1 + .../libraryoptionseditor/libraryoptionseditor.js | 2 ++ .../libraryoptionseditor.template.html | 8 ++++++++ src/strings/en-us.json | 2 ++ 4 files changed, 13 insertions(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index daec591172..8bc658eb04 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -79,6 +79,7 @@ - [Kevin Tan (Valius)](https://github.com/valius) - [Rasmus Krämer](https://github.com/rasmuslos) - [ntarelix](https://github.com/ntarelix) +- [btopherjohnson](https://github.com/btopherjohnson) ## Emby Contributors diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index 11c0806104..c8f1a1ddcf 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -511,6 +511,7 @@ function setImageOptionsIntoOptions(options) { export function getLibraryOptions(parent) { const options = { + Disabled: !parent.querySelector('.chkEnabled').checked, EnableArchiveMediaFiles: false, EnablePhotos: parent.querySelector('.chkEnablePhotos').checked, EnableRealtimeMonitor: parent.querySelector('.chkEnableRealtimeMonitor').checked, @@ -574,6 +575,7 @@ export function setLibraryOptions(parent, options) { parent.querySelector('#selectCountry').value = options.MetadataCountryCode || ''; parent.querySelector('#selectAutoRefreshInterval').value = options.AutomaticRefreshIntervalDays || '0'; parent.querySelector('#txtSeasonZeroName').value = options.SeasonZeroDisplayName || 'Specials'; + parent.querySelector('.chkEnabled').checked = !options.Disabled; parent.querySelector('.chkEnablePhotos').checked = options.EnablePhotos; parent.querySelector('.chkEnableRealtimeMonitor').checked = options.EnableRealtimeMonitor; parent.querySelector('.chkEnableLUFSScan').checked = options.EnableLUFSScan; diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.template.html b/src/components/libraryoptionseditor/libraryoptionseditor.template.html index a221f53bbf..ea0f3069f7 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.template.html +++ b/src/components/libraryoptionseditor/libraryoptionseditor.template.html @@ -1,4 +1,12 @@

${HeaderLibrarySettings}

+
+ +
${EnableLibraryHelp}
+
+
diff --git a/src/strings/en-us.json b/src/strings/en-us.json index bf71f50583..bbd2d98a3c 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -237,6 +237,8 @@ "EnableFasterAnimations": "Faster animations", "EnableFasterAnimationsHelp": "Use faster animations and transitions.", "EnableHardwareEncoding": "Enable hardware encoding", + "EnableLibrary": "Enable the library", + "EnableLibraryHelp": "Allows the library to be enabled/disabled", "EnableNextVideoInfoOverlay": "Show next video info during playback", "EnableNextVideoInfoOverlayHelp": "At the end of a video, display info about the next video coming up in the current playlist.", "EnablePhotos": "Display the photos", From 9ab45c43ad9ce6207302c9995dfed578cbcf109b Mon Sep 17 00:00:00 2001 From: Topher Johnson Date: Sun, 25 Feb 2024 13:35:36 -0800 Subject: [PATCH 002/293] Change LibraryOption to match backend Changed "disable" to "enable" to match backend. It makes more sense to have it be "enable" because that's what the checkbox says. Now no weird "not" logic is needed to send options to the backend. --- src/components/libraryoptionseditor/libraryoptionseditor.js | 4 ++-- .../libraryoptionseditor/libraryoptionseditor.template.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index c8f1a1ddcf..036dbf948b 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -511,7 +511,7 @@ function setImageOptionsIntoOptions(options) { export function getLibraryOptions(parent) { const options = { - Disabled: !parent.querySelector('.chkEnabled').checked, + Enabled: parent.querySelector('.chkEnabled').checked, EnableArchiveMediaFiles: false, EnablePhotos: parent.querySelector('.chkEnablePhotos').checked, EnableRealtimeMonitor: parent.querySelector('.chkEnableRealtimeMonitor').checked, @@ -575,7 +575,7 @@ export function setLibraryOptions(parent, options) { parent.querySelector('#selectCountry').value = options.MetadataCountryCode || ''; parent.querySelector('#selectAutoRefreshInterval').value = options.AutomaticRefreshIntervalDays || '0'; parent.querySelector('#txtSeasonZeroName').value = options.SeasonZeroDisplayName || 'Specials'; - parent.querySelector('.chkEnabled').checked = !options.Disabled; + parent.querySelector('.chkEnabled').checked = options.Enabled; parent.querySelector('.chkEnablePhotos').checked = options.EnablePhotos; parent.querySelector('.chkEnableRealtimeMonitor').checked = options.EnableRealtimeMonitor; parent.querySelector('.chkEnableLUFSScan').checked = options.EnableLUFSScan; diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.template.html b/src/components/libraryoptionseditor/libraryoptionseditor.template.html index ea0f3069f7..38ebe99310 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.template.html +++ b/src/components/libraryoptionseditor/libraryoptionseditor.template.html @@ -1,5 +1,5 @@

${HeaderLibrarySettings}

-
+
- From 6e6b696bd9dc7c71fb83f9dda2c3fa8eda35e31a Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Sun, 24 Mar 2024 23:23:28 +0300 Subject: [PATCH 042/293] Add option to limit maximum supported video resolution --- src/components/apphost.js | 21 +++++++++++++------ .../playbackSettings/playbackSettings.js | 2 ++ .../playbackSettings.template.html | 8 +++++++ src/scripts/settings/appSettings.js | 13 ++++++++++++ src/strings/en-us.json | 2 ++ 5 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/components/apphost.js b/src/components/apphost.js index 8df5884bb1..742476195d 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -45,18 +45,27 @@ function getDeviceProfile(item) { const maxTranscodingVideoWidth = maxVideoWidth < 0 ? appHost.screen()?.maxAllowedWidth : maxVideoWidth; if (maxTranscodingVideoWidth) { + const conditionWidth = { + Condition: 'LessThanEqual', + Property: 'Width', + Value: maxTranscodingVideoWidth.toString(), + IsRequired: false + }; + + if (appSettings.limitSupportedVideoResolution()) { + profile.CodecProfiles.push({ + Type: 'Video', + Conditions: [conditionWidth] + }); + } + profile.TranscodingProfiles.forEach((transcodingProfile) => { if (transcodingProfile.Type === 'Video') { transcodingProfile.Conditions = (transcodingProfile.Conditions || []).filter((condition) => { return condition.Property !== 'Width'; }); - transcodingProfile.Conditions.push({ - Condition: 'LessThanEqual', - Property: 'Width', - Value: maxTranscodingVideoWidth.toString(), - IsRequired: false - }); + transcodingProfile.Conditions.push(conditionWidth); } }); } diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index 51e36d13aa..254389a9f6 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -179,6 +179,7 @@ function loadForm(context, user, userSettings, systemInfo, apiClient) { context.querySelector('.chkRememberAudioSelections').checked = user.Configuration.RememberAudioSelections || false; context.querySelector('.chkRememberSubtitleSelections').checked = user.Configuration.RememberSubtitleSelections || false; context.querySelector('.chkExternalVideoPlayer').checked = appSettings.enableSystemExternalPlayers(); + context.querySelector('.chkLimitSupportedVideoResolution').checked = appSettings.limitSupportedVideoResolution(); setMaxBitrateIntoField(context.querySelector('.selectVideoInNetworkQuality'), true, 'Video'); setMaxBitrateIntoField(context.querySelector('.selectVideoInternetQuality'), false, 'Video'); @@ -213,6 +214,7 @@ function saveUser(context, user, userSettingsInstance, apiClient) { appSettings.maxChromecastBitrate(context.querySelector('.selectChromecastVideoQuality').value); appSettings.maxVideoWidth(context.querySelector('.selectMaxVideoWidth').value); + appSettings.limitSupportedVideoResolution(context.querySelector('.chkLimitSupportedVideoResolution').checked); setMaxBitrateFromField(context.querySelector('.selectVideoInNetworkQuality'), true, 'Video'); setMaxBitrateFromField(context.querySelector('.selectVideoInternetQuality'), false, 'Video'); diff --git a/src/components/playbackSettings/playbackSettings.template.html b/src/components/playbackSettings/playbackSettings.template.html index 4b9c9a0a5f..6dc860260f 100644 --- a/src/components/playbackSettings/playbackSettings.template.html +++ b/src/components/playbackSettings/playbackSettings.template.html @@ -54,6 +54,14 @@
+ +
+ +
${LimitSupportedVideoResolutionHelp}
+
diff --git a/src/scripts/settings/appSettings.js b/src/scripts/settings/appSettings.js index df18b0ddff..14688d40f0 100644 --- a/src/scripts/settings/appSettings.js +++ b/src/scripts/settings/appSettings.js @@ -105,6 +105,19 @@ class AppSettings { return parseInt(this.get('maxVideoWidth') || '0', 10) || 0; } + /** + * Get or set 'Limit maximum supported video resolution' state. + * @param {boolean|undefined} val - Flag to enable 'Limit maximum supported video resolution' or undefined. + * @return {boolean} 'Limit maximum supported video resolution' state. + */ + limitSupportedVideoResolution(val) { + if (val !== undefined) { + return this.set('limitSupportedVideoResolution', val.toString()); + } + + return toBoolean(this.get('limitSupportedVideoResolution'), false); + } + set(name, value, userId) { const currentValue = this.get(name, userId); localStorage.setItem(this.#getKey(name, userId), value); diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 13363d303f..01cce2968c 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -935,6 +935,8 @@ "LearnHowYouCanContribute": "Learn how you can contribute.", "LeaveBlankToNotSetAPassword": "You can leave this field blank to set no password.", "LibraryAccessHelp": "Select the libraries to share with this user. Administrators will be able to edit all folders using the metadata manager.", + "LimitSupportedVideoResolution": "Limit maximum supported video resolution", + "LimitSupportedVideoResolutionHelp": "Use 'Maximum Allowed Video Transcoding Resolution' as maximum supported video resolution.", "List": "List", "ListView": "List View", "ListPaging": "{0}-{1} of {2}", From 639f99f82a8e715585305806e6b2292ee79be603 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Mon, 25 Mar 2024 01:16:33 +0300 Subject: [PATCH 043/293] Add option to enable smooth scroll --- src/components/scrollManager.js | 4 ++-- src/controllers/user/controls/index.html | 7 +++++++ src/controllers/user/controls/index.js | 6 ++++++ src/scripts/settings/appSettings.js | 14 ++++++++++++++ src/strings/en-us.json | 1 + 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/components/scrollManager.js b/src/components/scrollManager.js index 49c2cebc32..2f0917391f 100644 --- a/src/components/scrollManager.js +++ b/src/components/scrollManager.js @@ -4,7 +4,7 @@ */ import dom from '../scripts/dom'; -import browser from '../scripts/browser'; +import appSettings from 'scripts/settings/appSettings'; import layoutManager from './layoutManager'; /** @@ -477,7 +477,7 @@ function doScroll(xScroller, scrollX, yScroller, scrollY, smooth) { * Returns true if smooth scroll must be used. */ function useSmoothScroll() { - return !!browser.tizen; + return appSettings.enableSmoothScroll(); } /** diff --git a/src/controllers/user/controls/index.html b/src/controllers/user/controls/index.html index 8c54db4bd9..512f3df05e 100644 --- a/src/controllers/user/controls/index.html +++ b/src/controllers/user/controls/index.html @@ -14,6 +14,13 @@
${EnableGamepadHelp}
${LabelPleaseRestart}
+ +
+ +
+ + + + + ); +} diff --git a/src/styles/site.scss b/src/styles/site.scss index f3f1a699b7..0e9c66c901 100644 --- a/src/styles/site.scss +++ b/src/styles/site.scss @@ -39,6 +39,7 @@ body { right: 0; bottom: 0; contain: strict; + z-index: -1; } .layout-mobile, diff --git a/src/themes/theme.ts b/src/themes/theme.ts index 70e060dd74..4a17f6ade4 100644 --- a/src/themes/theme.ts +++ b/src/themes/theme.ts @@ -62,6 +62,13 @@ const theme = createTheme({ variant: 'filled' } }, + MuiFormHelperText: { + styleOverrides: { + root: { + fontSize: '1rem' + } + } + }, MuiTextField: { defaultProps: { variant: 'filled' From 3dd26c7785329c38f1a468c8561a49ce7d36fe3f Mon Sep 17 00:00:00 2001 From: Grady Hallenbeck Date: Thu, 19 Oct 2023 12:02:54 -0700 Subject: [PATCH 046/293] feat: (preferences) hook react display settings into user settings --- .../user/display/DisplayPreferences.tsx | 72 +++++++- .../user/display/ItemDetailPreferences.tsx | 18 +- .../user/display/LibraryPreferences.tsx | 45 ++++- .../user/display/LocalizationPreferences.tsx | 26 ++- .../routes/user/display/NextUpPreferences.tsx | 29 +++- .../display/hooks/useDisplaySettingForm.ts | 46 +++++ .../user/display/hooks/useDisplaySettings.ts | 159 ++++++++++++++++++ .../user/display/hooks/useScreensavers.ts | 29 ++++ .../user/display/hooks/useServerThemes.ts | 32 ++++ .../routes/user/display/index.tsx | 65 ++++++- .../experimental/routes/user/display/types.ts | 22 +++ src/scripts/settings/userSettings.js | 30 ++-- src/types/webConfig.ts | 3 +- 13 files changed, 530 insertions(+), 46 deletions(-) create mode 100644 src/apps/experimental/routes/user/display/hooks/useDisplaySettingForm.ts create mode 100644 src/apps/experimental/routes/user/display/hooks/useDisplaySettings.ts create mode 100644 src/apps/experimental/routes/user/display/hooks/useScreensavers.ts create mode 100644 src/apps/experimental/routes/user/display/hooks/useServerThemes.ts create mode 100644 src/apps/experimental/routes/user/display/types.ts diff --git a/src/apps/experimental/routes/user/display/DisplayPreferences.tsx b/src/apps/experimental/routes/user/display/DisplayPreferences.tsx index a898f0bf36..a862727cf1 100644 --- a/src/apps/experimental/routes/user/display/DisplayPreferences.tsx +++ b/src/apps/experimental/routes/user/display/DisplayPreferences.tsx @@ -3,15 +3,26 @@ import FormControl from '@mui/material/FormControl'; import FormControlLabel from '@mui/material/FormControlLabel'; import FormHelperText from '@mui/material/FormHelperText'; import MenuItem from '@mui/material/MenuItem'; -import Select from '@mui/material/Select'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; import React from 'react'; import globalize from 'scripts/globalize'; +import { DisplaySettingsValues } from './types'; +import { useScreensavers } from './hooks/useScreensavers'; +import { useServerThemes } from './hooks/useServerThemes'; + +interface DisplayPreferencesProps { + onChange: (event: SelectChangeEvent | React.SyntheticEvent) => void; + values: DisplaySettingsValues; +} + +export function DisplayPreferences({ onChange, values }: Readonly) { + const { screensavers } = useScreensavers(); + const { themes } = useServerThemes(); -export function DisplayPreferences() { return ( {globalize.translate('Display')} @@ -19,7 +30,12 @@ export function DisplayPreferences() { + } + control={ + + } label={globalize.translate('DisableCustomCss')} + name='disableCustomCss' /> {globalize.translate('LabelDisableCustomCss')} @@ -52,8 +84,11 @@ export function DisplayPreferences() { {globalize.translate('LabelLocalCustomCss')} @@ -64,7 +99,18 @@ export function DisplayPreferences() { {/* Server Dashboard Theme */} - + {/* TODO: There are some extra options here related to screensavers */} @@ -72,8 +118,14 @@ export function DisplayPreferences() { } + control={ + + } label={globalize.translate('EnableFasterAnimations')} + name='enableFasterAnimation' /> {globalize.translate('EnableFasterAnimationsHelp')} @@ -83,8 +135,14 @@ export function DisplayPreferences() { } + control={ + + } label={globalize.translate('EnableBlurHash')} + name='enableBlurHash' /> {globalize.translate('EnableBlurHashHelp')} diff --git a/src/apps/experimental/routes/user/display/ItemDetailPreferences.tsx b/src/apps/experimental/routes/user/display/ItemDetailPreferences.tsx index 409167a657..00da9439de 100644 --- a/src/apps/experimental/routes/user/display/ItemDetailPreferences.tsx +++ b/src/apps/experimental/routes/user/display/ItemDetailPreferences.tsx @@ -7,17 +7,29 @@ import Typography from '@mui/material/Typography'; import React from 'react'; import globalize from 'scripts/globalize'; +import { DisplaySettingsValues } from './types'; -export function ItemDetailPreferences() { +interface ItemDetailPreferencesProps { + onChange: (event: React.SyntheticEvent) => void; + values: DisplaySettingsValues; +} + +export function ItemDetailPreferences({ onChange, values }: Readonly) { return ( - + {globalize.translate('ItemDetails')} } + control={ + + } label={globalize.translate('EnableDetailsBanner')} + name='enableItemDetailsBanner' /> {globalize.translate('EnableDetailsBannerHelp')} diff --git a/src/apps/experimental/routes/user/display/LibraryPreferences.tsx b/src/apps/experimental/routes/user/display/LibraryPreferences.tsx index ec13aa4112..04ae913999 100644 --- a/src/apps/experimental/routes/user/display/LibraryPreferences.tsx +++ b/src/apps/experimental/routes/user/display/LibraryPreferences.tsx @@ -8,10 +8,16 @@ import Typography from '@mui/material/Typography'; import React from 'react'; import globalize from 'scripts/globalize'; +import { DisplaySettingsValues } from './types'; -export function LibraryPreferences() { +interface LibraryPreferencesProps { + onChange: (event: React.SyntheticEvent) => void; + values: DisplaySettingsValues; +} + +export function LibraryPreferences({ onChange, values }: Readonly) { return ( - + {globalize.translate('HeaderLibraries')} @@ -26,7 +32,10 @@ export function LibraryPreferences() { required: true, step: '1' }} + defaultValue={values.libraryPageSize} label={globalize.translate('LabelLibraryPageSize')} + name='libraryPageSize' + onChange={onChange} /> {globalize.translate('LabelLibraryPageSizeHelp')} @@ -36,8 +45,14 @@ export function LibraryPreferences() { } + control={ + + } label={globalize.translate('Backdrops')} + name='enableLibraryBackdrops' /> {globalize.translate('EnableBackdropsHelp')} @@ -47,8 +62,14 @@ export function LibraryPreferences() { } + control={ + + } label={globalize.translate('ThemeSongs')} + name='enableLibraryThemeSongs' /> {globalize.translate('EnableThemeSongsHelp')} @@ -58,8 +79,14 @@ export function LibraryPreferences() { } + control={ + + } label={globalize.translate('ThemeVideos')} + name='enableLibraryThemeVideos' /> {globalize.translate('EnableThemeVideosHelp')} @@ -69,8 +96,14 @@ export function LibraryPreferences() { } + control={ + + } label={globalize.translate('DisplayMissingEpisodesWithinSeasons')} + name='displayMissingEpisodes' /> {globalize.translate('DisplayMissingEpisodesWithinSeasonsHelp')} diff --git a/src/apps/experimental/routes/user/display/LocalizationPreferences.tsx b/src/apps/experimental/routes/user/display/LocalizationPreferences.tsx index 50a0b2252d..d0e625174e 100644 --- a/src/apps/experimental/routes/user/display/LocalizationPreferences.tsx +++ b/src/apps/experimental/routes/user/display/LocalizationPreferences.tsx @@ -2,23 +2,34 @@ import FormControl from '@mui/material/FormControl'; import FormHelperText from '@mui/material/FormHelperText'; import Link from '@mui/material/Link'; import MenuItem from '@mui/material/MenuItem'; -import Select from '@mui/material/Select'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import React from 'react'; import globalize from 'scripts/globalize'; import { DATE_LOCALE_OPTIONS, LANGUAGE_OPTIONS } from './constants'; +import { DisplaySettingsValues } from './types'; -export function LocalizationPreferences() { +interface LocalizationPreferencesProps { + onChange: (event: SelectChangeEvent) => void; + values: DisplaySettingsValues; +} + +export function LocalizationPreferences({ onChange, values }: Readonly) { return ( - + {globalize.translate('Localization')} + - {globalize.translate('Auto')} - {globalize.translate('Desktop')} - {globalize.translate('Mobile')} - {globalize.translate('TV')} - {globalize.translate('Experimental')} - - - {globalize.translate('DisplayModeHelp')} - {globalize.translate('LabelPleaseRestart')} - - + { appHost.supports('displaymode') && ( + + {globalize.translate('LabelDisplayMode')} + + + {globalize.translate('DisplayModeHelp')} + {globalize.translate('LabelPleaseRestart')} + + + ) } - - - + { themes.length > 0 && ( + + {globalize.translate('LabelTheme')} + + + ) } - {/* TODO: There are some admin-only options here */} - {/* Server Dashboard Theme */} + { themes.length > 0 && user?.Policy?.IsAdministrator && ( + + {globalize.translate('LabelDashboardTheme')} + + + ) } - - - + { screensavers.length > 0 && appHost.supports('screensaver') && ( + + + {globalize.translate('LabelScreensaver')} + + - {/* TODO: There are some extra options here related to screensavers */} + + + + {globalize.translate('LabelBackdropScreensaverIntervalHelp')} + + + + ) } ) { return ( - + {globalize.translate('HeaderLibraries')} @@ -32,7 +32,7 @@ export function LibraryPreferences({ onChange, values }: Readonly) { + if (!appHost.supports('displaylanguage') && !datetime.supportsLocalization()) { + return null; + } return ( - + {globalize.translate('Localization')} - - - - {globalize.translate('LabelDisplayLanguageHelp')} - + {globalize.translate('LabelDisplayLanguage')} + + + {globalize.translate('LabelDisplayLanguageHelp')} + { appHost.supports('externallinks') && ( + + {globalize.translate('LearnHowYouCanContribute')} + + ) } + + + ) } - - - + { datetime.supportsLocalization() && ( + + {globalize.translate('LabelDateTimeLocale')} + + + ) } ); } diff --git a/src/apps/experimental/routes/user/display/NextUpPreferences.tsx b/src/apps/experimental/routes/user/display/NextUpPreferences.tsx index fba6b406ef..1c21012a1f 100644 --- a/src/apps/experimental/routes/user/display/NextUpPreferences.tsx +++ b/src/apps/experimental/routes/user/display/NextUpPreferences.tsx @@ -17,13 +17,13 @@ interface NextUpPreferencesProps { export function NextUpPreferences({ onChange, values }: Readonly) { return ( - + {globalize.translate('NextUp')} { const target = e.target as HTMLInputElement; const fieldName = target.name as keyof DisplaySettingsValues; - const fieldValue = target.checked ?? target.value; + const fieldValue = target.type === 'checkbox' ? target.checked : target.value; if (values?.[fieldName] !== fieldValue) { updateField({ From 8f8c381cc36d9230c4ba497e92093bdf981ad5dc Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 03:22:43 +0000 Subject: [PATCH 048/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index ccfdfd5df8..18c8999180 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1836,5 +1836,6 @@ "LabelTileHeight": "图块高度", "LabelExtractTrickplayDuringLibraryScan": "在媒体库扫描期间提取特技播放预览图", "ConfirmDeleteSeries": "删除此系列将从文件系统和媒体库中删除共计 {0} 集。您确定要继续吗?", - "LabelExtractTrickplayDuringLibraryScanHelp": "在媒体库扫描期间导入视频时生成特技播放预览图。否则,它们将在特技播放预览图计划任务期间被提取。如果生成设置为非阻塞,则不会影响库扫描完成所需的时间。" + "LabelExtractTrickplayDuringLibraryScanHelp": "在媒体库扫描期间导入视频时生成特技播放预览图。否则,它们将在特技播放预览图计划任务期间被提取。如果生成设置为非阻塞,则不会影响库扫描完成所需的时间。", + "Lyric": "歌词" } From 94c5b586db5cc753ab4d7d002531d7d15442aaaa Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 03:23:51 +0000 Subject: [PATCH 049/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 35aaaad1f3..816fcd3b63 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1835,5 +1835,6 @@ "BlockingScan": "阻塞 - 將預覽圖生成添加到任務隊列,阻塞掃描直至完成", "DeleteEntireSeries": "刪除共計 {0} 集", "LabelExtractTrickplayDuringLibraryScanHelp": "在媒體庫掃描期間導入視頻時生成特技播放預覽圖。否則,它們將在特技播放預覽圖計劃任務期間被提取。如果生成設置為非阻塞,則不會影響庫掃描完成所需的時間。", - "LabelScanBehaviorHelp": "默認行為是非阻塞,即在生成特技播放預覽圖之前將媒體添加到庫中。阻塞將確保在將媒體添加到庫中之前生成特技播放預覽圖文件,但會使掃描時間明顯變長。" + "LabelScanBehaviorHelp": "默認行為是非阻塞,即在生成特技播放預覽圖之前將媒體添加到庫中。阻塞將確保在將媒體添加到庫中之前生成特技播放預覽圖文件,但會使掃描時間明顯變長。", + "Lyric": "歌詞" } From 081d408b1822c9760e169c33bc14b2c770d26328 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 8 Mar 2024 17:41:02 -0500 Subject: [PATCH 050/293] Add enum for media errors --- src/components/htmlMediaHelper.js | 13 ++++---- src/components/playback/playbackmanager.js | 36 ++++++++++++++-------- src/plugins/htmlAudioPlayer/plugin.js | 7 +++-- src/plugins/htmlVideoPlayer/plugin.js | 13 +++++--- src/types/mediaError.ts | 9 ++++++ 5 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 src/types/mediaError.ts diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index c63eb29db0..70be9c45f1 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -1,6 +1,7 @@ import appSettings from '../scripts/settings/appSettings' ; import browser from '../scripts/browser'; import Events from '../utils/events.ts'; +import { MediaError } from 'types/mediaError'; export function getSavedVolume() { return appSettings.get('volume') || 1; @@ -87,7 +88,7 @@ export function handleHlsJsMediaError(instance, reject) { if (reject) { reject(); } else { - onErrorInternal(instance, 'mediadecodeerror'); + onErrorInternal(instance, MediaError.MEDIA_DECODE_ERROR); } } } @@ -269,10 +270,10 @@ export function bindEventsToHlsPlayer(instance, hls, elem, onErrorFn, resolve, r hls.destroy(); if (reject) { - reject('servererror'); + reject(MediaError.SERVER_ERROR); reject = null; } else { - onErrorInternal(instance, 'servererror'); + onErrorInternal(instance, MediaError.SERVER_ERROR); } return; @@ -291,10 +292,10 @@ export function bindEventsToHlsPlayer(instance, hls, elem, onErrorFn, resolve, r hls.destroy(); if (reject) { - reject('network'); + reject(MediaError.NETWORK_ERROR); reject = null; } else { - onErrorInternal(instance, 'network'); + onErrorInternal(instance, MediaError.NETWORK_ERROR); } } else { console.debug('fatal network error encountered, try to recover'); @@ -318,7 +319,7 @@ export function bindEventsToHlsPlayer(instance, hls, elem, onErrorFn, resolve, r reject(); reject = null; } else { - onErrorInternal(instance, 'mediadecodeerror'); + onErrorInternal(instance, MediaError.MEDIA_DECODE_ERROR); } break; } diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 503b844859..32108e77d5 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1,3 +1,6 @@ +import merge from 'lodash-es/merge'; +import Screenfull from 'screenfull'; + import Events from '../../utils/events.ts'; import datetime from '../../scripts/datetime'; import appSettings from '../../scripts/settings/appSettings'; @@ -8,14 +11,14 @@ import * as userSettings from '../../scripts/settings/userSettings'; import globalize from '../../scripts/globalize'; import loading from '../loading/loading'; import { appHost } from '../apphost'; -import Screenfull from 'screenfull'; import ServerConnections from '../ServerConnections'; import alert from '../alert'; import { PluginType } from '../../types/plugin.ts'; import { includesAny } from '../../utils/container.ts'; import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts'; import { getItemBackdropImageUrl } from '../../utils/jellyfin-apiclient/backdropImage'; -import merge from 'lodash-es/merge'; + +import { MediaError } from 'types/mediaError'; const UNLIMITED_ITEMS = -1; @@ -1768,7 +1771,7 @@ class PlaybackManager { playerData.isChangingStream = false; onPlaybackError.call(player, e, { - type: 'mediadecodeerror', + type: MediaError.MEDIA_DECODE_ERROR, streamInfo: streamInfo }); }); @@ -2551,8 +2554,8 @@ class PlaybackManager { onPlaybackStarted(player, playOptions, streamInfo, mediaSource); setTimeout(function () { onPlaybackError.call(player, err, { - type: 'mediadecodeerror', - streamInfo: streamInfo + type: MediaError.MEDIA_DECODE_ERROR, + streamInfo }); }, 100); }); @@ -3194,22 +3197,32 @@ class PlaybackManager { } } + /** + * @param {object} streamInfo + * @param {MediaError} errorType + * @param {boolean} currentlyPreventsVideoStreamCopy + * @param {boolean} currentlyPreventsAudioStreamCopy + * @returns {boolean} Returns true if the stream should be retried by transcoding. + */ function enablePlaybackRetryWithTranscoding(streamInfo, errorType, currentlyPreventsVideoStreamCopy, currentlyPreventsAudioStreamCopy) { - // mediadecodeerror, medianotsupported, network, servererror return streamInfo.mediaSource.SupportsTranscoding && (!currentlyPreventsVideoStreamCopy || !currentlyPreventsAudioStreamCopy); } + /** + * Playback error handler. + * @param {Error} e + * @param {object} error + * @param {object} error.streamInfo + * @param {MediaError} error.type + */ function onPlaybackError(e, error) { const player = this; error = error || {}; - // network - // mediadecodeerror - // medianotsupported const errorType = error.type; - console.debug('playbackmanager playback error type: ' + (errorType || '')); + console.warn('[playbackmanager] onPlaybackError:', error); const streamInfo = error.streamInfo || getPlayerData(player).streamInfo; @@ -3235,8 +3248,7 @@ class PlaybackManager { Events.trigger(self, 'playbackerror', [errorType]); - const displayErrorCode = 'NoCompatibleStream'; - onPlaybackStopped.call(player, e, displayErrorCode); + onPlaybackStopped.call(player, e, `.${errorType}`); } function onPlaybackStopped(e, displayErrorCode) { diff --git a/src/plugins/htmlAudioPlayer/plugin.js b/src/plugins/htmlAudioPlayer/plugin.js index d9104638c8..1399003ad9 100644 --- a/src/plugins/htmlAudioPlayer/plugin.js +++ b/src/plugins/htmlAudioPlayer/plugin.js @@ -5,6 +5,7 @@ import profileBuilder from '../../scripts/browserDeviceProfile'; import { getIncludeCorsCredentials } from '../../scripts/settings/webSettings'; import { PluginType } from '../../types/plugin.ts'; import Events from '../../utils/events.ts'; +import { MediaError } from 'types/mediaError'; function getDefaultProfile() { return profileBuilder({}); @@ -343,7 +344,7 @@ class HtmlAudioPlayer { return; case 2: // MEDIA_ERR_NETWORK - type = 'network'; + type = MediaError.NETWORK_ERROR; break; case 3: // MEDIA_ERR_DECODE @@ -351,12 +352,12 @@ class HtmlAudioPlayer { htmlMediaHelper.handleHlsJsMediaError(self); return; } else { - type = 'mediadecodeerror'; + type = MediaError.MEDIA_DECODE_ERROR; } break; case 4: // MEDIA_ERR_SRC_NOT_SUPPORTED - type = 'medianotsupported'; + type = MediaError.MEDIA_NOT_SUPPORTED; break; default: // seeing cases where Edge is firing error events with no error code diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index c00116d515..6185ecdafe 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -37,6 +37,7 @@ import Events from '../../utils/events.ts'; import { includesAny } from '../../utils/container.ts'; import { isHls } from '../../utils/mediaSource.ts'; import debounce from 'lodash-es/debounce'; +import { MediaError } from 'types/mediaError'; /** * Returns resolved URL. @@ -1021,7 +1022,8 @@ export class HtmlVideoPlayer { // Only trigger this if there is media info // Avoid triggering in situations where it might not actually have a video stream (audio only live tv channel) if (!mediaSource || mediaSource.RunTimeTicks) { - onErrorInternal(this, 'mediadecodeerror'); + // FIXME: This shouldn't really be a decode error... + onErrorInternal(this, MediaError.MEDIA_DECODE_ERROR); } } } @@ -1073,7 +1075,7 @@ export class HtmlVideoPlayer { return; case 2: // MEDIA_ERR_NETWORK - type = 'network'; + type = MediaError.NETWORK_ERROR; break; case 3: // MEDIA_ERR_DECODE @@ -1081,12 +1083,12 @@ export class HtmlVideoPlayer { handleHlsJsMediaError(this); return; } else { - type = 'mediadecodeerror'; + type = MediaError.MEDIA_DECODE_ERROR; } break; case 4: // MEDIA_ERR_SRC_NOT_SUPPORTED - type = 'medianotsupported'; + type = MediaError.MEDIA_NOT_SUPPORTED; break; default: // seeing cases where Edge is firing error events with no error code @@ -1276,7 +1278,8 @@ export class HtmlVideoPlayer { // HACK: Give JavascriptSubtitlesOctopus time to dispose itself setTimeout(() => { - onErrorInternal(htmlVideoPlayer, 'mediadecodeerror'); + // FIXME: Probably not a decode error... + onErrorInternal(this, MediaError.MEDIA_DECODE_ERROR); }, 0); }, timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000, diff --git a/src/types/mediaError.ts b/src/types/mediaError.ts new file mode 100644 index 0000000000..8124d38f13 --- /dev/null +++ b/src/types/mediaError.ts @@ -0,0 +1,9 @@ +/** + * Error types used for reporting media playback errors. + */ +export enum MediaError { + MEDIA_DECODE_ERROR = 'mediadecodeerror', + MEDIA_NOT_SUPPORTED = 'medianotsupported', + NETWORK_ERROR = 'network', + SERVER_ERROR = 'servererror' +} From 15d30ffaebbafa6e2adb3edb06d0fb5ffe3122e1 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 8 Mar 2024 20:26:01 -0500 Subject: [PATCH 051/293] Add new media error types --- src/components/htmlMediaHelper.js | 10 +++------- src/components/playback/playbackmanager.js | 22 ++++++++++++++++------ src/plugins/htmlVideoPlayer/plugin.js | 5 ++--- src/strings/en-us.json | 10 ++++++++++ src/types/mediaError.ts | 12 ++++++++---- 5 files changed, 39 insertions(+), 20 deletions(-) diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 70be9c45f1..09eb2a6095 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -88,7 +88,7 @@ export function handleHlsJsMediaError(instance, reject) { if (reject) { reject(); } else { - onErrorInternal(instance, MediaError.MEDIA_DECODE_ERROR); + onErrorInternal(instance, MediaError.FATAL_HLS_ERROR); } } } @@ -99,11 +99,7 @@ export function onErrorInternal(instance, type) { instance.destroyCustomTrack(instance._mediaElement); } - Events.trigger(instance, 'error', [ - { - type: type - } - ]); + Events.trigger(instance, 'error', [{ type }]); } export function isValidDuration(duration) { @@ -319,7 +315,7 @@ export function bindEventsToHlsPlayer(instance, hls, elem, onErrorFn, resolve, r reject(); reject = null; } else { - onErrorInternal(instance, MediaError.MEDIA_DECODE_ERROR); + onErrorInternal(instance, MediaError.FATAL_HLS_ERROR); } break; } diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 32108e77d5..cfdfcbdb52 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1,3 +1,4 @@ +import { PlaybackErrorCode } from '@jellyfin/sdk/lib/generated-client/models/playback-error-code.js'; import merge from 'lodash-es/merge'; import Screenfull from 'screenfull'; @@ -591,9 +592,18 @@ function supportsDirectPlay(apiClient, item, mediaSource) { return Promise.resolve(false); } +/** + * @param {PlaybackManager} instance + * @param {import('@jellyfin/sdk/lib/generated-client/index.js').PlaybackInfoResponse} result + * @returns {boolean} + */ function validatePlaybackInfoResult(instance, result) { if (result.ErrorCode) { - showPlaybackInfoErrorMessage(instance, 'PlaybackError' + result.ErrorCode); + // NOTE: To avoid needing to retranslate the "NoCompatibleStream" message, + // we need to keep the key in the same format. + const errMessage = result.ErrorCode === PlaybackErrorCode.NoCompatibleStream ? + 'PlaybackErrorNoCompatibleStream' : `PlaybackError.${result.ErrorCode}`; + showPlaybackInfoErrorMessage(instance, errMessage); return false; } @@ -1723,7 +1733,7 @@ class PlaybackManager { streamInfo.resetSubtitleOffset = false; if (!streamInfo.url) { - showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream'); + showPlaybackInfoErrorMessage(self, `PlaybackError.${MediaError.NO_MEDIA_ERROR}`); return; } @@ -1771,7 +1781,7 @@ class PlaybackManager { playerData.isChangingStream = false; onPlaybackError.call(player, e, { - type: MediaError.MEDIA_DECODE_ERROR, + type: MediaError.PLAYER_ERROR, streamInfo: streamInfo }); }); @@ -2182,7 +2192,7 @@ class PlaybackManager { // If it's still null then there's nothing to play if (!firstItem) { - showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream'); + showPlaybackInfoErrorMessage(self, `PlaybackError.${MediaError.NO_MEDIA_ERROR}`); return Promise.reject(); } @@ -2554,7 +2564,7 @@ class PlaybackManager { onPlaybackStarted(player, playOptions, streamInfo, mediaSource); setTimeout(function () { onPlaybackError.call(player, err, { - type: MediaError.MEDIA_DECODE_ERROR, + type: MediaError.PLAYER_ERROR, streamInfo }); }, 100); @@ -2788,7 +2798,7 @@ class PlaybackManager { return mediaSource; } } else { - showPlaybackInfoErrorMessage(self, 'PlaybackErrorNoCompatibleStream'); + showPlaybackInfoErrorMessage(self, `PlaybackError.${MediaError.NO_MEDIA_ERROR}`); return Promise.reject(); } }); diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 6185ecdafe..6f78cb80c1 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -1022,8 +1022,7 @@ export class HtmlVideoPlayer { // Only trigger this if there is media info // Avoid triggering in situations where it might not actually have a video stream (audio only live tv channel) if (!mediaSource || mediaSource.RunTimeTicks) { - // FIXME: This shouldn't really be a decode error... - onErrorInternal(this, MediaError.MEDIA_DECODE_ERROR); + onErrorInternal(this, MediaError.NO_MEDIA_ERROR); } } } @@ -1279,7 +1278,7 @@ export class HtmlVideoPlayer { // HACK: Give JavascriptSubtitlesOctopus time to dispose itself setTimeout(() => { // FIXME: Probably not a decode error... - onErrorInternal(this, MediaError.MEDIA_DECODE_ERROR); + onErrorInternal(this, MediaError.ASS_RENDER_ERROR); }, 0); }, timeOffset: (this._currentPlayOptions.transcodingOffsetTicks || 0) / 10000000, diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 13363d303f..e0318abe6d 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1228,6 +1228,16 @@ "Play": "Play", "PlayAllFromHere": "Play all from here", "PlaybackData": "Playback Info", + "PlaybackError.ASS_RENDER_ERROR": "", + "PlaybackError.FATAL_HLS_ERROR": "", + "PlaybackError.MEDIA_DECODE_ERROR": "", + "PlaybackError.MEDIA_NOT_SUPPORTED": "", + "PlaybackError.NETWORK_ERROR": "", + "PlaybackError.NO_MEDIA_ERROR": "", + "PlaybackError.PLAYER_ERROR": "", + "PlaybackError.SERVER_ERROR": "", + "PlaybackError.NotAllowed": "", + "PlaybackError.RateLimitExceeded": "", "PlaybackErrorNoCompatibleStream": "This client isn't compatible with the media and the server isn't sending a compatible media format.", "PlaybackErrorPlaceHolder": "This is a placeholder for physical media that Jellyfin cannot play. Please insert the disc to play.", "PlaybackRate": "Playback Speed", diff --git a/src/types/mediaError.ts b/src/types/mediaError.ts index 8124d38f13..d12d74f17f 100644 --- a/src/types/mediaError.ts +++ b/src/types/mediaError.ts @@ -2,8 +2,12 @@ * Error types used for reporting media playback errors. */ export enum MediaError { - MEDIA_DECODE_ERROR = 'mediadecodeerror', - MEDIA_NOT_SUPPORTED = 'medianotsupported', - NETWORK_ERROR = 'network', - SERVER_ERROR = 'servererror' + ASS_RENDER_ERROR = 'ASS_RENDER_ERROR', + FATAL_HLS_ERROR = 'FATAL_HLS_ERROR', + MEDIA_DECODE_ERROR = 'MEDIA_DECODE_ERROR', + MEDIA_NOT_SUPPORTED = 'MEDIA_NOT_SUPPORTED', + NETWORK_ERROR = 'NETWORK_ERROR', + NO_MEDIA_ERROR = 'NO_MEDIA_ERROR', + PLAYER_ERROR = 'PLAYER_ERROR', + SERVER_ERROR = 'SERVER_ERROR' } From 5a5a70dad0b1648b22174b2834f9da1e384e528e Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 10 Mar 2024 01:17:53 -0500 Subject: [PATCH 052/293] Add playback error messages and fix error propogation --- src/components/htmlMediaHelper.js | 2 +- src/components/playback/playbackmanager.js | 7 ++++--- src/strings/en-us.json | 20 ++++++++++---------- src/utils/mediaError.ts | 11 +++++++++++ 4 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 src/utils/mediaError.ts diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 09eb2a6095..fa1b343caa 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -190,7 +190,7 @@ export function playWithPromise(elem, onErrorFn) { // swallow this error because the user can still click the play button on the video element return Promise.resolve(); } - return Promise.reject(); + return Promise.reject(e); }) .then(() => { onSuccessfulPlay(elem, onErrorFn); diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index cfdfcbdb52..7b2d96d078 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -20,6 +20,7 @@ import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts'; import { getItemBackdropImageUrl } from '../../utils/jellyfin-apiclient/backdropImage'; import { MediaError } from 'types/mediaError'; +import { getMediaError } from 'utils/mediaError'; const UNLIMITED_ITEMS = -1; @@ -1781,7 +1782,7 @@ class PlaybackManager { playerData.isChangingStream = false; onPlaybackError.call(player, e, { - type: MediaError.PLAYER_ERROR, + type: getMediaError(e), streamInfo: streamInfo }); }); @@ -2564,7 +2565,7 @@ class PlaybackManager { onPlaybackStarted(player, playOptions, streamInfo, mediaSource); setTimeout(function () { onPlaybackError.call(player, err, { - type: MediaError.PLAYER_ERROR, + type: getMediaError(err), streamInfo }); }, 100); @@ -3232,7 +3233,7 @@ class PlaybackManager { const errorType = error.type; - console.warn('[playbackmanager] onPlaybackError:', error); + console.warn('[playbackmanager] onPlaybackError:', e, error); const streamInfo = error.streamInfo || getPlayerData(player).streamInfo; diff --git a/src/strings/en-us.json b/src/strings/en-us.json index e0318abe6d..01237cb45d 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1228,16 +1228,16 @@ "Play": "Play", "PlayAllFromHere": "Play all from here", "PlaybackData": "Playback Info", - "PlaybackError.ASS_RENDER_ERROR": "", - "PlaybackError.FATAL_HLS_ERROR": "", - "PlaybackError.MEDIA_DECODE_ERROR": "", - "PlaybackError.MEDIA_NOT_SUPPORTED": "", - "PlaybackError.NETWORK_ERROR": "", - "PlaybackError.NO_MEDIA_ERROR": "", - "PlaybackError.PLAYER_ERROR": "", - "PlaybackError.SERVER_ERROR": "", - "PlaybackError.NotAllowed": "", - "PlaybackError.RateLimitExceeded": "", + "PlaybackError.ASS_RENDER_ERROR": "An error was encountered in the ASS/SSA subtitle renderer.", + "PlaybackError.FATAL_HLS_ERROR": "A fatal error was encountered in the HLS stream.", + "PlaybackError.MEDIA_DECODE_ERROR": "Playback failed due to an error decoding the media.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Playback failed because the media is not supported by this client.", + "PlaybackError.NETWORK_ERROR": "Playback failed due to a network error.", + "PlaybackError.NO_MEDIA_ERROR": "Unable to find a valid media source to play.", + "PlaybackError.PLAYER_ERROR": "Playback failed due to a fatal player error.", + "PlaybackError.SERVER_ERROR": "Playback failed due to a server error.", + "PlaybackError.NotAllowed": "Playback of this media is not allowed.", + "PlaybackError.RateLimitExceeded": "This media cannot be played at this time due to rate limits.", "PlaybackErrorNoCompatibleStream": "This client isn't compatible with the media and the server isn't sending a compatible media format.", "PlaybackErrorPlaceHolder": "This is a placeholder for physical media that Jellyfin cannot play. Please insert the disc to play.", "PlaybackRate": "Playback Speed", diff --git a/src/utils/mediaError.ts b/src/utils/mediaError.ts new file mode 100644 index 0000000000..14b6c91eea --- /dev/null +++ b/src/utils/mediaError.ts @@ -0,0 +1,11 @@ +import { MediaError } from 'types/mediaError'; + +/** + * Maps a DOMException name to an equivalent {@link MediaError}. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMException#error_names + */ +export function getMediaError(e?: DOMException): MediaError { + if (e?.name === 'NotSupportedError') return MediaError.MEDIA_NOT_SUPPORTED; + return MediaError.PLAYER_ERROR; +} From 005bc0560f293974c77d51367d8a16feeb6e51fe Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 10 Mar 2024 01:22:10 -0500 Subject: [PATCH 053/293] Fix case sensitivity in protocol checks --- src/plugins/htmlVideoPlayer/plugin.js | 2 +- src/utils/mediaSource.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index 6f78cb80c1..ad0682935d 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -521,7 +521,7 @@ export class HtmlVideoPlayer { if (enableHlsJsPlayer(options.mediaSource.RunTimeTicks, 'Video') && isHls(options.mediaSource)) { return this.setSrcWithHlsJs(elem, options, val); - } else if (options.playMethod !== 'Transcode' && options.mediaSource.Container === 'flv') { + } else if (options.playMethod !== 'Transcode' && options.mediaSource.Container?.toUpperCase() === 'FLV') { return this.setSrcWithFlvJs(elem, options, val); } else { elem.autoplay = true; diff --git a/src/utils/mediaSource.ts b/src/utils/mediaSource.ts index 8238ef1d4d..ef196db60f 100644 --- a/src/utils/mediaSource.ts +++ b/src/utils/mediaSource.ts @@ -6,5 +6,6 @@ import type { MediaSourceInfo } from '@jellyfin/sdk/lib/generated-client'; * @returns _true_ if the media source is an HLS stream, _false_ otherwise. */ export function isHls(mediaSource: MediaSourceInfo|null|undefined): boolean { - return (mediaSource?.TranscodingSubProtocol || mediaSource?.Container) === 'hls'; + const protocol = mediaSource?.TranscodingSubProtocol || mediaSource?.Container; + return protocol?.toUpperCase() === 'HLS'; } From a709d9e2c02331d0845b327d9a3b63c30b4603da Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 24 Mar 2024 02:41:50 -0400 Subject: [PATCH 054/293] Cancel playback on error --- src/components/playback/playbackmanager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 7b2d96d078..eb9d40a83b 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1734,6 +1734,7 @@ class PlaybackManager { streamInfo.resetSubtitleOffset = false; if (!streamInfo.url) { + cancelPlayback(); showPlaybackInfoErrorMessage(self, `PlaybackError.${MediaError.NO_MEDIA_ERROR}`); return; } @@ -1783,7 +1784,7 @@ class PlaybackManager { onPlaybackError.call(player, e, { type: getMediaError(e), - streamInfo: streamInfo + streamInfo }); }); } From fb7353f9e78fd3889d8cb07cfdb4c60439d9601b Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Mon, 25 Mar 2024 05:13:35 +0000 Subject: [PATCH 055/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 40a92a762a..af1cbe4478 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -1835,5 +1835,6 @@ "LabelQscale": "Qscale", "LabelQscaleHelp": "De kwaliteitsschaal van afbeeldingen die door FFmpeg worden geproduceerd, waarbij 2 de hoogste en 31 de laagste kwaliteit is.", "LabelExtractTrickplayDuringLibraryScanHelp": "Genereer trickplay-afbeeldingen wanneer video's worden geïmporteerd tijdens de bibliotheekscan. Anders zullen ze worden uitgepakt tijdens de geplande taak voor trickplay-afbeeldingen. Als de generatie op niet-blokkerend wordt ingesteld heeft deze optie geen negatieve invloed op de duur van de bibliotheekscan.", - "ExtractTrickplayImagesHelp": "Trickplay-afbeeldingen lijken op hoofdstukafbeeldingen, maar beslaan de gehele lengte van de inhoud en geven een voorvertoning bij het spoelen door video's." + "ExtractTrickplayImagesHelp": "Trickplay-afbeeldingen lijken op hoofdstukafbeeldingen, maar beslaan de gehele lengte van de inhoud en geven een voorvertoning bij het spoelen door video's.", + "Lyric": "Songtekst" } From 09a74854abaec95536f078ffbe96b0832372d0c1 Mon Sep 17 00:00:00 2001 From: Dr Aghosh B Prasad Date: Mon, 25 Mar 2024 05:48:02 +0000 Subject: [PATCH 056/293] Translated using Weblate (Malayalam) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ml/ --- src/strings/ml.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/ml.json b/src/strings/ml.json index 0a197d5011..2ce8972dac 100644 --- a/src/strings/ml.json +++ b/src/strings/ml.json @@ -1587,5 +1587,7 @@ "ButtonBackspace": "ബാക്ക്സ്പേസ്", "AddToFavorites": "പ്രിയപ്പെട്ടതിലേക്ക് ചേർക്കുക", "AllowCollectionManagement": "ശേഖരങ്ങൾ നിയന്ത്രിക്കാൻ ഈ ഉപയോക്താവിനെ അനുവദിക്കുക", - "AllowSegmentDeletion": "സെഗ്‌മെൻ്റുകൾ ഇല്ലാതാക്കുക" + "AllowSegmentDeletion": "സെഗ്‌മെൻ്റുകൾ ഇല്ലാതാക്കുക", + "AllowSubtitleManagement": "സബ്‌ടൈറ്റിലുകൾ എഡിറ്റ് ചെയ്യാൻ ഈ ഉപയോക്താവിനെ അനുവദിക്കുക", + "AllowSegmentDeletionHelp": "ക്ലയൻ്റ് ഡൗൺലോഡ് ചെയ്ത ശേഷം പഴയ സെഗ്‌മെൻ്റുകൾ ഇല്ലാതാക്കുക. ഇത് മുഴുവൻ ട്രാൻസ്കോഡ് ചെയ്ത ഫയലും ഡിസ്കിൽ സൂക്ഷിക്കുന്നത് തടയുന്നു. നിങ്ങൾക്ക് പ്ലേബാക്ക് പ്രശ്നങ്ങൾ അനുഭവപ്പെടുകയാണെങ്കിൽ ഇത് ഓഫാക്കുക." } From 965cb94fae27462a83942e6a24e22da2c05ee01c Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Mon, 25 Mar 2024 03:05:12 -0400 Subject: [PATCH 057/293] Remove outdated comment --- src/plugins/htmlVideoPlayer/plugin.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/htmlVideoPlayer/plugin.js b/src/plugins/htmlVideoPlayer/plugin.js index ad0682935d..5f882a2383 100644 --- a/src/plugins/htmlVideoPlayer/plugin.js +++ b/src/plugins/htmlVideoPlayer/plugin.js @@ -1277,7 +1277,6 @@ export class HtmlVideoPlayer { // HACK: Give JavascriptSubtitlesOctopus time to dispose itself setTimeout(() => { - // FIXME: Probably not a decode error... onErrorInternal(this, MediaError.ASS_RENDER_ERROR); }, 0); }, From adb22abdc22ecc9222b367344cbf09830e093664 Mon Sep 17 00:00:00 2001 From: Jpuc1143 Date: Wed, 22 Feb 2023 15:10:20 -0300 Subject: [PATCH 058/293] Add "AllowedTags" option to parental controls --- CONTRIBUTORS.md | 2 + .../routes/users/parentalcontrol.tsx | 162 +++++++++++++----- .../users/{BlockedTagList.tsx => TagList.tsx} | 9 +- src/strings/en-us.json | 1 + 4 files changed, 126 insertions(+), 48 deletions(-) rename src/components/dashboard/users/{BlockedTagList.tsx => TagList.tsx} (75%) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b2c6b246e9..a758d06f42 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -83,6 +83,8 @@ - [Chris-Codes-It](https://github.com/Chris-Codes-It) - [Vedant](https://github.com/viktory36) - [GeorgeH005](https://github.com/GeorgeH005) +- [JPUC1143](https://github.com/Jpuc1143) +- [David Angel](https://github.com/davidangel) ## Emby Contributors diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index 52a94df6c8..c5ce145fd1 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -6,7 +6,7 @@ import escapeHTML from 'escape-html'; import globalize from '../../../../scripts/globalize'; import LibraryMenu from '../../../../scripts/libraryMenu'; import AccessScheduleList from '../../../../components/dashboard/users/AccessScheduleList'; -import BlockedTagList from '../../../../components/dashboard/users/BlockedTagList'; +import TagList from '../../../../components/dashboard/users/TagList'; import ButtonElement from '../../../../elements/ButtonElement'; import SectionTitleContainer from '../../../../elements/SectionTitleContainer'; import SectionTabs from '../../../../components/dashboard/users/SectionTabs'; @@ -16,6 +16,7 @@ import { getParameterByName } from '../../../../utils/url'; import CheckBoxElement from '../../../../elements/CheckBoxElement'; import SelectElement from '../../../../elements/SelectElement'; import Page from '../../../../components/Page'; +import prompt from '../../../../components/prompt/prompt'; type UnratedItem = { name: string; @@ -28,6 +29,7 @@ const UserParentalControl: FunctionComponent = () => { const [ parentalRatings, setParentalRatings ] = useState([]); const [ unratedItems, setUnratedItems ] = useState([]); const [ accessSchedules, setAccessSchedules ] = useState([]); + const [ allowedTags, setAllowedTags ] = useState([]); const [ blockedTags, setBlockedTags ] = useState([]); const element = useRef(null); @@ -106,6 +108,29 @@ const UserParentalControl: FunctionComponent = () => { blockUnratedItems.dispatchEvent(new CustomEvent('create')); }, []); + const loadAllowedTags = useCallback((tags) => { + const page = element.current; + + if (!page) { + console.error('Unexpected null reference'); + return; + } + + setAllowedTags(tags); + + const allowedTagsElem = page.querySelector('.allowedTags') as HTMLDivElement; + + for (const btnDeleteTag of allowedTagsElem.querySelectorAll('.btnDeleteTag')) { + btnDeleteTag.addEventListener('click', function () { + const tag = btnDeleteTag.getAttribute('data-tag'); + const newTags = tags.filter(function (t: string) { + return t != tag; + }); + loadAllowedTags(newTags); + }); + } + }, []); + const loadBlockedTags = useCallback((tags) => { const page = element.current; @@ -165,6 +190,7 @@ const UserParentalControl: FunctionComponent = () => { LibraryMenu.setTitle(user.Name); loadUnratedItems(user); + loadAllowedTags(user.Policy.AllowedTags); loadBlockedTags(user.Policy.BlockedTags); populateRatings(allParentalRatings); let ratingValue = ''; @@ -188,7 +214,7 @@ const UserParentalControl: FunctionComponent = () => { } renderAccessSchedule(user.Policy.AccessSchedules || []); loading.hide(); - }, [loadBlockedTags, loadUnratedItems, populateRatings, renderAccessSchedule]); + }, [loadAllowedTags, loadBlockedTags, loadUnratedItems, populateRatings, renderAccessSchedule]); const loadData = useCallback(() => { loading.show(); @@ -212,32 +238,6 @@ const UserParentalControl: FunctionComponent = () => { loadData(); - const onSaveComplete = () => { - loading.hide(); - toast(globalize.translate('SettingsSaved')); - }; - - const saveUser = (user: UserDto) => { - if (!user.Id || !user.Policy) { - throw new Error('Unexpected null user id or policy'); - } - - const parentalRating = parseInt((page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value, 10); - user.Policy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; - user.Policy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { - return i.checked; - }).map(function (i) { - return i.getAttribute('data-itemtype'); - }); - user.Policy.AccessSchedules = getSchedulesFromPage(); - user.Policy.BlockedTags = getBlockedTagsFromPage(); - window.ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { - onSaveComplete(); - }).catch(err => { - console.error('[userparentalcontrol] failed to update user policy', err); - }); - }; - const showSchedulePopup = (schedule: AccessSchedule, index: number) => { schedule = schedule || {}; import('../../../../components/accessSchedule/accessSchedule').then(({ default: accessschedule }) => { @@ -270,6 +270,27 @@ const UserParentalControl: FunctionComponent = () => { }) as AccessSchedule[]; }; + const getAllowedTagsFromPage = () => { + return Array.prototype.map.call(page.querySelectorAll('.allowedTag'), function (elem) { + return elem.getAttribute('data-tag'); + }) as string[]; + }; + + const showAllowedTagPopup = () => { + prompt({ + label: globalize.translate('LabelTag') + }).then(function (value) { + const tags = getAllowedTagsFromPage(); + + if (tags.indexOf(value) == -1) { + tags.push(value); + loadAllowedTags(tags); + } + }).catch(() => { + // prompt closed + }); + }; + const getBlockedTagsFromPage = () => { return Array.prototype.map.call(page.querySelectorAll('.blockedTag'), function (elem) { return elem.getAttribute('data-tag'); @@ -277,24 +298,27 @@ const UserParentalControl: FunctionComponent = () => { }; const showBlockedTagPopup = () => { - import('../../../../components/prompt/prompt').then(({ default: prompt }) => { - prompt({ - label: globalize.translate('LabelTag') - }).then(function (value) { - const tags = getBlockedTagsFromPage(); + prompt({ + label: globalize.translate('LabelTag') + }).then(function (value) { + const tags = getBlockedTagsFromPage(); - if (tags.indexOf(value) == -1) { - tags.push(value); - loadBlockedTags(tags); - } - }).catch(() => { - // prompt closed - }); - }).catch(err => { - console.error('[userparentalcontrol] failed to load prompt', err); + if (tags.indexOf(value) == -1) { + tags.push(value); + loadBlockedTags(tags); + } + }).catch(() => { + // prompt closed }); }; + const onSaveComplete = () => { + loading.hide(); + toast(globalize.translate('SettingsSaved')); + }; + + const saveUser = handleSaveUser(page, getSchedulesFromPage, getAllowedTagsFromPage, getBlockedTagsFromPage, onSaveComplete); + const onSubmit = (e: Event) => { loading.show(); const userId = getParameterByName('userId'); @@ -318,12 +342,16 @@ const UserParentalControl: FunctionComponent = () => { }, -1); }); + (page.querySelector('#btnAddAllowedTag') as HTMLButtonElement).addEventListener('click', function () { + showAllowedTagPopup(); + }); + (page.querySelector('#btnAddBlockedTag') as HTMLButtonElement).addEventListener('click', function () { showBlockedTagPopup(); }); (page.querySelector('.userParentalControlForm') as HTMLFormElement).addEventListener('submit', onSubmit); - }, [loadBlockedTags, loadData, renderAccessSchedule]); + }, [loadAllowedTags, loadBlockedTags, loadData, renderAccessSchedule]); const optionMaxParentalRating = () => { let content = ''; @@ -378,6 +406,27 @@ const UserParentalControl: FunctionComponent = () => {
+
+ +
+ {allowedTags?.map(tag => { + return ; + })} +
+
{ />
{blockedTags.map(tag => { - return ; })}
@@ -435,4 +485,28 @@ const UserParentalControl: FunctionComponent = () => { ); }; +function handleSaveUser(page: HTMLDivElement, getSchedulesFromPage: () => AccessSchedule[], getAllowedTagsFromPage: () => string[], getBlockedTagsFromPage: () => string[], onSaveComplete: () => void) { + return (user: UserDto) => { + if (!user.Id || !user.Policy) { + throw new Error('Unexpected null user id or policy'); + } + + const parentalRating = parseInt((page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value, 10); + user.Policy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; + user.Policy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { + return i.checked; + }).map(function (i) { + return i.getAttribute('data-itemtype'); + }); + user.Policy.AccessSchedules = getSchedulesFromPage(); + user.Policy.AllowedTags = getAllowedTagsFromPage(); + user.Policy.BlockedTags = getBlockedTagsFromPage(); + window.ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { + onSaveComplete(); + }).catch(err => { + console.error('[userparentalcontrol] failed to update user policy', err); + }); + }; +} + export default UserParentalControl; diff --git a/src/components/dashboard/users/BlockedTagList.tsx b/src/components/dashboard/users/TagList.tsx similarity index 75% rename from src/components/dashboard/users/BlockedTagList.tsx rename to src/components/dashboard/users/TagList.tsx index 5158a63e97..531ee2f6e6 100644 --- a/src/components/dashboard/users/BlockedTagList.tsx +++ b/src/components/dashboard/users/TagList.tsx @@ -2,10 +2,11 @@ import React, { FunctionComponent } from 'react'; import IconButtonElement from '../../../elements/IconButtonElement'; type IProps = { - tag?: string; + tag?: string, + tagType?: string; }; -const BlockedTagList: FunctionComponent = ({ tag }: IProps) => { +const TagList: FunctionComponent = ({ tag, tagType }: IProps) => { return (
@@ -16,7 +17,7 @@ const BlockedTagList: FunctionComponent = ({ tag }: IProps) => {
= ({ tag }: IProps) => { ); }; -export default BlockedTagList; +export default TagList; diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 01237cb45d..1d48742604 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -528,6 +528,7 @@ "LabelAlbum": "Album", "LabelAlbumArtists": "Album artists", "LabelAlbumGain": "Album Gain", + "LabelAllowContentWithTags": "Allow items with tags", "LabelAllowedRemoteAddresses": "Remote IP address filter", "LabelAllowedRemoteAddressesMode": "Remote IP address filter mode", "LabelAllowHWTranscoding": "Allow hardware transcoding", From d52c56eb2ed21476982661c101f95f3813587b06 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sat, 23 Mar 2024 03:46:05 -0400 Subject: [PATCH 059/293] Remove global ApiClient reference --- .../routes/users/parentalcontrol.tsx | 26 +++++++++++-------- src/components/ServerConnections.js | 12 +++++++++ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index c5ce145fd1..cca19e719c 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -17,6 +17,7 @@ import CheckBoxElement from '../../../../elements/CheckBoxElement'; import SelectElement from '../../../../elements/SelectElement'; import Page from '../../../../components/Page'; import prompt from '../../../../components/prompt/prompt'; +import ServerConnections from 'components/ServerConnections'; type UnratedItem = { name: string; @@ -487,25 +488,28 @@ const UserParentalControl: FunctionComponent = () => { function handleSaveUser(page: HTMLDivElement, getSchedulesFromPage: () => AccessSchedule[], getAllowedTagsFromPage: () => string[], getBlockedTagsFromPage: () => string[], onSaveComplete: () => void) { return (user: UserDto) => { - if (!user.Id || !user.Policy) { + const userId = user.Id; + const userPolicy = user.Policy; + if (!userId || !userPolicy) { throw new Error('Unexpected null user id or policy'); } const parentalRating = parseInt((page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value, 10); - user.Policy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; - user.Policy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { + userPolicy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; + userPolicy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { return i.checked; }).map(function (i) { return i.getAttribute('data-itemtype'); }); - user.Policy.AccessSchedules = getSchedulesFromPage(); - user.Policy.AllowedTags = getAllowedTagsFromPage(); - user.Policy.BlockedTags = getBlockedTagsFromPage(); - window.ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { - onSaveComplete(); - }).catch(err => { - console.error('[userparentalcontrol] failed to update user policy', err); - }); + userPolicy.AccessSchedules = getSchedulesFromPage(); + userPolicy.AllowedTags = getAllowedTagsFromPage(); + userPolicy.BlockedTags = getBlockedTagsFromPage(); + ServerConnections.getCurrentApiClientAsync() + .then(apiClient => apiClient.updateUserPolicy(userId, userPolicy)) + .then(() => onSaveComplete()) + .catch(err => { + console.error('[userparentalcontrol] failed to update user policy', err); + }); }; } diff --git a/src/components/ServerConnections.js b/src/components/ServerConnections.js index 9bdb82fc60..70dcc931d0 100644 --- a/src/components/ServerConnections.js +++ b/src/components/ServerConnections.js @@ -104,6 +104,18 @@ class ServerConnections extends ConnectionManager { return apiClient; } + /** + * Gets the ApiClient that is currently connected or throws if not defined. + * @async + * @returns {Promise} The current ApiClient instance. + */ + async getCurrentApiClientAsync() { + const apiClient = this.currentApiClient(); + if (!apiClient) throw new Error('[ServerConnection] No current ApiClient instance'); + + return apiClient; + } + onLocalUserSignedIn(user) { const apiClient = this.getApiClient(user.ServerId); this.setLocalApiClient(apiClient); From 2e855382fe0aaf28c74ed39d83c466fe220cd11f Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 24 Mar 2024 03:43:40 -0400 Subject: [PATCH 060/293] Cleanup types and functions --- .../routes/users/parentalcontrol.tsx | 104 +++++++++--------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index cca19e719c..5efa0f93dd 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -25,13 +25,44 @@ type UnratedItem = { checkedAttribute: string }; +function handleSaveUser( + page: HTMLDivElement, + getSchedulesFromPage: () => AccessSchedule[], + getAllowedTagsFromPage: () => string[], + getBlockedTagsFromPage: () => string[], + onSaveComplete: () => void +) { + return (user: UserDto) => { + const userId = user.Id; + const userPolicy = user.Policy; + if (!userId || !userPolicy) { + throw new Error('Unexpected null user id or policy'); + } + + const parentalRating = parseInt((page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value, 10); + userPolicy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; + userPolicy.BlockUnratedItems = Array.prototype.filter + .call(page.querySelectorAll('.chkUnratedItem'), i => i.checked) + .map(i => i.getAttribute('data-itemtype')); + userPolicy.AccessSchedules = getSchedulesFromPage(); + userPolicy.AllowedTags = getAllowedTagsFromPage(); + userPolicy.BlockedTags = getBlockedTagsFromPage(); + ServerConnections.getCurrentApiClientAsync() + .then(apiClient => apiClient.updateUserPolicy(userId, userPolicy)) + .then(() => onSaveComplete()) + .catch(err => { + console.error('[userparentalcontrol] failed to update user policy', err); + }); + }; +} + const UserParentalControl: FunctionComponent = () => { const [ userName, setUserName ] = useState(''); const [ parentalRatings, setParentalRatings ] = useState([]); const [ unratedItems, setUnratedItems ] = useState([]); const [ accessSchedules, setAccessSchedules ] = useState([]); - const [ allowedTags, setAllowedTags ] = useState([]); - const [ blockedTags, setBlockedTags ] = useState([]); + const [ allowedTags, setAllowedTags ] = useState([]); + const [ blockedTags, setBlockedTags ] = useState([]); const element = useRef(null); @@ -109,7 +140,7 @@ const UserParentalControl: FunctionComponent = () => { blockUnratedItems.dispatchEvent(new CustomEvent('create')); }, []); - const loadAllowedTags = useCallback((tags) => { + const loadAllowedTags = useCallback((tags: string[]) => { const page = element.current; if (!page) { @@ -124,15 +155,13 @@ const UserParentalControl: FunctionComponent = () => { for (const btnDeleteTag of allowedTagsElem.querySelectorAll('.btnDeleteTag')) { btnDeleteTag.addEventListener('click', function () { const tag = btnDeleteTag.getAttribute('data-tag'); - const newTags = tags.filter(function (t: string) { - return t != tag; - }); + const newTags = tags.filter(t => t !== tag); loadAllowedTags(newTags); }); } }, []); - const loadBlockedTags = useCallback((tags) => { + const loadBlockedTags = useCallback((tags: string[]) => { const page = element.current; if (!page) { @@ -147,9 +176,7 @@ const UserParentalControl: FunctionComponent = () => { for (const btnDeleteTag of blockedTagsElem.querySelectorAll('.btnDeleteTag')) { btnDeleteTag.addEventListener('click', function () { const tag = btnDeleteTag.getAttribute('data-tag'); - const newTags = tags.filter(function (t: string) { - return t != tag; - }); + const newTags = tags.filter(t => t !== tag); loadBlockedTags(newTags); }); } @@ -171,15 +198,13 @@ const UserParentalControl: FunctionComponent = () => { btnDelete.addEventListener('click', function () { const index = parseInt(btnDelete.getAttribute('data-index') ?? '0', 10); schedules.splice(index, 1); - const newindex = schedules.filter(function (i: number) { - return i != index; - }); + const newindex = schedules.filter((i: number) => i != index); renderAccessSchedule(newindex); }); } }, []); - const loadUser = useCallback((user, allParentalRatings) => { + const loadUser = useCallback((user: UserDto, allParentalRatings: ParentalRating[]) => { const page = element.current; if (!page) { @@ -187,33 +212,31 @@ const UserParentalControl: FunctionComponent = () => { return; } - setUserName(user.Name); + setUserName(user.Name || ''); LibraryMenu.setTitle(user.Name); loadUnratedItems(user); - loadAllowedTags(user.Policy.AllowedTags); - loadBlockedTags(user.Policy.BlockedTags); + loadAllowedTags(user.Policy?.AllowedTags || []); + loadBlockedTags(user.Policy?.BlockedTags || []); populateRatings(allParentalRatings); + let ratingValue = ''; - - if (user.Policy.MaxParentalRating != null) { - for (let i = 0, length = allParentalRatings.length; i < length; i++) { - const rating = allParentalRatings[i]; - - if (user.Policy.MaxParentalRating >= rating.Value) { - ratingValue = rating.Value; + if (user.Policy?.MaxParentalRating) { + allParentalRatings.forEach(rating => { + if (rating.Value && user.Policy?.MaxParentalRating && user.Policy.MaxParentalRating >= rating.Value) { + ratingValue = `${rating.Value}`; } - } + }); } (page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value = ratingValue; - if (user.Policy.IsAdministrator) { + if (user.Policy?.IsAdministrator) { (page.querySelector('.accessScheduleSection') as HTMLDivElement).classList.add('hide'); } else { (page.querySelector('.accessScheduleSection') as HTMLDivElement).classList.remove('hide'); } - renderAccessSchedule(user.Policy.AccessSchedules || []); + renderAccessSchedule(user.Policy?.AccessSchedules || []); loading.hide(); }, [loadAllowedTags, loadBlockedTags, loadUnratedItems, populateRatings, renderAccessSchedule]); @@ -486,31 +509,4 @@ const UserParentalControl: FunctionComponent = () => { ); }; -function handleSaveUser(page: HTMLDivElement, getSchedulesFromPage: () => AccessSchedule[], getAllowedTagsFromPage: () => string[], getBlockedTagsFromPage: () => string[], onSaveComplete: () => void) { - return (user: UserDto) => { - const userId = user.Id; - const userPolicy = user.Policy; - if (!userId || !userPolicy) { - throw new Error('Unexpected null user id or policy'); - } - - const parentalRating = parseInt((page.querySelector('#selectMaxParentalRating') as HTMLSelectElement).value, 10); - userPolicy.MaxParentalRating = Number.isNaN(parentalRating) ? null : parentalRating; - userPolicy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { - return i.checked; - }).map(function (i) { - return i.getAttribute('data-itemtype'); - }); - userPolicy.AccessSchedules = getSchedulesFromPage(); - userPolicy.AllowedTags = getAllowedTagsFromPage(); - userPolicy.BlockedTags = getBlockedTagsFromPage(); - ServerConnections.getCurrentApiClientAsync() - .then(apiClient => apiClient.updateUserPolicy(userId, userPolicy)) - .then(() => onSaveComplete()) - .catch(err => { - console.error('[userparentalcontrol] failed to update user policy', err); - }); - }; -} - export default UserParentalControl; From 7ef90ee56428bff46f50da2408354f75c309447e Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 07:26:02 +0000 Subject: [PATCH 061/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 18c8999180..33a3f4dfc8 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1837,5 +1837,15 @@ "LabelExtractTrickplayDuringLibraryScan": "在媒体库扫描期间提取特技播放预览图", "ConfirmDeleteSeries": "删除此系列将从文件系统和媒体库中删除共计 {0} 集。您确定要继续吗?", "LabelExtractTrickplayDuringLibraryScanHelp": "在媒体库扫描期间导入视频时生成特技播放预览图。否则,它们将在特技播放预览图计划任务期间被提取。如果生成设置为非阻塞,则不会影响库扫描完成所需的时间。", - "Lyric": "歌词" + "Lyric": "歌词", + "PlaybackError.RateLimitExceeded": "由于速率限制,该媒体目前无法播放。", + "PlaybackError.ASS_RENDER_ERROR": "ASS/SSA 字幕渲染器遇到错误。", + "PlaybackError.FATAL_HLS_ERROR": "HLS 流中遇到致命错误。", + "PlaybackError.MEDIA_DECODE_ERROR": "由于媒体解码错误,播放失败。", + "PlaybackError.MEDIA_NOT_SUPPORTED": "播放失败,因为客户端不支持该媒体。", + "PlaybackError.NETWORK_ERROR": "由于网络错误,播放失败。", + "PlaybackError.NO_MEDIA_ERROR": "无法找到有效的媒体源来播放。", + "PlaybackError.PLAYER_ERROR": "由于致命的播放器错误,播放失败。", + "PlaybackError.SERVER_ERROR": "由于服务器错误,播放失败。", + "PlaybackError.NotAllowed": "该媒体被禁止播放。" } From cb5eb9148ef07e92530b67539a49fce3b94fdb03 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 07:26:48 +0000 Subject: [PATCH 062/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 816fcd3b63..24d69e242c 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1836,5 +1836,15 @@ "DeleteEntireSeries": "刪除共計 {0} 集", "LabelExtractTrickplayDuringLibraryScanHelp": "在媒體庫掃描期間導入視頻時生成特技播放預覽圖。否則,它們將在特技播放預覽圖計劃任務期間被提取。如果生成設置為非阻塞,則不會影響庫掃描完成所需的時間。", "LabelScanBehaviorHelp": "默認行為是非阻塞,即在生成特技播放預覽圖之前將媒體添加到庫中。阻塞將確保在將媒體添加到庫中之前生成特技播放預覽圖文件,但會使掃描時間明顯變長。", - "Lyric": "歌詞" + "Lyric": "歌詞", + "PlaybackError.ASS_RENDER_ERROR": "ASS/SSA 字幕渲染器遇到錯誤。", + "PlaybackError.FATAL_HLS_ERROR": "HLS 流中遇到致命錯誤。", + "PlaybackError.MEDIA_DECODE_ERROR": "由於媒體解碼錯誤,播放失敗。", + "PlaybackError.MEDIA_NOT_SUPPORTED": "播放失敗,因為客戶端不支持該媒體。", + "PlaybackError.NETWORK_ERROR": "由於網絡錯誤,播放失敗。", + "PlaybackError.NO_MEDIA_ERROR": "無法找到有效的媒體源來播放。", + "PlaybackError.PLAYER_ERROR": "由於致命的播放器錯誤,播放失敗。", + "PlaybackError.SERVER_ERROR": "由於服務器錯誤,播放失敗。", + "PlaybackError.NotAllowed": "該媒體被禁止播放。", + "PlaybackError.RateLimitExceeded": "由於速率限制,該媒體目前無法播放。" } From 13f621c2581f411777d68fca4722465baf1ccdc8 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 25 Mar 2024 09:21:00 +0000 Subject: [PATCH 063/293] Translated using Weblate (Portuguese (Portugal)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/ --- src/strings/pt-pt.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index d347db954d..42f425413b 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -1783,5 +1783,14 @@ "LabelUseReplayGainTags": "Usar etiquetas ReplayGain", "LabelUseReplayGainTagsHelp": "Procura etiquetas replaygain nos ficheiros áudio e utiliza-as em vez de calcular o valor LUFS. (Utiliza menos poder de computação. Substitui a opção 'Verificação LUFS')", "AllowSubtitleManagement": "Permitir a este utilizador editar legendas", - "DeleteName": "Eliminar {0}" + "DeleteName": "Eliminar {0}", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Abaixo do normal", + "PriorityIdle": "Inativo", + "LabelProcessPriority": "Prioridade do processo", + "Trickplay": "Trickplay", + "LabelTrickplayAccel": "Ativar a aceleração de hardware", + "AllowMjpegEncoding": "Permitir a codificação no formato MJPEG (usado durante a criação de trickplay)", + "LabelTrickplayAccelHelp": "Certifica-te de que ativas a opção \"Permitir codificação MJPEG\" em Transcodificação, se o teu hardware o suportar.", + "PriorityAboveNormal": "Acima do normal" } From bf6d06133ae3e4795f213f2b6d83e2ad2a2fc240 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 07:58:50 +0000 Subject: [PATCH 064/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 33a3f4dfc8..b6d1c14ca7 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1847,5 +1847,7 @@ "PlaybackError.NO_MEDIA_ERROR": "无法找到有效的媒体源来播放。", "PlaybackError.PLAYER_ERROR": "由于致命的播放器错误,播放失败。", "PlaybackError.SERVER_ERROR": "由于服务器错误,播放失败。", - "PlaybackError.NotAllowed": "该媒体被禁止播放。" + "PlaybackError.NotAllowed": "该媒体被禁止播放。", + "LabelAllowContentWithTags": "允许带有标签的项目", + "EnableSmoothScroll": "启用平滑滚动" } From 4fc8cfec414bcb2049e6e91691567af8fc112ef9 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 07:58:57 +0000 Subject: [PATCH 065/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 24d69e242c..0c28d4a9ab 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1846,5 +1846,7 @@ "PlaybackError.PLAYER_ERROR": "由於致命的播放器錯誤,播放失敗。", "PlaybackError.SERVER_ERROR": "由於服務器錯誤,播放失敗。", "PlaybackError.NotAllowed": "該媒體被禁止播放。", - "PlaybackError.RateLimitExceeded": "由於速率限制,該媒體目前無法播放。" + "PlaybackError.RateLimitExceeded": "由於速率限制,該媒體目前無法播放。", + "LabelAllowContentWithTags": "允許帶有標籤的項目", + "EnableSmoothScroll": "啟用平滑滾動" } From d56b93b9e0ffe8275da06184bc516d1e47c4df85 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 25 Mar 2024 09:06:58 +0000 Subject: [PATCH 066/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index 249f682cc7..63b7eac39a 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1786,5 +1786,14 @@ "LabelUseReplayGainTags": "Usar etiquetas ReplayGain", "LabelUseReplayGainTagsHelp": "Procura etiquetas replaygain nos ficheiros áudio e utiliza-as em vez de calcular o valor LUFS. (Utiliza menos poder de computação. Substitui a opção 'Verificação LUFS')", "AllowSubtitleManagement": "Permitir a este utilizador editar legendas", - "DeleteName": "Eliminar {0}" + "DeleteName": "Eliminar {0}", + "Trickplay": "Trickplay", + "AllowMjpegEncoding": "Permitir a codificação no formato MJPEG (usado durante a criação de trickplay)", + "PriorityIdle": "Inativo", + "LabelProcessPriority": "Prioridade do processo", + "LabelTrickplayAccelHelp": "Certifica-te de que ativas a opção \"Permitir codificação MJPEG\" em Transcodificação, se o teu hardware o suportar.", + "PriorityAboveNormal": "Acima do normal", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Abaixo do normal", + "LabelTrickplayAccel": "Ativar a aceleração de hardware" } From 254678005fadfce0c5530bdca704fa1147875499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Mon, 25 Mar 2024 09:46:40 +0000 Subject: [PATCH 067/293] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 59 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index 537fca38ac..d53b1cc77d 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1386,7 +1386,7 @@ "LabelTonemappingRange": "Rozsah mapování tónů", "TonemappingAlgorithmHelp": "Mapování tonů je možné dále ladit. Pokud možnostem zde nerozumíte, je možné ponechat vše ve výchozím nastavení. Doporučená hodnota je 'BT.2390'.", "LabelTonemappingAlgorithm": "Algoritmus mapování tónů", - "AllowTonemappingHelp": "Mapování tónů umožňuje změnit dynamický rozsah videa z HDR na SDR bez ztráty důležitých informací původního obrazu, jako jsou detaily a barvy. Tato funkce momentálně funguje pouze u videí, které obsahují 10bitové HDR10, HLG nebo Dolby Vision. Funkce rovněž vyžaduje OpenCL nebo CUDA.", + "AllowTonemappingHelp": "Mapování tónů umožňuje změnit dynamický rozsah videa z HDR na SDR bez ztráty důležitých informací původního obrazu, jako jsou detaily a barvy. Tato funkce momentálně funguje pouze u videí, které obsahují 10bitové HDR10, HLG nebo Dolby Vision. Funkce rovněž vyžaduje příslušný software od výrobce grafické karty.", "EnableTonemapping": "Zapnout mapování tónů", "LabelOpenclDeviceHelp": "Zařízení OpenCL použité pro mapování tónů. Nalevo od tečky je číslo platformy, napravo pak číslo zařízení na této platformě. Výchozí hodnota je 0.0. Soubor aplikace FFmpeg, který obsahuje metodu pro hardwarovou akceleraci OpenCL, je povinný.", "LabelOpenclDevice": "Zařízení OpenCL", @@ -1794,9 +1794,62 @@ "ChannelResolutionFullHD": "Full HD", "ChannelResolutionUHD4K": "UHD (4K)", "EnableVideoToolboxTonemapping": "Povolit mapování tónů VideoToolbox", - "AllowVideoToolboxTonemappingHelp": "Hardwarově akcelerované mapování tónů pomocí VideoToolbox. Funguje s většinou formátů HDR, včetně HDR10, HDR10+ a HLG, ale nefunguje s Dolby Vision Profile 5. Má vyšší prioritu než jiné implementace OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Hardwarově akcelerované mapování tónů pomocí VideoToolbox. Funguje s většinou formátů HDR, včetně HDR10, HDR10+ a HLG, ale nefunguje s Dolby Vision Profile 5. Má vyšší prioritu než jiné implementace Metal.", "DeleteName": "Odstranit {0}", "LabelUseReplayGainTagsHelp": "Zjistí, zda zvukové souboru obsahují informace o ReplayGain, a použije je místo výpočtu hodnoty LUFS. (Je méně výpočetně náročné. Nahradí možnost \"Skenování LUFS\")", "LabelUseReplayGainTags": "Použít ReplayGain", - "AllowSubtitleManagement": "Povolit tomuto uživateli upravovat titulky" + "AllowSubtitleManagement": "Povolit tomuto uživateli upravovat titulky", + "LabelAllowContentWithTags": "Povolit položky se značkami", + "AllowMjpegEncoding": "Povolit kódování do formátu MJPEG (používá se při generování náhledů videa)", + "Trickplay": "Náhledy videa", + "LabelTrickplayAccel": "Povolit hardwarovou akceleraci", + "PriorityHigh": "Vysoká", + "LabelImageInterval": "Interval mezi náhledy", + "PlaybackError.ASS_RENDER_ERROR": "Při zobrazování titulků ASS/SSA došlo k chybě.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Přehrávání selhalo, protože médium není podporování tímto klientem.", + "PlaybackError.MEDIA_DECODE_ERROR": "Přehrávání selhalo kvůli chybě při dekódování videa.", + "PlaybackError.SERVER_ERROR": "Přehrávání selhalo kvůli chybě serveru.", + "PlaybackError.PLAYER_ERROR": "Přehrávání selhalo kvůli kritické chybě přehrávače.", + "LabelWidthResolutions": "Šířky rozlišení", + "LabelTrickplayAccelHelp": "Pokud to váš hardware umožňuje, povolte možnost \"Povolit kódování do formátu MJPEG\" v sekci Překódování.", + "LabelProcessPriorityHelp": "Určuje prioritu procesu generování náhledů videí v porovnání s ostatními procesy. Pokud zaznamenáte při generování náhledů zpomalení systému, ale nechcete generování úplně zastavit, zkuste snížit prioritu i počet vláken.", + "DeleteSeries": "Odstranit seriál", + "ConfirmDeleteSeries": "Opravdu chcete odstranit tento seriál a smazat všech {0} dílů z disku i z knihovny médií?", + "DeleteEntireSeries": "Smazat {0} dílů", + "DeleteEpisode": "Odstranit díl", + "PriorityAboveNormal": "Zvýšená", + "PriorityNormal": "Normální", + "LabelScanBehaviorHelp": "Výchozí nastavení je neblokující, tzn. média jsou do knihovny přidány před dokončením generování náhledů. Blokující chování zajistí, že jsou náhledy vygenerovány před přidáním médií do knihovny, ale výrazně prodlužuje dobu skenování.", + "LabelQscaleHelp": "Kvalita náhledů vygenerovaných pomocí ffmpeg. 2 je nejvyšší kvalita a 31 je nejnižší kvalita.", + "LabelTileHeightHelp": "Maximální počet náhledů na dlaždici na ose Y.", + "LabelJpegQuality": "Kvalita JPEG", + "LabelJpegQualityHelp": "Kvalita komprese JPEG pro náhledy videí.", + "LabelQscale": "Qscale", + "LabelTrickplayThreadsHelp": "Počet vláken, které jsou předány argumentu \"-threads\" aplikace ffmpeg.", + "OptionExtractTrickplayImage": "Povolit generování náhledů videí", + "LabelTrickplayThreads": "Počet vláken ffmpeg", + "ExtractTrickplayImagesHelp": "Náhledy videí jsou podobné náhledům kapitol, ale pokrývají celou délku videa. Používají se pro zobrazení náhledů při přetáčení videa.", + "LabelExtractTrickplayDuringLibraryScan": "Generovat náhledy videí při skenování knihovny", + "LabelExtractTrickplayDuringLibraryScanHelp": "Vygeneruje náhledy videí během skenování knihovny. Pokud je tato možnost vypnuta, náhledy budou vygenerovány během naplánované úlohy. Pokud je generování nastaveno na neblokující, nebude tato možnost mít vliv na délku skenování knihovny.", + "Lyric": "Texty", + "NonBlockingScan": "Neblokující - vloží generování do fronty, a poté pokračuje", + "BlockingScan": "Blokující - vloží generování do fronty, a pozastaví skenování dokud není dokončeno", + "LabelScanBehavior": "Chování skenování", + "PriorityBelowNormal": "Snížená", + "LabelImageIntervalHelp": "Interval v milisekundách mezi jednotlivými náhledy.", + "EnableSmoothScroll": "Povolit plynulé skrolování", + "HeaderDeleteSeries": "Odstranit seriál", + "PlaybackError.FATAL_HLS_ERROR": "Ve streamu HLS nastala kritická chyba.", + "PlaybackError.NETWORK_ERROR": "Přehrávání selhalo kvůli chybě sítě.", + "PlaybackError.NotAllowed": "Přehrávání tohoto média není povoleno.", + "LabelTileWidth": "Velikost dlaždice", + "LabelTileWidthHelp": "Maximální počet náhledů na dlaždici na ose X.", + "PriorityIdle": "Při neaktivitě", + "LabelProcessPriority": "Priorita procesu", + "LabelWidthResolutionsHelp": "Čárkou oddělený seznam šířek v pixelech, které určují šířku vygenerovaných náhledů videa. Všechny náhledy by měly mít stejné proporce jako zdrojové video, tzn. zadaná šířka o hodnotě 320 u videa s poměrem stran 16:9 bude mít za následek náhled o velikosti 320x180.", + "LabelTileHeight": "Výška dlaždice", + "LimitSupportedVideoResolution": "Omezit maximální podporované rozlišení videa", + "LimitSupportedVideoResolutionHelp": "Použít \"Maximální rozlišení videa pro překódování\" jako maximální podporované rozlišení videa.", + "PlaybackError.NO_MEDIA_ERROR": "Nelze najít platný zdroj médií k přehrání.", + "PlaybackError.RateLimitExceeded": "Toto médium není možné momentálně přehrát kvůli omezení rychlosti." } From 5ff57777290c28df1618730baa735f7a4830a3e5 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 25 Mar 2024 09:43:22 +0000 Subject: [PATCH 068/293] Translated using Weblate (Portuguese (Portugal)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/ --- src/strings/pt-pt.json | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index 42f425413b..0f8ae63084 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -283,7 +283,7 @@ "LabelFormat": "Formato", "LabelFriendlyName": "Nome amigável", "LabelServerNameHelp": "Este nome será utilizado para identificar o servidor. Hostname do servidor usado por defeito.", - "LabelGroupMoviesIntoCollections": "Agrupar filmes em colecções", + "LabelGroupMoviesIntoCollections": "Agrupar filmes em coleções", "LabelGroupMoviesIntoCollectionsHelp": "Ao mostrar listas de filmes, aqueles que pertençam a uma colecção serão apresentados como um único item agrupado.", "LabelHardwareAccelerationType": "Aceleração por hardware", "LabelHardwareAccelerationTypeHelp": "A aceleração por hardware requer configurações adicionais.", @@ -401,8 +401,8 @@ "LabelTime": "Tempo", "LabelTimeLimitHours": "Limite de tempo (horas)", "LabelTranscodingTempPathHelp": "Indique uma localização personalizada para os ficheiros de transcodificação em utilização, ou deixe em branco para utilizar o caminho padrão.", - "LabelTranscodingThreadCount": "Número de threads de transcodificação", - "LabelTranscodingThreadCountHelp": "Indique o número máximo de threads a ser utilizado para transcodificação. Reduzir o número de threads diminuirá a utilização do CPU, mas pode não converter rápido o suficiente para uma experiência de reprodução suave.", + "LabelTranscodingThreadCount": "Número de processos de transcodificação", + "LabelTranscodingThreadCountHelp": "Indica o número máximo de processos a utilizar durante a transcodificação. Reduzir o número de processos diminuirá a utilização do CPU, mas pode não converter com rapidez suficiente para uma experiência de reprodução suave.", "LabelTriggerType": "Tipo de acionador", "LabelTunerIpAddress": "Endereço IP do Sintonizador", "LabelTunerType": "Tipo do sintonizador", @@ -762,7 +762,7 @@ "UserAgentHelp": "Forneça um 'User-Agent' HTTP personalizado.", "OptionProtocolHttp": "HTTP", "OptionProtocolHls": "Emissão HTTP em direto (HLS)", - "LabelHomeScreenSectionValue": "Secção {0} do Painel Principal", + "LabelHomeScreenSectionValue": "Secção {0} do painel principal", "LabelHomeNetworkQuality": "Qualidade da rede interna", "LabelEncoderPreset": "Predefinição de codificação", "LabelH264Crf": "CRF para codificação H.264", @@ -1088,7 +1088,7 @@ "MessageNoCollectionsAvailable": "As coleções permitem ao utilizador usufruir de agrupamentos personalizados de Filmes, Séries e Álbuns. Clique no botão '+' para começar a criar coleções.", "MediaInfoLanguage": "Idioma", "MediaInfoInterlaced": "Interlaçado", - "MediaInfoFramerate": "Velocidade de fotogramas", + "MediaInfoFramerate": "Taxa de fotogramas", "MediaInfoForced": "Forçado", "MediaInfoExternal": "Externo", "MediaInfoContainer": "Contentor", @@ -1111,7 +1111,7 @@ "LabelVersion": "Versão", "LabelUserLoginAttemptsBeforeLockout": "Tentativas de início de sessão falhadas até o utilizador ser bloqueado", "LabelTranscodingProgress": "Progresso de transcodificação", - "LabelTranscodingFramerate": "Taxa de fotogramas de transcodificação", + "LabelTranscodingFramerate": "Transcodificação da taxa de fotogramas", "LabelTranscodePath": "Localização de transcodificação", "LabelTrackNumber": "Número da faixa", "LabelTextColor": "Cor do texto", @@ -1320,8 +1320,8 @@ "Writers": "Argumento", "ViewAlbumArtist": "Ver artista do álbum", "Video": "Vídeo", - "UseDoubleRateDeinterlacingHelp": "Esta definição usa o field rate durante o desentrelaçamento, referido frequentemente como desentrelaçamento bob, que duplica a taxa de frames do vídeo de forma proporcionar um movimento fluído como quando visualiza um vídeo desentrelaçado numa televisão.", - "UseDoubleRateDeinterlacing": "Duplicar o frame rate durante desentrelaçamento", + "UseDoubleRateDeinterlacingHelp": "Esta definição utiliza a taxa de campo durante o desentrelaçamento, muitas vezes referido como desentrelaçamento bob, que duplica a taxa de fotogramas do vídeo para proporcionar movimento fluído, como o que verias ao ver vídeo entrelaçado numa televisão.", + "UseDoubleRateDeinterlacing": "Duplicar a velocidade de fotogramas ao desentrelaçar", "TvLibraryHelp": "Consulte o {0}guia de nomenclatura de TV{1}.", "TabNetworking": "Rede", "TabRepositories": "Repositórios", @@ -1516,7 +1516,7 @@ "HeaderSyncPlayPlaybackSettings": "Reprodução", "HeaderSyncPlaySettings": "Definições de SyncPlay", "HeaderContinueReading": "Continue a ler", - "Framerate": "Velocidade de fotogramas", + "Framerate": "Taxa de fotogramas", "ErrorPlayerNotFound": "Não foi possível identificar nenhum reprodutor compatível com o ficheiro pedido.", "Engineer": "Engenheiro de Som", "DisablePlugin": "Desactivar", @@ -1662,7 +1662,7 @@ "AudioBitDepthNotSupported": "A profundidade de bits deste áudio não é suportada", "VideoProfileNotSupported": "O perfil do codec deste vídeo não é suportado", "VideoLevelNotSupported": "O nível do codec deste vídeo não é suportado", - "VideoFramerateNotSupported": "A taxa de quadros deste vídeo não é suportada", + "VideoFramerateNotSupported": "A taxa de fotogramas deste vídeo não é suportada", "VideoBitDepthNotSupported": "A profundidade de bits deste vídeo não é suportada", "RefFramesNotSupported": "Frames de referência não são suportados", "SecondaryAudioNotSupported": "Faixas de áudio secundárias não são suportadas", @@ -1792,5 +1792,23 @@ "LabelTrickplayAccel": "Ativar a aceleração de hardware", "AllowMjpegEncoding": "Permitir a codificação no formato MJPEG (usado durante a criação de trickplay)", "LabelTrickplayAccelHelp": "Certifica-te de que ativas a opção \"Permitir codificação MJPEG\" em Transcodificação, se o teu hardware o suportar.", - "PriorityAboveNormal": "Acima do normal" + "PriorityAboveNormal": "Acima do normal", + "LabelImageIntervalHelp": "Intervalo de tempo (ms) entre cada nova imagem trickplay.", + "PriorityHigh": "Alta", + "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à biblioteca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à biblioteca, mas fará com que as pesquisas sejam significativamente mais longas.", + "LabelTileWidthHelp": "Número máximo de imagens por mosaico na direção X.", + "LabelTileHeight": "Altura do mosaico", + "LabelTileWidth": "Largura do mosaico", + "LabelWidthResolutionsHelp": "Lista separada por vírgulas das larguras (px) em que serão geradas as imagens trickplay. Todas as imagens devem ser geradas proporcionalmente à fonte, por isso um vídeo 16:9 com uma largura de 320 acabará por ter cerca de 320x180.", + "OptionExtractTrickplayImage": "Ativar a extração de imagens trickplay", + "LabelProcessPriorityHelp": "Definir este valor mais baixo ou mais alto determinará como o CPU prioriza o processo de geração de trickplay do ffmpeg em relação a outros processos. Se notares lentidão enquanto geras imagens de trickplay mas não queres parar completamente a sua geração, tenta baixar este valor, bem como a contagem de threads.", + "ExtractTrickplayImagesHelp": "As imagens Trickplay são semelhantes às imagens de capítulo, exceto pelo facto de abrangerem toda a extensão do conteúdo e serem utilizadas para mostrar uma pré-visualização ao percorrer os vídeos.", + "LabelWidthResolutions": "Resoluções de largura", + "LabelImageInterval": "Intervalo de imagem", + "LabelTrickplayThreadsHelp": "O número de threads a passar para o argumento '-threads' do ffmpeg.", + "LabelQscaleHelp": "A escala de qualidade das imagens produzidas pelo ffmpeg, sendo 2 a qualidade mais elevada e 31 a mais baixa.", + "LabelTileHeightHelp": "Número máximo de imagens por mosaico na direção Y.", + "LabelQscale": "Fator de qualidade (Qscale)", + "LabelJpegQualityHelp": "A qualidade de compressão JPEG para imagens trickplay.", + "LabelJpegQuality": "Qualidade JPEG" } From 9d0ab179dd0b6adf5df4e3b3f3899712102f2332 Mon Sep 17 00:00:00 2001 From: stanol Date: Mon, 25 Mar 2024 11:20:44 +0000 Subject: [PATCH 069/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index dea4af4b0e..b232dbb471 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -302,7 +302,7 @@ "DirectStreamHelp1": "Відеопотік сумісний із пристроєм, але має несумісний аудіоформат (DTS, Dolby True HD тощо) або кількість аудіоканалів. Відеопотік буде перепаковано без втрат на льоту перед надсиланням на пристрій. Перекодовуватиметься лише аудіопотік.", "DefaultSubtitlesHelp": "Завантаження субтитрів визначається опціями «За замовчуванням» та «Форсовані» у вбудованих метаданих. Мовні вподобання враховуються, коли доступно кілька варіантів.", "DefaultMetadataLangaugeDescription": "Це ваші параметри за замовчуванням, які можна переналаштувати для кожної медіатеки окремо.", - "AllowTonemappingHelp": "Тональне відображення може перетворити динамічний діапазон відео з HDR до SDR, зберігаючи деталі зображення та кольори, які є дуже важливою інформацією для представлення оригінальної сцени. Наразі працює лише з відео 10bit HDR10, HLG або DoVi. Для цього потрібне відповідне середовище виконання OpenCL або CUDA.", + "AllowTonemappingHelp": "Тональне відображення може перетворити динамічний діапазон відео з HDR до SDR, зберігаючи деталі зображення та кольори, які є дуже важливою інформацією для представлення оригінальної сцени. Наразі працює лише з відео 10bit HDR10, HLG або DoVi. Для цього потрібне відповідне середовище виконання GPGPU.", "HeaderCastAndCrew": "Актори та знімальна група", "HeaderCancelSeries": "Скасувати серіал", "HeaderCancelRecording": "Скасувати запис", @@ -1795,7 +1795,7 @@ "EnableVideoToolboxTonemapping": "Увімкнути відображення тонів VideoToolbox", "LabelUseReplayGainTagsHelp": "Сканувати аудіофайли на наявність тегів replaygain і використовувати їх замість обчислення значення LUFS. (Використовує менше обчислювальної потужності. Перевизначає параметр \"Сканування LUFS\")", "LabelUseReplayGainTags": "Використовувати теги ReplayGain", - "AllowVideoToolboxTonemappingHelp": "Апаратно прискорене тональне відображення, що надається VideoToolbox. Воно працює з більшістю форматів HDR, включаючи HDR10, HDR10+ та HLG, але не працює з Dolby Vision Profile 5. Воно має вищий пріоритет порівняно з іншими реалізаціями OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Апаратно прискорене тональне відображення, що надається VideoToolbox. Воно працює з більшістю форматів HDR, включаючи HDR10, HDR10+ та HLG, але не працює з Dolby Vision Profile 5. Воно має вищий пріоритет порівняно з іншими реалізаціями Metal.", "Trickplay": "Trickplay", "AllowMjpegEncoding": "Дозволити кодування у форматі MJPEG (використовується під час генерації trickplay)", "LabelScanBehavior": "Поведінка сканування", @@ -1833,5 +1833,18 @@ "LabelTrickplayAccelHelp": "Переконайтеся, що ви ввімкнули опцію \"Дозволити кодування MJPEG\" у розділі \"Перекодування \", якщо ваше обладнання її підтримує.", "LabelWidthResolutionsHelp": "Через кому список ширини (px), з якою будуть згенеровані зображення трюків. Усі зображення мають бути згенеровані пропорційно до джерела, тому ширина 320 для відео 16:9 у підсумку буде приблизно 320x180.", "ExtractTrickplayImagesHelp": "Trickplay-зображення схожі на зображення розділів, за винятком того, що вони охоплюють всю довжину контенту і використовуються для показу попереднього перегляду під час прокрутки відео.", - "LabelExtractTrickplayDuringLibraryScanHelp": "Створювати trickplay-зображення, коли відео імпортується під час сканування бібліотеки. В іншому випадку вони будуть вилучені під час виконання запланованого завдання. Якщо генерування налаштовано на неблокування, це не вплине на час завершення сканування бібліотеки." + "LabelExtractTrickplayDuringLibraryScanHelp": "Створювати trickplay-зображення, коли відео імпортується під час сканування бібліотеки. В іншому випадку вони будуть вилучені під час виконання запланованого завдання. Якщо генерування налаштовано на неблокування, це не вплине на час завершення сканування бібліотеки.", + "PlaybackError.FATAL_HLS_ERROR": "Виникла фатальна помилка у потоці HLS.", + "PlaybackError.ASS_RENDER_ERROR": "Виникла помилка у рендері субтитрів ASS/SSA.", + "PlaybackError.MEDIA_DECODE_ERROR": "Відтворення не вдалося через помилку декодування медіа.", + "PlaybackError.RateLimitExceeded": "Наразі це медіа не може бути відтворено через обмеження швидкості.", + "PlaybackError.NotAllowed": "Відтворення цього медіа заборонено.", + "LabelAllowContentWithTags": "Дозволити елементи з тегами", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Відтворення не вдалося, оскільки медіа не підтримується цим клієнтом.", + "PlaybackError.PLAYER_ERROR": "Відтворення не вдалося через фатальну помилку програвача.", + "PlaybackError.NETWORK_ERROR": "Відтворення не вдалося через помилку мережі.", + "PlaybackError.NO_MEDIA_ERROR": "Не вдається знайти правильне джерело медіа для відтворення.", + "EnableSmoothScroll": "Увімкнути плавну прокрутку", + "Lyric": "Текст", + "PlaybackError.SERVER_ERROR": "Відтворення не вдалося через помилку сервера." } From f7b49103c5977e7bc6009232217c7ee6058f6622 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 25 Mar 2024 10:23:52 +0000 Subject: [PATCH 070/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index 63b7eac39a..a208eb6fe4 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -283,14 +283,14 @@ "LabelIconMaxHeight": "Altura máxima do ícone", "LabelHttpsPortHelp": "O número da porta TCP para o servidor HTTPS.", "LabelHttpsPort": "Número da porta HTTPS local", - "LabelHomeScreenSectionValue": "Secção {0} do Painel Principal", + "LabelHomeScreenSectionValue": "Secção {0} do painel principal", "LabelHomeNetworkQuality": "Qualidade da rede interna", "LabelHardwareAccelerationTypeHelp": "A aceleração de hardware requer configuração adicional.", "LabelHardwareAccelerationType": "Aceleração por hardware", "LabelEncoderPreset": "Predefinição de codificação", "LabelH264Crf": "CRF para codificação H.264", "LabelGroupMoviesIntoCollectionsHelp": "Ao exibir listas de filmes, os filmes de uma coleção serão exibidos como um item agrupado.", - "LabelGroupMoviesIntoCollections": "Agrupar filmes em colecções", + "LabelGroupMoviesIntoCollections": "Agrupar filmes em coleções", "LabelServerNameHelp": "Esse nome será usado para identificar o servidor e será o padrão para o hostname do servidor.", "LabelFriendlyName": "Nome amigável", "LabelFormat": "Formato", @@ -662,7 +662,7 @@ "LabelTunerType": "Tipo do sintonizador", "LabelTunerIpAddress": "Endereço IP do Sintonizador", "LabelTriggerType": "Tipo do Accionador", - "LabelTranscodingThreadCountHelp": "Indique o número máximo de processors a utilizadar para transcodificação. Reduzir o número de processos diminuirá a utilização do CPU, mas pode não converter suficientemente rápido para uma experiência de reprodução suave.", + "LabelTranscodingThreadCountHelp": "Indica o número máximo de processos a utilizar durante a transcodificação. Reduzir o número de processos diminuirá a utilização do CPU, mas pode não converter com rapidez suficiente para uma experiência de reprodução suave.", "LabelTranscodingThreadCount": "Número de processos de transcodificação", "LabelTranscodingTempPathHelp": "Indique uma localização personalizada para os ficheiros de transcodificação em utilização, ou deixe em branco para utilizar o caminho por omissão.", "LabelTimeLimitHours": "Limite de tempo (horas)", @@ -1067,7 +1067,7 @@ "MediaInfoLayout": "Layout", "MediaInfoLanguage": "Idioma", "MediaInfoInterlaced": "Entrelaçado", - "MediaInfoFramerate": "Taxa de quadros", + "MediaInfoFramerate": "Taxa de fotogramas", "MediaInfoForced": "Forçado", "MediaInfoExternal": "Externo", "MediaInfoDefault": "Padrão", @@ -1300,7 +1300,7 @@ "HeaderAutoDiscovery": "Descoberta de Rede", "HeaderAddUser": "Adicionar Usuário", "HeaderAddUpdateSubtitle": "Adicionar/atualizar Legenda", - "Framerate": "Taxa de quadros", + "Framerate": "Taxa de fotogramas", "Filter": "Filtro", "EveryXMinutes": "A cada {0} minutos", "EveryXHours": "A cada {0} horas", @@ -1613,7 +1613,7 @@ "LabelSystem": "Sistema", "SaveRecordingImages": "Salvar gravação de imagens EPG", "SaveRecordingImagesHelp": "Guardar imagens do fornecedor de listas EPG juntamente com os ficheiros multimédia.", - "UseDoubleRateDeinterlacing": "Dobre a taxa de quadros ao desentrelaçar", + "UseDoubleRateDeinterlacing": "Duplicar a velocidade de fotogramas ao desentrelaçar", "MessageSyncPlayUserJoined": "{0} entrou no grupo.", "MessageSyncPlayUserLeft": "{0} saiu do grupo.", "MillisecondsUnit": "ms", @@ -1625,7 +1625,7 @@ "YoutubeDenied": "O vídeo solicitado não pode ser reproduzido em players incorporados.", "TypeOptionPluralBoxSet": "Conjuntos de caixas", "LabelBackdropScreensaverInterval": "Intervalo do protetor de tela de fundo", - "UseDoubleRateDeinterlacingHelp": "Essa configuração usa a taxa de campo durante o desentrelaçamento, geralmente chamada de desentrelaçamento bob, que dobra a taxa de quadros do vídeo para fornecer movimento total, como o que você veria ao visualizar um vídeo entrelaçado em uma TV.", + "UseDoubleRateDeinterlacingHelp": "Esta definição utiliza a taxa de campo durante o desentrelaçamento, muitas vezes referido como desentrelaçamento bob, que duplica a taxa de fotogramas do vídeo para proporcionar movimento fluído, como o que verias ao ver vídeo entrelaçado numa televisão.", "LabelDirectStreamingInfo": "Informações de transmissão direta", "LabelAlbumGain": "Ganho do álbum", "LogoScreensaver": "Logotipo do Protetor de tela", @@ -1795,5 +1795,23 @@ "PriorityAboveNormal": "Acima do normal", "PriorityNormal": "Normal", "PriorityBelowNormal": "Abaixo do normal", - "LabelTrickplayAccel": "Ativar a aceleração de hardware" + "LabelTrickplayAccel": "Ativar a aceleração de hardware", + "PriorityHigh": "Alta", + "LabelJpegQualityHelp": "A qualidade de compressão JPEG para imagens trickplay.", + "LabelImageInterval": "Intervalo de imagem", + "LabelQscale": "Fator de qualidade (Qscale)", + "LabelImageIntervalHelp": "Intervalo de tempo (ms) entre cada nova imagem trickplay.", + "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à biblioteca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à biblioteca, mas fará com que as pesquisas sejam significativamente mais longas.", + "LabelWidthResolutions": "Resoluções de largura", + "LabelTileWidth": "Largura do mosaico", + "LabelWidthResolutionsHelp": "Lista separada por vírgulas das larguras (px) em que serão geradas as imagens trickplay. Todas as imagens devem ser geradas proporcionalmente à fonte, por isso um vídeo 16:9 com uma largura de 320 acabará por ter cerca de 320x180.", + "LabelTrickplayThreadsHelp": "O número de threads a passar para o argumento '-threads' do ffmpeg.", + "LabelQscaleHelp": "A escala de qualidade das imagens produzidas pelo ffmpeg, sendo 2 a qualidade mais elevada e 31 a mais baixa.", + "OptionExtractTrickplayImage": "Ativar a extração de imagens trickplay", + "LabelProcessPriorityHelp": "Definir este valor mais baixo ou mais alto determinará como o CPU prioriza o processo de geração de trickplay do ffmpeg em relação a outros processos. Se notares lentidão enquanto geras imagens de trickplay mas não queres parar completamente a sua geração, tenta baixar este valor, bem como a contagem de threads.", + "LabelTileHeight": "Altura do mosaico", + "LabelJpegQuality": "Qualidade JPEG", + "LabelTileHeightHelp": "Número máximo de imagens por mosaico na direção Y.", + "LabelTileWidthHelp": "Número máximo de imagens por mosaico na direção X.", + "ExtractTrickplayImagesHelp": "As imagens Trickplay são semelhantes às imagens de capítulo, exceto pelo facto de abrangerem toda a extensão do conteúdo e serem utilizadas para mostrar uma pré-visualização ao percorrer os vídeos." } From 07efae27fe2fa6cdfcf17e0819ffe786ccbbf693 Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Mon, 25 Mar 2024 22:32:46 +0800 Subject: [PATCH 071/293] Fix translation of the enhanced NVDEC decoder Enhanced NVDEC is now the default option in 10.9, which is required for parsing the Dolby Vision metadata. The old CUVID impl can still be used by unchecking this option. Signed-off-by: nyanmisaka --- src/strings/en-us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 43f57cbef2..ea0c094a4b 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1618,7 +1618,7 @@ "Select": "Select", "ThemeSong": "Theme Song", "ThemeVideo": "Theme Video", - "EnableEnhancedNvdecDecoderHelp": "Experimental NVDEC implementation, do not enable this option unless you encounter decoding errors.", + "EnableEnhancedNvdecDecoderHelp": "Enhanced NVDEC implementation, disable this option to use CUVID if you encounter decoding errors.", "EnableSplashScreen": "Enable the splash screen", "LabelVppTonemappingBrightness": "VPP Tone mapping brightness gain", "LabelVppTonemappingBrightnessHelp": "Apply brightness gain in VPP tone mapping. The recommended and default values are 16 and 0.", From 77ec93ba213e78b07d2ee1dbb2f3b5f80e7d8b58 Mon Sep 17 00:00:00 2001 From: Gionnio Date: Mon, 25 Mar 2024 14:05:18 +0000 Subject: [PATCH 072/293] Translated using Weblate (Italian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/ --- src/strings/it.json | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/strings/it.json b/src/strings/it.json index b79a00ef18..4d94e52b80 100644 --- a/src/strings/it.json +++ b/src/strings/it.json @@ -1798,5 +1798,38 @@ "LabelUseReplayGainTags": "Usa i tag ReplayGain", "AllowSubtitleManagement": "Permetti a questo utente di modificare i sottotitoli", "DeleteName": "Elimina {0}", - "LabelUseReplayGainTagsHelp": "Scansiona i file audio per i tag di replaygain e usali invece di calcolare il valore LUFS. (Utilizza meno potenza di calcolo. Sostituirà l'opzione \"Scansione LUFS\")" + "LabelUseReplayGainTagsHelp": "Scansiona i file audio per i tag di replaygain e usali invece di calcolare il valore LUFS. (Utilizza meno potenza di calcolo. Sostituirà l'opzione \"Scansione LUFS\")", + "PlaybackError.FATAL_HLS_ERROR": "Si è verificato un errore nel flusso HLS.", + "PlaybackError.ASS_RENDER_ERROR": "Si è verificato un errore nel rendering dei sottotitoli ASS/SSA.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "La riproduzione non è riuscita perché il file non è supportato da questo client.", + "PlaybackError.MEDIA_DECODE_ERROR": "La riproduzione non è riuscita a causa di un errore di decodifica.", + "PlaybackError.NETWORK_ERROR": "La riproduzione non è riuscita a causa di un errore di rete.", + "PlaybackError.NO_MEDIA_ERROR": "Impossibile trovare una sorgente multimediale valida da riprodurre.", + "PlaybackError.PLAYER_ERROR": "La riproduzione non è riuscita a causa di un errore del media player.", + "PlaybackError.SERVER_ERROR": "La riproduzione non è riuscita a causa di un errore del server.", + "PlaybackError.RateLimitExceeded": "Questo file non può essere riprodotto in questo momento a causa dei limiti di banda.", + "PriorityNormal": "Normale", + "PriorityBelowNormal": "Sotto il normale", + "PriorityIdle": "Inattivo", + "LabelProcessPriority": "Priorità dei Processi", + "ConfirmDeleteSeries": "Cancellare questa serie comporta l'eliminazione di TUTTI i {0} episodi dal file system e dalla libreria multimediale. Siete sicuri di voler continuare?", + "DeleteEntireSeries": "Elimina {0} Episodi", + "DeleteSeries": "Elimina la Serie TV", + "DeleteEpisode": "Elimina Episodio", + "HeaderDeleteSeries": "Elimina Serie TV", + "AllowMjpegEncoding": "Consentire la codifica in formato MJPEG (utilizzato durante la modalità trick)", + "LabelTrickplayAccel": "Abilitare l'accelerazione hardware", + "LabelTrickplayAccelHelp": "Assicurarsi di attivare \"Consenti codifica MJPEG\" in Transcodifica se l'hardware lo supporta.", + "NonBlockingScan": "Non bloccante - mette in coda la generazione, poi la restituisce", + "BlockingScan": "Bloccante - accoda la generazione, blocca la scansione fino al suo completamento", + "LabelScanBehavior": "Comportamento di scansione", + "PriorityHigh": "Alta", + "PriorityAboveNormal": "Sopra il normale", + "EnableSmoothScroll": "Abilita scorrimento fluido", + "LabelAllowContentWithTags": "Consentire elementi con tag", + "Trickplay": "Trickplay", + "LabelProcessPriorityHelp": "L'impostazione di un valore più basso o più alto determina il modo in cui la CPU dà priorità al processo di generazione di ffmpeg trickplay rispetto ad altri processi. Se si nota un rallentamento durante la generazione di immagini trickplay ma non si vuole interrompere completamente la loro generazione, provare a ridurre questo parametro e il numero di thread.", + "Lyric": "Lyric", + "PlaybackError.NotAllowed": "La riproduzione di questo file non è consentita.", + "LabelScanBehaviorHelp": "Il comportamento predefinito è quello non bloccante, che aggiunge i media alla libreria prima che venga generato il trickplay. Il blocco assicura che i file di trickplay siano generati prima che i media siano aggiunti alla libreria, ma rende le scansioni significativamente più lunghe." } From 7c9521155adaac0818228282206dd40eb042a7cd Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Mon, 25 Mar 2024 13:23:26 +0000 Subject: [PATCH 073/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index af1cbe4478..7af1fa2bb8 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -19,7 +19,7 @@ "AllLibraries": "Alle bibliotheken", "AllowHWTranscodingHelp": "Direct transcoderen toestaan door de tuner. Dit kan helpen om de transcodering te verminderen die vereist is door de server.", "AllowMediaConversion": "Mediaconversie toestaan", - "AllowMediaConversionHelp": "Toegang verlenen of weigeren tot de mediaconversie-functie.", + "AllowMediaConversionHelp": "Toegang verlenen of weigeren tot de functie voor mediaconversie.", "AllowOnTheFlySubtitleExtraction": "Direct uitpakken van ondertiteling toestaan", "AllowOnTheFlySubtitleExtractionHelp": "Ingesloten ondertiteling kan uit video's uitgepakt worden en als tekst aan de clients geleverd worden om transcodering te helpen voorkomen. Op sommige systemen kan dit een lange tijd duren en kan dit ervoor zorgen dat het afspelen stokt tijdens het uitpakken. Schakel dit uit om ingesloten ondertiteling door middel van transcoderen in de video te laten branden als deze niet ondersteund worden door het afspeelapparaat.", "AllowRemoteAccess": "Externe verbindingen met deze server toestaan", @@ -102,8 +102,8 @@ "Composer": "Componist", "ConfigureDateAdded": "Stel in hoe de metadata voor 'Datum toegevoegd' wordt bepaald in het Dashboard > Bibliotheken > NFO-instellingen", "ConfirmDeleteImage": "Afbeelding verwijderen?", - "ConfirmDeleteItem": "Dit zal dit item verwijderen uit zowel het bestandssysteem als je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", - "ConfirmDeleteItems": "Dit zal deze items verwijderen uit zowel het bestandssysteem als je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", + "ConfirmDeleteItem": "Dit zal dit item verwijderen van zowel het bestandssysteem als uit je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", + "ConfirmDeleteItems": "Dit zal deze items verwijderen van zowel het bestandssysteem als uit je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", "ConfirmDeletion": "Verwijderen bevestigen", "ConfirmEndPlayerSession": "Wil je Jellyfin afsluiten op {0}?", "Connect": "Verbinden", @@ -1805,7 +1805,7 @@ "PriorityNormal": "Normaal", "LabelImageIntervalHelp": "Tijdsinterval (ms) tussen trickplay-afbeeldingen.", "LabelExtractTrickplayDuringLibraryScan": "Trickplay-afbeeldingen uitpakken tijdens de bibliotheekscan", - "ConfirmDeleteSeries": "Het verwijderen van deze serie verwijdert alle {0} afleveringen van zowel het bestandsysteem als uit je mediabibliotheek. Weet je zeker dat je door wilt gaan?", + "ConfirmDeleteSeries": "Dit verwijdert alle {0} afleveringen van deze serie van zowel het bestandsysteem als uit je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", "DeleteEntireSeries": "{0} afleveringen verwijderen", "DeleteSeries": "Serie verwijderen", "DeleteEpisode": "Aflevering verwijderen", @@ -1836,5 +1836,17 @@ "LabelQscaleHelp": "De kwaliteitsschaal van afbeeldingen die door FFmpeg worden geproduceerd, waarbij 2 de hoogste en 31 de laagste kwaliteit is.", "LabelExtractTrickplayDuringLibraryScanHelp": "Genereer trickplay-afbeeldingen wanneer video's worden geïmporteerd tijdens de bibliotheekscan. Anders zullen ze worden uitgepakt tijdens de geplande taak voor trickplay-afbeeldingen. Als de generatie op niet-blokkerend wordt ingesteld heeft deze optie geen negatieve invloed op de duur van de bibliotheekscan.", "ExtractTrickplayImagesHelp": "Trickplay-afbeeldingen lijken op hoofdstukafbeeldingen, maar beslaan de gehele lengte van de inhoud en geven een voorvertoning bij het spoelen door video's.", - "Lyric": "Songtekst" + "Lyric": "Songtekst", + "PlaybackError.ASS_RENDER_ERROR": "Er is een fout opgetreden in de renderer voor ASS/SSA-ondertiteling.", + "PlaybackError.PLAYER_ERROR": "Afspelen is mislukt vanwege een fatale spelerfout.", + "LabelAllowContentWithTags": "Items met labels toestaan", + "PlaybackError.MEDIA_DECODE_ERROR": "Afspelen is mislukt vanwege een fout bij het decoderen van de media.", + "PlaybackError.FATAL_HLS_ERROR": "Er is een fatale fout opgetreden in de HLS-stream.", + "PlaybackError.SERVER_ERROR": "Afspelen is mislukt vanwege een serverfout.", + "PlaybackError.NotAllowed": "Afspelen van deze media is niet toegestaan.", + "PlaybackError.RateLimitExceeded": "Dit medium kan momenteel niet worden afgespeeld vanwege ingestelde limieten.", + "EnableSmoothScroll": "Vloeiend schuiven inschakelen", + "PlaybackError.NETWORK_ERROR": "Afspelen is mislukt vanwege een netwerkfout.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Afspelen is mislukt omdat de media niet wordt ondersteund door de cliënt.", + "PlaybackError.NO_MEDIA_ERROR": "Kon geen geldige mediabron vinden om af te spelen." } From 7d7815cb1b0e0dfeb41966bc4d8ff98f2d08ab36 Mon Sep 17 00:00:00 2001 From: Kityn Date: Mon, 25 Mar 2024 13:16:58 +0000 Subject: [PATCH 074/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 5eb78d5194..0ff0409419 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -446,7 +446,7 @@ "LabelBirthYear": "Rok urodzenia", "LabelBlastMessageInterval": "Częstotliwość komunikatów o dostępności", "LabelBlastMessageIntervalHelp": "Określ częstotliwość, wyrażoną w sekundach, przesyłania komunikatów o dostępności serwera.", - "LabelBlockContentWithTags": "Blokuj pozycje ze znacznikami", + "LabelBlockContentWithTags": "Blokuj pozycje z tagami", "LabelBurnSubtitles": "Wypalaj napisy", "LabelCache": "Bufor", "LabelCachePath": "Folder bufora", @@ -1795,7 +1795,7 @@ "ChannelResolutionUHD4K": "UHD (4K)", "EnableVideoToolboxTonemapping": "Włącz mapowanie tonów VideoToolbox", "AllowVideoToolboxTonemappingHelp": "Przyspieszane sprzętowo mapowanie tonów zapewniane przez VideoToolbox. Działa z większością formatów HDR, w tym HDR10, HDR10+ i HLG, ale nie działa z Dolby Vision Profile 5. Ma wyższy priorytet w porównaniu z inną implementacją Metal.", - "LabelUseReplayGainTagsHelp": "Skanuj pliki audio w poszukiwaniu znaczników wzmocnienia odtwarzania i używaj ich zamiast obliczać wartość LUFS. (Zużywa mniej mocy obliczeniowej. Zastępuje opcję „Skanowanie głośności dźwięku”)", + "LabelUseReplayGainTagsHelp": "Skanuj pliki audio w poszukiwaniu tagów wzmocnienia odtwarzania i używaj ich zamiast obliczać wartość LUFS. (Zużywa mniej mocy obliczeniowej. Zastępuje opcję „Skanowanie głośności dźwięku”)", "LabelUseReplayGainTags": "Użyj tagów ReplayGain", "AllowSubtitleManagement": "Zezwól temu użytkownikowi na edycję napisów", "DeleteName": "Usuń {0}", @@ -1837,5 +1837,17 @@ "LabelJpegQuality": "Jakość JPEG", "LabelJpegQualityHelp": "Jakość kompresji JPEG dla obrazów trickplay.", "LabelProcessPriorityHelp": "Ustawienie niższej lub wyższej wartości określi, w jaki sposób procesor ustala priorytet procesu generowania trickplay ffmpeg w stosunku do innych procesów. Jeśli zauważysz spowolnienie podczas generowania obrazów trickplay, ale nie chcesz całkowicie zatrzymywać ich generowania, spróbuj zmniejszyć go, a także liczbę wątków.", - "Lyric": "Tekst" + "Lyric": "Tekst", + "PlaybackError.ASS_RENDER_ERROR": "Wystąpił błąd w renderowaniu napisów ASS/SSA.", + "PlaybackError.NotAllowed": "Odtwarzanie tego medium jest niedozwolone.", + "PlaybackError.SERVER_ERROR": "Odtwarzanie nie powiodło się z powodu błędu serwera.", + "LabelAllowContentWithTags": "Zezwalaj na pozycje z tagami", + "PlaybackError.FATAL_HLS_ERROR": "Napotkano błąd krytyczny w strumieniu HLS.", + "PlaybackError.MEDIA_DECODE_ERROR": "Odtwarzanie nie powiodło się z powodu błędu dekodowania multimediów.", + "PlaybackError.NO_MEDIA_ERROR": "Nie można znaleźć prawidłowego źródła multimediów do odtworzenia.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Odtwarzanie nie powiodło się, ponieważ ten klient nie obsługuje multimediów.", + "PlaybackError.PLAYER_ERROR": "Odtwarzanie nie powiodło się z powodu krytycznego błędu odtwarzacza.", + "PlaybackError.NETWORK_ERROR": "Odtwarzanie nie powiodło się z powodu błędu sieci.", + "PlaybackError.RateLimitExceeded": "W tej chwili nie można odtwarzać tego medium ze względu na ograniczenia szybkości.", + "EnableSmoothScroll": "Włącz płynne przewijanie" } From 3cfab4b59d442c738c1826a3ef4944908a526cd1 Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:41:13 +0000 Subject: [PATCH 075/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 7af1fa2bb8..b259546cf1 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -21,7 +21,7 @@ "AllowMediaConversion": "Mediaconversie toestaan", "AllowMediaConversionHelp": "Toegang verlenen of weigeren tot de functie voor mediaconversie.", "AllowOnTheFlySubtitleExtraction": "Direct uitpakken van ondertiteling toestaan", - "AllowOnTheFlySubtitleExtractionHelp": "Ingesloten ondertiteling kan uit video's uitgepakt worden en als tekst aan de clients geleverd worden om transcodering te helpen voorkomen. Op sommige systemen kan dit een lange tijd duren en kan dit ervoor zorgen dat het afspelen stokt tijdens het uitpakken. Schakel dit uit om ingesloten ondertiteling door middel van transcoderen in de video te laten branden als deze niet ondersteund worden door het afspeelapparaat.", + "AllowOnTheFlySubtitleExtractionHelp": "Ingesloten ondertiteling kan uit video's uitgepakt worden en als tekst aan de cliënten geleverd worden om transcoderen te helpen voorkomen. Op sommige systemen kan dit lang duren en ervoor zorgen dat het afspelen stokt tijdens het uitpakken. Schakel dit uit om ingesloten ondertiteling door middel van transcoderen in de video te laten branden als deze niet wordt ondersteund door het afspeelapparaat.", "AllowRemoteAccess": "Externe verbindingen met deze server toestaan", "AllowRemoteAccessHelp": "Indien niet aangevinkt worden alle externe verbindingen geblokkeerd.", "AllowedRemoteAddressesHelp": "Een door komma's gescheiden lijst van IP-adressen of IP/netmask-adressen voor netwerken die op afstand verbinding mogen maken. Indien blanco, worden alle externe adressen toegestaan.", @@ -130,8 +130,8 @@ "DetectingDevices": "Apparaten detecteren", "DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek geïdentificeerd kunnen worden en voorkomen niet toegang via een webbrowser. Filteren van apparaat toegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken totdat deze hier zijn goedgekeurd.", "DirectPlaying": "Direct afspelen", - "DirectStreamHelp1": "De videostream wordt ondersteund door het apparaat, maar het audioformaat (DTS, Dolby TrueHD, etc.) of aantal audiokanalen wordt niet ondersteund. De videostream zal zonder kwaliteitsverlies worden verpakt voor deze naar het apparaat gestuurd wordt. Alleen de audio wordt getranscodeerd.", - "DirectStreamHelp2": "Direct streamen van een bestand gebruikt weinig processorkracht zonder verlies van beeldkwaliteit.", + "DirectStreamHelp1": "De beeldstream wordt ondersteund door het apparaat, maar het geluidsformaat (DTS, Dolby TrueHD, etc.) of aantal geluidskanalen wordt niet ondersteund. De beeldstream zal zonder kwaliteitsverlies worden verpakt voor deze naar het apparaat gestuurd wordt. Alleen het geluid wordt getranscodeerd.", + "DirectStreamHelp2": "Het stroomverbruik tijdens direct streamen hangt gewoonlijk af van het geluidsprofiel. Er is geen verlies van beeldkwaliteit.", "DirectStreaming": "Direct streamen", "Director": "Regie", "Directors": "Regie", @@ -183,7 +183,7 @@ "EveryNDays": "Elke {0} dagen", "ExitFullscreen": "Volledig scherm afsluiten", "ExtraLarge": "Zeer groot", - "ExtractChapterImagesHelp": "Het uitpakken van hoofdstukafbeeldingen staat cliënten toe om grafische scènekeuzemenu's weer te geven. Dit proces kan traag en processorintensief zijn en kan meerdere gigabytes aan ruimte vereisen. Het wordt uitgevoerd wanneer de video's worden ontdekt en ook als nachtelijk geplande taak. Het schema kan worden ingesteld onder geplande taken. Het wordt niet aanbevolen deze taak tijdens gebruikspiekuren uit te voeren.", + "ExtractChapterImagesHelp": "Het uitpakken van hoofdstukafbeeldingen staat cliënten toe om grafische scènekeuzemenu's weer te geven. Dit proces kan traag en systeemintensief zijn en kan meerdere gigabytes aan ruimte vereisen. Het uitpakken wordt uitgevoerd wanneer de video's worden ontdekt en ook als nachtelijk geplande taak. Het schema kan worden ingesteld onder geplande taken. Het wordt niet aanbevolen deze taak tijdens gebruikspiekuren uit te voeren.", "Extras": "Extra's", "FFmpegSavePathNotFound": "We zijn niet in staat om FFmpeg te lokaliseren met behulp van het pad dat je hebt ingevoerd. FFprobe is ook vereist en moet in dezelfde map staan. Deze componenten worden gewoonlijk gebundeld in dezelfde download. Controleer het pad en probeer het opnieuw.", "FastForward": "Vooruitspoelen", @@ -849,7 +849,7 @@ "OptionEstimateContentLength": "Lengte van inhoud schatten bij transcoderen", "OptionEveryday": "Elke dag", "OptionExternallyDownloaded": "Externe download", - "OptionExtractChapterImage": "Uitpakken hoofdstukafbeeldingen inschakelen", + "OptionExtractChapterImage": "Uitpakken van hoofdstukafbeeldingen inschakelen", "OptionHasThemeSong": "Themamuziek", "OptionHasThemeVideo": "Themavideo", "OptionHideUser": "Deze gebruiker verbergen op aanmeldschermen", From eab656f722b4906d0f4ab834cd897e7378087dca Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 16:04:09 +0000 Subject: [PATCH 076/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index b6d1c14ca7..21538f0373 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1671,7 +1671,7 @@ "LabelVppTonemappingContrast": "VPP 色调映射对比度增益", "LabelVppTonemappingBrightnessHelp": "在 VPP 色调映射中应用亮度增益。推荐值和默认值为 16 和 0。", "ScreenResolution": "屏幕分辨率", - "LabelMaxVideoResolution": "允许的最大视频转码分辨率", + "LabelMaxVideoResolution": "允许的最高视频转码分辨率", "RememberSubtitleSelectionsHelp": "尝试将字幕轨道设置为与最后一个视频最接近的匹配。", "RememberSubtitleSelections": "根据上一项设置字幕轨道", "RememberAudioSelectionsHelp": "尝试将音轨设置为最接近最后一个视频的匹配。", @@ -1849,5 +1849,7 @@ "PlaybackError.SERVER_ERROR": "由于服务器错误,播放失败。", "PlaybackError.NotAllowed": "该媒体被禁止播放。", "LabelAllowContentWithTags": "允许带有标签的项目", - "EnableSmoothScroll": "启用平滑滚动" + "EnableSmoothScroll": "启用平滑滚动", + "LimitSupportedVideoResolutionHelp": "使用“允许的最高视频转码分辨率”作为支持的最高视频分辨率。", + "LimitSupportedVideoResolution": "限制支持的最高视频分辨率" } From 0f96e555853f12c315fb5486334421b71c6c1a42 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Mon, 25 Mar 2024 17:17:12 +0100 Subject: [PATCH 077/293] Add help descriptions to allow/block tag sections in parental control settings --- src/apps/dashboard/routes/users/parentalcontrol.tsx | 6 ++++++ src/strings/en-us.json | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/apps/dashboard/routes/users/parentalcontrol.tsx b/src/apps/dashboard/routes/users/parentalcontrol.tsx index 5efa0f93dd..14231245cc 100644 --- a/src/apps/dashboard/routes/users/parentalcontrol.tsx +++ b/src/apps/dashboard/routes/users/parentalcontrol.tsx @@ -441,6 +441,9 @@ const UserParentalControl: FunctionComponent = () => { btnIcon='add' isLinkVisible={false} /> +
+ {globalize.translate('AllowContentWithTagsHelp')} +
{allowedTags?.map(tag => { return { btnIcon='add' isLinkVisible={false} /> +
+ {globalize.translate('BlockContentWithTagsHelp')} +
{blockedTags.map(tag => { return Date: Mon, 25 Mar 2024 16:12:34 +0000 Subject: [PATCH 078/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 0ff0409419..89d2e304cb 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1645,7 +1645,7 @@ "Localization": "Lokalizacja", "ItemDetails": "Szczegóły pozycji", "Digital": "Cyfrowy", - "EnableEnhancedNvdecDecoderHelp": "Eksperymentalna implementacja NVDEC, nie używaj tej opcji, chyba że chcesz otrzymywaćsię z licznymi błędami dekodowania.", + "EnableEnhancedNvdecDecoderHelp": "Ulepszona implementacja NVDEC. Wyłącz tę opcję, aby używać CUVID, jeśli napotkasz błędy dekodowania.", "StoryArc": "Artykuł fabularny", "OriginalAirDate": "Data pierwszej emisji", "HomeVideosPhotos": "Filmy i zdjęcia", @@ -1849,5 +1849,7 @@ "PlaybackError.PLAYER_ERROR": "Odtwarzanie nie powiodło się z powodu krytycznego błędu odtwarzacza.", "PlaybackError.NETWORK_ERROR": "Odtwarzanie nie powiodło się z powodu błędu sieci.", "PlaybackError.RateLimitExceeded": "W tej chwili nie można odtwarzać tego medium ze względu na ograniczenia szybkości.", - "EnableSmoothScroll": "Włącz płynne przewijanie" + "EnableSmoothScroll": "Włącz płynne przewijanie", + "LimitSupportedVideoResolutionHelp": "Jako maksymalną obsługiwaną rozdzielczość wideo użyj opcji „Maksymalna dozwolona rozdzielczość transkodowania wideo”.", + "LimitSupportedVideoResolution": "Ogranicz maksymalną obsługiwaną rozdzielczość wideo" } From a40257b7627e06a854f22b8485df4537522df7a9 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 16:04:33 +0000 Subject: [PATCH 079/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 21538f0373..b8b10c66d8 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1649,7 +1649,7 @@ "OriginalAirDate": "初始播出日期", "Digital": "数字", "MessageUnauthorizedUser": "您目前无权访问服务器。请联系您的服务器管理员以获取更多信息。", - "EnableEnhancedNvdecDecoderHelp": "实验性的 NVDEC 实现,除非你遇到了解码错误,否则不要启用此选项。", + "EnableEnhancedNvdecDecoderHelp": "增强的 NVDEC 实现,如果遇到解码错误,请禁用此选项以使用 CUVID。", "HomeVideosPhotos": "家庭视频和照片", "Bold": "粗体", "LabelTextWeight": "文字粗细", From 15572a175f7bff4fc9311b8a5b43163ac67ea50a Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 16:05:27 +0000 Subject: [PATCH 080/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 0c28d4a9ab..e6d689e9a5 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1663,7 +1663,7 @@ "Scene": "場景", "ThemeSong": "主題曲", "ThemeVideo": "主題影片", - "EnableEnhancedNvdecDecoderHelp": "實驗性 NVDEC 實現,除非遇到解碼錯誤,否則不要啟用此選項。", + "EnableEnhancedNvdecDecoderHelp": "增強的 NVDEC 實現,如果遇到解碼錯誤,請禁用此選項以使用 CUVID。", "LabelVppTonemappingBrightnessHelp": "在 VPP 色調轉換中使用亮度增益。 推薦值和預設值為 16 和 0。", "LabelVppTonemappingContrast": "VPP 色調映射對比度增益", "VideoRangeTypeNotSupported": "不支援影片的範圍類型", @@ -1848,5 +1848,7 @@ "PlaybackError.NotAllowed": "該媒體被禁止播放。", "PlaybackError.RateLimitExceeded": "由於速率限制,該媒體目前無法播放。", "LabelAllowContentWithTags": "允許帶有標籤的項目", - "EnableSmoothScroll": "啟用平滑滾動" + "EnableSmoothScroll": "啟用平滑滾動", + "LimitSupportedVideoResolution": "限制支持的最高視頻分辨率", + "LimitSupportedVideoResolutionHelp": "使用“允許的最高影片轉碼解析度”作為支持的最高影片解析度。" } From 16e8616303520cbbe955d26b289fd5719a1f3e44 Mon Sep 17 00:00:00 2001 From: GrantZ9001 Date: Mon, 25 Mar 2024 19:36:34 +0000 Subject: [PATCH 081/293] Translated using Weblate (Finnish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fi/ --- src/strings/fi.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/strings/fi.json b/src/strings/fi.json index bbe2645c01..22f36ea9e8 100644 --- a/src/strings/fi.json +++ b/src/strings/fi.json @@ -1792,5 +1792,17 @@ "ChannelResolutionSDPAL": "SD (PAL)", "ChannelResolutionFullHD": "Täysi HD", "ChannelResolutionUHD4K": "UHD (4K)", - "AllowSubtitleManagement": "Anna tämän käyttäjän muuttaa tekstityksiä" + "AllowSubtitleManagement": "Anna tämän käyttäjän muuttaa tekstityksiä", + "PlaybackError.FATAL_HLS_ERROR": "HLS-virrassa ilmeni peruuttamaton virhe.", + "HeaderDeleteSeries": "Poista sarja", + "LabelTrickplayThreadsHelp": "Säikeiden lukumäärä, joka syötetään ffmpeg:n '-threads' argumenttiin.", + "ConfirmDeleteSeries": "Tämän sarjan poisto tulee poistamaan KAIKKI {0} jaksoa tiedostojärjestelmältä ja mediakirjastostasi. Haluatko varmasti jatkaa?", + "DeleteEntireSeries": "Poista {0} jaksoa", + "DeleteSeries": "Poista sarja", + "DeleteEpisode": "Poista jakso", + "DeleteName": "Poista {0}", + "PlaybackError.ASS_RENDER_ERROR": "ASS/SSA tekstityksien esittäjässä ilmeni virhe.", + "EnableSmoothScroll": "Käytä sujuvaa vieritystä", + "Lyric": "Sanoitus", + "LimitSupportedVideoResolution": "Rajoita videon tuettua enimmäistarkkuutta" } From 23c3b7d9a5ed2f7e6b56e55a20ffa74cc357c007 Mon Sep 17 00:00:00 2001 From: Kityn Date: Mon, 25 Mar 2024 19:04:23 +0000 Subject: [PATCH 082/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 89d2e304cb..7c7f700ddd 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1851,5 +1851,7 @@ "PlaybackError.RateLimitExceeded": "W tej chwili nie można odtwarzać tego medium ze względu na ograniczenia szybkości.", "EnableSmoothScroll": "Włącz płynne przewijanie", "LimitSupportedVideoResolutionHelp": "Jako maksymalną obsługiwaną rozdzielczość wideo użyj opcji „Maksymalna dozwolona rozdzielczość transkodowania wideo”.", - "LimitSupportedVideoResolution": "Ogranicz maksymalną obsługiwaną rozdzielczość wideo" + "LimitSupportedVideoResolution": "Ogranicz maksymalną obsługiwaną rozdzielczość wideo", + "AllowContentWithTagsHelp": "Wyświetlaj tylko multimedia z co najmniej jednym z określonych tagów.", + "BlockContentWithTagsHelp": "Ukryj multimedia z co najmniej jednym z określonych tagów." } From 096f432b51b567acff43c1318f339c846a9aaea1 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 19:43:17 +0000 Subject: [PATCH 083/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index b8b10c66d8..a58a58c0ae 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1851,5 +1851,7 @@ "LabelAllowContentWithTags": "允许带有标签的项目", "EnableSmoothScroll": "启用平滑滚动", "LimitSupportedVideoResolutionHelp": "使用“允许的最高视频转码分辨率”作为支持的最高视频分辨率。", - "LimitSupportedVideoResolution": "限制支持的最高视频分辨率" + "LimitSupportedVideoResolution": "限制支持的最高视频分辨率", + "AllowContentWithTagsHelp": "仅显示至少具有一个指定标签的媒体。", + "BlockContentWithTagsHelp": "隐藏至少具有一个指定标签的媒体。" } From ef0b8a2921c1e8f9edcefb00086549116347dd3d Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 25 Mar 2024 19:44:29 +0000 Subject: [PATCH 084/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index e6d689e9a5..08616b8173 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1850,5 +1850,7 @@ "LabelAllowContentWithTags": "允許帶有標籤的項目", "EnableSmoothScroll": "啟用平滑滾動", "LimitSupportedVideoResolution": "限制支持的最高視頻分辨率", - "LimitSupportedVideoResolutionHelp": "使用“允許的最高影片轉碼解析度”作為支持的最高影片解析度。" + "LimitSupportedVideoResolutionHelp": "使用“允許的最高影片轉碼解析度”作為支持的最高影片解析度。", + "AllowContentWithTagsHelp": "僅顯示至少具有一個指定標籤的媒體。", + "BlockContentWithTagsHelp": "隱藏至少具有一個指定標籤的媒體。" } From 6f5f772c111229de57ed96361d4d15a8b8ceb688 Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:53:15 +0000 Subject: [PATCH 085/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index b259546cf1..c6160c2248 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -584,7 +584,7 @@ "LabelNumberOfGuideDays": "Aantal dagen van de gids om te downloaden", "LabelNumberOfGuideDaysHelp": "Het downloaden van meer dagen van de gidsgegevens biedt de mogelijkheid verder vooruit te plannen en een beter overzicht geven, maar het zal ook langer duren om te downloaden. Auto kiest op basis van het aantal kanalen.", "LabelOptionalNetworkPath": "Gedeelde netwerkmap", - "LabelOptionalNetworkPathHelp": "Als deze map wordt gedeeld op jje netwerk, kunnen middels het netwerkpad cliënten op andere apparaten rechtstreeks toegang tot mediabestanden krijgen. Bijvoorbeeld {0} of {1}.", + "LabelOptionalNetworkPathHelp": "Als deze map wordt gedeeld op je netwerk, kunnen middels het netwerkpad cliënten op andere apparaten rechtstreeks toegang tot mediabestanden krijgen. Bijvoorbeeld {0} of {1}.", "LabelOriginalAspectRatio": "Oorspronkelijke beeldverhouding", "LabelOriginalTitle": "Oorspronkelijke titel", "LabelOverview": "Overzicht", @@ -704,7 +704,7 @@ "MapChannels": "Kanalen indelen", "MarkPlayed": "Markeren als afgespeeld", "MarkUnplayed": "Markeren als niet afgespeeld", - "MaxParentalRatingHelp": "Media met een hogere classificatie wordt niet weergegeven voor deze gebruiker.", + "MaxParentalRatingHelp": "Media met een hogere classificatie worden niet weergegeven voor deze gebruiker.", "MediaInfoAnamorphic": "Anamorf", "MediaInfoAspectRatio": "Beeldverhouding", "MediaInfoBitDepth": "Bitdiepte", @@ -722,7 +722,7 @@ "MediaInfoSampleRate": "Bemonsteringsfrequentie", "MediaInfoSize": "Grootte", "MediaInfoTimestamp": "Tijdstempel", - "MediaIsBeingConverted": "De media wordt geconverteerd naar een formaat dat leesbaar is met het apparaat dat wordt gebruikt om de media af te spelen.", + "MediaIsBeingConverted": "De media wordt geconverteerd naar een formaat dat compatibel is met het apparaat dat de media afspeelt.", "MessageAlreadyInstalled": "Deze versie is al geïnstalleerd.", "MessageAreYouSureDeleteSubtitles": "Weet je zeker dat je dit ondertitelingsbestand wilt verwijderen?", "MessageAreYouSureYouWishToRemoveMediaFolder": "Weet je zeker dat je deze mediamap wilt verwijderen?", @@ -1450,7 +1450,7 @@ "LabelAudioInfo": "Audio-informatie", "LabelPlaybackInfo": "Afspeelinformatie", "RemuxHelp2": "Remux gebruikt zeer weinig verwerkingskracht met een volledig verliesvrije mediakwaliteit.", - "RemuxHelp1": "De media bevindt zich in een niet-ondersteunde bestandscontainer (MKV, AVI, WMV, etc.), maar zowel de videostream als de audiostream zijn compatibel met het apparaat. De media zal direct zonder kwaliteitsverlies verpakt worden voordat deze naar het apparaat wordt gestuurd.", + "RemuxHelp1": "De media bevindt zich in een niet-ondersteunde bestandscontainer (MKV, AVI, WMV, etc.), maar zowel de beeld- als geluidsstream zijn compatibel met het apparaat. De media zal direct zonder kwaliteitsverlies verpakt worden voordat deze naar het apparaat wordt gestuurd.", "Remuxing": "Remuxen", "AspectRatioFill": "Vullen", "AspectRatioCover": "Hoes", @@ -1665,7 +1665,7 @@ "LabelVppTonemappingBrightnessHelp": "Pas helderheidsversterking toe bij VPP-tonemapping. De aanbevolen en standaardwaarden zijn 16 en 0.", "LabelVppTonemappingBrightness": "Helderheidsversterking VPP-tonemapping", "EnableSplashScreen": "Opstartscherm inschakelen", - "EnableEnhancedNvdecDecoderHelp": "Experimentele NVDEC-implementatie; deze instelling niet inschakelen tenzij je decoderingsfouten tegenkomt.", + "EnableEnhancedNvdecDecoderHelp": "Verbeterde NVDEC-implementatie; schakel deze instelling uit om CUVID te gebruiken indien je decoderingsfouten tegenkomt.", "ThemeVideo": "Themavideo", "ThemeSong": "Themamuziek", "Sample": "Voorbeeld", @@ -1839,7 +1839,7 @@ "Lyric": "Songtekst", "PlaybackError.ASS_RENDER_ERROR": "Er is een fout opgetreden in de renderer voor ASS/SSA-ondertiteling.", "PlaybackError.PLAYER_ERROR": "Afspelen is mislukt vanwege een fatale spelerfout.", - "LabelAllowContentWithTags": "Items met labels toestaan", + "LabelAllowContentWithTags": "Items met de volgende labels toestaan", "PlaybackError.MEDIA_DECODE_ERROR": "Afspelen is mislukt vanwege een fout bij het decoderen van de media.", "PlaybackError.FATAL_HLS_ERROR": "Er is een fatale fout opgetreden in de HLS-stream.", "PlaybackError.SERVER_ERROR": "Afspelen is mislukt vanwege een serverfout.", @@ -1848,5 +1848,9 @@ "EnableSmoothScroll": "Vloeiend schuiven inschakelen", "PlaybackError.NETWORK_ERROR": "Afspelen is mislukt vanwege een netwerkfout.", "PlaybackError.MEDIA_NOT_SUPPORTED": "Afspelen is mislukt omdat de media niet wordt ondersteund door de cliënt.", - "PlaybackError.NO_MEDIA_ERROR": "Kon geen geldige mediabron vinden om af te spelen." + "PlaybackError.NO_MEDIA_ERROR": "Kon geen geldige mediabron vinden om af te spelen.", + "LimitSupportedVideoResolution": "Maximaal ondersteunde beeldresolutie begrenzen", + "LimitSupportedVideoResolutionHelp": "Gebruik 'maximaal toegestane beeldtransocderingsresolutie' als maximaal ondersteunde beeldresolutie.", + "AllowContentWithTagsHelp": "Alleen media tonen met ten minste een van de opgegeven labels.", + "BlockContentWithTagsHelp": "Media verbergen met ten minste een van de opgegeven labels." } From ef88c422f2e174d0e6b7df4ef926d81fcd88c75d Mon Sep 17 00:00:00 2001 From: gnattu Date: Tue, 26 Mar 2024 14:43:33 +0800 Subject: [PATCH 086/293] fix: remove legacy codecs These legacy codecs are not implemented with hardware-accelerated decoding in VideoToolbox and were using VideoToolbox's software fallback decoding before. Since ffmpeg now only allows software fallback for HEVC, enabling those codecs will cause VT session creation to fail. Remove them now. Signed-off-by: gnattu --- src/controllers/dashboard/encodingsettings.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/controllers/dashboard/encodingsettings.html b/src/controllers/dashboard/encodingsettings.html index af3e268dac..c9dac5e44b 100644 --- a/src/controllers/dashboard/encodingsettings.html +++ b/src/controllers/dashboard/encodingsettings.html @@ -47,15 +47,15 @@ MPEG1
+

${LabelEncodingFormatOptions}

+
${EncodingFormatHelp}
-
+
+
+
- +
+ {globalize.translate('LabelTrickplayAccelEncodingHelp')} +
diff --git a/src/controllers/dashboard/encodingsettings.html b/src/controllers/dashboard/encodingsettings.html index c9dac5e44b..5f0ba1398f 100644 --- a/src/controllers/dashboard/encodingsettings.html +++ b/src/controllers/dashboard/encodingsettings.html @@ -135,12 +135,6 @@ ${AllowAv1Encoding}
-
- -
diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js index 6e254ced46..4c0f796b6e 100644 --- a/src/controllers/dashboard/encodingsettings.js +++ b/src/controllers/dashboard/encodingsettings.js @@ -19,7 +19,6 @@ function loadPage(page, config, systemInfo) { page.querySelector('#chkHardwareEncoding').checked = config.EnableHardwareEncoding; page.querySelector('#chkAllowHevcEncoding').checked = config.AllowHevcEncoding; page.querySelector('#chkAllowAv1Encoding').checked = config.AllowAv1Encoding; - page.querySelector('#chkAllowMjpegEncoding').checked = config.AllowMjpegEncoding; $('#selectVideoDecoder', page).val(config.HardwareAccelerationType); $('#selectThreadCount', page).val(config.EncodingThreadCount); page.querySelector('#chkEnableAudioVbr').checked = config.EnableAudioVbr; @@ -128,7 +127,6 @@ function onSubmit() { config.EnableHardwareEncoding = form.querySelector('#chkHardwareEncoding').checked; config.AllowHevcEncoding = form.querySelector('#chkAllowHevcEncoding').checked; config.AllowAv1Encoding = form.querySelector('#chkAllowAv1Encoding').checked; - config.AllowMjpegEncoding = form.querySelector('#chkAllowMjpegEncoding').checked; ApiClient.updateNamedConfiguration('encoding', config).then(function () { updateEncoder(form); }, function () { diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 11b833f6c8..9ebf5badf5 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1648,10 +1648,10 @@ "ForeignPartsOnly": "Forced/Foreign parts only", "HearingImpairedShort": "HI/SDH", "LabelIsHearingImpaired": "For hearing impaired (SDH)", - "AllowMjpegEncoding": "Allow encoding in MJPEG format (used during trickplay generation)", "Trickplay": "Trickplay", - "LabelTrickplayAccel": "Enable hardware acceleration", - "LabelTrickplayAccelHelp": "Make sure to enable 'Allow MJPEG Encoding' in Transcoding if your hardware supports it.", + "LabelTrickplayAccel": "Enable hardware decoding", + "LabelTrickplayAccelEncoding": "Enable hardware accelerated MJPEG encoding", + "LabelTrickplayAccelEncodingHelp": "Currently only available on QSV and VAAPI, this option has no effect on other hardware acceleration methods.", "NonBlockingScan": "Non Blocking - queues generation, then returns", "BlockingScan": "Blocking - queues generation, blocks scan until complete", "LabelScanBehavior": "Scan Behavior", From 08a150f2a6651fd9ebafc38e8f949a5c2569ece5 Mon Sep 17 00:00:00 2001 From: gnattu Date: Wed, 27 Mar 2024 13:29:01 +0800 Subject: [PATCH 094/293] fix: disable ffmpeg path setting for security reasons --- src/controllers/dashboard/encodingsettings.html | 3 +-- src/controllers/dashboard/encodingsettings.js | 15 --------------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/controllers/dashboard/encodingsettings.html b/src/controllers/dashboard/encodingsettings.html index c9dac5e44b..475eb19737 100644 --- a/src/controllers/dashboard/encodingsettings.html +++ b/src/controllers/dashboard/encodingsettings.html @@ -251,9 +251,8 @@
- +
-
${LabelffmpegPathHelp}
diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js index 6e254ced46..aa7e267cac 100644 --- a/src/controllers/dashboard/encodingsettings.js +++ b/src/controllers/dashboard/encodingsettings.js @@ -259,21 +259,6 @@ $(document).on('pageinit', '#encodingSettingsPage', function () { setDecodingCodecsVisible(page, this.value); }); - $('#btnSelectEncoderPath', page).on('click.selectDirectory', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { - const picker = new DirectoryBrowser(); - picker.show({ - includeFiles: true, - callback: function (path) { - if (path) { - $('.txtEncoderPath', page).val(path); - } - - picker.close(); - } - }); - }); - }); $('#btnSelectTranscodingTempPath', page).on('click.selectDirectory', function () { import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); From 53524bc95c977032a1d7189c0565bea0f8da0111 Mon Sep 17 00:00:00 2001 From: robert-hamilton36 Date: Tue, 26 Mar 2024 21:04:31 +1300 Subject: [PATCH 095/293] add titles to buttons on now playing bar --- src/components/nowPlayingBar/nowPlayingBar.js | 25 +++++++++++-------- src/strings/en-us.json | 1 + 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index 3da64dac5e..cdeaea0cca 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -7,6 +7,7 @@ import { playbackManager } from '../playback/playbackmanager'; import nowPlayingHelper from '../playback/nowplayinghelper'; import { appHost } from '../apphost'; import dom from '../../scripts/dom'; +import globalize from 'scripts/globalize'; import itemContextMenu from '../itemContextMenu'; import '../../elements/emby-button/paper-icon-button-light'; import '../../elements/emby-ratingbutton/emby-ratingbutton'; @@ -59,13 +60,13 @@ function getNowPlayingBarHtml() { // The onclicks are needed due to the return false above html += '
'; - html += ''; + html += ``; - html += ''; + html += ``; - html += ''; + html += ``; if (!layoutManager.mobile) { - html += ''; + html += ``; } html += '
'; @@ -73,25 +74,25 @@ function getNowPlayingBarHtml() { html += '
'; - html += ''; + html += ``; html += '
'; html += ''; html += '
'; - html += ''; + html += ``; - html += ''; - html += ''; + html += ``; + html += ``; html += '
'; html += '
'; - html += ''; + html += ``; if (layoutManager.mobile) { - html += ''; + html += ``; } else { - html += ''; + html += ``; } html += '
'; @@ -317,6 +318,7 @@ function updatePlayPauseState(isPaused) { const icon = button.querySelector('.material-icons'); icon.classList.remove('play_arrow', 'pause'); icon.classList.add(isPaused ? 'play_arrow' : 'pause'); + button.title = globalize.translate(isPaused ? 'Play' : 'ButtonPause'); }); } } @@ -424,6 +426,7 @@ function updatePlayerVolumeState(isMuted, volumeLevel) { const muteButtonIcon = muteButton.querySelector('.material-icons'); muteButtonIcon.classList.remove('volume_off', 'volume_up'); muteButtonIcon.classList.add(isMuted ? 'volume_off' : 'volume_up'); + muteButton.title = globalize.translate(isMuted ? 'Unmute' : 'Mute'); if (supportedCommands.indexOf('SetVolume') === -1) { showVolumeSlider = false; diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 11b833f6c8..3b6bdf8119 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -10,6 +10,7 @@ "AddToPlayQueue": "Add to play queue", "AgeValue": "({0} years old)", "AirDate": "Air date", + "AirPlay": "AirPlay", "Aired": "Aired", "Album": "Album", "AlbumArtist": "Album Artist", From 383913a96fa99965b35e48548229c7e5278b7d98 Mon Sep 17 00:00:00 2001 From: Thibaud Melano Date: Wed, 27 Mar 2024 09:41:10 +0000 Subject: [PATCH 096/293] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 06f7354251..45fb134a9f 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1384,7 +1384,7 @@ "LabelTonemappingRange": "Gamme de mappage tonal", "TonemappingAlgorithmHelp": "Le mappage tonal peut être affiné. Si vous n'êtes pas familier avec ces réglages, il est conseillé de choisir les valeurs recommandées. L'algorithme de mappage recommandé est 'BT.2390'.", "LabelTonemappingAlgorithm": "Sélectionner l'algorithme de mappage tonal à utiliser", - "AllowTonemappingHelp": "Le mappage tonal est capable de convertir une gamme dynamique HDR en SDR tout en maintenant les détails et les couleurs d'image si importants au rendu de la scène originale. Pour le moment, ne fonctionne qu'avec les vidéos HDR10 10bits, HLG, DoVi et requiert les environnements d'exécution OpenCL et CUDA correspondant.", + "AllowTonemappingHelp": "Le mappage tonal est capable de convertir une gamme dynamique HDR en SDR tout en maintenant les détails et les couleurs d'image si importants au rendu de la scène originale. Pour le moment, ne fonctionne qu'avec les vidéos HDR10 10bits, HLG, DoVi et requiert l'environnement d'exécution GPGPU correspondant.", "EnableTonemapping": "Activer le mappage tonal", "LabelOpenclDeviceHelp": "Ce dispositif OpenCL est utilisé pour le mappage tonal. La partie à gauche du point est le numéro de plate-forme et la partie à droite est le numéro du dispositif sur la plate-forme. La valeur par défaut est 0,0. Le fichier de l'application FFmpeg contenant l'accélération matérielle OpenCL est nécessaire.", "LabelOpenclDevice": "Dispositif OpenCL", @@ -1798,5 +1798,20 @@ "LabelUseReplayGainTagsHelp": "Scanne les fichiers audio à la recherche de tags replaygain et les utilise au lieu de calculer la valeur LUFS. (Utilise moins de ressources. Passe outre l'option 'Scanne LUFS')", "LabelUseReplayGainTags": "Utiliser les tags ReplayGain", "EnableVideoToolboxTonemapping": "Activer le tone-mapping VideoToolbox", - "AllowVideoToolboxTonemappingHelp": "Tone-mapping via l'accélération matérielle par VideoToolbox. Fonctionne avec la majorité des formats HDR, incluant le HDR10, HDR10+, et HLG, mais ne fonctionne pas avec le Dolby Vision Profile 5. Cela a une priorité plus élevé comparé à une autre implémentation OpenCL." + "AllowVideoToolboxTonemappingHelp": "Tone-mapping via l'accélération matérielle par VideoToolbox. Fonctionne avec la majorité des formats HDR, incluant le HDR10, HDR10+, et HLG, mais ne fonctionne pas avec le Dolby Vision Profile 5. Cela a une priorité plus élevé comparé à une autre implémentation OpenCL.", + "PlaybackError.FATAL_HLS_ERROR": "Une erreur fatale a été rencontrée dans le flux HLS.", + "PlaybackError.ASS_RENDER_ERROR": "Une erreur a été rencontrée dans le moteur de rendu des sous-titres ASS/SSA.", + "AllowContentWithTagsHelp": "Afficher uniquement les médias comportant au moins l'une des étiquettes spécifiées.", + "BlockContentWithTagsHelp": "Masquer les médias contenant au moins l'une des étiquettes spécifiées.", + "PlaybackError.MEDIA_DECODE_ERROR": "La lecture a échouée en raison d'une erreur de décodage du média.", + "LabelAllowContentWithTags": "Autoriser les objets comportants des étiquettes", + "ConfirmDeleteSeries": "La suppression de cette série effacera l'ENTIÈRETÉ des {0} épisodes à la fois de votre système de ficher et de votre médiathèque. Êtes-vous sur de vouloir continuer ?", + "DeleteEntireSeries": "Supprimer {0} Épisodes", + "DeleteSeries": "Supprimer Séries", + "DeleteEpisode": "Suppri", + "HeaderDeleteSeries": "Supprimer Séries", + "EnableSmoothScroll": "Activer le défilement fluide", + "Lyric": "Parole", + "LimitSupportedVideoResolution": "Limiter la résolution vidéo maximale prise en charge", + "LimitSupportedVideoResolutionHelp": "Utiliser la 'Résolution de transcodage vidéo maximale autorisée' comme résolution vidéo maximale prise en charge." } From ddf959ba01266ce0d9a4e278d6fabbc482282d51 Mon Sep 17 00:00:00 2001 From: KipshidzeNikoloz Date: Wed, 27 Mar 2024 10:26:37 +0000 Subject: [PATCH 097/293] Translated using Weblate (Georgian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ka/ --- src/strings/ka.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/strings/ka.json b/src/strings/ka.json index 292abd52d1..51542d7719 100644 --- a/src/strings/ka.json +++ b/src/strings/ka.json @@ -40,5 +40,10 @@ "AirDate": "ეთერში გაშვების თარიღი", "AllLibraries": "ყველა ბიბლიოთეკა", "AllowedRemoteAddressesHelp": "IP მისამართების ან IP/ქსელური მასკის ჩანაწერების ძიმეთი დაყოფილი სია ქსელებისთვის, რომლებიც შეძლებენ დაშორებულად დაკავშირებას. თუ დატოვებთ ცარიელს, ყველა დაშორებული მისამართი იქნება დაშვებული.", - "AllowCollectionManagement": "ამ მომხმარებლისთვის კოლექციების მართვის საშუალების მიცემა" + "AllowCollectionManagement": "ამ მომხმარებლისთვის კოლექციების მართვის საშუალების მიცემა", + "AllowContentWithTagsHelp": "მხოლოდ იმ მედია ფაილების ჩვენება, რომლებსაც ერთი ან მეტი იარლიყი გააჩნიათ.", + "AllowSubtitleManagement": "ამ მომხმარებლისთვის სუბტიტრების შეცვლის საშუალების მიცემა", + "AllowFfmpegThrottling": "ტრანსკოდირების შეფერხება", + "AllowFfmpegThrottlingHelp": "ნაკლები რესურსის გამოყენების მიზნით პროცესის შეჩერება, როდეცას ტრანსკოდირება ან remux საკმარისად გაცდება ჩვენების მიმდინარე პოზიციას. ეს ყველაზე გამოსადეგია იშვიათად გადახვევისას. გამორთეთ ეს ფუნქცია თუ კი ჩვენების პრობლემები გაგაჩნიათ.", + "AllowSegmentDeletion": "მონაკვეთების წაშლა" } From 47251234b9c80bb4f84a7e34bd545b624ff6cefb Mon Sep 17 00:00:00 2001 From: KipshidzeNikoloz Date: Wed, 27 Mar 2024 10:38:15 +0000 Subject: [PATCH 098/293] Translated using Weblate (Georgian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ka/ --- src/strings/ka.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/strings/ka.json b/src/strings/ka.json index 51542d7719..bffd7a32c8 100644 --- a/src/strings/ka.json +++ b/src/strings/ka.json @@ -45,5 +45,9 @@ "AllowSubtitleManagement": "ამ მომხმარებლისთვის სუბტიტრების შეცვლის საშუალების მიცემა", "AllowFfmpegThrottling": "ტრანსკოდირების შეფერხება", "AllowFfmpegThrottlingHelp": "ნაკლები რესურსის გამოყენების მიზნით პროცესის შეჩერება, როდეცას ტრანსკოდირება ან remux საკმარისად გაცდება ჩვენების მიმდინარე პოზიციას. ეს ყველაზე გამოსადეგია იშვიათად გადახვევისას. გამორთეთ ეს ფუნქცია თუ კი ჩვენების პრობლემები გაგაჩნიათ.", - "AllowSegmentDeletion": "მონაკვეთების წაშლა" + "AllowSegmentDeletion": "მონაკვეთების წაშლა", + "AllowSegmentDeletionHelp": "მონაკვეთის წაშლა, კლიენტის მიერ მისი გადმოწერის შემდგომ. ეს თავს აარიდებს სრული ტრანსკოდირებული ფაილების დისკზე შენახვას. გამორთეთ ეს ფუნქცია თუ კი ჩვენების პრობლემები გაგაჩნიათ.", + "LabelSegmentKeepSecondsHelp": "წამთა ოდენობა, რომელიც განსაზღვრავს რამდენი ხნით შეინახება მონაკვეთები კლიენტის მიერ მისი გადმოწერის შემდგომ. მუშობს მხოლოდ მაშინ, როდესაც მონაკვეთების წაშლის ფუნქცია ჩართულია.", + "LabelThrottleDelaySecondsHelp": "წამთა ოდენობა, რის შემდეგაც ტრანსკოდირება იქნება შეფერხებული. უნდა იყოს საკმარისად ხანგრძლივი, იმისთვის რომ, კლიენტმა შეინარჩუნოს ჯანსაღი ბუფერი. მუშაობს მხოლოდ მაშინ, როდესაც შეფერხების ფუნქცია ჩართულია.", + "LabelSegmentKeepSeconds": "მითითებული დროის განმავლობაში მონაკვეთები შეინახება" } From 3788fbf5fc1f1323a69f2f9f3b77a933bf3ed18c Mon Sep 17 00:00:00 2001 From: stanol Date: Wed, 27 Mar 2024 17:34:40 +0000 Subject: [PATCH 099/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index eb4b8e5946..4f67ee8979 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -119,7 +119,7 @@ "ValueSpecialEpisodeName": "Спецепізод - {0}", "Sync": "Синхронізація", "Songs": "Пісні", - "Shows": "Телепередачі", + "Shows": "Серіали", "Playlists": "Плейлисти", "Photos": "Фотографії", "Aired": "Етерний", @@ -384,7 +384,7 @@ "ErrorDeletingItem": "Сталася помилка під час видалення елемента з сервера. Перевірте, чи Jellyfin має доступ до теки з медіафайлами, та спробуйте ще раз.", "ErrorAddingXmlTvFile": "Сталася помилка під час доступу до XMLTV файлу. Переконайтесь, що файл існує, та спробуйте ще раз.", "ErrorAddingTunerDevice": "Сталася помилка під час додавання тюнера. Переконайтесь, що пристрій доступний, та спробуйте ще раз.", - "ErrorAddingMediaPathToVirtualFolder": "Сталася помилка під чам додавання шляха медіа. Переконайтесь, що шлях вірний, та Jellyfin має до нього доступ.", + "ErrorAddingMediaPathToVirtualFolder": "Сталася помилка під час додавання шляху медіа. Переконайтесь, що шлях вірний, та Jellyfin має до нього доступ.", "EncoderPresetHelp": "Оберіть швидше значення, щоб покращити продуктивність, або повільніше значення, щоб покращити якість.", "EnableStreamLoopingHelp": "Включайте це якщо трансляція має тільки декілька секунд даних, і нові дані треба постійно запитувати. Вмикання цього коли це не потрібно може створити проблеми.", "DisablePlugin": "Вимкнути", @@ -782,7 +782,7 @@ "LabelLocalCustomCss": "Власний CSS-код для стилізації, який застосовується лише до цього клієнта. Ви можете вимкнути власний CSS-код сервера.", "LabelMaxAudiobookResumeHelp": "Заголовки вважаються повністю відтвореними, якщо їх зупинити, коли тривалість, що залишилася, менша за це значення.", "LabelLibraryPageSizeHelp": "Встановіть кількість елементів, які відображатимуться на сторінці медіатеки Встановіть значення 0, щоб вимкнути розбиття на сторінки.", - "LabelMaxDaysForNextUpHelp": "Встановлює максимальну кількість днів, протягом яких телепередача має залишатися в списку «Далі» без перегляду.", + "LabelMaxDaysForNextUpHelp": "Встановлює максимальну кількість днів, протягом яких серіал має залишатися в списку «Далі» без перегляду.", "LabelKodiMetadataUserHelp": "Збереження даних про перегляди у файлах NFO для використання іншими програмами.", "LabelIconMaxResHelp": "Максимальна роздільна здатність іконок, які відображаються через властивість 'upnp:icon'.", "LabelIconMaxHeight": "Максимальна висота значка", @@ -1159,7 +1159,7 @@ "MessageNothingHere": "Тут нічого немає.", "MessageNoRepositories": "Немає сховищ.", "MessageNoPluginsInstalled": "У вас немає встановлених плагінів.", - "MessageNoNextUpItems": "Нічого не знайдено. Почніть дивитися свої телепередачі!", + "MessageNoNextUpItems": "Нічого не знайдено. Почніть дивитися свої серіали!", "MessageNoMovieSuggestionsAvailable": "Наразі немає пропозицій фільмів. Почніть дивитися та оцінювати свої фільми, а потім повертайтеся, щоб переглянути свої рекомендації.", "MessageNoGenresAvailable": "Дозволити деяким постачальникам метаданих витягувати жанри з Інтернету.", "MessageNoCollectionsAvailable": "Колекції дозволяють насолоджуватися персоналізованими групами фільмів, серіалів та альбомів. Натисніть кнопку «+», щоб розпочати створення колекції.", @@ -1426,7 +1426,7 @@ "TabDashboard": "Панель керування", "TabContainers": "Контейнери", "TabCodecs": "Кодеки", - "TabCatalog": "Тека", + "TabCatalog": "Каталог", "TabAdvanced": "Розширені", "TabAccess": "Доступ", "SystemDlnaProfilesHelp": "Системні профілі доступні лише для читання. Зміни до системного профілю будуть збережені в новому власному профілі.", @@ -1582,7 +1582,7 @@ "ValueAudioCodec": "Аудіокодек: {0}", "UserProfilesIntro": "Jellyfin включає підтримку профілів користувачів із детальними налаштуваннями відображення, станом відтворення та батьківським контролем.", "UserAgentHelp": "Додайте власний HTTP-заголовок «User-Agent».", - "UseEpisodeImagesInNextUpHelp": "Розділи «Далі» та «Продовжити перегляд» використовуватимуть зображення епізодів як мініатюри замість основної мініатюри телепередачі.", + "UseEpisodeImagesInNextUpHelp": "Розділи «Далі» та «Продовжити перегляд» використовуватимуть зображення епізодів як мініатюри замість основної мініатюри серіалу.", "UseEpisodeImagesInNextUp": "Використовувати зображення епізодів у розділах «Далі» та «Продовжити перегляд»", "UseDoubleRateDeinterlacing": "Подвоїти частоту кадрів під час деінтерлейсингу", "Upload": "Завантажити", @@ -1595,7 +1595,7 @@ "Uniform": "Уніформа", "Typewriter": "Машинописне", "TypeOptionPluralVideo": "Відео", - "TypeOptionPluralSeries": "Телепередачі", + "TypeOptionPluralSeries": "Серіали", "TypeOptionPluralSeason": "Сезони", "TypeOptionPluralMusicVideo": "Музичні відео", "TypeOptionPluralMusicArtist": "Музичні виконавці", @@ -1631,7 +1631,7 @@ "StoryArc": "Арка історії", "Production": "Виробництво", "OriginalAirDate": "Оригінальна дата ефіру", - "MixedMoviesShows": "Змішані фільми та телепередачі", + "MixedMoviesShows": "Змішані фільми та серіали", "MessageUnauthorizedUser": "Наразі у вас немає прав на доступ до сервера. Для отримання додаткової інформації зв’яжіться з адміністратором сервера.", "Localization": "Локалізація", "ItemDetails": "Деталі медіафайлу", @@ -1676,7 +1676,7 @@ "IgnoreDts": "Ігнорувати DTS (мітка часу декодування)", "IgnoreDtsHelp": "Вимкнення цієї опції може вирішити деякі проблеми, напр. відсутність аудіо на каналах з окремими аудіо- та відеопотоками.", "OptionDateEpisodeAdded": "Дата додавання епізоду", - "OptionDateShowAdded": "Показ дати додано", + "OptionDateShowAdded": "Дата додавання серіалу", "Unreleased": "Ще не випущений", "DownloadAll": "Завантажити все", "MessageRenameMediaFolder": "Перейменування медіатеки призведе до втрати всієї метаданих, будьте обережні.", @@ -1689,7 +1689,7 @@ "LabelChapterImageResolutionHelp": "Роздільна здатність створених зображень сцен. Зміна цього параметра не вплине на існуючі зображення сцен.", "PreferEmbeddedExtrasTitlesOverFileNames": "Віддавайте перевагу вбудованим назвам, а не назвам файлів для додаткових функцій", "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Додатки часто мають таке ж вбудоване ім’я, що й батьківське, позначте це, щоб все одно використовувати для них вбудовані заголовки.", - "ResolutionMatchSource": "Джерело відповідності", + "ResolutionMatchSource": "Збігається з джерелом", "SaveRecordingNFO": "Збережіть метадані EPG запису в NFO", "SaveRecordingNFOHelp": "Зберігайте метадані від постачальника списків EPG разом із бічними носіями.", "SaveRecordingImages": "Зберегти записані зображення EPG", From 8bb103e7b7ecc7e53b7f529257d20189cae0840f Mon Sep 17 00:00:00 2001 From: gnattu Date: Thu, 28 Mar 2024 02:44:53 +0800 Subject: [PATCH 100/293] fix: add additional helper text on H264 --- src/strings/en-us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/en-us.json b/src/strings/en-us.json index eccd1f699f..3288b8e778 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1603,7 +1603,7 @@ "IntelLowPowerEncHelp": "Low-Power Encoding can keep unnecessary CPU-GPU sync. On Linux they must be disabled if the i915 HuC firmware is not configured.", "LabelHardwareEncodingOptions": "Hardware encoding options", "LabelEncodingFormatOptions": "Encoding format options", - "EncodingFormatHelp": "Select the video encoding that Jellyfin should transcode to. Jellyfin will use software encoding when hardware acceleration for the selected format is not available.", + "EncodingFormatHelp": "Select the video encoding that Jellyfin should transcode to. Jellyfin will use software encoding when hardware acceleration for the selected format is not available. H264 encoding will always be enabled.", "AudioIsExternal": "The audio stream is external", "VideoBitrateNotSupported": "The video's bitrate is not supported", "UnknownVideoStreamInfo": "The video stream info is unknown", From adf3125c7dc61e658a2c37d33beb1c8f66d194c1 Mon Sep 17 00:00:00 2001 From: queeup Date: Wed, 27 Mar 2024 20:23:24 +0000 Subject: [PATCH 101/293] Translated using Weblate (Turkish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/ --- src/strings/tr.json | 71 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 5 deletions(-) diff --git a/src/strings/tr.json b/src/strings/tr.json index 44118f36e3..186678328c 100644 --- a/src/strings/tr.json +++ b/src/strings/tr.json @@ -881,7 +881,7 @@ "Menu": "Menü", "EnableBlurHashHelp": "Hala yüklenmekte olan resimler benzersiz bir yer tutucuyla görüntülenecektir.", "EnableBlurHash": "Resimler için bulanık yer tutucuları etkinleştir", - "AllowTonemappingHelp": "Ton eşleme, orijinal sahneyi temsil etmek için çok önemli bilgiler olan görüntü ayrıntılarını ve renkleri korurken bir videonun dinamik aralığını HDR'den SDR'ye dönüştürebilir. Şu anda yalnızca 10bit HDR10,HLG ve DoVi videolarla çalışmaktadır. Bunun için ilgili OpenCL veya CUDA çalışma zamanı gerekir.", + "AllowTonemappingHelp": "Ton eşleme, orijinal sahneyi temsil etmek için çok önemli bilgiler olan görüntü ayrıntılarını ve renkleri korurken bir videonun dinamik aralığını HDR'den SDR'ye dönüştürebilir. Şu anda yalnızca 10bit HDR10,HLG ve DoVi videolarla çalışmaktadır. Bunun için ilgili GPGPU çalışma zamanı gerekir.", "LabelAutomaticDiscovery": "Otomatik Keşfetmeyi Etkinleştir", "LabelAutoDiscoveryTracingHelp": "Etkinleştirildiğinde, otomatik keşfetme bağlantı noktasına gelen paketler günlüğe kaydedilir.", "LabelAutoDiscoveryTracing": "Otomatik Keşfetme izlemesini etkinleştirin.", @@ -1594,7 +1594,7 @@ "LabelVppTonemappingBrightnessHelp": "VPP ton eşlemesinde parlaklık kazancı uygulayın. Önerilen ve varsayılan değerler 16 ve 0'dır.", "LabelVppTonemappingBrightness": "VPP Ton eşleme parlaklık kazancı", "EnableSplashScreen": "Açılış ekranını etkinleştir", - "EnableEnhancedNvdecDecoderHelp": "Deneysel NVDEC uygulaması, kod çözme hatalarıyla karşılaşmadığınız sürece bu seçeneği etkinleştirmeyin.", + "EnableEnhancedNvdecDecoderHelp": "Gelişmiş NVDEC uygulaması, kod çözme hatalarıyla karşılaşırsanız CUVID kullanmak için bu seçeneği devre dışı bırakın.", "DirectPlayError": "Doğrudan oynatma başlatılırken bir hata oluştu", "UnknownAudioStreamInfo": "Ses akış bilgisi bilinmiyor", "UnknownVideoStreamInfo": "Video akış bilgisi bilinmiyor", @@ -1731,7 +1731,7 @@ "LabelChapterImageResolutionHelp": "Çıkarılan bölüm resimleri çözünürlüğü. Bunu değiştirmenin mevcut sahte bölümler üzerinde hiçbir etkisi olmayacaktır.", "LabelParallelImageEncodingLimit": "Paralel resim kodlama sınırı", "LabelParallelImageEncodingLimitHelp": "Paralel olarak çalışmasına izin verilen maksimum resim kodlaması miktarı. Bunu 0 olarak ayarlamak, sistem özelliklerinize göre bir sınır seçecektir.", - "AllowSegmentDeletionHelp": "İstemciye gönderilmiş eski segmentleri silin. Bu işlem tamamen dönüştürülmüş dosyaların diskte yer kaplamasına engel olur. Bu seçenek sadece sınırlandırma etkin olduğunda çalışır. Eğer oynatımda problem yaşıyorsanız lütfen bu seçeneği devre dışı bırakın.", + "AllowSegmentDeletionHelp": "İstemcinin indirdiği eski segmentleri silin. Bu işlem tamamen dönüştürülmüş dosyaların diskte yer kaplamasına engel olur. Eğer oynatımda problem yaşıyorsanız lütfen bu seçeneği devre dışı bırakın.", "LabelDeveloper": "Geliştirici", "HeaderEpisodesStatus": "Bölüm Durumu", "LogLevel.Debug": "Hata Ayıklama", @@ -1749,7 +1749,7 @@ "AllowSegmentDeletion": "Segmenti sil", "LabelThrottleDelaySeconds": "Şu kadar saniye sonra kısıtla:", "LabelSegmentKeepSeconds": "Segmentleri saklama süresi", - "LabelSegmentKeepSecondsHelp": "Segmentlerin üzerine yazılmadan önce tutulması gereken saniye cinsinden süre. \"Kısıtla\" değerinden büyük olmalıdır. Yalnızca segment silme etkinleştirildiğinde çalışır.", + "LabelSegmentKeepSecondsHelp": "Segmentlerin istemci tarafından indirildikten sonra tutulması gereken saniye cinsinden süre. Yalnızca segment silme etkinleştirildiğinde çalışır.", "PleaseConfirmRepositoryInstallation": "Yukarıdakileri okuduğunuzu ve eklenti deposu kurulumuna devam etmek istediğinizi onaylamak için lütfen Tamam'a tıklayın.", "MessageRepositoryInstallDisclaimer": "UYARI: Üçüncü taraf eklenti deposu kurmak riskler taşır. Kararsız veya kötü amaçlı kod içerebilir ve her an değişebilir. Yalnızca güvendiğiniz yazarların depolarını kurmanız önerilir.", "LogLevel.None": "Hiçbiri", @@ -1784,5 +1784,66 @@ "ChannelResolutionSD": "SD", "ChannelResolutionHD": "HD", "ChannelResolutionFullHD": "Full HD", - "ChannelResolutionUHD4K": "UHD (4K)" + "ChannelResolutionUHD4K": "UHD (4K)", + "ExtractTrickplayImagesHelp": "Trickplay görselleri bölüm görüntülerine benzer, ancak içeriğin tüm uzunluğuna yayılırlar ve videolar arasında gezinirken bir önizleme göstermek için kullanılırlar.", + "LimitSupportedVideoResolution": "Desteklenen en yüksek video çözünürlüğünü sınırla", + "LimitSupportedVideoResolutionHelp": "Desteklenen en yüksek video çözünürlüğü olarak 'İzin Verilen En Yüksek Video Kod Dönüştürme Çözünürlüğü' değerini kullanın.", + "PlaybackError.ASS_RENDER_ERROR": "ASS/SSA altyazı oluşturucusunda bir hatayla karşılaşıldı.", + "PlaybackError.PLAYER_ERROR": "Önemli bir oynatıcı hatası nedeniyle oynatma başarısız oldu.", + "LabelTrickplayAccelHelp": "Donanımınız destekliyorsa, Kod dönüştürme ayarlarında 'MJPEG Kodlamaya İzin Ver' seçeneğini etkinleştirdiğinizden emin olun.", + "NonBlockingScan": "Engellemesiz - oluşturmayı sıraya koyar, ardından geri döner", + "PriorityBelowNormal": "Normalin Altında", + "LabelProcessPriorityHelp": "Bunu daha düşük veya daha yüksek ayarlamak, işlemcinin (CPU) ffmpeg trickplay oluşturma işlemine diğer işlemlere göre nasıl öncelik vereceğini belirleyecektir. Trickplay görüntüleri oluştururken yavaşlama fark ederseniz ve ancak bunların oluşturulmasını tamamen durdurmak istemiyorsanız, bunu ve iş parçacığı sayısını azaltmayı deneyin.", + "LabelTileWidth": "Döşeme Genişliği", + "LabelTileWidthHelp": "X yönünde döşeme başına maksimum görsel sayısı.", + "Trickplay": "Trickplay", + "AllowMjpegEncoding": "MJPEG formatında kodlamaya izin ver (trickplay oluşturma sırasında kullanılır)", + "BlockingScan": "Engelleme - oluşturmayı sıraya koyar, tamamlanana kadar taramayı engeller", + "PriorityIdle": "Boşta", + "LabelUseReplayGainTags": "ReplayGain Etiketlerini Kullan", + "AllowContentWithTagsHelp": "Yalnızca belirtilen etiketlerden en az birine sahip medyayı gösterin.", + "BlockContentWithTagsHelp": "Belirtilen etiketlerden en az birine sahip medyayı gizleyin.", + "DeleteEntireSeries": "{0} Bölümü Sil", + "DeleteSeries": "Diziyi Sil", + "DeleteEpisode": "Bölümü Sil", + "DeleteName": "{0} Kullanıcısını Sil", + "HeaderDeleteSeries": "Diziyi Sil", + "PlaybackError.FATAL_HLS_ERROR": "HLS akışında önemli bir hatayla karşılaşıldı.", + "PlaybackError.NETWORK_ERROR": "Bir ağ hatası nedeniyle oynatma başarısız oldu.", + "PlaybackError.NO_MEDIA_ERROR": "Oynatılacak geçerli bir medya kaynağı bulunamıyor.", + "LabelScanBehavior": "Tarama Davranışı", + "LabelProcessPriority": "İşlem Önceliği", + "LabelImageInterval": "Görüntü Aralığı", + "LabelWidthResolutions": "Genişlik Çözünürlüğü", + "LabelJpegQualityHelp": "Trickplay görselleri için JPEG sıkıştırma kalitesi.", + "LabelQscale": "Qscale", + "LabelQscaleHelp": "FFmpeg tarafından çıkarılan görüntülerin kalite ölçeği; 2 en yüksek kalite ve 31 en düşük kalitedir.", + "LabelTrickplayThreads": "FFmpeg İş Parçacığı", + "LabelTrickplayThreadsHelp": "FFmpeg uygulamasının '-threads' argümanına aktarılacak iş parçacığı sayısı.", + "LabelExtractTrickplayDuringLibraryScanHelp": "Kütüphane taraması sırasında videolar içe aktarıldığında trickplay görselleri oluşturun. Aksi takdirde, trickplay görselleri zamanlanmış görevi sırasında çıkarılırlar. Oluşturma engellemesiz olarak ayarlanırsa bu, kütüphane taramasının tamamlanma süresini etkilemeyecektir.", + "LabelAllowContentWithTags": "Etiketli ögelere izin ver", + "LabelUseReplayGainTagsHelp": "Ses dosyalarını replaygain etiketleri için tarayın ve LUFS değerini hesaplamak yerine bunları kullanın. (Daha az hesaplama gücü kullanır. 'LUFS Tarama' seçeneğini geçersiz kılar)", + "PlaybackError.MEDIA_DECODE_ERROR": "Medyanın kodu çözülürken oluşan bir hata nedeniyle oynatma başarısız oldu.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Medya bu istemci tarafından desteklenmediğinden oynatma başarısız oldu.", + "PlaybackError.SERVER_ERROR": "Bir sunucu hatası nedeniyle oynatma başarısız oldu.", + "PlaybackError.NotAllowed": "Bu medyanın oynatılmasına izin verilmiyor.", + "PlaybackError.RateLimitExceeded": "Hız sınırları nedeniyle bu medya şu anda oynatılamıyor.", + "EnableVideoToolboxTonemapping": "VideoToolbox Ton eşlemeyi etkinleştir", + "AllowVideoToolboxTonemappingHelp": "VideoToolbox tarafından sağlanan donanım hızlandırmalı ton eşleme. HDR10, HDR10+ ve HLG dahil olmak üzere çoğu HDR formatıyla çalışır ancak Dolby Vision Profile 5 ile çalışmaz. Bu, başka bir Metal uygulamasına kıyasla daha yüksek bir önceliğe sahiptir.", + "LabelTrickplayAccel": "Donanım hızlandırmasını etkinleştir", + "LabelImageIntervalHelp": "Her yeni trickplay görseli arasındaki zaman aralığı (ms).", + "LabelScanBehaviorHelp": "Varsayılan davranış, trickplay oluşturma yapılmadan önce medyayı kütüphaneye ekleyecek olan engellemesiz seçeneğidir. Engelleme seçeneği, trickplay dosyalarının medya kütüphaneye eklenmeden önce oluşturulmasını sağlar ancak taramaları önemli ölçüde uzatır.", + "PriorityAboveNormal": "Normalin Üzerinde", + "PriorityHigh": "Yüksek", + "LabelWidthResolutionsHelp": "Trickplay görsellerinin oluşturulacağı genişliklerin (px) virgülle ayrılmış listesi. Tüm görseller kaynakla orantılı olarak oluşturulmalıdır, bu nedenle 16:9 videoda 320 genişlik 320x180 civarında olur.", + "LabelTileHeightHelp": "Y yönünde döşeme başına maksimum görsel sayısı.", + "LabelJpegQuality": "JPEG Kalitesi", + "OptionExtractTrickplayImage": "Trickplay görsel çıkarmayı etkinleştir", + "LabelTileHeight": "Döşeme Yüksekliği", + "LabelExtractTrickplayDuringLibraryScan": "Kütüphane taraması sırasında trickplay görsellerini çıkarın", + "ConfirmDeleteSeries": "Bu dizinin silinmesi, hem dosya sisteminden hem de medya kitaplığınızdan TÜM {0} bölümün silinmesine neden olacaktır. Devam etmek istediğinizden emin misiniz?", + "PriorityNormal": "Normal", + "AllowSubtitleManagement": "Bu kullanıcının altyazıları düzenlemesine izin ver", + "EnableSmoothScroll": "Akıcı kaydırmayı etkinleştir", + "Lyric": "Şarkı sözü" } From 64ca1f5006be283c3367f2e3a4c51147eb6a981a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 23:09:56 +0000 Subject: [PATCH 102/293] Update dependency autoprefixer to v10.4.19 --- package-lock.json | 34 +++++++++++++++++----------------- package.json | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index d4de5ba692..a56b2afbeb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", "@uupaa/dynamic-import-polyfill": "1.0.2", - "autoprefixer": "10.4.17", + "autoprefixer": "10.4.19", "babel-loader": "9.1.3", "babel-plugin-dynamic-import-polyfill": "1.0.0", "clean-webpack-plugin": "4.0.0", @@ -5890,9 +5890,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { @@ -5909,8 +5909,8 @@ } ], "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -6563,9 +6563,9 @@ "dev": true }, "node_modules/caniuse-lite": { - "version": "1.0.30001596", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", - "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==", "dev": true, "funding": [ { @@ -26874,13 +26874,13 @@ "dev": true }, "autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "requires": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -27383,9 +27383,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001596", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001596.tgz", - "integrity": "sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==", + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==", "dev": true }, "canvas": { diff --git a/package.json b/package.json index ed6bf02cc5..c4aa5364e5 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@typescript-eslint/eslint-plugin": "5.62.0", "@typescript-eslint/parser": "5.62.0", "@uupaa/dynamic-import-polyfill": "1.0.2", - "autoprefixer": "10.4.17", + "autoprefixer": "10.4.19", "babel-loader": "9.1.3", "babel-plugin-dynamic-import-polyfill": "1.0.0", "clean-webpack-plugin": "4.0.0", From ac410d16168bec1ed70ce251edd27cf8e46589ed Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Thu, 28 Mar 2024 03:02:32 -0400 Subject: [PATCH 103/293] Fix missing emby-collapse import in add plugin page --- src/controllers/dashboard/plugins/add/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/controllers/dashboard/plugins/add/index.js b/src/controllers/dashboard/plugins/add/index.js index 337cef996f..38246e3ece 100644 --- a/src/controllers/dashboard/plugins/add/index.js +++ b/src/controllers/dashboard/plugins/add/index.js @@ -3,11 +3,13 @@ import markdownIt from 'markdown-it'; import DOMPurify from 'dompurify'; import loading from '../../../../components/loading/loading'; import globalize from '../../../../scripts/globalize'; -import '../../../../elements/emby-button/emby-button'; import Dashboard from '../../../../utils/dashboard'; import alert from '../../../../components/alert'; import confirm from '../../../../components/confirm/confirm'; +import 'elements/emby-button/emby-button'; +import 'elements/emby-collapse/emby-collapse'; + function populateHistory(packageInfo, page) { let html = ''; const length = Math.min(packageInfo.versions.length, 10); From 07e308bff981579e6849db46d39ebe15eb87d7bc Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Thu, 28 Mar 2024 06:28:45 +0000 Subject: [PATCH 104/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index a58a58c0ae..ea811604e0 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1853,5 +1853,6 @@ "LimitSupportedVideoResolutionHelp": "使用“允许的最高视频转码分辨率”作为支持的最高视频分辨率。", "LimitSupportedVideoResolution": "限制支持的最高视频分辨率", "AllowContentWithTagsHelp": "仅显示至少具有一个指定标签的媒体。", - "BlockContentWithTagsHelp": "隐藏至少具有一个指定标签的媒体。" + "BlockContentWithTagsHelp": "隐藏至少具有一个指定标签的媒体。", + "AirPlay": "隔空播放" } From 0411bc05cb94bfb3660bfa3183825da923d6725f Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Thu, 28 Mar 2024 06:29:53 +0000 Subject: [PATCH 105/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 08616b8173..6cd59e171e 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1852,5 +1852,6 @@ "LimitSupportedVideoResolution": "限制支持的最高視頻分辨率", "LimitSupportedVideoResolutionHelp": "使用“允許的最高影片轉碼解析度”作為支持的最高影片解析度。", "AllowContentWithTagsHelp": "僅顯示至少具有一個指定標籤的媒體。", - "BlockContentWithTagsHelp": "隱藏至少具有一個指定標籤的媒體。" + "BlockContentWithTagsHelp": "隱藏至少具有一個指定標籤的媒體。", + "AirPlay": "隔空播放" } From 143b846d5076ba82dc35de7e8240b090a787ed1d Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Thu, 28 Mar 2024 08:31:54 -0400 Subject: [PATCH 106/293] Fix missing emby-select import in add plugin page --- src/controllers/dashboard/plugins/add/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/dashboard/plugins/add/index.js b/src/controllers/dashboard/plugins/add/index.js index 38246e3ece..11dc716b17 100644 --- a/src/controllers/dashboard/plugins/add/index.js +++ b/src/controllers/dashboard/plugins/add/index.js @@ -9,6 +9,7 @@ import confirm from '../../../../components/confirm/confirm'; import 'elements/emby-button/emby-button'; import 'elements/emby-collapse/emby-collapse'; +import 'elements/emby-select/emby-select'; function populateHistory(packageInfo, page) { let html = ''; From c80716d81db36986373b57669c498dd22f688eba Mon Sep 17 00:00:00 2001 From: Kityn Date: Thu, 28 Mar 2024 12:11:24 +0000 Subject: [PATCH 107/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 7c7f700ddd..f483e58ae9 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1853,5 +1853,6 @@ "LimitSupportedVideoResolutionHelp": "Jako maksymalną obsługiwaną rozdzielczość wideo użyj opcji „Maksymalna dozwolona rozdzielczość transkodowania wideo”.", "LimitSupportedVideoResolution": "Ogranicz maksymalną obsługiwaną rozdzielczość wideo", "AllowContentWithTagsHelp": "Wyświetlaj tylko multimedia z co najmniej jednym z określonych tagów.", - "BlockContentWithTagsHelp": "Ukryj multimedia z co najmniej jednym z określonych tagów." + "BlockContentWithTagsHelp": "Ukryj multimedia z co najmniej jednym z określonych tagów.", + "AirPlay": "AirPlay" } From 39b51f90e00a39e7fd57a001587c4a81824fb7ff Mon Sep 17 00:00:00 2001 From: Tobias Mitala Date: Thu, 28 Mar 2024 11:26:35 +0000 Subject: [PATCH 108/293] Translated using Weblate (Slovak) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/ --- src/strings/sk.json | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/strings/sk.json b/src/strings/sk.json index 578da7806f..54d1f4ff4c 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -1447,7 +1447,7 @@ "AspectRatioCover": "Obal", "VideoAudio": "Video Zvuk", "Video": "Video", - "AllowTonemappingHelp": "Mapovanie tónov umožňuje zmeniť dynamický rozsah videa z HDR na SDR bez straty dôležitých informácií pôvodného obrazu, ako sú detaily a farby. Táto funkcia v súčasnosti funguje len pre videá, ktoré obsahujú 10-bitové HDR10, HLG alebo Dolby Vision. Funkcia vyžaduje OpenCL alebo CUDA.", + "AllowTonemappingHelp": "Mapovanie tónov umožňuje zmeniť dynamický rozsah videa z HDR na SDR bez straty dôležitých informácií pôvodného obrazu, ako sú detaily a farby. Táto funkcia v súčasnosti funguje len pre videá, ktoré obsahujú 10-bitové HDR10, HLG alebo Dolby Vision. Funkcia vyžaduje GPGPU.", "LabelTonemappingThresholdHelp": "Parametre algoritmu mapovania tónov sú prispôsobené jednotlivým scénam. A tento prah sa používa na zistenie, či sa scéna zmenila alebo nie. Pokiaľ rozdiel medzi súčasnou priemernou svetlosťou snímku a priebežným priemerom tento prah prekročí, bude priemerná a vrchná svetlosť scény prepočítaná. Doporučené a predvolené hodnoty sú 0.8 a 0.2.", "LabelUDPPortRangeHelp": "Obmedzí UDP pripojenie Jellyfinu na tento rozsah. (Predvolená hodnota je 1024 - 65535).
Poznámka: Niektoré funkcie vyžadujú určité porty, ktoré sa môžu nachádzať mimo tohto rozsahu.", "Remuxing": "Remuxovanie", @@ -1775,13 +1775,16 @@ "LabelThrottleDelaySeconds": "Obmedziť po", "LabelSegmentKeepSeconds": "Doba ponechania segmentov", "LabelThrottleDelaySecondsHelp": "Čas v sekundách, po ktorom bude prekódovanie obmedzené. Musí byť dostatočne veľký, aby mal klient v rezerve dostatočné množstvo prehrávaného súboru. Funguje len vtedy, ak je povolená funkcia Obmedziť prekódovanie.", - "AllowSegmentDeletionHelp": "Odstránenie starých segmentov po ich odoslaní klientovi. Tým sa zabráni tomu, aby sa celý prekódovaný súbor musel ukladať na disk. Funguje len so zapnutou funkciou Obmedziť prekódovanie. Ak sa vyskytnú problémy s prehrávaním, vypnite túto funkciu.", - "LabelSegmentKeepSecondsHelp": "Čas v sekundách, počas ktorého budú segmenty uložené. Musí byť dlhší ako je čas určený v \"Obmedziť po\". Funguje len vtedy, ak je povolená funkcia Zmazania segmentov.", + "AllowSegmentDeletionHelp": "Odstránenie starých segmentov po strihnutí klientom. Tým sa zabráni tomu, aby sa celý prekódovaný súbor musel ukladať na disk. Ak sa vyskytnú problémy s prehrávaním, vypnite túto funkciu.", + "LabelSegmentKeepSecondsHelp": "Čas v sekundách, počas ktorého budú segmenty uložené. Funguje len vtedy, ak je povolená funkcia Zmazania segmentov.", "SelectAudioNormalizationHelp": "Zosilnenie stopy - upravuje hlasitosť jednotlivých stôp tak, aby sa prehrávali s rovnakou hlasitosťou. Zosilnenie pre album - upravuje hlasitosť všetkých skladieb iba v albume, pričom zachováva dynamický rozsah albumu.", "LabelAlbumGain": "Zosilnenie pre album", "LabelSelectAudioNormalization": "Normalizácia hlasitosti", "LabelTrackGain": "Zosilnenie stopy", "SearchResultsEmpty": "Prepáčte! Nenašli sa žiadne výsledky pre \"{0}\"", "ButtonEditUser": "Upraviť používateľa", - "HeaderAllRecordings": "Všetky nahrávky" + "HeaderAllRecordings": "Všetky nahrávky", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Zobraziť len médiá s aspoň jednou zo zadaných značiek.", + "AllowSubtitleManagement": "Povoliť používateľovi upravovať titulky" } From 655a26f0d4ff9487a3dd06611bc2a6ecdbc114d2 Mon Sep 17 00:00:00 2001 From: stanol Date: Thu, 28 Mar 2024 12:34:10 +0000 Subject: [PATCH 109/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index 4f67ee8979..40c7f92c8a 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -1850,5 +1850,6 @@ "LimitSupportedVideoResolution": "Обмеження максимальної роздільної здатності відео", "LimitSupportedVideoResolutionHelp": "Використовувати \"Максимально дозволену роздільну здатність кодування відео\" як максимально підтримувану роздільну здатність відео.", "AllowContentWithTagsHelp": "Показувати лише медіа з принаймні одним із зазначених тегів.", - "BlockContentWithTagsHelp": "Приховати медіа з принаймні одним із зазначених тегів." + "BlockContentWithTagsHelp": "Приховати медіа з принаймні одним із зазначених тегів.", + "AirPlay": "AirPlay" } From cc445baec3a40de036d2441e255f5713ad100160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stjepan=20Mrgnai=C4=87?= Date: Thu, 28 Mar 2024 13:21:20 +0000 Subject: [PATCH 110/293] Translated using Weblate (Croatian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/ --- src/strings/hr.json | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/src/strings/hr.json b/src/strings/hr.json index 8c105b61d8..21ed6f6e43 100644 --- a/src/strings/hr.json +++ b/src/strings/hr.json @@ -849,7 +849,7 @@ "Playlists": "Popisi za reprodukciju", "AllowMediaConversionHelp": "Dopusti ili odbij pristup mogućnosti konverzije medija.", "AllLibraries": "Sve biblioteke", - "Aired": "Prenošeno", + "Aired": "Emitirano", "AirDate": "Datum prikazivanja", "AddedOnValue": "Dodano {0}", "Songs": "Pjesme", @@ -1515,5 +1515,46 @@ "LabelSegmentKeepSecondsHelp": "Vrijeme u sekundama za koje se segmenti trebaju čuvati prije nego što se prebrišu. Mora biti veći od \"Throttle after\". Radi samo ako je omogućeno brisanje segmenta.", "LabelKnownProxies": "Poznati proxy-i", "ButtonBackspace": "Backspace", - "LabelHomeScreenSectionValue": "{0}. odjeljak početne" + "LabelHomeScreenSectionValue": "{0}. odjeljak početne", + "AllowContentWithTagsHelp": "Prikaži multimediju s barem jednom od odabranih oznaka.", + "ChannelResolutionSDPAL": "SD (PAL)", + "ConfirmDeleteSeries": "Brisanjem ovog serijala obrisat će se {0} epizoda s podatkovnog sistema i multimedijske biblioteke. Želite li nastaviti?", + "DeleteEpisode": "Obriši epizodu", + "DlnaMovedMessage": "DLNA funkcije su dostupne putem dodatka za Jellyfin.", + "LabelBuildVersion": "Verzija programa", + "LabelStereoDownmixAlgorithm": "Algoritam pretvorbe audio signala u stereo", + "LabelMaxAudiobookResume": "Preostalo vrijeme za nastavak audioknjige", + "LabelDummyChapterDurationHelp": "Interval između praznih poglavlja. Postaviti na 0 kako bi se onemogućilo stvaranje praznih poglavlja. Izmjena ove postavke nema učinka za postojeća prazna poglavlja.", + "LabelEnableAudioVbrHelp": "Promjenjiv broj bitova u sekundi nudi bolju kvalitetu naspram postavljanja prosječnog broja bitova u sekundi. U nekim rijetkim slučajevima ova postavka može prouzročiti učestalo učitavanje ili probleme s kompatibilnosti.", + "LabelLibraryPageSize": "Broj prikazanih stavki biblioteke", + "LabelServerVersion": "Verzija poslužitelja", + "LabelMinAudiobookResume": "Minimalno vrijeme za nastavak audio knjige u minutama", + "LabelSyncPlayNoGroups": "Nema dostupnih grupa", + "LabelSyncPlaySettingsSyncCorrectionHelp": "Omogući aktivnu sinkronizaciju izvođenja ubrzavanjem multimedije ili preskakivanjem sadržaja do određene pozicije. Onemogućite u slučaju jakog zastajkivanja.", + "LabelSyncPlaySettingsSkipToSyncHelp": "Metoda sinkronizacije koja preskače sadržaj do određene pozicije. Korekcija sinkronizacije mora biti omogućena.", + "LabelTonemappingPeakHelp": "Zamjeni vršnu vrijednost signala s ovom vrijednosti. Korisno kada metapodaci signala nisu pouzdani ili kada se tonalni raspon prilagođava s nižeg na viši raspon. Preporučene i pretpostavljene vrijednosti su 100 i 0.", + "LabelTranscodes": "Konverzija formata", + "LabelIsForced": "Nužni (titlovi)", + "AirPlay": "AirPlay", + "AllowSubtitleManagement": "Dopusti korisniku uređivanje titlova", + "BlockContentWithTagsHelp": "Ne prikazuj multimediju s barem jednom od odabranih oznaka.", + "ButtonEditUser": "Uredi korisnika", + "ChannelResolutionSD": "SD", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "Full HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "DeleteEntireSeries": "Obriši {0} epizoda", + "DeleteSeries": "Obriši serijal", + "DeleteName": "Obriši {0}", + "EnableSmoothScroll": "Omogući lakše pomicanje", + "HeaderDeleteSeries": "Obriši serijal", + "LabelAllowContentWithTags": "Dopusti stavke s oznakama", + "LabelBackdropScreensaverInterval": "Interval prikazivanja zaštite zaslona", + "LabelBackdropScreensaverIntervalHelp": "Vremeski raspon unutar kojeg se izmjenjuju pozadine prilikom korištenja zaštite zaslona (u sekundama).", + "LabelChapterImageResolutionHelp": "Rezolucija stvorenih sličica poglavlja. Izmjena ove postavke nema učinka na postojeća prazna poglavlja.", + "LabelEnableLUFSScanHelp": "Klijenti mogu normalizirati izvođenje zvučnog zapisa kako bi osigurali ujednačenu glasnoću između različitih zapisa. Ova postavka će produljiti trajanje popisivanja multimedije i koristit će više računalnih resursa.", + "LabelMaxVideoResolution": "Maksimalna dopuštena rezolucija za konvertiranje videa", + "LabelMediaDetails": "Detalji multimedije", + "LabelMaxMuxingQueueSize": "Maksimalna veličina reda čekanja za konvertiranje formata", + "LabelSyncPlaySettingsExtraTimeOffset": "Dodatni vremenski pomak" } From d8b054644b9d2b9035bc73f41e7e67a529c55f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stjepan=20Mrgnai=C4=87?= Date: Thu, 28 Mar 2024 14:38:30 +0000 Subject: [PATCH 111/293] Translated using Weblate (Croatian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hr/ --- src/strings/hr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/hr.json b/src/strings/hr.json index 21ed6f6e43..e0e701b611 100644 --- a/src/strings/hr.json +++ b/src/strings/hr.json @@ -1556,5 +1556,7 @@ "LabelMaxVideoResolution": "Maksimalna dopuštena rezolucija za konvertiranje videa", "LabelMediaDetails": "Detalji multimedije", "LabelMaxMuxingQueueSize": "Maksimalna veličina reda čekanja za konvertiranje formata", - "LabelSyncPlaySettingsExtraTimeOffset": "Dodatni vremenski pomak" + "LabelSyncPlaySettingsExtraTimeOffset": "Dodatni vremenski pomak", + "LabelTranscodingFramerate": "Broj sličica u sekundi prilikom konverzije formata", + "LabelTranscodingProgress": "Napredak konverzije formata" } From 05f6be900f26a87644e018912c01362bce41424b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 04:13:26 +0000 Subject: [PATCH 112/293] Update eps1lon/actions-label-merge-conflict action to v3 --- .github/workflows/automation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automation.yml b/.github/workflows/automation.yml index 5bf60036f6..4b6538ca1a 100644 --- a/.github/workflows/automation.yml +++ b/.github/workflows/automation.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository == 'jellyfin/jellyfin-web' }} steps: - - uses: eps1lon/actions-label-merge-conflict@fd1f295ee7443d13745804bc49fe158e240f6c6e # tag=v2.1.0 + - uses: eps1lon/actions-label-merge-conflict@e62d7a53ff8be8b97684bffb6cfbbf3fc1115e2e # v3.0.0 with: dirtyLabel: 'merge conflict' commentOnDirty: 'This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.' From 80b2861d91546b90d84213929c76d73cdbdec806 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 04:15:46 +0000 Subject: [PATCH 113/293] Update Linters --- package-lock.json | 4617 +++++++++++++++++++++++---------------------- package.json | 8 +- 2 files changed, 2414 insertions(+), 2211 deletions(-) diff --git a/package-lock.json b/package-lock.json index a56b2afbeb..3fda75c04e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,14 +91,14 @@ "css-loader": "6.9.1", "cssnano": "6.0.5", "es-check": "7.1.1", - "eslint": "8.56.0", + "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.33.2", + "eslint-plugin-react": "7.34.1", "eslint-plugin-react-hooks": "4.6.0", - "eslint-plugin-sonarjs": "0.23.0", + "eslint-plugin-sonarjs": "0.24.0", "expose-loader": "4.1.0", "fork-ts-checker-webpack-plugin": "9.0.2", "html-loader": "4.2.0", @@ -116,7 +116,7 @@ "style-loader": "3.3.4", "stylelint": "15.11.0", "stylelint-config-rational-order": "0.1.2", - "stylelint-no-browser-hacks": "1.2.1", + "stylelint-no-browser-hacks": "1.3.0", "stylelint-order": "6.0.4", "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", @@ -3534,9 +3534,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3607,13 +3607,13 @@ "integrity": "sha512-arLrPmEOaphO9r8dFhNIUlje/YBRykxjETc/b0bxy5LUVRLbAuzl0wdEyaKA77MiRXMqSw7KKFgxtusoobUG5w==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -3634,9 +3634,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, "node_modules/@jellyfin/libass-wasm": { @@ -4633,6 +4633,15 @@ "@types/mdurl": "*" } }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2" + } + }, "node_modules/@types/mdurl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", @@ -5641,13 +5650,16 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5717,6 +5729,26 @@ "node": ">=0.10.0" } }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", @@ -5772,31 +5804,44 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -5863,15 +5908,6 @@ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -5927,10 +5963,13 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -6389,12 +6428,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browserslist/node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -6440,14 +6473,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6823,6 +6861,18 @@ "node": ">=6" } }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/clsx": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", @@ -7675,6 +7725,57 @@ "node": ">=18" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -7811,17 +7912,20 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -8232,50 +8336,57 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", + "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -8336,26 +8447,50 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", + "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/es-module-lexer": { @@ -8364,27 +8499,39 @@ "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", "dev": true }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -8499,16 +8646,16 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -8821,27 +8968,29 @@ "dev": true }, "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.17", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.10" }, "engines": { "node": ">=4" @@ -8901,12 +9050,12 @@ } }, "node_modules/eslint-plugin-sonarjs": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", - "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.24.0.tgz", + "integrity": "sha512-87zp50mbbNrSTuoEOebdRQBPa0mdejA5UEjyuScyIw8hEpEjfWP89Qhkq5xVZfVyVSRQKZc9alVm7yRKQvvUmg==", "dev": true, "engines": { - "node": ">=14" + "node": ">=16" }, "peerDependencies": { "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" @@ -9348,6 +9497,18 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -10477,20 +10638,36 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -10504,13 +10681,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -10728,18 +10906,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -10779,21 +10945,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -10815,12 +10981,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -10905,9 +11071,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -11485,12 +11651,12 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" }, @@ -11594,14 +11760,16 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11743,6 +11911,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -11901,9 +12084,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -12021,6 +12204,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", @@ -12031,12 +12223,15 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12094,12 +12289,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -12108,6 +12303,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -12710,6 +12923,73 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, + "node_modules/log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dev": true, + "dependencies": { + "chalk": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/logform": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", @@ -12934,6 +13214,51 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -13088,6 +13413,26 @@ "node": ">= 0.6" } }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -13480,9 +13825,9 @@ } }, "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/nopt": { @@ -13670,13 +14015,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -13731,13 +14076,17 @@ } }, "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13967,6 +14316,24 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -14217,6 +14584,15 @@ "node": ">=0.10.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.4.33", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", @@ -15822,6 +16198,48 @@ "node": ">=6" } }, + "node_modules/postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "dependencies": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "node_modules/postcss-sass/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-sass/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-sass/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-scss": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", @@ -16608,14 +17026,15 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -16671,6 +17090,47 @@ "node": ">= 0.10" } }, + "node_modules/remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "dependencies": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "^0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remove-accents": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", @@ -16892,13 +17352,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -16930,15 +17390,18 @@ } }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -17244,29 +17707,32 @@ "optional": true }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -17353,14 +17819,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -18018,33 +18488,41 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -18054,14 +18532,14 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19226,38 +19704,13 @@ } }, "node_modules/stylelint-no-browser-hacks": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stylelint-no-browser-hacks/-/stylelint-no-browser-hacks-1.2.1.tgz", - "integrity": "sha512-lPcqHx3e/WnrXdw0wdnKtcjcSCAYEXjwSitXRw0OQ2qPF+iLyDFoarbn4qcw38Uuu7q29fhj+w2mECLM0fUOlw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/stylelint-no-browser-hacks/-/stylelint-no-browser-hacks-1.3.0.tgz", + "integrity": "sha512-aeNEFlP/AIQ3FEgU6HxUOY5Xb2M1vimNWNUcQkaFou/rb0roQH75GM4v6Vf5MB+eEmLckz7dXzveTYnG3SBedw==", "dev": true, "dependencies": { - "stylehacks": "^2.3", - "stylelint": "^9.1" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "stylehacks": "^2.3.2", + "stylelint": "^13.13.1" } }, "node_modules/stylelint-no-browser-hacks/node_modules/ansi-regex": { @@ -19272,58 +19725,111 @@ "node_modules/stylelint-no-browser-hacks/node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/stylelint-no-browser-hacks/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/stylelint-no-browser-hacks/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/autoprefixer/node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/autoprefixer/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/stylelint-no-browser-hacks/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true }, "node_modules/stylelint-no-browser-hacks/node_modules/browserslist": { "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", "dev": true, "dependencies": { @@ -19335,32 +19841,35 @@ } }, "node_modules/stylelint-no-browser-hacks/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/stylelint-no-browser-hacks/node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/stylelint-no-browser-hacks/node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "dependencies": { "ansi-styles": "^2.2.1", @@ -19373,469 +19882,197 @@ "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/clone-regexp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", - "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", + "node_modules/stylelint-no-browser-hacks/node_modules/chalk/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "dependencies": { - "is-regexp": "^1.0.0", - "is-supported-regexp-flag": "^1.0.0" + "ansi-regex": "^2.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "node_modules/stylelint-no-browser-hacks/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "path-type": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "node_modules/stylelint-no-browser-hacks/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/stylelint-no-browser-hacks/node_modules/execall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", - "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "node_modules/stylelint-no-browser-hacks/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "dependencies": { - "clone-regexp": "^1.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/file-entry-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", - "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/stylelint-no-browser-hacks/node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/stylelint-no-browser-hacks/node_modules/globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/globby/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/stylelint-no-browser-hacks/node_modules/has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "node_modules/stylelint-no-browser-hacks/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/stylelint-no-browser-hacks/node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/stylelint-no-browser-hacks/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "node_modules/stylelint-no-browser-hacks/node_modules/known-css-properties": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", - "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", "dev": true }, - "node_modules/stylelint-no-browser-hacks/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "dependencies": { - "chalk": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/stylelint-no-browser-hacks/node_modules/meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "dependencies": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/stylelint-no-browser-hacks/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "node_modules/stylelint-no-browser-hacks/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "dependencies": { - "p-try": "^1.0.0" + "node": ">=8" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/path-type/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/stylelint-no-browser-hacks/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true }, "node_modules/stylelint-no-browser-hacks/node_modules/postcss": { "version": "5.2.18", @@ -19855,7 +20092,7 @@ "node_modules/stylelint-no-browser-hacks/node_modules/postcss-reporter": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz", - "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=", + "integrity": "sha512-h9yLwoenfn2GZFINc42nCJInko4rZom3Ud0aEQhOQLa3PlgOUbfQH7/yEwVQLUqX84BwX3ekcwUDic/mpNTx9w==", "dev": true, "dependencies": { "chalk": "^1.0.0", @@ -19864,72 +20101,26 @@ "postcss": "^5.0.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", - "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", + "node_modules/stylelint-no-browser-hacks/node_modules/postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", "dev": true, "dependencies": { - "gonzales-pe": "^4.2.3", - "postcss": "^7.0.1" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "postcss": "^7.0.6" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/stylelint-no-browser-hacks/node_modules/postcss-scss/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" @@ -19939,7 +20130,7 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/source-map": { + "node_modules/stylelint-no-browser-hacks/node_modules/postcss-scss/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", @@ -19948,39 +20139,10 @@ "node": ">=0.10.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-sass/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, "node_modules/stylelint-no-browser-hacks/node_modules/postcss/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, "dependencies": { "has-flag": "^1.0.0" @@ -19990,170 +20152,144 @@ } }, "node_modules/stylelint-no-browser-hacks/node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/stylelint-no-browser-hacks/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "lru-cache": "^6.0.0" }, "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/stylelint-no-browser-hacks/node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylehacks": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-2.3.2.tgz", - "integrity": "sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws=", + "integrity": "sha512-cWtUu/KdmyR0J37V4wjD7x2DyMJykPYhRuv72WiV4n5GkDjbhSml/rqOqLqXVAVWiKZh0XbMO47sLdNJvBzKQQ==", "dev": true, "dependencies": { "browserslist": "^1.1.3", @@ -20172,174 +20308,176 @@ "stylehacks": "dist/cli.js" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint": { - "version": "9.10.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", - "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", + "node_modules/stylelint-no-browser-hacks/node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", "dev": true, "dependencies": { - "autoprefixer": "^9.0.0", - "balanced-match": "^1.0.0", - "chalk": "^2.4.1", - "cosmiconfig": "^5.0.0", - "debug": "^4.0.0", - "execall": "^1.0.0", - "file-entry-cache": "^4.0.0", - "get-stdin": "^6.0.0", + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "dependencies": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^9.0.0", + "globby": "^11.0.3", "globjoin": "^0.1.4", - "html-tags": "^2.0.0", - "ignore": "^5.0.4", - "import-lazy": "^3.1.0", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.11.0", - "leven": "^2.1.0", - "lodash": "^4.17.4", - "log-symbols": "^2.0.0", - "mathml-tag-names": "^2.0.1", - "meow": "^5.0.0", - "micromatch": "^3.1.10", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", "normalize-selector": "^0.2.0", - "pify": "^4.0.0", - "postcss": "^7.0.13", + "postcss": "^7.0.35", "postcss-html": "^0.36.0", - "postcss-jsx": "^0.36.0", - "postcss-less": "^3.1.0", - "postcss-markdown": "^0.36.0", + "postcss-less": "^3.1.4", "postcss-media-query-parser": "^0.2.3", - "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.0", - "postcss-sass": "^0.3.5", - "postcss-scss": "^2.0.0", - "postcss-selector-parser": "^3.1.0", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^3.3.0", - "resolve-from": "^4.0.0", - "signal-exit": "^3.0.2", - "slash": "^2.0.0", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", "specificity": "^0.4.1", - "string-width": "^3.0.0", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^5.0.0" + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" }, "bin": { "stylelint": "bin/stylelint.js" }, "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/autoprefixer/node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "deprecated": "Use the original unforked package instead: postcss-markdown", + "dev": true, + "dependencies": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" @@ -20349,59 +20487,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/postcss-reporter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", - "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "lodash": "^4.17.11", - "log-symbols": "^2.2.0", - "postcss": "^7.0.7" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -20412,70 +20497,57 @@ } }, "node_modules/stylelint-no-browser-hacks/node_modules/stylelint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/stylelint-no-browser-hacks/node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true, "engines": { "node": ">=0.8.0" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/stylelint-no-browser-hacks/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stylelint-no-browser-hacks/node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/stylelint-no-browser-hacks/node_modules/yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "node_modules/stylelint-no-browser-hacks/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint-no-browser-hacks/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { - "camelcase": "^4.1.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "node_modules/stylelint-order": { @@ -21538,29 +21610,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -21570,16 +21643,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -21589,19 +21663,34 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, "node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", @@ -21713,6 +21802,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -21734,6 +21850,29 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, + "node_modules/unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unist-util-remove-position": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", @@ -21966,6 +22105,12 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -21985,6 +22130,22 @@ "node": ">= 0.8" } }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/vfile-location": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", @@ -22848,16 +23009,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -23164,6 +23325,16 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } }, "dependencies": { @@ -25165,9 +25336,9 @@ } }, "@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true }, "@floating-ui/core": { @@ -25231,13 +25402,13 @@ "integrity": "sha512-arLrPmEOaphO9r8dFhNIUlje/YBRykxjETc/b0bxy5LUVRLbAuzl0wdEyaKA77MiRXMqSw7KKFgxtusoobUG5w==" }, "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -25248,9 +25419,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, "@jellyfin/libass-wasm": { @@ -25904,6 +26075,15 @@ "@types/mdurl": "*" } }, + "@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "requires": { + "@types/unist": "^2" + } + }, "@types/mdurl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", @@ -26688,13 +26868,13 @@ "dev": true }, "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" } }, "array-find-index": { @@ -26743,6 +26923,20 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, "array.prototype.findlastindex": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", @@ -26780,31 +26974,44 @@ "es-shim-unscopables": "^1.0.0" } }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", "define-properties": "^1.2.0", "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" } }, @@ -26853,15 +27060,6 @@ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, - "asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -26888,10 +27086,13 @@ } }, "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } }, "axe-core": { "version": "4.7.0", @@ -27242,14 +27443,6 @@ "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" - }, - "dependencies": { - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - } } }, "buffer-from": { @@ -27288,14 +27481,16 @@ } }, "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "call-me-maybe": { @@ -27560,6 +27755,15 @@ "shallow-clone": "^3.0.0" } }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, "clsx": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", @@ -28160,6 +28364,39 @@ "whatwg-url": "^14.0.0" } }, + "data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, "date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -28259,14 +28496,14 @@ } }, "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" } }, "define-lazy-prop": { @@ -28595,50 +28832,57 @@ } }, "es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz", + "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==", "dev": true, "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" } }, "es-check": { @@ -28677,26 +28921,41 @@ } } }, - "es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, "requires": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", + "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "safe-array-concat": "^1.1.2" } }, "es-module-lexer": { @@ -28705,24 +28964,33 @@ "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", "dev": true }, - "es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, "requires": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" } }, "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -28818,16 +29086,16 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -29234,27 +29502,29 @@ } }, "eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", "dev": true, "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", + "es-iterator-helpers": "^1.0.17", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", + "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "string.prototype.matchall": "^4.0.10" }, "dependencies": { "doctrine": { @@ -29293,9 +29563,9 @@ "requires": {} }, "eslint-plugin-sonarjs": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.23.0.tgz", - "integrity": "sha512-z44T3PBf9W7qQ/aR+NmofOTyg6HLhSEZOPD4zhStqBpLoMp8GYhFksuUBnCxbnf1nfISpKBVkQhiBLFI/F4Wlg==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.24.0.tgz", + "integrity": "sha512-87zp50mbbNrSTuoEOebdRQBPa0mdejA5UEjyuScyIw8hEpEjfWP89Qhkq5xVZfVyVSRQKZc9alVm7yRKQvvUmg==", "dev": true, "requires": {} }, @@ -29439,6 +29709,15 @@ "strip-final-newline": "^2.0.0" } }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -30288,17 +30567,24 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" } }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -30306,13 +30592,14 @@ "dev": true }, "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" } }, "get-value": { @@ -30474,15 +30761,6 @@ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -30512,18 +30790,18 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" } }, "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true }, "has-symbols": { @@ -30533,12 +30811,12 @@ "dev": true }, "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" } }, "has-unicode": { @@ -30606,9 +30884,9 @@ } }, "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" } @@ -31029,12 +31307,12 @@ "dev": true }, "internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "requires": { - "get-intrinsic": "^1.2.2", + "es-errors": "^1.3.0", "hasown": "^2.0.0", "side-channel": "^1.0.4" } @@ -31111,14 +31389,13 @@ } }, "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, "requires": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" } }, "is-arrayish": { @@ -31209,6 +31486,15 @@ } } }, + "is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "requires": { + "is-typed-array": "^1.1.13" + } + }, "is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -31313,9 +31599,9 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true }, "is-number": { @@ -31394,6 +31680,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + }, "is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", @@ -31401,12 +31693,12 @@ "dev": true }, "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" } }, "is-stream": { @@ -31440,14 +31732,26 @@ } }, "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, "requires": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -31936,6 +32240,57 @@ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", + "dev": true, + "requires": { + "chalk": "^1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, "logform": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", @@ -32109,6 +32464,39 @@ "unist-util-visit": "^1.1.0" } }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, "mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -32223,6 +32611,16 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -32521,9 +32919,9 @@ "dev": true }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "nopt": { @@ -32673,13 +33071,13 @@ } }, "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } @@ -32719,13 +33117,14 @@ } }, "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", "dev": true, "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" } }, "object.pick": { @@ -32897,6 +33296,20 @@ } } }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -33086,6 +33499,12 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true + }, "postcss": { "version": "8.4.33", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", @@ -34065,6 +34484,40 @@ } } }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "postcss-scss": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", @@ -34619,14 +35072,15 @@ } }, "regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" } }, "regexpu-core": { @@ -34666,6 +35120,35 @@ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, "remove-accents": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", @@ -34828,13 +35311,13 @@ } }, "safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -34862,13 +35345,13 @@ } }, "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" } }, @@ -35102,26 +35585,29 @@ "optional": true }, "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" } }, "set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "requires": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" } }, "set-value": { @@ -35189,14 +35675,15 @@ "dev": true }, "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "siginfo": { @@ -35725,41 +36212,46 @@ } }, "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" } }, "string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" } }, "string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" } }, "string.prototype.trimstart": { @@ -36787,33 +37279,15 @@ } }, "stylelint-no-browser-hacks": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/stylelint-no-browser-hacks/-/stylelint-no-browser-hacks-1.2.1.tgz", - "integrity": "sha512-lPcqHx3e/WnrXdw0wdnKtcjcSCAYEXjwSitXRw0OQ2qPF+iLyDFoarbn4qcw38Uuu7q29fhj+w2mECLM0fUOlw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/stylelint-no-browser-hacks/-/stylelint-no-browser-hacks-1.3.0.tgz", + "integrity": "sha512-aeNEFlP/AIQ3FEgU6HxUOY5Xb2M1vimNWNUcQkaFou/rb0roQH75GM4v6Vf5MB+eEmLckz7dXzveTYnG3SBedw==", "dev": true, "requires": { - "stylehacks": "^2.3", - "stylelint": "^9.1" + "stylehacks": "^2.3.2", + "stylelint": "^13.13.1" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -36823,48 +37297,70 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, "browserslist": { "version": "1.7.7", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "integrity": "sha512-qHJblDE2bXVRYzuDetv/wAeHOJyO97+9wxC1cdCtyzgNuSozOyRCiiLaCR1f71AN66lQdVVBipWm63V+a7bPOw==", "dev": true, "requires": { "caniuse-db": "^1.0.30000639", @@ -36872,26 +37368,26 @@ } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" } }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, "requires": { "ansi-styles": "^2.2.1", @@ -36899,379 +37395,156 @@ "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" - } - }, - "clone-regexp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", - "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", - "dev": true, - "requires": { - "is-regexp": "^1.0.0", - "is-supported-regexp-flag": "^1.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "execall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", - "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", - "dev": true, - "requires": { - "clone-regexp": "^1.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "file-entry-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", - "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "ansi-regex": "^2.0.0" } } } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { + "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "color-name": "~1.1.4" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" } }, "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" } }, "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { - "kind-of": "^3.0.2" + "lru-cache": "^6.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true } } }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, "known-css-properties": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", - "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", "dev": true }, "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" } }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", @@ -37287,7 +37560,7 @@ "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, "requires": { "has-flag": "^1.0.0" @@ -37298,7 +37571,7 @@ "postcss-reporter": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz", - "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=", + "integrity": "sha512-h9yLwoenfn2GZFINc42nCJInko4rZom3Ud0aEQhOQLa3PlgOUbfQH7/yEwVQLUqX84BwX3ekcwUDic/mpNTx9w==", "dev": true, "requires": { "chalk": "^1.0.0", @@ -37307,62 +37580,23 @@ "postcss": "^5.0.0" } }, - "postcss-sass": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", - "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", "dev": true, "requires": { - "gonzales-pe": "^4.2.3", - "postcss": "^7.0.1" + "postcss": "^7.0.6" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } }, "source-map": { @@ -37370,162 +37604,116 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } } }, "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - } - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "lru-cache": "^6.0.0" } }, "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } }, "stylehacks": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-2.3.2.tgz", - "integrity": "sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws=", + "integrity": "sha512-cWtUu/KdmyR0J37V4wjD7x2DyMJykPYhRuv72WiV4n5GkDjbhSml/rqOqLqXVAVWiKZh0XbMO47sLdNJvBzKQQ==", "dev": true, "requires": { "browserslist": "^1.1.3", @@ -37539,186 +37727,139 @@ "read-file-stdin": "^0.2.1", "text-table": "^0.2.0", "write-file-stdout": "0.0.2" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } } }, "stylelint": { - "version": "9.10.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", - "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", "dev": true, "requires": { - "autoprefixer": "^9.0.0", - "balanced-match": "^1.0.0", - "chalk": "^2.4.1", - "cosmiconfig": "^5.0.0", - "debug": "^4.0.0", - "execall": "^1.0.0", - "file-entry-cache": "^4.0.0", - "get-stdin": "^6.0.0", + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^9.0.0", + "globby": "^11.0.3", "globjoin": "^0.1.4", - "html-tags": "^2.0.0", - "ignore": "^5.0.4", - "import-lazy": "^3.1.0", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.11.0", - "leven": "^2.1.0", - "lodash": "^4.17.4", - "log-symbols": "^2.0.0", - "mathml-tag-names": "^2.0.1", - "meow": "^5.0.0", - "micromatch": "^3.1.10", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", "normalize-selector": "^0.2.0", - "pify": "^4.0.0", - "postcss": "^7.0.13", + "postcss": "^7.0.35", "postcss-html": "^0.36.0", - "postcss-jsx": "^0.36.0", - "postcss-less": "^3.1.0", - "postcss-markdown": "^0.36.0", + "postcss-less": "^3.1.4", "postcss-media-query-parser": "^0.2.3", - "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.0", - "postcss-sass": "^0.3.5", - "postcss-scss": "^2.0.0", - "postcss-selector-parser": "^3.1.0", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^3.3.0", - "resolve-from": "^4.0.0", - "signal-exit": "^3.0.2", - "slash": "^2.0.0", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", "specificity": "^0.4.1", - "string-width": "^3.0.0", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^5.0.0" + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" }, "dependencies": { + "@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "dev": true, + "requires": { + "@babel/core": "^7.17.9" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" - } - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - } - } - }, - "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "color-convert": "^2.0.1" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-reporter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", - "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "lodash": "^4.17.11", - "log-symbols": "^2.2.0", - "postcss": "^7.0.7" - } - }, - "postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "requires": { - "postcss": "^7.0.6" - } - }, - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } }, "source-map": { @@ -37728,12 +37869,12 @@ "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } @@ -37741,44 +37882,31 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } } } @@ -38435,50 +38563,64 @@ } }, "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" } }, "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" } }, "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" } }, "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" } }, "typescript": { @@ -38560,6 +38702,28 @@ "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -38578,6 +38742,21 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, "unist-util-remove-position": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", @@ -38752,6 +38931,12 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -38768,6 +38953,18 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, "vfile-location": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", @@ -39324,16 +39521,16 @@ } }, "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" } }, "why-is-node-running": { @@ -39557,6 +39754,12 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true } } } diff --git a/package.json b/package.json index c4aa5364e5..4ab834cdec 100644 --- a/package.json +++ b/package.json @@ -31,14 +31,14 @@ "css-loader": "6.9.1", "cssnano": "6.0.5", "es-check": "7.1.1", - "eslint": "8.56.0", + "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", "eslint-plugin-eslint-comments": "3.2.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.33.2", + "eslint-plugin-react": "7.34.1", "eslint-plugin-react-hooks": "4.6.0", - "eslint-plugin-sonarjs": "0.23.0", + "eslint-plugin-sonarjs": "0.24.0", "expose-loader": "4.1.0", "fork-ts-checker-webpack-plugin": "9.0.2", "html-loader": "4.2.0", @@ -56,7 +56,7 @@ "style-loader": "3.3.4", "stylelint": "15.11.0", "stylelint-config-rational-order": "0.1.2", - "stylelint-no-browser-hacks": "1.2.1", + "stylelint-no-browser-hacks": "1.3.0", "stylelint-order": "6.0.4", "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", From 370b0095a0b782c1cf6cde61a9f12e330248e5c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 05:46:08 +0000 Subject: [PATCH 114/293] Update React --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3fda75c04e..8731b8194d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "react-blurhash": "0.3.0", "react-dom": "17.0.2", "react-lazy-load-image-component": "1.6.0", - "react-router-dom": "6.21.3", + "react-router-dom": "6.22.3", "resize-observer-polyfill": "1.5.1", "screenfull": "6.0.2", "sortablejs": "1.15.2", @@ -75,7 +75,7 @@ "@types/loadable__component": "5.13.9", "@types/lodash-es": "4.17.12", "@types/markdown-it": "13.0.7", - "@types/react": "17.0.75", + "@types/react": "17.0.79", "@types/react-dom": "17.0.25", "@types/sortablejs": "1.15.8", "@typescript-eslint/eslint-plugin": "5.62.0", @@ -4182,9 +4182,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz", - "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", "engines": { "node": ">=14.0.0" } @@ -4704,9 +4704,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "17.0.75", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.75.tgz", - "integrity": "sha512-MSA+NzEzXnQKrqpO63CYqNstFjsESgvJAdAyyJ1n6ZQq/GLgf6nOfIKwk+Twuz0L1N6xPe+qz5xRCJrbhMaLsw==", + "version": "17.0.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.79.tgz", + "integrity": "sha512-gavKA8AwJAML9zWHuiQRASjrrPJHbT/zrUDHiUGUf+l5a3pkEd6atvjjq+8y2vfRHBJLQJjFpxSa9I8qe9zHAw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -16673,11 +16673,11 @@ } }, "node_modules/react-router": { - "version": "6.21.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz", - "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==", + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", "dependencies": { - "@remix-run/router": "1.14.2" + "@remix-run/router": "1.15.3" }, "engines": { "node": ">=14.0.0" @@ -16687,12 +16687,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.21.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz", - "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==", + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", "dependencies": { - "@remix-run/router": "1.14.2", - "react-router": "6.21.3" + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" }, "engines": { "node": ">=14.0.0" @@ -25752,9 +25752,9 @@ } }, "@remix-run/router": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz", - "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==" + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==" }, "@rollup/rollup-android-arm-eabi": { "version": "4.9.5", @@ -26146,9 +26146,9 @@ "dev": true }, "@types/react": { - "version": "17.0.75", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.75.tgz", - "integrity": "sha512-MSA+NzEzXnQKrqpO63CYqNstFjsESgvJAdAyyJ1n6ZQq/GLgf6nOfIKwk+Twuz0L1N6xPe+qz5xRCJrbhMaLsw==", + "version": "17.0.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.79.tgz", + "integrity": "sha512-gavKA8AwJAML9zWHuiQRASjrrPJHbT/zrUDHiUGUf+l5a3pkEd6atvjjq+8y2vfRHBJLQJjFpxSa9I8qe9zHAw==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -34822,20 +34822,20 @@ } }, "react-router": { - "version": "6.21.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz", - "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==", + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", "requires": { - "@remix-run/router": "1.14.2" + "@remix-run/router": "1.15.3" } }, "react-router-dom": { - "version": "6.21.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz", - "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==", + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", "requires": { - "@remix-run/router": "1.14.2", - "react-router": "6.21.3" + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" } }, "react-transition-group": { diff --git a/package.json b/package.json index 4ab834cdec..686d9f8df8 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@types/loadable__component": "5.13.9", "@types/lodash-es": "4.17.12", "@types/markdown-it": "13.0.7", - "@types/react": "17.0.75", + "@types/react": "17.0.79", "@types/react-dom": "17.0.25", "@types/sortablejs": "1.15.8", "@typescript-eslint/eslint-plugin": "5.62.0", @@ -116,7 +116,7 @@ "react-blurhash": "0.3.0", "react-dom": "17.0.2", "react-lazy-load-image-component": "1.6.0", - "react-router-dom": "6.21.3", + "react-router-dom": "6.22.3", "resize-observer-polyfill": "1.5.1", "screenfull": "6.0.2", "sortablejs": "1.15.2", From 15f998e1d0d89ab0224f6301d69963d7be10188c Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 29 Mar 2024 06:26:48 +0000 Subject: [PATCH 115/293] Translated using Weblate (Russian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/ --- src/strings/ru.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/strings/ru.json b/src/strings/ru.json index 7e2fadfca0..340c38f647 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -1235,7 +1235,7 @@ "MusicLibraryHelp": "Просмотрите {0}руководство по именованию музыки{1}.", "FetchingData": "Выборка дополнительных данных", "ButtonAddImage": "Добавить изображение", - "OptionRandom": "Случайный", + "OptionRandom": "В случайном порядке", "ButtonSplit": "Разделить", "SelectAdminUsername": "Выберите имя пользователя для учётной записи администратора.", "HeaderNavigation": "Навигация", @@ -1798,5 +1798,6 @@ "AllowSubtitleManagement": "Разрешить этому пользователю редактировать субтитры", "ChannelResolutionUHD4K": "UHD (4K)", "DeleteName": "Удалить {0}", - "LabelBuildVersion": "Версия сборки" + "LabelBuildVersion": "Версия сборки", + "AirPlay": "" } From 292f57cb2e6e90eaf0781e2f4924456ca62cb692 Mon Sep 17 00:00:00 2001 From: jellyfin-bot Date: Fri, 29 Mar 2024 07:05:15 +0000 Subject: [PATCH 116/293] Update @jellyfin/sdk to 0.0.0-unstable.202403290501 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3fda75c04e..43a0d3c9ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@fontsource/noto-sans-sc": "5.0.17", "@fontsource/noto-sans-tc": "5.0.17", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403260501", + "@jellyfin/sdk": "0.0.0-unstable.202403290501", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", @@ -3645,9 +3645,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "node_modules/@jellyfin/sdk": { - "version": "0.0.0-unstable.202403260501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403260501.tgz", - "integrity": "sha512-RTZoSPhmlF//DsOcIVRqATN/XkoUIcJ83YLjZYyKgppzGlCm3yhS8elN3nJ42nT0KJIi8U9tAvRlX8/P6oE7Uw==", + "version": "0.0.0-unstable.202403290501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403290501.tgz", + "integrity": "sha512-us/wEaNDcTn7ceK8mbWmrNuvQA/QxyVKToB+HMJ1oLJ7xwmIY4wbn2G3HzH/rrFs6HMk80ayot2Sv78yC0tYZQ==", "peerDependencies": { "axios": "^1.3.4" } @@ -25430,9 +25430,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "@jellyfin/sdk": { - "version": "0.0.0-unstable.202403260501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403260501.tgz", - "integrity": "sha512-RTZoSPhmlF//DsOcIVRqATN/XkoUIcJ83YLjZYyKgppzGlCm3yhS8elN3nJ42nT0KJIi8U9tAvRlX8/P6oE7Uw==", + "version": "0.0.0-unstable.202403290501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403290501.tgz", + "integrity": "sha512-us/wEaNDcTn7ceK8mbWmrNuvQA/QxyVKToB+HMJ1oLJ7xwmIY4wbn2G3HzH/rrFs6HMk80ayot2Sv78yC0tYZQ==", "requires": {} }, "@jest/schemas": { diff --git a/package.json b/package.json index 4ab834cdec..3fd2029c08 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@fontsource/noto-sans-sc": "5.0.17", "@fontsource/noto-sans-tc": "5.0.17", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403260501", + "@jellyfin/sdk": "0.0.0-unstable.202403290501", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", From 7f79c1fdfbd4c8e7bde0f3699bd492a3c41c12d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Fri, 29 Mar 2024 07:06:05 +0000 Subject: [PATCH 117/293] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index a7f3f48791..f8f43dfca9 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1853,5 +1853,6 @@ "PlaybackError.NO_MEDIA_ERROR": "Nelze najít platný zdroj médií k přehrání.", "PlaybackError.RateLimitExceeded": "Toto médium není možné momentálně přehrát kvůli omezení rychlosti.", "AllowContentWithTagsHelp": "Zobrazovat jen média, která mají alespoň jednu ze značek.", - "BlockContentWithTagsHelp": "Skrýt média, která mají alespoň jednu ze značek." + "BlockContentWithTagsHelp": "Skrýt média, která mají alespoň jednu ze značek.", + "AirPlay": "AirPlay" } From 2550f2611d4db5e168ea7be0e5f9d7bc45a787e4 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 29 Mar 2024 06:29:12 +0000 Subject: [PATCH 118/293] Translated using Weblate (Russian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/ --- src/strings/ru.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/strings/ru.json b/src/strings/ru.json index 340c38f647..6a4aa9bcbe 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -1799,5 +1799,17 @@ "ChannelResolutionUHD4K": "UHD (4K)", "DeleteName": "Удалить {0}", "LabelBuildVersion": "Версия сборки", - "AirPlay": "" + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Отображать контент с хотя бы одним из заданных тэгов.", + "BlockContentWithTagsHelp": "Скрывать контент с хотя бы одним из заданных тэгов.", + "ConfirmDeleteSeries": "Удаление сериала приведёт к удалению ВСЕХ {0} эпизодов из файловой системы и из вашей библиотеки. Вы уверены, что хотите продолжить?", + "DeleteEntireSeries": "Удалить {0} эпизодов", + "LabelAllowContentWithTags": "Разрешить элементы с тэгами", + "LimitSupportedVideoResolution": "Ограничить максимально поддерживаемое разрешение видео", + "LimitSupportedVideoResolutionHelp": "Использовать \" Максимально разрешённое разрешение транскодирования\", как максимально поддерживаемое разрешение видео.", + "PlaybackError.FATAL_HLS_ERROR": "В потоке HLS была обнаружена фатальная ошибка.", + "DeleteSeries": "Удалить сериал", + "DeleteEpisode": "Удалить эпизод", + "HeaderDeleteSeries": "Удалить сериал", + "EnableSmoothScroll": "Разрешить плавную прокрутку" } From 181aa57812f1b3e721b353958bfe92db5645509b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 08:08:00 +0000 Subject: [PATCH 119/293] Update dependency cssnano to v6.1.1 --- package-lock.json | 170 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 86 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index c2e4b9f34d..2f8f2693ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "6.9.1", - "cssnano": "6.0.5", + "cssnano": "6.1.1", "es-check": "7.1.1", "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", @@ -7340,9 +7340,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz", - "integrity": "sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", "dev": true, "engines": { "node": "^14 || ^16 || >=18" @@ -7560,12 +7560,12 @@ } }, "node_modules/cssnano": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.5.tgz", - "integrity": "sha512-tpTp/ukgrElwu3ESFY4IvWnGn8eTt8cJhC2aAbtA3lvUlxp6t6UPv8YCLjNnEGiFreT1O0LiOM1U3QyTBVFl2A==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.1.tgz", + "integrity": "sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^6.0.5", + "cssnano-preset-default": "^6.1.1", "lilconfig": "^3.1.1" }, "engines": { @@ -7580,13 +7580,13 @@ } }, "node_modules/cssnano-preset-default": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.0.tgz", - "integrity": "sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", "dev": true, "dependencies": { "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.1.1", + "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^4.0.2", "postcss-calc": "^9.0.1", "postcss-colormin": "^6.1.0", @@ -7595,12 +7595,12 @@ "postcss-discard-duplicates": "^6.0.3", "postcss-discard-empty": "^6.0.3", "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.4", - "postcss-merge-rules": "^6.1.0", - "postcss-minify-font-values": "^6.0.3", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", "postcss-minify-gradients": "^6.0.3", "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.3", + "postcss-minify-selectors": "^6.0.4", "postcss-normalize-charset": "^6.0.2", "postcss-normalize-display-values": "^6.0.2", "postcss-normalize-positions": "^6.0.2", @@ -7614,7 +7614,7 @@ "postcss-reduce-initial": "^6.1.0", "postcss-reduce-transforms": "^6.0.2", "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.3" + "postcss-unique-selectors": "^6.0.4" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -15514,13 +15514,13 @@ "dev": true }, "node_modules/postcss-merge-longhand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.4.tgz", - "integrity": "sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.0" + "stylehacks": "^6.1.1" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -15530,15 +15530,15 @@ } }, "node_modules/postcss-merge-rules": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.0.tgz", - "integrity": "sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", "dev": true, "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -15548,9 +15548,9 @@ } }, "node_modules/postcss-minify-font-values": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.3.tgz", - "integrity": "sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", "dev": true, "dependencies": { "postcss-value-parser": "^4.2.0" @@ -15597,12 +15597,12 @@ } }, "node_modules/postcss-minify-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.3.tgz", - "integrity": "sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -16286,9 +16286,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -16376,12 +16376,12 @@ } }, "node_modules/postcss-unique-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.3.tgz", - "integrity": "sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -18669,13 +18669,13 @@ "dev": true }, "node_modules/stylehacks": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.0.tgz", - "integrity": "sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", "dev": true, "dependencies": { "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -28106,9 +28106,9 @@ } }, "css-declaration-sorter": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz", - "integrity": "sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", "dev": true, "requires": {} }, @@ -28235,23 +28235,23 @@ "dev": true }, "cssnano": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.5.tgz", - "integrity": "sha512-tpTp/ukgrElwu3ESFY4IvWnGn8eTt8cJhC2aAbtA3lvUlxp6t6UPv8YCLjNnEGiFreT1O0LiOM1U3QyTBVFl2A==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.1.tgz", + "integrity": "sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==", "dev": true, "requires": { - "cssnano-preset-default": "^6.0.5", + "cssnano-preset-default": "^6.1.1", "lilconfig": "^3.1.1" } }, "cssnano-preset-default": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.0.tgz", - "integrity": "sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", "dev": true, "requires": { "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.1.1", + "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^4.0.2", "postcss-calc": "^9.0.1", "postcss-colormin": "^6.1.0", @@ -28260,12 +28260,12 @@ "postcss-discard-duplicates": "^6.0.3", "postcss-discard-empty": "^6.0.3", "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.4", - "postcss-merge-rules": "^6.1.0", - "postcss-minify-font-values": "^6.0.3", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", "postcss-minify-gradients": "^6.0.3", "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.3", + "postcss-minify-selectors": "^6.0.4", "postcss-normalize-charset": "^6.0.2", "postcss-normalize-display-values": "^6.0.2", "postcss-normalize-positions": "^6.0.2", @@ -28279,7 +28279,7 @@ "postcss-reduce-initial": "^6.1.0", "postcss-reduce-transforms": "^6.0.2", "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.3" + "postcss-unique-selectors": "^6.0.4" } }, "cssnano-utils": { @@ -34060,31 +34060,31 @@ "dev": true }, "postcss-merge-longhand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.4.tgz", - "integrity": "sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.0" + "stylehacks": "^6.1.1" } }, "postcss-merge-rules": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.0.tgz", - "integrity": "sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", "dev": true, "requires": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" } }, "postcss-minify-font-values": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.3.tgz", - "integrity": "sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -34113,12 +34113,12 @@ } }, "postcss-minify-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.3.tgz", - "integrity": "sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" } }, "postcss-modules-extract-imports": { @@ -34535,9 +34535,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -34600,12 +34600,12 @@ "requires": {} }, "postcss-unique-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.3.tgz", - "integrity": "sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" } }, "postcss-value-parser": { @@ -36344,13 +36344,13 @@ "dev": true }, "stylehacks": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.0.tgz", - "integrity": "sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", "dev": true, "requires": { "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.15" + "postcss-selector-parser": "^6.0.16" } }, "stylelint": { diff --git a/package.json b/package.json index 5290cfd82f..494ac2e66f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "6.9.1", - "cssnano": "6.0.5", + "cssnano": "6.1.1", "es-check": "7.1.1", "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", From 284133d5c6db5abe1f2ed3eca3c311a7bcb9c65e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 08:08:16 +0000 Subject: [PATCH 120/293] Update dependency markdown-it to v14.1.0 --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index c2e4b9f34d..8a552d8ce3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "jstree": "3.3.16", "libarchive.js": "1.3.0", "lodash-es": "4.17.21", - "markdown-it": "14.0.0", + "markdown-it": "14.1.0", "material-design-icons-iconfont": "6.7.0", "native-promise-only": "0.8.1", "pdfjs-dist": "3.11.174", @@ -13144,16 +13144,16 @@ } }, "node_modules/markdown-it": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", - "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", - "uc.micro": "^2.0.0" + "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" @@ -21705,9 +21705,9 @@ } }, "node_modules/uc.micro": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.0.0.tgz", - "integrity": "sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==" }, "node_modules/ufo": { "version": "1.3.1", @@ -32409,16 +32409,16 @@ "dev": true }, "markdown-it": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", - "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "requires": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", - "uc.micro": "^2.0.0" + "uc.micro": "^2.1.0" }, "dependencies": { "argparse": { @@ -38630,9 +38630,9 @@ "dev": true }, "uc.micro": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.0.0.tgz", - "integrity": "sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==" }, "ufo": { "version": "1.3.1", diff --git a/package.json b/package.json index 5290cfd82f..45dc6b9288 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "jstree": "3.3.16", "libarchive.js": "1.3.0", "lodash-es": "4.17.21", - "markdown-it": "14.0.0", + "markdown-it": "14.1.0", "material-design-icons-iconfont": "6.7.0", "native-promise-only": "0.8.1", "pdfjs-dist": "3.11.174", From 2e4eb68d59843632786022cd2d314f82c747cc74 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 29 Mar 2024 00:43:44 +0300 Subject: [PATCH 121/293] fix: use SeriesSortName in SortBy `SeriesName` is not a valid value for `SortBy`. --- src/controllers/favorites.js | 2 +- src/controllers/list.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js index bee641463a..a7dcab7a45 100644 --- a/src/controllers/favorites.js +++ b/src/controllers/favorites.js @@ -133,7 +133,7 @@ function getFetchDataFn(section) { return function () { const apiClient = this.apiClient; const options = { - SortBy: 'SeriesName,SortName', + SortBy: 'SeriesSortName,SortName', SortOrder: 'Ascending', Filters: 'IsFavorite', Recursive: true, diff --git a/src/controllers/list.js b/src/controllers/list.js index 69b713e150..758641cf63 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -1058,7 +1058,7 @@ class ItemsView { if (params.type === 'Episode') { return { name: globalize.translate('Name'), - value: 'SeriesName,SortName' + value: 'SeriesSortName,SortName' }; } From 52c150a2e7948a27edb03d07410e77f3f5a9f2dd Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 29 Mar 2024 01:01:31 +0300 Subject: [PATCH 122/293] refactor: use ItemSortBy from generated SDK --- src/controllers/favorites.js | 3 ++- src/controllers/list.js | 29 +++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js index a7dcab7a45..4a51478ac7 100644 --- a/src/controllers/favorites.js +++ b/src/controllers/favorites.js @@ -7,6 +7,7 @@ import ServerConnections from 'components/ServerConnections'; import dom from 'scripts/dom'; import globalize from 'scripts/globalize'; import { getBackdropShape, getPortraitShape, getSquareShape } from 'utils/card'; +import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by'; import 'elements/emby-itemscontainer/emby-itemscontainer'; import 'elements/emby-scroller/emby-scroller'; @@ -133,7 +134,7 @@ function getFetchDataFn(section) { return function () { const apiClient = this.apiClient; const options = { - SortBy: 'SeriesSortName,SortName', + SortBy: [ItemSortBy.SeriesSortName, ItemSortBy.SortName].join(','), SortOrder: 'Ascending', Filters: 'IsFavorite', Recursive: true, diff --git a/src/controllers/list.js b/src/controllers/list.js index 758641cf63..ec394752b0 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -13,6 +13,7 @@ import '../elements/emby-scroller/emby-scroller'; import ServerConnections from '../components/ServerConnections'; import LibraryMenu from '../scripts/libraryMenu'; import { CollectionType } from '@jellyfin/sdk/lib/generated-client/models/collection-type'; +import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by'; function getInitialLiveTvQuery(instance, params, startIndex = 0, limit = 300) { const query = { @@ -223,7 +224,7 @@ function updateAlphaPickerState(instance) { if (alphaPicker) { const values = instance.getSortValues(); - if (values.sortBy.indexOf('SortName') !== -1) { + if (values.sortBy.indexOf(ItemSortBy.SortName) !== -1) { alphaPicker.classList.remove('hide'); instance.itemsContainer.parentNode.classList.add('padded-right-withalphapicker'); } else { @@ -981,7 +982,7 @@ class ItemsView { return sortNameOption.value; } - return 'IsFolder,' + sortNameOption.value; + return `${ItemSortBy.IsFolder},${sortNameOption.value}`; } getSortMenuOptions() { @@ -990,7 +991,7 @@ class ItemsView { if (this.params.type === 'Programs') { sortBy.push({ name: globalize.translate('AirDate'), - value: 'StartDate,SortName' + value: [ItemSortBy.StartDate, ItemSortBy.SortName].join(',') }); } @@ -1015,7 +1016,7 @@ class ItemsView { if (this.params.type !== 'Programs') { sortBy.push({ name: globalize.translate('DateAdded'), - value: 'DateCreated,SortName' + value: [ItemSortBy.DateCreated, ItemSortBy.SortName].join(',') }); } @@ -1029,13 +1030,13 @@ class ItemsView { option = this.getNameSortOption(this.params); sortBy.push({ name: globalize.translate('Folders'), - value: 'IsFolder,' + option.value + value: `${ItemSortBy.IsFolder},${option.value}` }); } sortBy.push({ name: globalize.translate('ParentalRating'), - value: 'OfficialRating,SortName' + value: [ItemSortBy.OfficialRating, ItemSortBy.SortName].join(',') }); option = this.getPlayCountSortOption(); @@ -1045,11 +1046,11 @@ class ItemsView { sortBy.push({ name: globalize.translate('ReleaseDate'), - value: 'ProductionYear,PremiereDate,SortName' + value: [ItemSortBy.ProductionYear, ItemSortBy.PremiereDate, ItemSortBy.SortName].join(',') }); sortBy.push({ name: globalize.translate('Runtime'), - value: 'Runtime,SortName' + value: [ItemSortBy.Runtime, ItemSortBy.SortName].join(',') }); return sortBy; } @@ -1058,13 +1059,13 @@ class ItemsView { if (params.type === 'Episode') { return { name: globalize.translate('Name'), - value: 'SeriesSortName,SortName' + value: [ItemSortBy.SeriesSortName, ItemSortBy.SortName].join(',') }; } return { name: globalize.translate('Name'), - value: 'SortName' + value: ItemSortBy.SortName }; } @@ -1075,7 +1076,7 @@ class ItemsView { return { name: globalize.translate('PlayCount'), - value: 'PlayCount,SortName' + value: [ItemSortBy.PlayCount, ItemSortBy.SortName].join(',') }; } @@ -1086,7 +1087,7 @@ class ItemsView { return { name: globalize.translate('DatePlayed'), - value: 'DatePlayed,SortName' + value: [ItemSortBy.DatePlayed, ItemSortBy.SortName].join(',') }; } @@ -1097,14 +1098,14 @@ class ItemsView { return { name: globalize.translate('CriticRating'), - value: 'CriticRating,SortName' + value: [ItemSortBy.CriticRating, ItemSortBy.SortName].join(',') }; } getCommunityRatingSortOption() { return { name: globalize.translate('CommunityRating'), - value: 'CommunityRating,SortName' + value: [ItemSortBy.CommunityRating, ItemSortBy.SortName].join(',') }; } From a40b944312d295a6efbad9a39bd4ed688c90c8d8 Mon Sep 17 00:00:00 2001 From: Kityn Date: Fri, 29 Mar 2024 09:56:51 +0000 Subject: [PATCH 123/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index f483e58ae9..8e93e4a0dd 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1854,5 +1854,7 @@ "LimitSupportedVideoResolution": "Ogranicz maksymalną obsługiwaną rozdzielczość wideo", "AllowContentWithTagsHelp": "Wyświetlaj tylko multimedia z co najmniej jednym z określonych tagów.", "BlockContentWithTagsHelp": "Ukryj multimedia z co najmniej jednym z określonych tagów.", - "AirPlay": "AirPlay" + "AirPlay": "AirPlay", + "LabelEncodingFormatOptions": "Opcje formatu kodowania", + "EncodingFormatHelp": "Wybierz kodowanie wideo, którym Jellyfin powinien transkodować. Jellyfin użyje kodowania programowego, gdy akceleracja sprzętowa dla wybranego formatu nie jest dostępna. Kodowanie H264 będzie zawsze włączone." } From 9979f31ae30e84640b98d0712c9637c98ca6089d Mon Sep 17 00:00:00 2001 From: stanol Date: Fri, 29 Mar 2024 09:39:47 +0000 Subject: [PATCH 124/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index 40c7f92c8a..ac971ab78f 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -1851,5 +1851,7 @@ "LimitSupportedVideoResolutionHelp": "Використовувати \"Максимально дозволену роздільну здатність кодування відео\" як максимально підтримувану роздільну здатність відео.", "AllowContentWithTagsHelp": "Показувати лише медіа з принаймні одним із зазначених тегів.", "BlockContentWithTagsHelp": "Приховати медіа з принаймні одним із зазначених тегів.", - "AirPlay": "AirPlay" + "AirPlay": "AirPlay", + "LabelEncodingFormatOptions": "Параметри формату кодування", + "EncodingFormatHelp": "Виберіть кодування відео, в яке має перекодувати Jellyfin. Jellyfin використовуватиме програмне кодування, якщо апаратне прискорення для обраного формату недоступне. Кодування H264 буде увімкнено завжди." } From 3856b9e0e40945ddc33097b320b8044d91617e9b Mon Sep 17 00:00:00 2001 From: felix920506 Date: Fri, 29 Mar 2024 12:28:19 -0400 Subject: [PATCH 125/293] accept suggestion Co-authored-by: Bill Thornton --- src/strings/en-us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 9ce70a64f4..8cf2a88c9d 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -304,7 +304,7 @@ "Guide": "Guide", "GuideProviderLogin": "Login", "GuideProviderSelectListings": "Select Listings", - "H264CrfHelp": "The 'Constant Rate Factor' (CRF) is the default quality setting for the x264 and x265 encoder. You can set the values between 0 and 51, where lower values would result in better quality (at the expense of higher file sizes). Sane values are between 18 and 28. The default for x264 is 23, and for x265 is 28, so you can use this as a starting point. These settings will be ignored when hardware acceleration is enabled.", + "H264CrfHelp": "The 'Constant Rate Factor' (CRF) is the default quality setting for the x264 and x265 software encoders. You can set the values between 0 and 51, where lower values would result in better quality (at the expense of higher file sizes). Sane values are between 18 and 28. The default for x264 is 23, and for x265 is 28, so you can use this as a starting point. Hardware encoders do not use these settings.", "HDPrograms": "HD programs", "HardwareAccelerationWarning": "Enabling hardware acceleration may cause instability in some environments. Ensure that your operating system and video drivers are fully up to date. If you have difficulty playing video after enabling this, you'll need to change the setting back to None.", "HeaderAccessSchedule": "Access Schedule", From adb54ddd648bab9e5b387b7247abe4b3e98cf190 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Fri, 29 Mar 2024 16:30:38 +0000 Subject: [PATCH 126/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index ea811604e0..0c604b8a32 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1854,5 +1854,7 @@ "LimitSupportedVideoResolution": "限制支持的最高视频分辨率", "AllowContentWithTagsHelp": "仅显示至少具有一个指定标签的媒体。", "BlockContentWithTagsHelp": "隐藏至少具有一个指定标签的媒体。", - "AirPlay": "隔空播放" + "AirPlay": "隔空播放", + "LabelEncodingFormatOptions": "编码格式选项", + "EncodingFormatHelp": "选择 Jellyfin 应转码到的视频编码。 当所选格式的硬件加速不可用时,Jellyfin 将使用软件编码。 H264 编码将始终启用。" } From 4e5b1a50d739f0254711c42f6515c1a9e772fb81 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Fri, 29 Mar 2024 16:32:26 +0000 Subject: [PATCH 127/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 6cd59e171e..ec6e77546c 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1853,5 +1853,7 @@ "LimitSupportedVideoResolutionHelp": "使用“允許的最高影片轉碼解析度”作為支持的最高影片解析度。", "AllowContentWithTagsHelp": "僅顯示至少具有一個指定標籤的媒體。", "BlockContentWithTagsHelp": "隱藏至少具有一個指定標籤的媒體。", - "AirPlay": "隔空播放" + "AirPlay": "隔空播放", + "EncodingFormatHelp": "選擇 Jellyfin 應轉檔到的影片編碼。 當所選格式的硬體加速不可用時,Jellyfin 將使用軟體編碼。 H264 編碼將始終啟用。", + "LabelEncodingFormatOptions": "編碼格式選項" } From 8a6a69056cd4890d73f9a46d69c022488b910500 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 20:22:08 +0000 Subject: [PATCH 128/293] Update dependency sass to v1.72.0 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6a2ae1a1fb..7df2b0d860 100644 --- a/package-lock.json +++ b/package-lock.json @@ -109,7 +109,7 @@ "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", - "sass": "1.70.0", + "sass": "1.72.0", "sass-loader": "13.3.3", "source-map-loader": "4.0.2", "speed-measure-webpack-plugin": "1.5.0", @@ -17422,9 +17422,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.70.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", - "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", + "version": "1.72.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz", + "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -35368,9 +35368,9 @@ "dev": true }, "sass": { - "version": "1.70.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", - "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", + "version": "1.72.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz", + "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", diff --git a/package.json b/package.json index ef1122c48e..a4967d669f 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", "postcss-scss": "4.0.9", - "sass": "1.70.0", + "sass": "1.72.0", "sass-loader": "13.3.3", "source-map-loader": "4.0.2", "speed-measure-webpack-plugin": "1.5.0", From 3834029ff0bc751df9d26eb1c9a7f083dd7087e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 20:28:58 +0000 Subject: [PATCH 129/293] Update dependency typescript to v5.4.3 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 379422562b..8b3b857ca4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -120,7 +120,7 @@ "stylelint-order": "6.0.4", "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", - "typescript": "5.3.3", + "typescript": "5.4.3", "vitest": "1.3.0", "webpack": "5.89.0", "webpack-bundle-analyzer": "4.10.1", @@ -21692,9 +21692,9 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -38624,9 +38624,9 @@ } }, "typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "dev": true }, "uc.micro": { diff --git a/package.json b/package.json index 325a15ac9c..32d50bc078 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "stylelint-order": "6.0.4", "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", - "typescript": "5.3.3", + "typescript": "5.4.3", "vitest": "1.3.0", "webpack": "5.89.0", "webpack-bundle-analyzer": "4.10.1", From 382e587aad62c100d255a86b470d073021e7d319 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:02:49 +0000 Subject: [PATCH 130/293] Update dependency usehooks-ts to v2.16.0 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index c89db79e01..e29bedc0b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,7 +60,7 @@ "screenfull": "6.0.2", "sortablejs": "1.15.2", "swiper": "11.0.7", - "usehooks-ts": "2.14.0", + "usehooks-ts": "2.16.0", "webcomponents.js": "0.7.24", "whatwg-fetch": "3.6.20" }, @@ -22063,9 +22063,9 @@ } }, "node_modules/usehooks-ts": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.14.0.tgz", - "integrity": "sha512-jnhrjTRJoJS7cFxz63tRYc5mzTKf/h+Ii8P0PDHymT9qDe4ZA2/gzDRmDR4WGausg5X8wMIdghwi3BBCN9JKow==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.16.0.tgz", + "integrity": "sha512-bez95WqYujxp6hFdM/CpRDiVPirZPxlMzOH2QB8yopoKQMXpscyZoxOjpEdaxvV+CAWUDSM62cWnqHE0E/MZ7w==", "dependencies": { "lodash.debounce": "^4.0.8" }, @@ -38901,9 +38901,9 @@ "requires": {} }, "usehooks-ts": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.14.0.tgz", - "integrity": "sha512-jnhrjTRJoJS7cFxz63tRYc5mzTKf/h+Ii8P0PDHymT9qDe4ZA2/gzDRmDR4WGausg5X8wMIdghwi3BBCN9JKow==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-2.16.0.tgz", + "integrity": "sha512-bez95WqYujxp6hFdM/CpRDiVPirZPxlMzOH2QB8yopoKQMXpscyZoxOjpEdaxvV+CAWUDSM62cWnqHE0E/MZ7w==", "requires": { "lodash.debounce": "^4.0.8" } diff --git a/package.json b/package.json index 1fbbe247b0..563a211922 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "screenfull": "6.0.2", "sortablejs": "1.15.2", "swiper": "11.0.7", - "usehooks-ts": "2.14.0", + "usehooks-ts": "2.16.0", "webcomponents.js": "0.7.24", "whatwg-fetch": "3.6.20" }, From 6349f8e9a604b0b59e08add81deeb5877c8e851f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:03:10 +0000 Subject: [PATCH 131/293] Update dependency vitest to v1.4.0 --- package-lock.json | 126 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/package-lock.json b/package-lock.json index c89db79e01..bac6cfbbbc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -121,7 +121,7 @@ "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", "typescript": "5.4.3", - "vitest": "1.3.0", + "vitest": "1.4.0", "webpack": "5.89.0", "webpack-bundle-analyzer": "4.10.1", "webpack-cli": "5.1.4", @@ -5101,13 +5101,13 @@ "dev": true }, "node_modules/@vitest/expect": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", - "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", + "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", "dev": true, "dependencies": { - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", "chai": "^4.3.10" }, "funding": { @@ -5115,12 +5115,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", - "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", + "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", "dev": true, "dependencies": { - "@vitest/utils": "1.3.0", + "@vitest/utils": "1.4.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -5156,9 +5156,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", - "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", + "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -5170,9 +5170,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", - "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", + "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -5182,9 +5182,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", - "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -22226,9 +22226,9 @@ } }, "node_modules/vite-node": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", - "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", + "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -22248,16 +22248,16 @@ } }, "node_modules/vitest": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", - "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", + "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", "dev": true, "dependencies": { - "@vitest/expect": "1.3.0", - "@vitest/runner": "1.3.0", - "@vitest/snapshot": "1.3.0", - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", + "@vitest/expect": "1.4.0", + "@vitest/runner": "1.4.0", + "@vitest/snapshot": "1.4.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", @@ -22271,7 +22271,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.3.0", + "vite-node": "1.4.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -22286,8 +22286,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.3.0", - "@vitest/ui": "1.3.0", + "@vitest/browser": "1.4.0", + "@vitest/ui": "1.4.0", "happy-dom": "*", "jsdom": "*" }, @@ -26432,23 +26432,23 @@ "dev": true }, "@vitest/expect": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", - "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", + "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", "dev": true, "requires": { - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", "chai": "^4.3.10" } }, "@vitest/runner": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", - "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", + "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", "dev": true, "requires": { - "@vitest/utils": "1.3.0", + "@vitest/utils": "1.4.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -26471,9 +26471,9 @@ } }, "@vitest/snapshot": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", - "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", + "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", "dev": true, "requires": { "magic-string": "^0.30.5", @@ -26482,18 +26482,18 @@ } }, "@vitest/spy": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", - "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", + "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", "dev": true, "requires": { "tinyspy": "^2.2.0" } }, "@vitest/utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", - "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", + "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", "dev": true, "requires": { "diff-sequences": "^29.6.3", @@ -38994,9 +38994,9 @@ } }, "vite-node": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", - "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", + "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", "dev": true, "requires": { "cac": "^6.7.14", @@ -39007,16 +39007,16 @@ } }, "vitest": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", - "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", + "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", "dev": true, "requires": { - "@vitest/expect": "1.3.0", - "@vitest/runner": "1.3.0", - "@vitest/snapshot": "1.3.0", - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", + "@vitest/expect": "1.4.0", + "@vitest/runner": "1.4.0", + "@vitest/snapshot": "1.4.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", @@ -39030,7 +39030,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.3.0", + "vite-node": "1.4.0", "why-is-node-running": "^2.2.2" }, "dependencies": { diff --git a/package.json b/package.json index 1fbbe247b0..d9c22cd261 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "stylelint-scss": "5.3.2", "ts-loader": "9.5.1", "typescript": "5.4.3", - "vitest": "1.3.0", + "vitest": "1.4.0", "webpack": "5.89.0", "webpack-bundle-analyzer": "4.10.1", "webpack-cli": "5.1.4", From a8bff14907e9b07f4c6dc161e527c31b468a91ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:10:42 +0000 Subject: [PATCH 132/293] Update Webpack --- package-lock.json | 479 ++++++++++++++++++++++++---------------------- package.json | 8 +- 2 files changed, 249 insertions(+), 238 deletions(-) diff --git a/package-lock.json b/package-lock.json index 272a7878ff..10978b245a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,7 +88,7 @@ "confusing-browser-globals": "1.0.11", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", - "css-loader": "6.9.1", + "css-loader": "6.10.0", "cssnano": "6.1.1", "es-check": "7.1.1", "eslint": "8.57.0", @@ -104,7 +104,7 @@ "html-loader": "4.2.0", "html-webpack-plugin": "5.6.0", "jsdom": "23.2.0", - "mini-css-extract-plugin": "2.7.7", + "mini-css-extract-plugin": "2.8.1", "postcss": "8.4.33", "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", @@ -122,10 +122,10 @@ "ts-loader": "9.5.1", "typescript": "5.4.3", "vitest": "1.4.0", - "webpack": "5.89.0", + "webpack": "5.91.0", "webpack-bundle-analyzer": "4.10.1", "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", + "webpack-dev-server": "4.15.2", "webpack-merge": "5.10.0", "worker-loader": "3.0.8" }, @@ -3665,14 +3665,14 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -3688,22 +3688,22 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -3713,13 +3713,13 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@juggle/resize-observer": { @@ -5197,9 +5197,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -5219,9 +5219,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -5242,15 +5242,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -5278,28 +5278,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -5307,24 +5307,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -5333,12 +5333,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -7388,9 +7388,9 @@ } }, "node_modules/css-loader": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz", - "integrity": "sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", @@ -7410,13 +7410,22 @@ "url": "https://opencollective.com/webpack" }, "peerDependencies": { + "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8278,9 +8287,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -10533,9 +10542,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "node_modules/fs.realpath": { @@ -10865,9 +10874,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "node_modules/graphemer": { @@ -13280,12 +13289,12 @@ } }, "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "dependencies": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" @@ -13508,12 +13517,13 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.7.tgz", - "integrity": "sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", "dev": true, "dependencies": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { "node": ">= 12.13.0" @@ -21082,13 +21092,13 @@ } }, "node_modules/terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", + "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -21100,16 +21110,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -22459,9 +22469,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -22501,34 +22511,34 @@ } }, "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -22677,13 +22687,13 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -22706,9 +22716,9 @@ "dev": true }, "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", @@ -22739,7 +22749,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -25445,14 +25455,14 @@ } }, "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -25462,19 +25472,19 @@ "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "@jridgewell/sourcemap-codec": { @@ -25484,13 +25494,13 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@juggle/resize-observer": { @@ -26503,9 +26513,9 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -26525,9 +26535,9 @@ "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { @@ -26548,15 +26558,15 @@ "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { @@ -26584,28 +26594,28 @@ "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -26613,24 +26623,24 @@ } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -26639,12 +26649,12 @@ } }, "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -28130,9 +28140,9 @@ } }, "css-loader": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz", - "integrity": "sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", "dev": true, "requires": { "icss-utils": "^5.1.0", @@ -28146,9 +28156,9 @@ }, "dependencies": { "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -28786,9 +28796,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -30490,9 +30500,9 @@ } }, "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "fs.realpath": { @@ -30729,9 +30739,9 @@ } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "graphemer": { @@ -32515,12 +32525,12 @@ "dev": true }, "memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.4" } }, "meow": { @@ -32669,12 +32679,13 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "2.7.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.7.tgz", - "integrity": "sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz", + "integrity": "sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==", "dev": true, "requires": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" } }, "minimalistic-assert": { @@ -38172,13 +38183,13 @@ } }, "terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", + "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -38192,16 +38203,16 @@ } }, "terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "terser": "^5.26.0" }, "dependencies": { "ajv": { @@ -39123,9 +39134,9 @@ } }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -39161,34 +39172,34 @@ "dev": true }, "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -39314,13 +39325,13 @@ } }, "webpack-dev-middleware": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", - "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.4.1", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -39335,9 +39346,9 @@ } }, "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -39368,7 +39379,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "dependencies": { diff --git a/package.json b/package.json index d74eba704b..5b325173da 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "confusing-browser-globals": "1.0.11", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", - "css-loader": "6.9.1", + "css-loader": "6.10.0", "cssnano": "6.1.1", "es-check": "7.1.1", "eslint": "8.57.0", @@ -44,7 +44,7 @@ "html-loader": "4.2.0", "html-webpack-plugin": "5.6.0", "jsdom": "23.2.0", - "mini-css-extract-plugin": "2.7.7", + "mini-css-extract-plugin": "2.8.1", "postcss": "8.4.33", "postcss-loader": "7.3.4", "postcss-preset-env": "9.3.0", @@ -62,10 +62,10 @@ "ts-loader": "9.5.1", "typescript": "5.4.3", "vitest": "1.4.0", - "webpack": "5.89.0", + "webpack": "5.91.0", "webpack-bundle-analyzer": "4.10.1", "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", + "webpack-dev-server": "4.15.2", "webpack-merge": "5.10.0", "worker-loader": "3.0.8" }, From 3f604415b2fa101ae598d119b9401ee2f2e51201 Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:27:56 +0000 Subject: [PATCH 133/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index c6160c2248..6b950663e7 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -1852,5 +1852,8 @@ "LimitSupportedVideoResolution": "Maximaal ondersteunde beeldresolutie begrenzen", "LimitSupportedVideoResolutionHelp": "Gebruik 'maximaal toegestane beeldtransocderingsresolutie' als maximaal ondersteunde beeldresolutie.", "AllowContentWithTagsHelp": "Alleen media tonen met ten minste een van de opgegeven labels.", - "BlockContentWithTagsHelp": "Media verbergen met ten minste een van de opgegeven labels." + "BlockContentWithTagsHelp": "Media verbergen met ten minste een van de opgegeven labels.", + "LabelEncodingFormatOptions": "Coderingsformaatopties", + "EncodingFormatHelp": "Selecteer de beeldcodering waar Jellyfin naartoe moet transcoderen. Jellyfin gebruikt softwarecodering wanneer hardwarecodering niet voor het geselecteerde formaat beschikbaar is. H264-codering is altijd ingeschakeld.", + "AirPlay": "AirPlay" } From f298387a86687fbd134324034dcd7c7ea296b51f Mon Sep 17 00:00:00 2001 From: gnattu Date: Sat, 30 Mar 2024 08:10:35 +0800 Subject: [PATCH 134/293] fix: remove unused trickplay files --- .../dashboard/routes/playback/trickplay.tsx | 1 - .../trickplay/LinkTrickplayAcceleration.tsx | 33 ------------------- 2 files changed, 34 deletions(-) delete mode 100644 src/components/dashboard/playback/trickplay/LinkTrickplayAcceleration.tsx diff --git a/src/apps/dashboard/routes/playback/trickplay.tsx b/src/apps/dashboard/routes/playback/trickplay.tsx index ace6586795..26f0360b6c 100644 --- a/src/apps/dashboard/routes/playback/trickplay.tsx +++ b/src/apps/dashboard/routes/playback/trickplay.tsx @@ -8,7 +8,6 @@ import ButtonElement from '../../../../elements/ButtonElement'; import CheckBoxElement from '../../../../elements/CheckBoxElement'; import SelectElement from '../../../../elements/SelectElement'; import InputElement from '../../../../elements/InputElement'; -import LinkTrickplayAcceleration from '../../../../components/dashboard/playback/trickplay/LinkTrickplayAcceleration'; import loading from '../../../../components/loading/loading'; import toast from '../../../../components/toast/toast'; import ServerConnections from '../../../../components/ServerConnections'; diff --git a/src/components/dashboard/playback/trickplay/LinkTrickplayAcceleration.tsx b/src/components/dashboard/playback/trickplay/LinkTrickplayAcceleration.tsx deleted file mode 100644 index a00b839c87..0000000000 --- a/src/components/dashboard/playback/trickplay/LinkTrickplayAcceleration.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React, { type FunctionComponent } from 'react'; -import globalize from '../../../../scripts/globalize'; - -type IProps = { - title?: string; - className?: string; - href?: string; -}; - -const createLinkElement = ({ className, title, href }: IProps) => ({ - __html: `
- ${title} - ` -}); - -const LinkTrickplayAcceleration: FunctionComponent = ({ className, title, href }: IProps) => { - return ( -
- ); -}; - -export default LinkTrickplayAcceleration; From 08617d8a78dca5080fa4cebb554f37f4d9d04714 Mon Sep 17 00:00:00 2001 From: btopherjohnson <60437031+btopherjohnson@users.noreply.github.com> Date: Fri, 29 Mar 2024 17:41:16 -0700 Subject: [PATCH 135/293] Update src/strings/en-us.json Co-authored-by: Bill Thornton --- src/strings/en-us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/en-us.json b/src/strings/en-us.json index ee670df52c..bedd0595b4 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -247,7 +247,7 @@ "EnableFasterAnimationsHelp": "Use faster animations and transitions.", "EnableHardwareEncoding": "Enable hardware encoding", "EnableLibrary": "Enable the library", - "EnableLibraryHelp": "Allows the library to be enabled/disabled", + "EnableLibraryHelp": "Disabling the library will hide it from all user views.", "EnableNextVideoInfoOverlay": "Show next video info during playback", "EnableNextVideoInfoOverlayHelp": "At the end of a video, display info about the next video coming up in the current playlist.", "EnablePhotos": "Display the photos", From 8e99f7793db255a5f60e5fca97e1e7dc53c8c83a Mon Sep 17 00:00:00 2001 From: PEdro Amaral Date: Sat, 30 Mar 2024 03:47:41 +0000 Subject: [PATCH 136/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index a208eb6fe4..a05bdf29a0 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1426,9 +1426,9 @@ "GridView": "Visão em grade", "HeaderConfirmRepositoryInstallation": "Confirme a instalação do repositório de plugin", "AllowSegmentDeletion": "Deletar segmentos", - "AllowSegmentDeletionHelp": "Exclua segmentos antigos após terem sido enviados ao cliente. Isso evita ter que armazenar todo o arquivo transcodificado no disco. Funcionará apenas com throttling habilitado. Desligue esta opção se tiver problemas de reprodução.", + "AllowSegmentDeletionHelp": "Exclua segmentos antigos após terem sido baixados pelo cliente. Isso evita ter que armazenar todo o arquivo transcodificado no disco. Desligue esta opção se tiver problemas de reprodução.", "LabelSegmentKeepSeconds": "Tempo em segundos para manter os segmentos", - "LabelSegmentKeepSecondsHelp": "Tempo em segundos no qual o segmento deve ser mantido antes de ser reescrito. Deve ser maior que \"Acelerar depois\". So funciona se Deletar Segmentos estiver ativo.", + "LabelSegmentKeepSecondsHelp": "Tempo em segundos no qual o segmento deve ser mantido após ele é baixado pelo cliente. Só funciona se Deletar Segmentos estiver ativo.", "LabelThrottleDelaySeconds": "acelerar depois", "HeaderAllRecordings": "Todas as gravações", "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Os extras geralmente têm o mesmo nome incorporado do parente, marque isto para usar títulos incorporados para eles de qualquer maneira.", @@ -1813,5 +1813,8 @@ "LabelJpegQuality": "Qualidade JPEG", "LabelTileHeightHelp": "Número máximo de imagens por mosaico na direção Y.", "LabelTileWidthHelp": "Número máximo de imagens por mosaico na direção X.", - "ExtractTrickplayImagesHelp": "As imagens Trickplay são semelhantes às imagens de capítulo, exceto pelo facto de abrangerem toda a extensão do conteúdo e serem utilizadas para mostrar uma pré-visualização ao percorrer os vídeos." + "ExtractTrickplayImagesHelp": "As imagens Trickplay são semelhantes às imagens de capítulo, exceto pelo facto de abrangerem toda a extensão do conteúdo e serem utilizadas para mostrar uma pré-visualização ao percorrer os vídeos.", + "AllowContentWithTagsHelp": "Somente exibe mídia que tenha ao menos uma das palavras-chaves especificadas.", + "BlockContentWithTagsHelp": "Esconde mídia que tenha ao menos uma das palavras-chaves especificadas.", + "ButtonEditUser": "Editar usuário" } From 688ef0a50138d9616fcb8ffbbfe331789af17dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Sat, 30 Mar 2024 06:30:54 +0000 Subject: [PATCH 137/293] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index f8f43dfca9..e51494eaf7 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1854,5 +1854,7 @@ "PlaybackError.RateLimitExceeded": "Toto médium není možné momentálně přehrát kvůli omezení rychlosti.", "AllowContentWithTagsHelp": "Zobrazovat jen média, která mají alespoň jednu ze značek.", "BlockContentWithTagsHelp": "Skrýt média, která mají alespoň jednu ze značek.", - "AirPlay": "AirPlay" + "AirPlay": "AirPlay", + "LabelEncodingFormatOptions": "Možnosti formátu kódování", + "EncodingFormatHelp": "Vyberte formát, do kterého by měly být překódovány videa. Pokud není k dispozici hardwarová akcelerace pro vybraný formát, bude použito softwarové kódování. Kódování do formátu H.264 bude vždy povoleno." } From 4a43dbab9ac3aadb582e8279eff29faee4f13d26 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 09:08:46 +0000 Subject: [PATCH 138/293] Update dependency core-js to v3.36.1 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 272a7878ff..bf8ab441ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "blurhash": "2.0.5", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.5.1", - "core-js": "3.35.1", + "core-js": "3.36.1", "date-fns": "2.30.0", "dompurify": "3.0.1", "epubjs": "0.3.93", @@ -7240,9 +7240,9 @@ } }, "node_modules/core-js": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", - "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", + "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -28046,9 +28046,9 @@ } }, "core-js": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", - "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==" + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", + "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==" }, "core-js-compat": { "version": "3.33.2", diff --git a/package.json b/package.json index d74eba704b..c7604d848f 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "blurhash": "2.0.5", "classlist.js": "https://github.com/eligrey/classList.js/archive/1.2.20180112.tar.gz", "classnames": "2.5.1", - "core-js": "3.35.1", + "core-js": "3.36.1", "date-fns": "2.30.0", "dompurify": "3.0.1", "epubjs": "0.3.93", From 69b925fe9caba1bc5dd0e939d7e3f2f858e65ba2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 09:12:20 +0000 Subject: [PATCH 139/293] Update PostCSS --- package-lock.json | 1490 +++++++++++++++++++++++++-------------------- package.json | 4 +- 2 files changed, 826 insertions(+), 668 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10978b245a..ccc8cead5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -105,9 +105,9 @@ "html-webpack-plugin": "5.6.0", "jsdom": "23.2.0", "mini-css-extract-plugin": "2.8.1", - "postcss": "8.4.33", + "postcss": "8.4.38", "postcss-loader": "7.3.4", - "postcss-preset-env": "9.3.0", + "postcss-preset-env": "9.5.2", "postcss-scss": "4.0.9", "sass": "1.72.0", "sass-loader": "13.3.3", @@ -1978,9 +1978,9 @@ } }, "node_modules/@csstools/cascade-layer-name-parser": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.5.tgz", - "integrity": "sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.9.tgz", + "integrity": "sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==", "dev": true, "funding": [ { @@ -1996,14 +1996,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/color-helpers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-3.0.2.tgz", - "integrity": "sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz", + "integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==", "dev": true, "funding": [ { @@ -2020,9 +2020,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.4.tgz", - "integrity": "sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.2.0.tgz", + "integrity": "sha512-iQqIW5vDPqQdLx07/atCuNKDprhIWjB0b8XRhUyXZWBZYUG+9mNyFwyu30rypX84WLevVo25NYW2ipxR8WyseQ==", "dev": true, "funding": [ { @@ -2038,14 +2038,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-color-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.4.0.tgz", - "integrity": "sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.6.2.tgz", + "integrity": "sha512-mlt0PomBlDXMGcbPAqCG36Fw35LZTtaSgCQCHEs4k8QTv1cUKe0rJDlFSJMHtqrgQiLC7LAAS9+s9kKQp2ou/Q==", "dev": true, "funding": [ { @@ -2058,21 +2058,21 @@ } ], "dependencies": { - "@csstools/color-helpers": "^3.0.2", - "@csstools/css-calc": "^1.1.4" + "@csstools/color-helpers": "^4.0.0", + "@csstools/css-calc": "^1.2.0" }, "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "funding": [ { @@ -2088,13 +2088,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true, "funding": [ { @@ -2111,9 +2111,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", + "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true, "funding": [ { @@ -2129,14 +2129,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/postcss-cascade-layers": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.1.tgz", - "integrity": "sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.3.tgz", + "integrity": "sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA==", "dev": true, "funding": [ { @@ -2149,7 +2149,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -2160,9 +2160,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.7.tgz", - "integrity": "sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.12.tgz", + "integrity": "sha512-amPGGDI4Xmgu7VN2ciKQe0pP/j5raaETT50nzbnkydp9FMw7imKxSUnXdVQU4NmRgpLKIc5Q7jox0MFhMBImIg==", "dev": true, "funding": [ { @@ -2175,10 +2175,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2188,9 +2189,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.7.tgz", - "integrity": "sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.12.tgz", + "integrity": "sha512-qpAEGwVVqHSa88i3gLb43IMpT4/LyZEE8HzZylQKKXFVJ7XykXaORTmXySxyH6H+flT+NyCnutKG2fegCVyCug==", "dev": true, "funding": [ { @@ -2203,10 +2204,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2216,9 +2218,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.1.tgz", - "integrity": "sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.5.tgz", + "integrity": "sha512-7S7I7KgwHWQYzJJAoIjRtUf7DQs1dxipeg1A6ikZr0PYapNJX7UHz0evlpE67SQqYj1xBs70gpG7xUv3uLp4PA==", "dev": true, "funding": [ { @@ -2231,9 +2233,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2243,9 +2245,9 @@ } }, "node_modules/@csstools/postcss-font-format-keywords": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.0.tgz", - "integrity": "sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz", + "integrity": "sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==", "dev": true, "funding": [ { @@ -2258,6 +2260,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -2268,9 +2271,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.0.tgz", - "integrity": "sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.5.tgz", + "integrity": "sha512-AJ74/4nHXgghLWY4/ydEhu3mzwN8c56EjIGrJsoEhKaNuGBAOtUfE5qbkc9XQQ0G2FMhHggqE+9eRrApeK7ebQ==", "dev": true, "funding": [ { @@ -2283,9 +2286,9 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2295,9 +2298,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.7.tgz", - "integrity": "sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==", + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.13.tgz", + "integrity": "sha512-dBbyxs9g+mrIzmEH+UtrqJUmvcJB/60j0ijhBcVJMHCgl/rKjj8ey6r/pJOI0EhkVsckOu3Prc9AGzH88C+1pQ==", "dev": true, "funding": [ { @@ -2310,10 +2313,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2323,9 +2327,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.6.tgz", - "integrity": "sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.11.tgz", + "integrity": "sha512-c36FtMFptwGn5CmsfdONA40IlWG2lHeoC/TDyED/7lwiTht5okxe6iLAa9t2LjBBo5AHQSHfeMvOASdXk/SHog==", "dev": true, "funding": [ { @@ -2338,9 +2342,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2350,9 +2356,9 @@ } }, "node_modules/@csstools/postcss-ic-unit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.2.tgz", - "integrity": "sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.5.tgz", + "integrity": "sha512-9CriM/zvKXa/lDARlxs/MgeyKE6ZmmX4V77VLD7VUxKLVSt0Go3NCy/gRMbwGzxbrk3iaHFXnFbc2lNw+/7jcg==", "dev": true, "funding": [ { @@ -2365,7 +2371,8 @@ } ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -2376,9 +2383,9 @@ } }, "node_modules/@csstools/postcss-initial": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.0.tgz", - "integrity": "sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz", + "integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==", "dev": true, "funding": [ { @@ -2398,9 +2405,9 @@ } }, "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.3.tgz", - "integrity": "sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.5.tgz", + "integrity": "sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg==", "dev": true, "funding": [ { @@ -2413,7 +2420,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -2423,10 +2430,38 @@ "postcss": "^8.4" } }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.1.tgz", + "integrity": "sha512-CJOcp+m7Njbu91HtYMMoYuZznsvNSpJtLiR/7BO8/bHTXYPiuAZfxunh7wXLkMbHd5dRBgAVAQZ+H4iFqrvWZw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@csstools/postcss-logical-float-and-clear": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.0.tgz", - "integrity": "sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz", + "integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==", "dev": true, "funding": [ { @@ -2446,9 +2481,9 @@ } }, "node_modules/@csstools/postcss-logical-overflow": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.0.tgz", - "integrity": "sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz", + "integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==", "dev": true, "funding": [ { @@ -2468,9 +2503,9 @@ } }, "node_modules/@csstools/postcss-logical-overscroll-behavior": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.0.tgz", - "integrity": "sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz", + "integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==", "dev": true, "funding": [ { @@ -2490,9 +2525,9 @@ } }, "node_modules/@csstools/postcss-logical-resize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.0.tgz", - "integrity": "sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz", + "integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==", "dev": true, "funding": [ { @@ -2515,9 +2550,9 @@ } }, "node_modules/@csstools/postcss-logical-viewport-units": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.3.tgz", - "integrity": "sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.7.tgz", + "integrity": "sha512-L4G3zsp/bnU0+WXUyysihCUH14LkfMgUJsS9vKz3vCYbVobOTqQRoNXnEPpyNp8WYyolLqAWbGGJhVu8J6u2OQ==", "dev": true, "funding": [ { @@ -2530,7 +2565,8 @@ } ], "dependencies": { - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2540,9 +2576,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.0.tgz", - "integrity": "sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.4.tgz", + "integrity": "sha512-xl/PIO3TUbXO1ZA4SA6HCw+Q9UGe2cgeRKx3lHCzoNig2D4bT5vfVCOrwhxjUb09oHihc9eI3I0iIfVPiXaN1A==", "dev": true, "funding": [ { @@ -2555,10 +2591,10 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2568,9 +2604,9 @@ } }, "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.3.tgz", - "integrity": "sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.7.tgz", + "integrity": "sha512-HBDAQw1K0NilcHGMUHv8jzf2mpOtcWTVKtuY3AeZ5TS1uyWWNVi5/yuA/tREPLU9WifNdqHQ+rfbsV/8zTIkTg==", "dev": true, "funding": [ { @@ -2583,9 +2619,9 @@ } ], "dependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2595,9 +2631,9 @@ } }, "node_modules/@csstools/postcss-nested-calc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.0.tgz", - "integrity": "sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz", + "integrity": "sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==", "dev": true, "funding": [ { @@ -2610,6 +2646,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -2620,9 +2657,9 @@ } }, "node_modules/@csstools/postcss-normalize-display-values": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.1.tgz", - "integrity": "sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz", + "integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==", "dev": true, "funding": [ { @@ -2645,9 +2682,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.7.tgz", - "integrity": "sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.12.tgz", + "integrity": "sha512-RNitTHamFvUUh8x+MJuPd2tCekYexUrylGKfUoor5D2GGcgzY1WB6Bl3pIj9t8bAq5h/lcacKaB2wmvUOTfGgQ==", "dev": true, "funding": [ { @@ -2660,10 +2697,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2673,9 +2711,9 @@ } }, "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.2.tgz", - "integrity": "sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.1.1.tgz", + "integrity": "sha512-cx/bZgj+MK8SpRZNTu2zGeVFMCQfhsaeuDhukAhfA53yykvIXaTIwLi5shW9hfkvPrkqBeFoiRAzq/qogxeHTA==", "dev": true, "funding": [ { @@ -2698,9 +2736,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.7.tgz", - "integrity": "sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.12.tgz", + "integrity": "sha512-VreDGDgE634niwCytLtkoE5kRxfva7bnMzSoyok7Eh9VPYFOm8CK/oJXt9y3df71Bxc9PG4KC8RA3CxTknudnw==", "dev": true, "funding": [ { @@ -2713,10 +2751,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2726,9 +2765,9 @@ } }, "node_modules/@csstools/postcss-scope-pseudo-class": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.0.tgz", - "integrity": "sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz", + "integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==", "dev": true, "funding": [ { @@ -2751,9 +2790,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.2.tgz", - "integrity": "sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.6.tgz", + "integrity": "sha512-rnyp8tWRuBXERTHVdB5hjUlif5dQgPcyN+BX55wUnYpZ3LN9QPfK2Z3/HUZymwyou8Gg6vhd6X2W+g1pLq1jYg==", "dev": true, "funding": [ { @@ -2766,9 +2805,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2778,9 +2817,9 @@ } }, "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.3.tgz", - "integrity": "sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz", + "integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==", "dev": true, "funding": [ { @@ -2793,7 +2832,7 @@ } ], "dependencies": { - "@csstools/color-helpers": "^3.0.2", + "@csstools/color-helpers": "^4.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -2804,9 +2843,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.2.tgz", - "integrity": "sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.6.tgz", + "integrity": "sha512-i5Zd0bMJooZAn+ZcDmPij2WCkcOJJJ6opzK+QeDjxbMrYmoGQl0CY8FDHdeQyBF1Nly+Q0Fq3S7QfdNLKBBaCg==", "dev": true, "funding": [ { @@ -2819,9 +2858,9 @@ } ], "dependencies": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" }, "engines": { "node": "^14 || ^16 || >=18" @@ -2831,9 +2870,9 @@ } }, "node_modules/@csstools/postcss-unset-value": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.0.tgz", - "integrity": "sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz", + "integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==", "dev": true, "funding": [ { @@ -2852,10 +2891,10 @@ "postcss": "^8.4" } }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "node_modules/@csstools/selector-resolve-nested": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz", + "integrity": "sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==", "dev": true, "funding": [ { @@ -2874,6 +2913,50 @@ "postcss-selector-parser": "^6.0.13" } }, + "node_modules/@csstools/selector-specificity": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz", + "integrity": "sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" + } + }, + "node_modules/@csstools/utilities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-1.0.0.tgz", + "integrity": "sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@dabh/diagnostics": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", @@ -7315,9 +7398,9 @@ } }, "node_modules/css-blank-pseudo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.0.tgz", - "integrity": "sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz", + "integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==", "dev": true, "funding": [ { @@ -7361,9 +7444,9 @@ } }, "node_modules/css-has-pseudo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.0.tgz", - "integrity": "sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.2.tgz", + "integrity": "sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow==", "dev": true, "funding": [ { @@ -7376,7 +7459,7 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13", "postcss-value-parser": "^4.2.0" }, @@ -7438,9 +7521,9 @@ } }, "node_modules/css-prefers-color-scheme": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.0.tgz", - "integrity": "sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz", + "integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==", "dev": true, "funding": [ { @@ -7541,9 +7624,9 @@ } }, "node_modules/cssdb": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz", - "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==", + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", "dev": true, "funding": [ { @@ -14604,9 +14687,9 @@ } }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "funding": [ { @@ -14625,27 +14708,33 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-attribute-case-insensitive": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz", - "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz", + "integrity": "sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -14682,9 +14771,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.2.tgz", - "integrity": "sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.7.tgz", + "integrity": "sha512-VwzaVfu1kEYDK2yM8ixeKA/QbgQ8k0uxpRevLH9Wam+R3C1sg68vnRB7m2AMhYfjqb5khp4p0EQk5aO90ASAkw==", "dev": true, "funding": [ { @@ -14697,8 +14786,11 @@ } ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", - "postcss-value-parser": "^4.2.0" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -14708,28 +14800,9 @@ } }, "node_modules/postcss-color-hex-alpha": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz", - "integrity": "sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.1.tgz", - "integrity": "sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz", + "integrity": "sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==", "dev": true, "funding": [ { @@ -14742,6 +14815,33 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz", + "integrity": "sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -14786,9 +14886,9 @@ } }, "node_modules/postcss-custom-media": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz", - "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.4.tgz", + "integrity": "sha512-Ubs7O3wj2prghaKRa68VHBvuy3KnTQ0zbGwqDYY1mntxJD0QL2AeiAy+AMfl3HBedTCVr2IcFNktwty9YpSskA==", "dev": true, "funding": [ { @@ -14801,10 +14901,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" }, "engines": { "node": "^14 || ^16 || >=18" @@ -14814,9 +14914,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.2.tgz", - "integrity": "sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz", + "integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==", "dev": true, "funding": [ { @@ -14829,9 +14929,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -14842,9 +14943,9 @@ } }, "node_modules/postcss-custom-selectors": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz", - "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==", + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.8.tgz", + "integrity": "sha512-fqDkGSEsO7+oQaqdRdR8nwwqH+N2uk6LE/2g4myVJJYz/Ly418lHKEleKTdV/GzjBjFcG4n0dbfuH/Pd2BE8YA==", "dev": true, "funding": [ { @@ -14857,9 +14958,9 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -14870,9 +14971,9 @@ } }, "node_modules/postcss-dir-pseudo-class": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.0.tgz", - "integrity": "sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz", + "integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==", "dev": true, "funding": [ { @@ -14943,9 +15044,9 @@ } }, "node_modules/postcss-double-position-gradients": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.2.tgz", - "integrity": "sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.5.tgz", + "integrity": "sha512-26Tx4BfoxMNO9C89Nk56bfGv4jAwdDVgrQOyHZOP/6/D+xuOBf306KzTjHC2oBzaIIVtX+famOWHv4raxMjJMQ==", "dev": true, "funding": [ { @@ -14958,7 +15059,8 @@ } ], "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -14969,9 +15071,9 @@ } }, "node_modules/postcss-focus-visible": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.0.tgz", - "integrity": "sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz", + "integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==", "dev": true, "funding": [ { @@ -14994,9 +15096,9 @@ } }, "node_modules/postcss-focus-within": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.0.tgz", - "integrity": "sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz", + "integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==", "dev": true, "funding": [ { @@ -15028,9 +15130,9 @@ } }, "node_modules/postcss-gap-properties": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.0.tgz", - "integrity": "sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz", + "integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==", "dev": true, "funding": [ { @@ -15106,9 +15208,9 @@ } }, "node_modules/postcss-image-set-function": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.1.tgz", - "integrity": "sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz", + "integrity": "sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==", "dev": true, "funding": [ { @@ -15121,6 +15223,7 @@ } ], "dependencies": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -15144,9 +15247,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.7.tgz", - "integrity": "sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.12.tgz", + "integrity": "sha512-flHW2jdRCRe8ClhMgrylR1BCiyyqLLvp1qKfO5wuAclUihldfRsoDIFQWFVW7rJbruil9/LCoHNUvY9JwTlLPw==", "dev": true, "funding": [ { @@ -15159,10 +15262,11 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" }, "engines": { "node": "^14 || ^16 || >=18" @@ -15347,9 +15451,9 @@ } }, "node_modules/postcss-logical": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.0.tgz", - "integrity": "sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz", + "integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==", "dev": true, "funding": [ { @@ -15681,9 +15785,9 @@ } }, "node_modules/postcss-nesting": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.1.tgz", - "integrity": "sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.0.tgz", + "integrity": "sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw==", "dev": true, "funding": [ { @@ -15696,7 +15800,8 @@ } ], "dependencies": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-resolve-nested": "^1.1.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" }, "engines": { @@ -15878,9 +15983,9 @@ } }, "node_modules/postcss-overflow-shorthand": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.0.tgz", - "integrity": "sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz", + "integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==", "dev": true, "funding": [ { @@ -15912,9 +16017,9 @@ } }, "node_modules/postcss-place": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.0.tgz", - "integrity": "sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz", + "integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==", "dev": true, "funding": [ { @@ -15937,9 +16042,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz", - "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.2.tgz", + "integrity": "sha512-/KIAHELdg5BxsKA/Vc6Nok/66EM7lps8NulKcQWX2S52HdzxAqh+6HcuAFj7trRSW587vlOA4zCjlRFgR+W6Ag==", "dev": true, "funding": [ { @@ -15952,66 +16057,66 @@ } ], "dependencies": { - "@csstools/postcss-cascade-layers": "^4.0.1", - "@csstools/postcss-color-function": "^3.0.7", - "@csstools/postcss-color-mix-function": "^2.0.7", - "@csstools/postcss-exponential-functions": "^1.0.1", - "@csstools/postcss-font-format-keywords": "^3.0.0", - "@csstools/postcss-gamut-mapping": "^1.0.0", - "@csstools/postcss-gradients-interpolation-method": "^4.0.7", - "@csstools/postcss-hwb-function": "^3.0.6", - "@csstools/postcss-ic-unit": "^3.0.2", - "@csstools/postcss-initial": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^4.0.3", - "@csstools/postcss-logical-float-and-clear": "^2.0.0", - "@csstools/postcss-logical-overflow": "^1.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^1.0.0", - "@csstools/postcss-logical-resize": "^2.0.0", - "@csstools/postcss-logical-viewport-units": "^2.0.3", - "@csstools/postcss-media-minmax": "^1.1.0", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3", - "@csstools/postcss-nested-calc": "^3.0.0", - "@csstools/postcss-normalize-display-values": "^3.0.1", - "@csstools/postcss-oklab-function": "^3.0.7", - "@csstools/postcss-progressive-custom-properties": "^3.0.2", - "@csstools/postcss-relative-color-syntax": "^2.0.7", - "@csstools/postcss-scope-pseudo-class": "^3.0.0", - "@csstools/postcss-stepped-value-functions": "^3.0.2", - "@csstools/postcss-text-decoration-shorthand": "^3.0.3", - "@csstools/postcss-trigonometric-functions": "^3.0.2", - "@csstools/postcss-unset-value": "^3.0.0", - "autoprefixer": "^10.4.16", - "browserslist": "^4.22.1", - "css-blank-pseudo": "^6.0.0", - "css-has-pseudo": "^6.0.0", - "css-prefers-color-scheme": "^9.0.0", - "cssdb": "^7.9.0", - "postcss-attribute-case-insensitive": "^6.0.2", + "@csstools/postcss-cascade-layers": "^4.0.3", + "@csstools/postcss-color-function": "^3.0.12", + "@csstools/postcss-color-mix-function": "^2.0.12", + "@csstools/postcss-exponential-functions": "^1.0.5", + "@csstools/postcss-font-format-keywords": "^3.0.2", + "@csstools/postcss-gamut-mapping": "^1.0.5", + "@csstools/postcss-gradients-interpolation-method": "^4.0.13", + "@csstools/postcss-hwb-function": "^3.0.11", + "@csstools/postcss-ic-unit": "^3.0.5", + "@csstools/postcss-initial": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^4.0.5", + "@csstools/postcss-light-dark-function": "^1.0.1", + "@csstools/postcss-logical-float-and-clear": "^2.0.1", + "@csstools/postcss-logical-overflow": "^1.0.1", + "@csstools/postcss-logical-overscroll-behavior": "^1.0.1", + "@csstools/postcss-logical-resize": "^2.0.1", + "@csstools/postcss-logical-viewport-units": "^2.0.7", + "@csstools/postcss-media-minmax": "^1.1.4", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.7", + "@csstools/postcss-nested-calc": "^3.0.2", + "@csstools/postcss-normalize-display-values": "^3.0.2", + "@csstools/postcss-oklab-function": "^3.0.12", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/postcss-relative-color-syntax": "^2.0.12", + "@csstools/postcss-scope-pseudo-class": "^3.0.1", + "@csstools/postcss-stepped-value-functions": "^3.0.6", + "@csstools/postcss-text-decoration-shorthand": "^3.0.4", + "@csstools/postcss-trigonometric-functions": "^3.0.6", + "@csstools/postcss-unset-value": "^3.0.1", + "autoprefixer": "^10.4.18", + "browserslist": "^4.22.3", + "css-blank-pseudo": "^6.0.1", + "css-has-pseudo": "^6.0.2", + "css-prefers-color-scheme": "^9.0.1", + "cssdb": "^7.11.1", + "postcss-attribute-case-insensitive": "^6.0.3", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^6.0.2", - "postcss-color-hex-alpha": "^9.0.2", - "postcss-color-rebeccapurple": "^9.0.1", - "postcss-custom-media": "^10.0.2", - "postcss-custom-properties": "^13.3.2", - "postcss-custom-selectors": "^7.1.6", - "postcss-dir-pseudo-class": "^8.0.0", - "postcss-double-position-gradients": "^5.0.2", - "postcss-focus-visible": "^9.0.0", - "postcss-focus-within": "^8.0.0", + "postcss-color-functional-notation": "^6.0.7", + "postcss-color-hex-alpha": "^9.0.4", + "postcss-color-rebeccapurple": "^9.0.3", + "postcss-custom-media": "^10.0.4", + "postcss-custom-properties": "^13.3.6", + "postcss-custom-selectors": "^7.1.8", + "postcss-dir-pseudo-class": "^8.0.1", + "postcss-double-position-gradients": "^5.0.5", + "postcss-focus-visible": "^9.0.1", + "postcss-focus-within": "^8.0.1", "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^5.0.0", - "postcss-image-set-function": "^6.0.1", - "postcss-lab-function": "^6.0.7", - "postcss-logical": "^7.0.0", - "postcss-nesting": "^12.0.1", + "postcss-gap-properties": "^5.0.1", + "postcss-image-set-function": "^6.0.3", + "postcss-lab-function": "^6.0.12", + "postcss-logical": "^7.0.1", + "postcss-nesting": "^12.1.0", "postcss-opacity-percentage": "^2.0.0", - "postcss-overflow-shorthand": "^5.0.0", + "postcss-overflow-shorthand": "^5.0.1", "postcss-page-break": "^3.0.4", - "postcss-place": "^9.0.0", - "postcss-pseudo-class-any-link": "^9.0.0", + "postcss-place": "^9.0.1", + "postcss-pseudo-class-any-link": "^9.0.1", "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^7.0.1", - "postcss-value-parser": "^4.2.0" + "postcss-selector-not": "^7.0.2" }, "engines": { "node": "^14 || ^16 || >=18" @@ -16021,9 +16126,9 @@ } }, "node_modules/postcss-pseudo-class-any-link": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.0.tgz", - "integrity": "sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz", + "integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==", "dev": true, "funding": [ { @@ -16277,20 +16382,26 @@ } }, "node_modules/postcss-selector-not": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz", - "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz", + "integrity": "sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" }, "engines": { "node": "^14 || ^16 || >=18" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, "peerDependencies": { "postcss": "^8.4" } @@ -18154,9 +18265,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -24622,335 +24733,372 @@ "dev": true }, "@csstools/cascade-layer-name-parser": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.5.tgz", - "integrity": "sha512-v/5ODKNBMfBl0us/WQjlfsvSlYxfZLhNMVIsuCPib2ulTwGKYbKJbwqw671+qH9Y4wvWVnu7LBChvml/wBKjFg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.9.tgz", + "integrity": "sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==", "dev": true, "requires": {} }, "@csstools/color-helpers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-3.0.2.tgz", - "integrity": "sha512-NMVs/l7Y9eIKL5XjbCHEgGcG8LOUT2qVcRjX6EzkCdlvftHVKr2tHIPzHavfrULRZ5Q2gxrJ9f44dAlj6fX97Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-4.0.0.tgz", + "integrity": "sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w==", "dev": true }, "@csstools/css-calc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.1.4.tgz", - "integrity": "sha512-ZV1TSmToiNcQL1P3hfzlzZzA02mmVkVmXGaUDUqpYUG84PmLhVSZpKX+KfxAuOcK7de04UXSQPBrAvaya6iiGg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-1.2.0.tgz", + "integrity": "sha512-iQqIW5vDPqQdLx07/atCuNKDprhIWjB0b8XRhUyXZWBZYUG+9mNyFwyu30rypX84WLevVo25NYW2ipxR8WyseQ==", "dev": true, "requires": {} }, "@csstools/css-color-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.4.0.tgz", - "integrity": "sha512-SlGd8E6ron24JYQPQAIzu5tvmWi1H4sDKTdA7UDnwF45oJv7AVESbOlOO1YjfBhrQFuvLWUgKiOY9DwGoAxwTA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-1.6.2.tgz", + "integrity": "sha512-mlt0PomBlDXMGcbPAqCG36Fw35LZTtaSgCQCHEs4k8QTv1cUKe0rJDlFSJMHtqrgQiLC7LAAS9+s9kKQp2ou/Q==", "dev": true, "requires": { - "@csstools/color-helpers": "^3.0.2", - "@csstools/css-calc": "^1.1.4" + "@csstools/color-helpers": "^4.0.0", + "@csstools/css-calc": "^1.2.0" } }, "@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "requires": {} }, "@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true }, "@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.9.tgz", + "integrity": "sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==", "dev": true, "requires": {} }, "@csstools/postcss-cascade-layers": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.1.tgz", - "integrity": "sha512-UYFuFL9GgVnftg9v7tBvVEBRLaBeAD66euD+yYy5fYCUld9ZIWTJNCE30hm6STMEdt6FL5xzeVw1lAZ1tpvUEg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.3.tgz", + "integrity": "sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA==", "dev": true, "requires": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" } }, "@csstools/postcss-color-function": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.7.tgz", - "integrity": "sha512-/PIB20G1TPCXmQlaJLWIYzTZRZpj6csT4ijgnshIj/kcmniIRroAfDa0xSWnfuO1eNo0NptIaPU7jzUukWn55Q==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-3.0.12.tgz", + "integrity": "sha512-amPGGDI4Xmgu7VN2ciKQe0pP/j5raaETT50nzbnkydp9FMw7imKxSUnXdVQU4NmRgpLKIc5Q7jox0MFhMBImIg==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-color-mix-function": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.7.tgz", - "integrity": "sha512-57/g8aGo5eKFjEeJMiRKh8Qq43K2rCyk5ZZTvJ34TNl4zUtYU5DvLkIkOnhCtL8/a4z9oMA42aOnFPddRrScUQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.12.tgz", + "integrity": "sha512-qpAEGwVVqHSa88i3gLb43IMpT4/LyZEE8HzZylQKKXFVJ7XykXaORTmXySxyH6H+flT+NyCnutKG2fegCVyCug==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-exponential-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.1.tgz", - "integrity": "sha512-ZLK2iSK4DUxeypGce2PnQSdYugUqDTwxnhNiq1o6OyKMNYgYs4eKbvEhFG8JKr1sJWbeqBi5jRr0017l2EWVvg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-1.0.5.tgz", + "integrity": "sha512-7S7I7KgwHWQYzJJAoIjRtUf7DQs1dxipeg1A6ikZr0PYapNJX7UHz0evlpE67SQqYj1xBs70gpG7xUv3uLp4PA==", "dev": true, "requires": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "@csstools/postcss-font-format-keywords": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.0.tgz", - "integrity": "sha512-ntkGj+1uDa/u6lpjPxnkPcjJn7ChO/Kcy08YxctOZI7vwtrdYvFhmE476dq8bj1yna306+jQ9gzXIG/SWfOaRg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-3.0.2.tgz", + "integrity": "sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==", "dev": true, "requires": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-gamut-mapping": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.0.tgz", - "integrity": "sha512-6UQyK8l9YaG5Ao5rBDcCnKHrLsHiQ1E0zeFQuqDJqEtinVzAPb/MwSw3TenZXL1Rnd7th3tb+4CBFHBXdW5tbQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.5.tgz", + "integrity": "sha512-AJ74/4nHXgghLWY4/ydEhu3mzwN8c56EjIGrJsoEhKaNuGBAOtUfE5qbkc9XQQ0G2FMhHggqE+9eRrApeK7ebQ==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "@csstools/postcss-gradients-interpolation-method": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.7.tgz", - "integrity": "sha512-GT1CzE/Tyr/ei4j5BwKESkHAgg+Gzys/0mAY7W+UiR+XrcYk5hDbOrE/YJIx1rflfO/7La1bDoZtA0YnLl4qNA==", + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.13.tgz", + "integrity": "sha512-dBbyxs9g+mrIzmEH+UtrqJUmvcJB/60j0ijhBcVJMHCgl/rKjj8ey6r/pJOI0EhkVsckOu3Prc9AGzH88C+1pQ==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-hwb-function": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.6.tgz", - "integrity": "sha512-uQgWt2Ho2yy2S6qthWY7mD5v57NKxi6dD1NB8nAybU5bJSsm+hLXRGm3/zbOH4xNrqO3Cl60DFSNlSrUME3Xjg==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.11.tgz", + "integrity": "sha512-c36FtMFptwGn5CmsfdONA40IlWG2lHeoC/TDyED/7lwiTht5okxe6iLAa9t2LjBBo5AHQSHfeMvOASdXk/SHog==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-ic-unit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.2.tgz", - "integrity": "sha512-n28Er7W9qc48zNjJnvTKuVHY26/+6YlA9WzJRksIHiAWOMxSH5IksXkw7FpkIOd+jLi59BMrX/BWrZMgjkLBHg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.5.tgz", + "integrity": "sha512-9CriM/zvKXa/lDARlxs/MgeyKE6ZmmX4V77VLD7VUxKLVSt0Go3NCy/gRMbwGzxbrk3iaHFXnFbc2lNw+/7jcg==", "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-initial": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.0.tgz", - "integrity": "sha512-1l7iHHjIl5qmVeGItugr4ZOlCREDP71mNKqoEyxlosIoiu3Os1nPWMHpuCvDLCLiWI/ONTOg3nzJh7gwHOrqUA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-1.0.1.tgz", + "integrity": "sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg==", "dev": true, "requires": {} }, "@csstools/postcss-is-pseudo-class": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.3.tgz", - "integrity": "sha512-/dt5M9Ty/x3Yiq0Nm/5PJJzwkVFchJgdjKVnryBPtoMCb9ohb/nDIJOwr/Wr3hK3FDs1EA1GE6PyRYsUmQPS8Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.5.tgz", + "integrity": "sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg==", "dev": true, "requires": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" } }, + "@csstools/postcss-light-dark-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-1.0.1.tgz", + "integrity": "sha512-CJOcp+m7Njbu91HtYMMoYuZznsvNSpJtLiR/7BO8/bHTXYPiuAZfxunh7wXLkMbHd5dRBgAVAQZ+H4iFqrvWZw==", + "dev": true, + "requires": { + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" + } + }, "@csstools/postcss-logical-float-and-clear": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.0.tgz", - "integrity": "sha512-Wki4vxsF6icRvRz8eF9bPpAvwaAt0RHwhVOyzfoFg52XiIMjb6jcbHkGxwpJXP4DVrnFEwpwmrz5aTRqOW82kg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-2.0.1.tgz", + "integrity": "sha512-SsrWUNaXKr+e/Uo4R/uIsqJYt3DaggIh/jyZdhy/q8fECoJSKsSMr7nObSLdvoULB69Zb6Bs+sefEIoMG/YfOA==", "dev": true, "requires": {} }, "@csstools/postcss-logical-overflow": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.0.tgz", - "integrity": "sha512-cIrZ8f7bGGvr+W53nEuMspcwaeaI2YTmz6LZ4yiAO5z14/PQgOOv+Pn+qjvPOPoadeY2BmpaoTzZKvdAQuM17w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-1.0.1.tgz", + "integrity": "sha512-Kl4lAbMg0iyztEzDhZuQw8Sj9r2uqFDcU1IPl+AAt2nue8K/f1i7ElvKtXkjhIAmKiy5h2EY8Gt/Cqg0pYFDCw==", "dev": true, "requires": {} }, "@csstools/postcss-logical-overscroll-behavior": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.0.tgz", - "integrity": "sha512-e89S2LWjnxf0SB2wNUAbqDyFb/Fow/tlOe1XqOLbNx4rf3LrQokM9qldVx7sarnddml3ORE5LDUmlKpPOOeJTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-1.0.1.tgz", + "integrity": "sha512-+kHamNxAnX8ojPCtV8WPcUP3XcqMFBSDuBuvT6MHgq7oX4IQxLIXKx64t7g9LiuJzE7vd06Q9qUYR6bh4YnGpQ==", "dev": true, "requires": {} }, "@csstools/postcss-logical-resize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.0.tgz", - "integrity": "sha512-lCQ1aX8c5+WI4t5EoYf3alTzJNNocMqTb+u1J9CINdDhFh1fjovqK+0aHalUHsNstZmzFPNzIkU4Mb3eM9U8SA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-2.0.1.tgz", + "integrity": "sha512-W5Gtwz7oIuFcKa5SmBjQ2uxr8ZoL7M2bkoIf0T1WeNqljMkBrfw1DDA8/J83k57NQ1kcweJEjkJ04pUkmyee3A==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-logical-viewport-units": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.3.tgz", - "integrity": "sha512-xeVxqND5rlQyqLGdH7rX34sIm/JbbQKxpKQP8oD1YQqUHHCLQR9NUS57WqJKajxKN6AcNAMWJhb5LUH5RfPcyA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-2.0.7.tgz", + "integrity": "sha512-L4G3zsp/bnU0+WXUyysihCUH14LkfMgUJsS9vKz3vCYbVobOTqQRoNXnEPpyNp8WYyolLqAWbGGJhVu8J6u2OQ==", "dev": true, "requires": { - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-media-minmax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.0.tgz", - "integrity": "sha512-t5Li/DPC5QmW/6VFLfUvsw/4dNYYseWR0tOXDeJg/9EKUodBgNawz5tuk5vYKtNvoj+Q08odMuXcpS5YJj0AFA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-1.1.4.tgz", + "integrity": "sha512-xl/PIO3TUbXO1ZA4SA6HCw+Q9UGe2cgeRKx3lHCzoNig2D4bT5vfVCOrwhxjUb09oHihc9eI3I0iIfVPiXaN1A==", "dev": true, "requires": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" } }, "@csstools/postcss-media-queries-aspect-ratio-number-values": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.3.tgz", - "integrity": "sha512-IPL8AvnwMYW+cWtp+j8cW3MFN0RyXNT4hLOvs6Rf2N+NcbvXhSyKxZuE3W9Cv4KjaNoNoGx1d0UhT6tktq6tUw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-2.0.7.tgz", + "integrity": "sha512-HBDAQw1K0NilcHGMUHv8jzf2mpOtcWTVKtuY3AeZ5TS1uyWWNVi5/yuA/tREPLU9WifNdqHQ+rfbsV/8zTIkTg==", "dev": true, "requires": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" } }, "@csstools/postcss-nested-calc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.0.tgz", - "integrity": "sha512-HsB66aDWAouOwD/GcfDTS0a7wCuVWaTpXcjl5VKP0XvFxDiU+r0T8FG7xgb6ovZNZ+qzvGIwRM+CLHhDgXrYgQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-3.0.2.tgz", + "integrity": "sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==", "dev": true, "requires": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-normalize-display-values": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.1.tgz", - "integrity": "sha512-nUvRxI+ALJwkxZdPU4EDyuM380vP91sAGvI3jAOHs/sr3jfcCOzLkY6xKI1Mr526kZ3RivmMoYM/xq+XFyE/bw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-3.0.2.tgz", + "integrity": "sha512-fCapyyT/dUdyPtrelQSIV+d5HqtTgnNP/BEG9IuhgXHt93Wc4CfC1bQ55GzKAjWrZbgakMQ7MLfCXEf3rlZJOw==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-oklab-function": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.7.tgz", - "integrity": "sha512-vBFTQD3CARB3u/XIGO44wWbcO7xG/4GsYqJlcPuUGRSK8mtxes6n4vvNFlIByyAZy2k4d4RY63nyvTbMpeNTaQ==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.12.tgz", + "integrity": "sha512-RNitTHamFvUUh8x+MJuPd2tCekYexUrylGKfUoor5D2GGcgzY1WB6Bl3pIj9t8bAq5h/lcacKaB2wmvUOTfGgQ==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-progressive-custom-properties": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.0.2.tgz", - "integrity": "sha512-YEvTozk1SxnV/PGL5DllBVDuLQ+jiQhyCSQiZJ6CwBMU5JQ9hFde3i1qqzZHuclZfptjrU0JjlX4ePsOhxNzHw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.1.1.tgz", + "integrity": "sha512-cx/bZgj+MK8SpRZNTu2zGeVFMCQfhsaeuDhukAhfA53yykvIXaTIwLi5shW9hfkvPrkqBeFoiRAzq/qogxeHTA==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-relative-color-syntax": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.7.tgz", - "integrity": "sha512-2AiFbJSVF4EyymLxme4JzSrbXykHolx8DdZECHjYKMhoulhKLltx5ccYgtrK3BmXGd3v3nJrWFCc8JM8bjuiOg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.12.tgz", + "integrity": "sha512-VreDGDgE634niwCytLtkoE5kRxfva7bnMzSoyok7Eh9VPYFOm8CK/oJXt9y3df71Bxc9PG4KC8RA3CxTknudnw==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "@csstools/postcss-scope-pseudo-class": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.0.tgz", - "integrity": "sha512-GFNVsD97OuEcfHmcT0/DAZWAvTM/FFBDQndIOLawNc1Wq8YqpZwBdHa063Lq+Irk7azygTT+Iinyg3Lt76p7rg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-3.0.1.tgz", + "integrity": "sha512-3ZFonK2gfgqg29gUJ2w7xVw2wFJ1eNWVDONjbzGkm73gJHVCYK5fnCqlLr+N+KbEfv2XbWAO0AaOJCFB6Fer6A==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" } }, "@csstools/postcss-stepped-value-functions": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.2.tgz", - "integrity": "sha512-I3wX44MZVv+tDuWfrd3BTvRB/YRIM2F5v1MBtTI89sxpFn47mNpTwpPYUOGPVCgKlRDfZSlxIUYhUQmqRQZZFQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-3.0.6.tgz", + "integrity": "sha512-rnyp8tWRuBXERTHVdB5hjUlif5dQgPcyN+BX55wUnYpZ3LN9QPfK2Z3/HUZymwyou8Gg6vhd6X2W+g1pLq1jYg==", "dev": true, "requires": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "@csstools/postcss-text-decoration-shorthand": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.3.tgz", - "integrity": "sha512-d5J9m49HhqXRcw1S6vTZuviHi/iknUKGjBpChiNK1ARg9sSa3b8m5lsWz5Izs8ISORZdv2bZRwbw5Z2R6gQ9kQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz", + "integrity": "sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ==", "dev": true, "requires": { - "@csstools/color-helpers": "^3.0.2", + "@csstools/color-helpers": "^4.0.0", "postcss-value-parser": "^4.2.0" } }, "@csstools/postcss-trigonometric-functions": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.2.tgz", - "integrity": "sha512-AwzNhF4QOKaLOKvMljwwFkeYXwufhRO15G+kKohHkyoNOL75xWkN+W2Y9ik9tSeAyDv+cYNlYaF+o/a79WjVjg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-3.0.6.tgz", + "integrity": "sha512-i5Zd0bMJooZAn+ZcDmPij2WCkcOJJJ6opzK+QeDjxbMrYmoGQl0CY8FDHdeQyBF1Nly+Q0Fq3S7QfdNLKBBaCg==", "dev": true, "requires": { - "@csstools/css-calc": "^1.1.4", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-calc": "^1.2.0", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "@csstools/postcss-unset-value": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.0.tgz", - "integrity": "sha512-P0JD1WHh3avVyKKRKjd0dZIjCEeaBer8t1BbwGMUDtSZaLhXlLNBqZ8KkqHzYWXOJgHleXAny2/sx8LYl6qhEA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-3.0.1.tgz", + "integrity": "sha512-dbDnZ2ja2U8mbPP0Hvmt2RMEGBiF1H7oY6HYSpjteXJGihYwgxgTr6KRbbJ/V6c+4wd51M+9980qG4gKVn5ttg==", + "dev": true, + "requires": {} + }, + "@csstools/selector-resolve-nested": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz", + "integrity": "sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==", "dev": true, "requires": {} }, "@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz", + "integrity": "sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==", + "dev": true, + "requires": {} + }, + "@csstools/utilities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-1.0.0.tgz", + "integrity": "sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==", "dev": true, "requires": {} }, @@ -28107,9 +28255,9 @@ } }, "css-blank-pseudo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.0.tgz", - "integrity": "sha512-VbfLlOWO7sBHBTn6pwDQzc07Z0SDydgDBfNfCE0nvrehdBNv9RKsuupIRa/qal0+fBZhAALyQDPMKz5lnvcchw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-6.0.1.tgz", + "integrity": "sha512-goSnEITByxTzU4Oh5oJZrEWudxTqk7L6IXj1UW69pO6Hv0UdX+Vsrt02FFu5DweRh2bLu6WpX/+zsQCu5O1gKw==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" @@ -28129,12 +28277,12 @@ "dev": true }, "css-has-pseudo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.0.tgz", - "integrity": "sha512-X+r+JBuoO37FBOWVNhVJhxtSBUFHgHbrcc0CjFT28JEdOw1qaDwABv/uunyodUuSy2hMPe9j/HjssxSlvUmKjg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-6.0.2.tgz", + "integrity": "sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow==", "dev": true, "requires": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13", "postcss-value-parser": "^4.2.0" } @@ -28167,9 +28315,9 @@ } }, "css-prefers-color-scheme": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.0.tgz", - "integrity": "sha512-03QGAk/FXIRseDdLb7XAiu6gidQ0Nd8945xuM7VFVPpc6goJsG9uIO8xQjTxwbPdPIIV4o4AJoOJyt8gwDl67g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-9.0.1.tgz", + "integrity": "sha512-iFit06ochwCKPRiWagbTa1OAWCvWWVdEnIFd8BaRrgO8YrrNh4RAWUQTFcYX5tdFZgFl1DJ3iiULchZyEbnF4g==", "dev": true, "requires": {} }, @@ -28233,9 +28381,9 @@ "dev": true }, "cssdb": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz", - "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==", + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", "dev": true }, "cssesc": { @@ -33517,23 +33665,23 @@ "dev": true }, "postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, "requires": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "postcss-attribute-case-insensitive": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.2.tgz", - "integrity": "sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-6.0.3.tgz", + "integrity": "sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" } }, "postcss-calc": { @@ -33556,30 +33704,35 @@ } }, "postcss-color-functional-notation": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.2.tgz", - "integrity": "sha512-FsjSmlSufuiFBsIqQ++VxFmvX7zKndZpBkHmfXr4wqhvzM92FTEkAh703iqWTl1U3faTgqioIqCbfqdWiFVwtw==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.7.tgz", + "integrity": "sha512-VwzaVfu1kEYDK2yM8ixeKA/QbgQ8k0uxpRevLH9Wam+R3C1sg68vnRB7m2AMhYfjqb5khp4p0EQk5aO90ASAkw==", "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", - "postcss-value-parser": "^4.2.0" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "postcss-color-hex-alpha": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.2.tgz", - "integrity": "sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-9.0.4.tgz", + "integrity": "sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==", "dev": true, "requires": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-color-rebeccapurple": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.1.tgz", - "integrity": "sha512-ds4cq5BjRieizVb2PnvbJ0omg9VCo2/KzluvoFZbxuGpsGJ5BQSD93CHBooinEtangCM5YqUOerGDl4xGmOb6Q==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-9.0.3.tgz", + "integrity": "sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==", "dev": true, "requires": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, @@ -33606,45 +33759,46 @@ } }, "postcss-custom-media": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.2.tgz", - "integrity": "sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-10.0.4.tgz", + "integrity": "sha512-Ubs7O3wj2prghaKRa68VHBvuy3KnTQ0zbGwqDYY1mntxJD0QL2AeiAy+AMfl3HBedTCVr2IcFNktwty9YpSskA==", "dev": true, "requires": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/media-query-list-parser": "^2.1.5" + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/media-query-list-parser": "^2.1.9" } }, "postcss-custom-properties": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.2.tgz", - "integrity": "sha512-2Coszybpo8lpLY24vy2CYv9AasiZ39/bs8Imv0pWMq55Gl8NWzfc24OAo3zIX7rc6uUJAqESnVOMZ6V6lpMjJA==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz", + "integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==", "dev": true, "requires": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-custom-selectors": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.6.tgz", - "integrity": "sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==", + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-7.1.8.tgz", + "integrity": "sha512-fqDkGSEsO7+oQaqdRdR8nwwqH+N2uk6LE/2g4myVJJYz/Ly418lHKEleKTdV/GzjBjFcG4n0dbfuH/Pd2BE8YA==", "dev": true, "requires": { - "@csstools/cascade-layer-name-parser": "^1.0.5", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", "postcss-selector-parser": "^6.0.13" } }, "postcss-dir-pseudo-class": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.0.tgz", - "integrity": "sha512-Oy5BBi0dWPwij/IA+yDYj+/OBMQ9EPqAzTHeSNUYrUWdll/PRJmcbiUj0MNcsBi681I1gcSTLvMERPaXzdbvJg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-8.0.1.tgz", + "integrity": "sha512-uULohfWBBVoFiZXgsQA24JV6FdKIidQ+ZqxOouhWwdE+qJlALbkS5ScB43ZTjPK+xUZZhlaO/NjfCt5h4IKUfw==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" @@ -33679,28 +33833,29 @@ "requires": {} }, "postcss-double-position-gradients": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.2.tgz", - "integrity": "sha512-KTbvdOOy8z8zb0BTkEg4/1vqlRlApdvjw8/pFoehgQl0WVO+fezDGlvo0B8xRA+XccA7ohkQCULKNsiNOx70Cw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.5.tgz", + "integrity": "sha512-26Tx4BfoxMNO9C89Nk56bfGv4jAwdDVgrQOyHZOP/6/D+xuOBf306KzTjHC2oBzaIIVtX+famOWHv4raxMjJMQ==", "dev": true, "requires": { - "@csstools/postcss-progressive-custom-properties": "^3.0.2", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, "postcss-focus-visible": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.0.tgz", - "integrity": "sha512-zA4TbVaIaT8npZBEROhZmlc+GBKE8AELPHXE7i4TmIUEQhw/P/mSJfY9t6tBzpQ1rABeGtEOHYrW4SboQeONMQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-9.0.1.tgz", + "integrity": "sha512-N2VQ5uPz3Z9ZcqI5tmeholn4d+1H14fKXszpjogZIrFbhaq0zNAtq8sAnw6VLiqGbL8YBzsnu7K9bBkTqaRimQ==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" } }, "postcss-focus-within": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.0.tgz", - "integrity": "sha512-E7+J9nuQzZaA37D/MUZMX1K817RZGDab8qw6pFwzAkDd/QtlWJ9/WTKmzewNiuxzeq6WWY7ATiRePVoDKp+DnA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-8.0.1.tgz", + "integrity": "sha512-NFU3xcY/xwNaapVb+1uJ4n23XImoC86JNwkY/uduytSl2s9Ekc2EpzmRR63+ExitnW3Mab3Fba/wRPCT5oDILA==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" @@ -33714,9 +33869,9 @@ "requires": {} }, "postcss-gap-properties": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.0.tgz", - "integrity": "sha512-YjsEEL6890P7MCv6fch6Am1yq0EhQCJMXyT4LBohiu87+4/WqR7y5W3RIv53WdA901hhytgRvjlrAhibhW4qsA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-5.0.1.tgz", + "integrity": "sha512-k2z9Cnngc24c0KF4MtMuDdToROYqGMMUQGcE6V0odwjHyOHtaDBlLeRBV70y9/vF7KIbShrTRZ70JjsI1BZyWw==", "dev": true, "requires": {} }, @@ -33772,11 +33927,12 @@ } }, "postcss-image-set-function": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.1.tgz", - "integrity": "sha512-VlZncC9hhZ5tg0JllY4g6Z28BeoPO8DIkelioEEkXL0AA0IORlqYpTi2L8TUnl4YQrlwvBgxVy+mdZJw5R/cIQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-6.0.3.tgz", + "integrity": "sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==", "dev": true, "requires": { + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" } }, @@ -33790,15 +33946,16 @@ } }, "postcss-lab-function": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.7.tgz", - "integrity": "sha512-4d1lhDVPukHFqkMv4G5vVcK+tgY52vwb5uR1SWKOaO5389r2q8fMxBWuXSW+YtbCOEGP0/X9KERi9E9le2pJuw==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-6.0.12.tgz", + "integrity": "sha512-flHW2jdRCRe8ClhMgrylR1BCiyyqLLvp1qKfO5wuAclUihldfRsoDIFQWFVW7rJbruil9/LCoHNUvY9JwTlLPw==", "dev": true, "requires": { - "@csstools/css-color-parser": "^1.4.0", - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1", - "@csstools/postcss-progressive-custom-properties": "^3.0.2" + "@csstools/css-color-parser": "^1.6.2", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/utilities": "^1.0.0" } }, "postcss-less": { @@ -33916,9 +34073,9 @@ } }, "postcss-logical": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.0.tgz", - "integrity": "sha512-zYf3vHkoW82f5UZTEXChTJvH49Yl9X37axTZsJGxrCG2kOUwtaAoz9E7tqYg0lsIoJLybaL8fk/2mOi81zVIUw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-7.0.1.tgz", + "integrity": "sha512-8GwUQZE0ri0K0HJHkDv87XOLC8DE0msc+HoWLeKdtjDZEwpZ5xuK3QdV6FhmHSQW40LPkg43QzvATRAI3LsRkg==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -34169,12 +34326,13 @@ } }, "postcss-nesting": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.1.tgz", - "integrity": "sha512-6LCqCWP9pqwXw/njMvNK0hGY44Fxc4B2EsGbn6xDcxbNRzP8GYoxT7yabVVMLrX3quqOJ9hg2jYMsnkedOf8pA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.1.0.tgz", + "integrity": "sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw==", "dev": true, "requires": { - "@csstools/selector-specificity": "^3.0.0", + "@csstools/selector-resolve-nested": "^1.1.0", + "@csstools/selector-specificity": "^3.0.2", "postcss-selector-parser": "^6.0.13" } }, @@ -34276,9 +34434,9 @@ } }, "postcss-overflow-shorthand": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.0.tgz", - "integrity": "sha512-2rlxDyeSics/hC2FuMdPnWiP9WUPZ5x7FTuArXLFVpaSQ2woPSfZS4RD59HuEokbZhs/wPUQJ1E3MT6zVv94MQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-5.0.1.tgz", + "integrity": "sha512-XzjBYKLd1t6vHsaokMV9URBt2EwC9a7nDhpQpjoPk2HRTSQfokPfyAS/Q7AOrzUu6q+vp/GnrDBGuj/FCaRqrQ==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" @@ -34292,86 +34450,86 @@ "requires": {} }, "postcss-place": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.0.tgz", - "integrity": "sha512-qLEPD9VPH5opDVemwmRaujODF9nExn24VOC3ghgVLEvfYN7VZLwJHes0q/C9YR5hI2UC3VgBE8Wkdp1TxCXhtg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-9.0.1.tgz", + "integrity": "sha512-JfL+paQOgRQRMoYFc2f73pGuG/Aw3tt4vYMR6UA3cWVMxivviPTnMFnFTczUJOA4K2Zga6xgQVE+PcLs64WC8Q==", "dev": true, "requires": { "postcss-value-parser": "^4.2.0" } }, "postcss-preset-env": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.3.0.tgz", - "integrity": "sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-9.5.2.tgz", + "integrity": "sha512-/KIAHELdg5BxsKA/Vc6Nok/66EM7lps8NulKcQWX2S52HdzxAqh+6HcuAFj7trRSW587vlOA4zCjlRFgR+W6Ag==", "dev": true, "requires": { - "@csstools/postcss-cascade-layers": "^4.0.1", - "@csstools/postcss-color-function": "^3.0.7", - "@csstools/postcss-color-mix-function": "^2.0.7", - "@csstools/postcss-exponential-functions": "^1.0.1", - "@csstools/postcss-font-format-keywords": "^3.0.0", - "@csstools/postcss-gamut-mapping": "^1.0.0", - "@csstools/postcss-gradients-interpolation-method": "^4.0.7", - "@csstools/postcss-hwb-function": "^3.0.6", - "@csstools/postcss-ic-unit": "^3.0.2", - "@csstools/postcss-initial": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^4.0.3", - "@csstools/postcss-logical-float-and-clear": "^2.0.0", - "@csstools/postcss-logical-overflow": "^1.0.0", - "@csstools/postcss-logical-overscroll-behavior": "^1.0.0", - "@csstools/postcss-logical-resize": "^2.0.0", - "@csstools/postcss-logical-viewport-units": "^2.0.3", - "@csstools/postcss-media-minmax": "^1.1.0", - "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.3", - "@csstools/postcss-nested-calc": "^3.0.0", - "@csstools/postcss-normalize-display-values": "^3.0.1", - "@csstools/postcss-oklab-function": "^3.0.7", - "@csstools/postcss-progressive-custom-properties": "^3.0.2", - "@csstools/postcss-relative-color-syntax": "^2.0.7", - "@csstools/postcss-scope-pseudo-class": "^3.0.0", - "@csstools/postcss-stepped-value-functions": "^3.0.2", - "@csstools/postcss-text-decoration-shorthand": "^3.0.3", - "@csstools/postcss-trigonometric-functions": "^3.0.2", - "@csstools/postcss-unset-value": "^3.0.0", - "autoprefixer": "^10.4.16", - "browserslist": "^4.22.1", - "css-blank-pseudo": "^6.0.0", - "css-has-pseudo": "^6.0.0", - "css-prefers-color-scheme": "^9.0.0", - "cssdb": "^7.9.0", - "postcss-attribute-case-insensitive": "^6.0.2", + "@csstools/postcss-cascade-layers": "^4.0.3", + "@csstools/postcss-color-function": "^3.0.12", + "@csstools/postcss-color-mix-function": "^2.0.12", + "@csstools/postcss-exponential-functions": "^1.0.5", + "@csstools/postcss-font-format-keywords": "^3.0.2", + "@csstools/postcss-gamut-mapping": "^1.0.5", + "@csstools/postcss-gradients-interpolation-method": "^4.0.13", + "@csstools/postcss-hwb-function": "^3.0.11", + "@csstools/postcss-ic-unit": "^3.0.5", + "@csstools/postcss-initial": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^4.0.5", + "@csstools/postcss-light-dark-function": "^1.0.1", + "@csstools/postcss-logical-float-and-clear": "^2.0.1", + "@csstools/postcss-logical-overflow": "^1.0.1", + "@csstools/postcss-logical-overscroll-behavior": "^1.0.1", + "@csstools/postcss-logical-resize": "^2.0.1", + "@csstools/postcss-logical-viewport-units": "^2.0.7", + "@csstools/postcss-media-minmax": "^1.1.4", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^2.0.7", + "@csstools/postcss-nested-calc": "^3.0.2", + "@csstools/postcss-normalize-display-values": "^3.0.2", + "@csstools/postcss-oklab-function": "^3.0.12", + "@csstools/postcss-progressive-custom-properties": "^3.1.1", + "@csstools/postcss-relative-color-syntax": "^2.0.12", + "@csstools/postcss-scope-pseudo-class": "^3.0.1", + "@csstools/postcss-stepped-value-functions": "^3.0.6", + "@csstools/postcss-text-decoration-shorthand": "^3.0.4", + "@csstools/postcss-trigonometric-functions": "^3.0.6", + "@csstools/postcss-unset-value": "^3.0.1", + "autoprefixer": "^10.4.18", + "browserslist": "^4.22.3", + "css-blank-pseudo": "^6.0.1", + "css-has-pseudo": "^6.0.2", + "css-prefers-color-scheme": "^9.0.1", + "cssdb": "^7.11.1", + "postcss-attribute-case-insensitive": "^6.0.3", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^6.0.2", - "postcss-color-hex-alpha": "^9.0.2", - "postcss-color-rebeccapurple": "^9.0.1", - "postcss-custom-media": "^10.0.2", - "postcss-custom-properties": "^13.3.2", - "postcss-custom-selectors": "^7.1.6", - "postcss-dir-pseudo-class": "^8.0.0", - "postcss-double-position-gradients": "^5.0.2", - "postcss-focus-visible": "^9.0.0", - "postcss-focus-within": "^8.0.0", + "postcss-color-functional-notation": "^6.0.7", + "postcss-color-hex-alpha": "^9.0.4", + "postcss-color-rebeccapurple": "^9.0.3", + "postcss-custom-media": "^10.0.4", + "postcss-custom-properties": "^13.3.6", + "postcss-custom-selectors": "^7.1.8", + "postcss-dir-pseudo-class": "^8.0.1", + "postcss-double-position-gradients": "^5.0.5", + "postcss-focus-visible": "^9.0.1", + "postcss-focus-within": "^8.0.1", "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^5.0.0", - "postcss-image-set-function": "^6.0.1", - "postcss-lab-function": "^6.0.7", - "postcss-logical": "^7.0.0", - "postcss-nesting": "^12.0.1", + "postcss-gap-properties": "^5.0.1", + "postcss-image-set-function": "^6.0.3", + "postcss-lab-function": "^6.0.12", + "postcss-logical": "^7.0.1", + "postcss-nesting": "^12.1.0", "postcss-opacity-percentage": "^2.0.0", - "postcss-overflow-shorthand": "^5.0.0", + "postcss-overflow-shorthand": "^5.0.1", "postcss-page-break": "^3.0.4", - "postcss-place": "^9.0.0", - "postcss-pseudo-class-any-link": "^9.0.0", + "postcss-place": "^9.0.1", + "postcss-pseudo-class-any-link": "^9.0.1", "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^7.0.1", - "postcss-value-parser": "^4.2.0" + "postcss-selector-not": "^7.0.2" } }, "postcss-pseudo-class-any-link": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.0.tgz", - "integrity": "sha512-QNCYIL98VKFKY6HGDEJpF6+K/sg9bxcUYnOmNHJxZS5wsFDFaVoPeG68WAuhsqwbIBSo/b9fjEnTwY2mTSD+uA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-9.0.1.tgz", + "integrity": "sha512-cKYGGZ9yzUZi+dZd7XT2M8iSDfo+T2Ctbpiizf89uBTBfIpZpjvTavzIJXpCReMVXSKROqzpxClNu6fz4DHM0Q==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.13" @@ -34537,12 +34695,12 @@ "requires": {} }, "postcss-selector-not": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.1.tgz", - "integrity": "sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-7.0.2.tgz", + "integrity": "sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==", "dev": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.13" } }, "postcss-selector-parser": { @@ -35947,9 +36105,9 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true }, "source-map-loader": { diff --git a/package.json b/package.json index 5b325173da..ea402fa4f0 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,9 @@ "html-webpack-plugin": "5.6.0", "jsdom": "23.2.0", "mini-css-extract-plugin": "2.8.1", - "postcss": "8.4.33", + "postcss": "8.4.38", "postcss-loader": "7.3.4", - "postcss-preset-env": "9.3.0", + "postcss-preset-env": "9.5.2", "postcss-scss": "4.0.9", "sass": "1.72.0", "sass-loader": "13.3.3", From 2529a6f7261c15f2e34cdc7500c75634ef2f8a92 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Sat, 30 Mar 2024 08:25:10 +0000 Subject: [PATCH 140/293] Translated using Weblate (Portuguese (Portugal)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/ --- src/strings/pt-pt.json | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index 0f8ae63084..eaa77e655d 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -1233,14 +1233,14 @@ "AllowFfmpegThrottling": "Desacelerar transcodificações", "PreferEmbeddedTitlesOverFileNamesHelp": "Determina o título a apresentar quando não é possível carregar metadados locais ou da Internet.", "OptionSaveMetadataAsHiddenHelp": "Alterar esta definição apenas afetará metadados guardados futuramente. Ficheiros existentes serão atualizados assim que forem alterados pelo servidor.", - "ButtonSyncPlay": "'SyncPlay'", + "ButtonSyncPlay": "SyncPlay", "LabelRepositoryUrl": "URL do Repositório", "HeaderNewRepository": "Novo repositório", "MessageNoRepositories": "Sem repositórios.", "LabelSyncPlayAccess": "Acesso SyncPlay", - "LabelSyncPlayAccessNone": "Desativar para este utilizador", - "LabelSyncPlayAccessJoinGroups": "Permitir utilizador a aderir a grupos", - "LabelSyncPlayAccessCreateAndJoinGroups": "Autorizar utilizadores a criar e aderir a grupos", + "LabelSyncPlayAccessNone": "Desativado para este utilizador", + "LabelSyncPlayAccessJoinGroups": "Permitir ao utilizador aderir a grupos", + "LabelSyncPlayAccessCreateAndJoinGroups": "Permitir ao utilizador criar e aderir a grupos", "LabelSyncPlayLeaveGroupDescription": "Desativar \"SyncPlay\"", "LabelSyncPlayLeaveGroup": "Abandonar grupo", "LabelSyncPlayNewGroupDescription": "Criar novo grupo", @@ -1260,8 +1260,8 @@ "LabelEnableHttpsHelp": "Escutar na porta HTTPS configurada. Para que esta opção seja activada, é necessário fornecer um certificado válido.", "LabelEnableHttps": "Activar HTTPS", "LabelDeinterlaceMethod": "Método de desentrelaçamento", - "HeaderSyncPlayEnabled": "SyncPlay activado", - "HeaderSyncPlaySelectGroup": "Juntar-se a um grupo", + "HeaderSyncPlayEnabled": "SyncPlay ativado", + "HeaderSyncPlaySelectGroup": "Junta-te a um grupo", "HeaderServerAddressSettings": "Definições da localização do servidor", "HeaderRemoteAccessSettings": "Definições do acesso remoto", "HeaderHttpsSettings": "Definições de HTTPS", @@ -1501,7 +1501,7 @@ "LabelDirectStreamingInfo": "Info da Transmissão Direta", "LabelTranscodingInfo": "Info da Transcodificação", "LabelSyncPlayTimeSyncDevice": "Sincronizar o tempo com", - "LabelSyncPlayHaltPlaybackDescription": "E ignorar actualizações recentes das listas de reprodução", + "LabelSyncPlayHaltPlaybackDescription": "E ignorar as atualizações recentes da lista de reprodução", "LabelSyncPlaySettingsDescription": "Mudar definições SyncPlay", "LabelSortName": "Filtrar nome", "LabelSlowResponseTime": "Tempo em ms após o qual a resposta é considerada lenta", @@ -1512,7 +1512,7 @@ "LabelMaxDaysForNextUp": "Número de dias máximo na secção 'Próximo'", "LabelHardwareEncoding": "Codificação por Hardware", "LabelDisableCustomCss": "Desactivar código CSS personalizado fornecido pelo servidor.", - "HeaderSyncPlayTimeSyncSettings": "Sincronização", + "HeaderSyncPlayTimeSyncSettings": "Sincronização de tempo", "HeaderSyncPlayPlaybackSettings": "Reprodução", "HeaderSyncPlaySettings": "Definições de SyncPlay", "HeaderContinueReading": "Continue a ler", @@ -1546,7 +1546,7 @@ "AddToFavorites": "Adicionar aos favoritos", "LabelAutomaticallyAddToCollectionHelp": "Quando pelo menos 2 filmes tiverem o mesmo nome de colecção, estes serão adicionados automaticamente.", "HomeVideosPhotos": "Fotos e vídeos caseiros", - "LabelMaxVideoResolution": "Resolução máxima permitida para transcodificação", + "LabelMaxVideoResolution": "Resolução máxima permitida para transcodificação de vídeo", "IgnoreDtsHelp": "Desactivar esta opção pode resolver alguns problemas, como a ausência de áudio em canais que transmitem audio e vídeo em fluxos separados.", "IgnoreDts": "Ignorar DTS (Decoding Timestamp)", "AudioSampleRateNotSupported": "A taxa de amostragem deste áudio não é suportada", @@ -1645,7 +1645,7 @@ "LabelVppTonemappingBrightnessHelp": "Aplicar ganho de brilho no Tone Mapping VPP. Os valores recomendados e padrão são 16 e 0.", "LabelVppTonemappingBrightness": "Ganho de brilho para Tone Mapping VPP", "EnableSplashScreen": "Ativar ecrã de lançamento", - "EnableEnhancedNvdecDecoderHelp": "Implementação experimental do NVDEC, não ative esta opção a não ser que encontre erros.", + "EnableEnhancedNvdecDecoderHelp": "Implementação NVDEC melhorada, desativa esta opção e utiliza CUVID no caso de encontrares erros de descodificação.", "Clip": "Média-metragem", "SelectAll": "Selecionar tudo", "DirectPlayError": "Ocorreu um erro ao iniciar a reprodução directa", @@ -1810,5 +1810,12 @@ "LabelTileHeightHelp": "Número máximo de imagens por mosaico na direção Y.", "LabelQscale": "Fator de qualidade (Qscale)", "LabelJpegQualityHelp": "A qualidade de compressão JPEG para imagens trickplay.", - "LabelJpegQuality": "Qualidade JPEG" + "LabelJpegQuality": "Qualidade JPEG", + "EncodingFormatHelp": "Seleciona a codificação de vídeo para a qual o Jellyfin deve transcodificar. O Jellyfin usará a codificação de software quando a aceleração de hardware para o formato selecionado não estiver disponível. A codificação H264 será sempre ativada.", + "LabelEncodingFormatOptions": "Opções de formato de codificação", + "AirPlay": "AirPlay", + "BlockContentWithTagsHelp": "Ocultar os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", + "ButtonEditUser": "Editar utilizador", + "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada.", + "AllowContentWithTagsHelp": "Mostrar apenas os conteúdos multimédia com pelo menos uma das etiquetas especificadas." } From f6bc10206eac4c905fdf864aa0182114b00d33ec Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Sat, 30 Mar 2024 08:25:51 +0000 Subject: [PATCH 141/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index a05bdf29a0..dbab38a302 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1238,11 +1238,11 @@ "LabelSyncPlayNewGroup": "Novo grupo", "LabelSyncPlayLeaveGroupDescription": "Desativar SyncPlay", "LabelSyncPlayLeaveGroup": "Deixar o grupo", - "LabelSyncPlayHaltPlaybackDescription": "E ignorar as atualizações atuais da lista de reprodução", - "LabelSyncPlayHaltPlayback": "Pare a reprodução local", - "LabelSyncPlayAccessNone": "Desativado para este usuário", - "LabelSyncPlayAccessJoinGroups": "Permitir que o usuário participe de grupos", - "LabelSyncPlayAccessCreateAndJoinGroups": "Permitir que o usuário crie e participe de grupos", + "LabelSyncPlayHaltPlaybackDescription": "E ignorar as atualizações recentes da lista de reprodução", + "LabelSyncPlayHaltPlayback": "Parar reprodução local", + "LabelSyncPlayAccessNone": "Desativado para este utilizador", + "LabelSyncPlayAccessJoinGroups": "Permitir ao utilizador aderir a grupos", + "LabelSyncPlayAccessCreateAndJoinGroups": "Permitir ao utilizador criar e aderir a grupos", "LabelSyncPlayAccess": "Acesso SyncPlay", "LabelSubtitleVerticalPosition": "Posição vertical", "LabelStable": "Estável", @@ -1290,7 +1290,7 @@ "KnownProxiesHelp": "Lista separada por vírgulas de endereços IP ou hostnames de proxies conhecidos usados ao se conectar à sua instância Jellyfin. Isso é necessário para fazer uso adequado dos cabeçalhos X-Forwarded-For. Requer uma reinicialização após salvar.", "Image": "Imagem", "HeaderUploadSubtitle": "Enviar Legenda", - "HeaderSyncPlaySelectGroup": "Junte-se a um grupo", + "HeaderSyncPlaySelectGroup": "Junta-te a um grupo", "HeaderSyncPlayEnabled": "SyncPlay ativado", "HeaderPortRanges": "Configurações de Firewall e Proxy", "HeaderNewRepository": "Novo Repositório", @@ -1409,8 +1409,8 @@ "Premiere": "Estreia", "PreviousChapter": "Capitulo anterior", "LabelDummyChapterDurationHelp": "O intervalo entre capítulos forçados. Ajuste para 0 para desabilitar geração de capítulos forçados. As mudanças não terão efeito nos capítulos forçados já criados.", - "AllowCollectionManagement": "Permite que este usuário gerencie as coleções", - "LabelMaxVideoResolution": "Resolução Máxima de Trascodificação de Vídeo", + "AllowCollectionManagement": "Permitir este utilizador gerir as coleções", + "LabelMaxVideoResolution": "Resolução máxima permitida para transcodificação de vídeo", "EnableAudioNormalization": "Normalização de Áudio", "GetThePlugin": "Obter o Plugin", "LabelSyncPlaySettingsExtraTimeOffsetHelp": "Ajuste manualmente o atraso de tempo (em ms) com o dispositivo selecionado para sincronismo de tempo. Ajuste com cuidado.", @@ -1743,7 +1743,7 @@ "MachineTranslated": "Traduzido automaticamente", "AnamorphicVideoNotSupported": "O vídeo anamórfico não é compatível", "InterlacedVideoNotSupported": "Vídeo entrelaçado não é compatível", - "EnableEnhancedNvdecDecoderHelp": "Implementação experimental de NVDEC, não habilite esta opção a menos que você encontre erros de decodificação.", + "EnableEnhancedNvdecDecoderHelp": "Implementação NVDEC melhorada, desativa esta opção e utiliza CUVID no caso de encontrares erros de descodificação.", "AudioChannelsNotSupported": "O número de canais de áudio não é suportado", "ContainerBitrateExceedsLimit": "A taxa de bits do vídeo excede o limite", "VideoBitrateNotSupported": "A taxa de bits do vídeo não é suportada", @@ -1814,7 +1814,11 @@ "LabelTileHeightHelp": "Número máximo de imagens por mosaico na direção Y.", "LabelTileWidthHelp": "Número máximo de imagens por mosaico na direção X.", "ExtractTrickplayImagesHelp": "As imagens Trickplay são semelhantes às imagens de capítulo, exceto pelo facto de abrangerem toda a extensão do conteúdo e serem utilizadas para mostrar uma pré-visualização ao percorrer os vídeos.", - "AllowContentWithTagsHelp": "Somente exibe mídia que tenha ao menos uma das palavras-chaves especificadas.", - "BlockContentWithTagsHelp": "Esconde mídia que tenha ao menos uma das palavras-chaves especificadas.", - "ButtonEditUser": "Editar usuário" + "AllowContentWithTagsHelp": "Mostrar apenas os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", + "BlockContentWithTagsHelp": "Ocultar os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", + "ButtonEditUser": "Editar utilizador", + "EncodingFormatHelp": "Seleciona a codificação de vídeo para a qual o Jellyfin deve transcodificar. O Jellyfin usará a codificação de software quando a aceleração de hardware para o formato selecionado não estiver disponível. A codificação H264 será sempre ativada.", + "LabelEncodingFormatOptions": "Opções de formato de codificação", + "AirPlay": "AirPlay", + "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada." } From e0ad798610c6307801802bc16e2b786fc954431c Mon Sep 17 00:00:00 2001 From: nextlooper42 Date: Sat, 30 Mar 2024 15:18:30 +0000 Subject: [PATCH 142/293] Translated using Weblate (Slovak) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/ --- src/strings/sk.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/strings/sk.json b/src/strings/sk.json index 54d1f4ff4c..4b3a75937b 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -1447,7 +1447,7 @@ "AspectRatioCover": "Obal", "VideoAudio": "Video Zvuk", "Video": "Video", - "AllowTonemappingHelp": "Mapovanie tónov umožňuje zmeniť dynamický rozsah videa z HDR na SDR bez straty dôležitých informácií pôvodného obrazu, ako sú detaily a farby. Táto funkcia v súčasnosti funguje len pre videá, ktoré obsahujú 10-bitové HDR10, HLG alebo Dolby Vision. Funkcia vyžaduje GPGPU.", + "AllowTonemappingHelp": "Mapovanie tónov umožňuje zmeniť dynamický rozsah videa z HDR na SDR bez straty dôležitých informácií pôvodného obrazu, ako sú detaily a farby. Táto funkcia v súčasnosti funguje len pre videá, ktoré obsahujú 10-bitové HDR10, HLG alebo Dolby Vision a vyžaduje GPGPU runtime.", "LabelTonemappingThresholdHelp": "Parametre algoritmu mapovania tónov sú prispôsobené jednotlivým scénam. A tento prah sa používa na zistenie, či sa scéna zmenila alebo nie. Pokiaľ rozdiel medzi súčasnou priemernou svetlosťou snímku a priebežným priemerom tento prah prekročí, bude priemerná a vrchná svetlosť scény prepočítaná. Doporučené a predvolené hodnoty sú 0.8 a 0.2.", "LabelUDPPortRangeHelp": "Obmedzí UDP pripojenie Jellyfinu na tento rozsah. (Predvolená hodnota je 1024 - 65535).
Poznámka: Niektoré funkcie vyžadujú určité porty, ktoré sa môžu nachádzať mimo tohto rozsahu.", "Remuxing": "Remuxovanie", @@ -1775,8 +1775,8 @@ "LabelThrottleDelaySeconds": "Obmedziť po", "LabelSegmentKeepSeconds": "Doba ponechania segmentov", "LabelThrottleDelaySecondsHelp": "Čas v sekundách, po ktorom bude prekódovanie obmedzené. Musí byť dostatočne veľký, aby mal klient v rezerve dostatočné množstvo prehrávaného súboru. Funguje len vtedy, ak je povolená funkcia Obmedziť prekódovanie.", - "AllowSegmentDeletionHelp": "Odstránenie starých segmentov po strihnutí klientom. Tým sa zabráni tomu, aby sa celý prekódovaný súbor musel ukladať na disk. Ak sa vyskytnú problémy s prehrávaním, vypnite túto funkciu.", - "LabelSegmentKeepSecondsHelp": "Čas v sekundách, počas ktorého budú segmenty uložené. Funguje len vtedy, ak je povolená funkcia Zmazania segmentov.", + "AllowSegmentDeletionHelp": "Odstránenie starých segmentov po ich stiahnutí klientom. Tým sa zabráni tomu, aby sa celý prekódovaný súbor uložil na disk. Ak sa vyskytnú problémy s prehrávaním, vypnite túto funkciu.", + "LabelSegmentKeepSecondsHelp": "Čas v sekundách, počas ktorého sa majú segmenty uchovávať po ich stiahnutí klientom. Funguje len vtedy, ak je povolené mazanie segmentov.", "SelectAudioNormalizationHelp": "Zosilnenie stopy - upravuje hlasitosť jednotlivých stôp tak, aby sa prehrávali s rovnakou hlasitosťou. Zosilnenie pre album - upravuje hlasitosť všetkých skladieb iba v albume, pričom zachováva dynamický rozsah albumu.", "LabelAlbumGain": "Zosilnenie pre album", "LabelSelectAudioNormalization": "Normalizácia hlasitosti", @@ -1785,6 +1785,6 @@ "ButtonEditUser": "Upraviť používateľa", "HeaderAllRecordings": "Všetky nahrávky", "AirPlay": "AirPlay", - "AllowContentWithTagsHelp": "Zobraziť len médiá s aspoň jednou zo zadaných značiek.", - "AllowSubtitleManagement": "Povoliť používateľovi upravovať titulky" + "AllowContentWithTagsHelp": "Zobrazí len médiá, ktoré majú aspoň jeden zo špecifikovaných tagov.", + "AllowSubtitleManagement": "Povoliť tomuto používateľovi upravovať titulky" } From f882e8c5bbe59c0fb18c05c9c06a7e88ef47dbe9 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Sat, 30 Mar 2024 21:13:20 +0100 Subject: [PATCH 143/293] Fix unreleased status missing in metadata editor --- src/components/metadataEditor/metadataEditor.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index 25202a719b..d5e11b8468 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -22,6 +22,7 @@ import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import { appRouter } from '../router/appRouter'; import template from './metadataEditor.template.html'; +import { SeriesStatus } from '@jellyfin/sdk/lib/generated-client'; let currentContext; let metadataEditorInfo; @@ -886,10 +887,10 @@ function populateRatings(allParentalRatings, select, currentValue) { function populateStatus(select) { let html = ''; - - html += ""; - html += "'; - html += "'; + html += ''; + html += ``; + html += ``; + html += ``; select.innerHTML = html; } From 43ca2ca5ffa8aa1165577bcee14e8a9f29e9c077 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 03:27:42 +0000 Subject: [PATCH 144/293] Update Babel --- package-lock.json | 1610 ++++++++++++++++++++++----------------------- package.json | 8 +- 2 files changed, 808 insertions(+), 810 deletions(-) diff --git a/package-lock.json b/package-lock.json index b02cd98508..b96aa6e90c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,12 +65,12 @@ "whatwg-fetch": "3.6.20" }, "devDependencies": { - "@babel/core": "7.23.7", + "@babel/core": "7.24.3", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-private-methods": "7.18.6", - "@babel/plugin-transform-modules-umd": "7.23.3", - "@babel/preset-env": "7.23.8", - "@babel/preset-react": "7.23.3", + "@babel/plugin-transform-modules-umd": "7.24.1", + "@babel/preset-env": "7.24.3", + "@babel/preset-react": "7.24.1", "@types/escape-html": "1.0.4", "@types/loadable__component": "5.13.9", "@types/lodash-es": "4.17.12", @@ -169,42 +169,42 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -226,14 +226,14 @@ "dev": true }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", "dev": true, "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -296,17 +296,17 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -336,9 +336,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", - "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -398,11 +398,11 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -440,9 +440,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -466,13 +466,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -558,36 +558,37 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", - "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -597,12 +598,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -612,14 +613,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/plugin-transform-optional-chaining": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -629,13 +630,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -752,12 +753,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -767,12 +768,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -806,12 +807,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -939,12 +940,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -954,13 +955,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", - "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -972,13 +973,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { @@ -989,12 +990,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1004,12 +1005,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1019,13 +1020,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1035,13 +1036,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1052,17 +1053,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, @@ -1074,13 +1075,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1090,12 +1091,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1105,13 +1106,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1121,12 +1122,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1136,12 +1137,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1152,13 +1153,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1168,12 +1169,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1184,12 +1185,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { @@ -1200,14 +1201,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1217,12 +1218,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1233,12 +1234,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1248,12 +1249,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1264,12 +1265,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1279,13 +1280,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1295,13 +1296,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-simple-access": "^7.22.5" }, "engines": { @@ -1312,14 +1313,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { @@ -1330,13 +1331,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1362,12 +1363,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1377,12 +1378,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1393,12 +1394,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1409,16 +1410,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1428,13 +1428,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1444,12 +1444,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1460,12 +1460,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, @@ -1477,12 +1477,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1492,13 +1492,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1508,14 +1508,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1526,12 +1526,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1541,12 +1541,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1556,16 +1556,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.15" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" }, "engines": { "node": ">=6.9.0" @@ -1590,13 +1590,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1606,12 +1606,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1622,12 +1622,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1637,12 +1637,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1652,12 +1652,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { @@ -1668,12 +1668,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1683,12 +1683,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1698,12 +1698,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1713,12 +1713,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1728,13 +1728,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1744,13 +1744,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1760,13 +1760,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1776,26 +1776,26 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", - "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", + "@babel/compat-data": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1807,58 +1807,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.7", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1884,17 +1884,17 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1921,33 +1921,33 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1956,9 +1956,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -6102,13 +6102,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", - "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.4", + "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" }, "peerDependencies": { @@ -6116,25 +6116,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", - "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.4", - "core-js-compat": "^3.33.1" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", - "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.4" + "@babel/helper-define-polyfill-provider": "^0.6.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7250,12 +7250,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", "dev": true, "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -14505,8 +14505,7 @@ "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -23376,36 +23375,36 @@ } }, "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", "dev": true }, "@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -23422,14 +23421,14 @@ } }, "@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", "dev": true, "requires": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" } }, @@ -23482,17 +23481,17 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz", + "integrity": "sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -23510,9 +23509,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", - "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -23557,11 +23556,11 @@ } }, "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "requires": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.24.0" } }, "@babel/helper-module-transforms": { @@ -23587,9 +23586,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -23604,13 +23603,13 @@ } }, "@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5" } }, @@ -23669,60 +23668,61 @@ } }, "@babel/helpers": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", - "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", "dev": true, "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" } }, "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "requires": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/plugin-transform-optional-chaining": "^7.24.1" } }, "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-proposal-class-properties": { @@ -23798,21 +23798,21 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-import-meta": { @@ -23834,12 +23834,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -23925,260 +23925,260 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", - "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-remap-async-to-generator": "^7.22.20" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz", + "integrity": "sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz", + "integrity": "sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", - "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { @@ -24192,138 +24192,137 @@ } }, "@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dev": true, "requires": { - "@babel/compat-data": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.24.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.15" + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" } }, "@babel/plugin-transform-react-jsx-development": { @@ -24336,140 +24335,140 @@ } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "regenerator-transform": "^0.15.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/preset-env": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", - "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", "dev": true, "requires": { - "@babel/compat-data": "^7.23.5", + "@babel/compat-data": "^7.24.1", "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0", "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -24481,58 +24480,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.7", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.3", - "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.1", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.1", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.7", - "babel-plugin-polyfill-corejs3": "^0.8.7", - "babel-plugin-polyfill-regenerator": "^0.5.4", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" } @@ -24549,17 +24548,17 @@ } }, "@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.23.3", - "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" } }, "@babel/regjsgen": { @@ -24577,38 +24576,38 @@ } }, "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "requires": { "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "requires": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -27199,33 +27198,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", - "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.4", + "@babel/helper-define-polyfill-provider": "^0.6.1", "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", - "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.4", - "core-js-compat": "^3.33.1" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", - "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.4" + "@babel/helper-define-polyfill-provider": "^0.6.1" } }, "bail": { @@ -28061,12 +28060,12 @@ "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==" }, "core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", + "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==", "dev": true, "requires": { - "browserslist": "^4.22.1" + "browserslist": "^4.23.0" } }, "core-util-is": { @@ -33445,8 +33444,7 @@ "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { "version": "2.3.1", diff --git a/package.json b/package.json index c04cf0a370..ae4e95c5ea 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,12 @@ "repository": "https://github.com/jellyfin/jellyfin-web", "license": "GPL-2.0-or-later", "devDependencies": { - "@babel/core": "7.23.7", + "@babel/core": "7.24.3", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-private-methods": "7.18.6", - "@babel/plugin-transform-modules-umd": "7.23.3", - "@babel/preset-env": "7.23.8", - "@babel/preset-react": "7.23.3", + "@babel/plugin-transform-modules-umd": "7.24.1", + "@babel/preset-env": "7.24.3", + "@babel/preset-react": "7.24.1", "@types/escape-html": "1.0.4", "@types/loadable__component": "5.13.9", "@types/lodash-es": "4.17.12", From 4183bf4ee477db5cf0129e3277fec974d74d2b37 Mon Sep 17 00:00:00 2001 From: jellyfin-bot Date: Sun, 31 Mar 2024 07:05:26 +0000 Subject: [PATCH 145/293] Update @jellyfin/sdk to 0.0.0-unstable.202403310501 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b02cd98508..8a0d56adc8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@fontsource/noto-sans-sc": "5.0.18", "@fontsource/noto-sans-tc": "5.0.18", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403290501", + "@jellyfin/sdk": "0.0.0-unstable.202403310501", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", @@ -3645,9 +3645,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "node_modules/@jellyfin/sdk": { - "version": "0.0.0-unstable.202403290501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403290501.tgz", - "integrity": "sha512-us/wEaNDcTn7ceK8mbWmrNuvQA/QxyVKToB+HMJ1oLJ7xwmIY4wbn2G3HzH/rrFs6HMk80ayot2Sv78yC0tYZQ==", + "version": "0.0.0-unstable.202403310501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403310501.tgz", + "integrity": "sha512-sSo8LEtEyKaCSsXdD5pVbXEWDTBXMSb91f/uCZiT5PxUX/umyILxg3BgpAECobAdGzCVe0atMoY6Srti+rtU5g==", "peerDependencies": { "axios": "^1.3.4" } @@ -25440,9 +25440,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "@jellyfin/sdk": { - "version": "0.0.0-unstable.202403290501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403290501.tgz", - "integrity": "sha512-us/wEaNDcTn7ceK8mbWmrNuvQA/QxyVKToB+HMJ1oLJ7xwmIY4wbn2G3HzH/rrFs6HMk80ayot2Sv78yC0tYZQ==", + "version": "0.0.0-unstable.202403310501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403310501.tgz", + "integrity": "sha512-sSo8LEtEyKaCSsXdD5pVbXEWDTBXMSb91f/uCZiT5PxUX/umyILxg3BgpAECobAdGzCVe0atMoY6Srti+rtU5g==", "requires": {} }, "@jest/schemas": { diff --git a/package.json b/package.json index c04cf0a370..0f40533007 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@fontsource/noto-sans-sc": "5.0.18", "@fontsource/noto-sans-tc": "5.0.18", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403290501", + "@jellyfin/sdk": "0.0.0-unstable.202403310501", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", From 43ff1c261c1c3f5fb39ec6a400eabbe12142ec47 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 14:02:55 +0000 Subject: [PATCH 146/293] Update CatChen/eslint-suggestion-action action to v3.1.5 --- .github/workflows/pr-suggestions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-suggestions.yml b/.github/workflows/pr-suggestions.yml index 0921fb9247..c5ae98d38e 100644 --- a/.github/workflows/pr-suggestions.yml +++ b/.github/workflows/pr-suggestions.yml @@ -33,6 +33,6 @@ jobs: - name: Run eslint if: ${{ github.repository == 'jellyfin/jellyfin-web' }} - uses: CatChen/eslint-suggestion-action@0dd29587b3fce359fc31b72c4384cc12b8f0c22b # v3.1.4 + uses: CatChen/eslint-suggestion-action@34e2a6c4193eba18a7a20710b5ae37850fc984c3 # v3.1.5 with: github-token: ${{ secrets.GITHUB_TOKEN }} From dd9674dcc1c6460a04b7c4fa67b1618eee60ff39 Mon Sep 17 00:00:00 2001 From: nextlooper42 Date: Sun, 31 Mar 2024 14:17:29 +0000 Subject: [PATCH 147/293] Translated using Weblate (Slovak) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/ --- src/strings/sk.json | 76 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 73 insertions(+), 3 deletions(-) diff --git a/src/strings/sk.json b/src/strings/sk.json index 4b3a75937b..1348a13459 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -267,7 +267,7 @@ "LabelCollection": "Kolekcia", "LabelCommunityRating": "Hodnotenie komunity", "LabelContentType": "Typ obsahu", - "LabelCountry": "Krajina", + "LabelCountry": "Krajina/región", "LabelCriticRating": "Hodnotenie kritikov", "LabelCurrentPassword": "Aktuálne heslo", "LabelCustomCertificatePath": "Vlastná cesta k SSL certifikátu", @@ -1649,7 +1649,7 @@ "EnableRewatchingNextUpHelp": "Povolí zobrazenie už pozretých epizód v sekcií 'Nasleduje'.", "EnableRewatchingNextUp": "Povoliť Opätovné pozeranie v sekcií Nasleduje", "Digital": "Digitálne", - "EnableEnhancedNvdecDecoderHelp": "Experimentálna implementácia NVDEC, túto možnosť nepovoľujte, pokiaľ ste sa nestretli s chybami pri dekódovaní.", + "EnableEnhancedNvdecDecoderHelp": "Vylepšená implementácia NVDEC. Ak sa vyskytnú chyby pri dekódovaní, vypnite túto možnosť a použite CUVID.", "HomeVideosPhotos": "Domáce videá a fotky", "Bold": "Tučné", "LabelTextWeight": "Hrúbka textu", @@ -1786,5 +1786,75 @@ "HeaderAllRecordings": "Všetky nahrávky", "AirPlay": "AirPlay", "AllowContentWithTagsHelp": "Zobrazí len médiá, ktoré majú aspoň jeden zo špecifikovaných tagov.", - "AllowSubtitleManagement": "Povoliť tomuto používateľovi upravovať titulky" + "AllowSubtitleManagement": "Povoliť tomuto používateľovi upravovať titulky", + "EncodingFormatHelp": "Vyberte formát, do ktorého by mal Jellyfin prekódovať videá. Ak pre vybraný formát nie je k dispozícii hardvérová akcelerácia, Jellyfin použije softvérové kódovanie. Kódovanie do formátu H.264 bude vždy povolené.", + "LabelEncodingFormatOptions": "Možnosti formátu kódovania", + "BlockContentWithTagsHelp": "Skryť médiá, ktoré majú aspoň jeden zo špecifikovaných tagov.", + "ChannelResolutionSD": "SD", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "Full HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "DlnaMovedMessage": "Funkcia DLNA bola presunutá do zásuvného modulu.", + "EnableSmoothScroll": "Povoliť plynulé posúvanie", + "LabelAllowContentWithTags": "Povoliť položky s tagmi", + "LabelServerVersion": "Verzia serveru", + "LabelUseReplayGainTagsHelp": "Určí, či zvukové súbory obsahujú informácie o ReplayGain, a použije ich namiesto výpočtu hodnoty LUFS. (Využíva menej výpočtového výkonu. Nahrádza možnosť \"Skenovanie LUFS\")", + "LabelUseReplayGainTags": "Použiť ReplayGain tagy", + "LimitSupportedVideoResolution": "Limitovanie maximálneho podporovaného rozlíšenia videa", + "LimitSupportedVideoResolutionHelp": "Použiť \"Limitovanie maximálneho podporovaného rozlíšenia videa\" ako maximálne podporované rozlíšenie videa.", + "PlaybackError.ASS_RENDER_ERROR": "Pri zobrazovaní titulkov ASS/SSA došlo k chybe.", + "PlaybackError.FATAL_HLS_ERROR": "V streame HLS sa vyskytla fatálna chyba.", + "PlaybackError.MEDIA_DECODE_ERROR": "Prehrávanie zlyhalo z dôvodu chyby pri dekódovaní média.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Prehrávanie zlyhalo, pretože médium nie je podporované týmto klientom.", + "PlaybackError.NETWORK_ERROR": "Prehrávanie zlyhalo z dôvodu chyby siete.", + "PlaybackError.NO_MEDIA_ERROR": "Nie je možné nájsť platný zdroj médií na prehrávanie.", + "PlaybackError.PLAYER_ERROR": "Prehrávanie zlyhalo z dôvodu fatálnej chyby prehrávača.", + "PlaybackError.SERVER_ERROR": "Prehrávanie zlyhalo z dôvodu chyby servera.", + "PlaybackError.NotAllowed": "Prehrávanie tohto média nie je povolené.", + "PlaybackError.RateLimitExceeded": "Toto médium momentálne nie je možné prehrať z dôvodu obmedzenia rýchlosti.", + "EnableVideoToolboxTonemapping": "Povoliť VideoToolbox mapovanie tónov", + "AllowVideoToolboxTonemappingHelp": "Hardvérovo akcelerované mapovanie tónov pomocou aplikácie VideoToolbox. Funguje s väčšinou formátov HDR vrátane HDR10, HDR10+ a HLG, ale nefunguje s Dolby Vision Profile 5. Má vyššiu prioritu ako ostatné implementácie Metal.", + "LabelTrickplayAccelHelp": "Ak váš hardvér podporuje kódovanie do formátu MJPEG, nezabudnite v sekcií Prekódovanie povoliť možnosť \"Povoliť kódovanie do formátu MJPEG\".", + "NonBlockingScan": "Neblokujúce - zaradí generovanie do fronty, a potom pokračuje", + "Trickplay": "Trickplay", + "LabelTrickplayAccel": "Povoliť hardvérovú akceleráciu", + "AllowMjpegEncoding": "Povoliť kódovanie do formátu MJPEG (používa sa pri generovaní trickplay)", + "BlockingScan": "Blokujúce - zaradí generovanie do fronty, blokuje skenovanie až do jeho dokončenia", + "LabelScanBehavior": "Správanie pri skenovaní", + "PriorityHigh": "Vysoká", + "PriorityAboveNormal": "Zvýšená", + "PriorityNormal": "Normálna", + "PriorityBelowNormal": "Znížená", + "LabelWidthResolutionsHelp": "Zoznam šírok (px) oddelených čiarkou, ktoré určujú šírku generovaných trickplay obrázkov. Všetky obrázky by sa mali generovať proporcionálne k zdroju, takže video so šírkou 320px na videu s pomerom strán 16:9 bude mať približne rozlíšenie 320x180.", + "PriorityIdle": "Nečinnosť", + "LabelProcessPriority": "Priorita procesu", + "LabelImageInterval": "Interval medzi obrázkami", + "LabelWidthResolutions": "Rozlíšenie na šírku", + "LabelTileWidth": "Šírka dlaždice", + "LabelProcessPriorityHelp": "Nastavenie tejto hodnoty na nižšiu alebo vyššiu úroveň určí, ako procesor uprednostní proces generovania ffmpeg trickplay obrázkov v porovnaní s ostatnými procesmi. Ak spozorujete spomalenie pri generovaní obrázkov trickplay, ale nechcete úplne zastaviť ich generovanie, skúste znížiť túto hodnotu, ako aj počet vlákien.", + "LabelTileWidthHelp": "Maximálny počet obrázkov na dlaždicu na osi X.", + "LabelTileHeight": "Výška dlaždice", + "LabelTileHeightHelp": "Maximálny počet obrázkov na dlaždicu na osi Y.", + "LabelJpegQuality": "Kvalita JPEG", + "LabelJpegQualityHelp": "Kvalita kompresie JPEG pre trickplay obrázky.", + "LabelQscale": "Qscale", + "LabelQscaleHelp": "Stupnica kvality obrázkov vygenerovaných pomocou ffmpeg, pričom 2 je najvyššia kvalita a 31 je najnižšia kvalita.", + "LabelTrickplayThreads": "Vlákna FFmpeg", + "LabelTrickplayThreadsHelp": "Počet vlákien, ktoré sú odovzdané argumentu '-threads' aplikácie ffmpeg.", + "OptionExtractTrickplayImage": "Povolenie extrakcie obrázkov trickplay", + "ConfirmDeleteSeries": "Odstránením tohto seriálu sa odstránia VŠETKY {0} epizódy z disku aj z knižnice médií. Ste si istí, že chcete pokračovať?", + "DeleteEntireSeries": "Vymazať {0} epizód", + "DeleteSeries": "Vymazať seriál", + "DeleteEpisode": "Vymazať epizódu", + "DeleteName": "Vymazať {0}", + "HeaderDeleteSeries": "Vymazať seriál", + "LabelBuildVersion": "Verzia zostavenia", + "LabelWebVersion": "Verzia webu", + "LabelScanBehaviorHelp": "Predvolené nastavenie je neblokujúce, t.j. médiá sa pridávajú do knižnice pred dokončením generovania trickplay obrázkov. Blokujúce správanie zaistí, že trickplay obrázky sa vygenerujú pred pridaním média do knižnice, ale výrazne predĺži čas skenovania.", + "LabelImageIntervalHelp": "Časový interval (ms) medzi každým novým trickplay obrázkom.", + "ExtractTrickplayImagesHelp": "Obrázky Trickplay sú podobné obrázkom kapitol, ale pokrývajú celú dĺžku obsahu a používajú sa na zobrazenie náhľadu pri pretáčaní videa.", + "LabelExtractTrickplayDuringLibraryScan": "Extrahovanie trickplay obrazov počas skenovania knižnice", + "LabelExtractTrickplayDuringLibraryScanHelp": "Generovanie trickplay obrázkov videí počas skenovania knižnice. Ak je táto možnosť vypnutá, trickplay obrázky sa budú generovať počas naplánovanej úlohy. Ak je generovanie nastavené na neblokujúce, neovplyvní to čas potrebný na dokončenie skenovania knižnice.", + "Lyric": "Texty" } From a2ec7c2fd36aab5ddbd7a99525a554e23ab3a489 Mon Sep 17 00:00:00 2001 From: Oatavandi Date: Sun, 31 Mar 2024 18:21:09 +0000 Subject: [PATCH 148/293] Translated using Weblate (Tamil) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ta/ --- src/strings/ta.json | 53 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/src/strings/ta.json b/src/strings/ta.json index b8c873bf67..6645a0f7d6 100644 --- a/src/strings/ta.json +++ b/src/strings/ta.json @@ -544,7 +544,7 @@ "LabelCustomCertificatePath": "தனிப்பயன் SSL சான்றிதழ் பாதை", "LabelCurrentPassword": "தற்போதைய கடவுச்சொல்", "LabelCriticRating": "விமர்சன மதிப்பீடு", - "LabelCountry": "நாடு", + "LabelCountry": "நாடு/பிராந்தியம்", "LabelCorruptedFrames": "சிதைந்த பிரேம்கள்", "LabelContentType": "உள்ளடக்க வகை", "LabelCommunityRating": "சமூக மதிப்பீடு", @@ -1402,7 +1402,7 @@ "LabelTonemappingRange": "டோன் மேப்பிங் சரகம்", "TonemappingAlgorithmHelp": "டோன் மேப்பிங்கை நன்றாகச் சரிசெய்யலாம். இந்த விருப்பங்களை நீங்கள் அறிந்திருக்கவில்லை என்றால், இயல்புநிலையை வைத்திருங்கள். பரிந்துரைக்கப்பட்ட மதிப்பு 'BT.2390' ஆகும்.", "LabelTonemappingAlgorithm": "பயன்படுத்த டோன் மேப்பிங் வழிமுறையைத் தேர்ந்தெடுக்கவும்", - "AllowTonemappingHelp": "டோன்-மேப்பிங் ஆனது, படத்தின் விவரங்கள் மற்றும் வண்ணங்களைப் பராமரிக்கும் போது, HDR இலிருந்து SDR க்கு வீடியோவின் மாறும் வரம்பை மாற்றும், அவை அசல் காட்சியைப் பிரதிநிதித்துவப்படுத்துவதற்கான மிக முக்கியமான தகவலாகும். தற்போது 10பிட் HDR10, HLG மற்றும் DoVi வீடியோக்களுடன் மட்டுமே வேலை செய்கிறது. இதற்கு தொடர்புடைய OpenCL அல்லது CUDA இயக்க நேரம் தேவைப்படுகிறது.", + "AllowTonemappingHelp": "டோன்-மேப்பிங் ஆனது, படத்தின் விவரங்கள் மற்றும் வண்ணங்களைப் பராமரிக்கும் போது, HDR இலிருந்து SDR க்கு வீடியோவின் மாறும் வரம்பை மாற்றும், அவை அசல் காட்சியைப் பிரதிநிதித்துவப்படுத்துவதற்கான மிக முக்கியமான தகவலாகும். தற்போது 10பிட் HDR10, HLG மற்றும் DoVi வீடியோக்களுடன் மட்டுமே வேலை செய்கிறது. இதற்கு தொடர்புடைய GPGPU இயக்க நேரம் தேவை.", "EnableTonemapping": "டோன் மேப்பிங்கை இயக்கு", "LabelOpenclDeviceHelp": "இது டோன் மேப்பிங்கிற்குப் பயன்படுத்தப்படும் OpenCL சாதனமாகும். புள்ளியின் இடது பக்கம் இயங்குதள எண் மற்றும் வலது பக்கம் பிளாட்ஃபார்மில் உள்ள சாதன எண்ணாகும். இயல்புநிலை மதிப்பு 0.0. OpenCL வன்பொருள் முடுக்கம் முறையைக் கொண்ட FFmpeg பயன்பாட்டுக் கோப்பு தேவை.", "LabelOpenclDevice": "OpenCL சாதனம்", @@ -1452,7 +1452,7 @@ "LabelSelectAudioChannels": "சேனல்கள்", "LabelAllowedAudioChannels": "அதிகபட்ச அனுமதிக்கப்பட்ட ஆடியோ சேனல்கள்", "AllowHevcEncoding": "HEVC வடிவத்தில் குறியாக்கத்தை அனுமதிக்கவும்", - "PreferFmp4HlsContainerHelp": "HEVC இயல்புநிலை கொள்கலனாக fMP4ஐப் பயன்படுத்த விரும்பினால், ஆதரிக்கப்படும் சாதனங்களில் ஸ்ட்ரீம் ஹெச்.வி.சி உள்ளடக்கத்தை நேரடியாக இயக்க முடியும்.", + "PreferFmp4HlsContainerHelp": "HLS க்கான இயல்புநிலை கொள்கலனாக fMP4 ஐப் பயன்படுத்த விரும்புகிறது, இது ஆதரிக்கப்படும் சாதனங்களில் HEVC மற்றும் AV1 உள்ளடக்கத்தை நேரடியாக ஸ்ட்ரீம் செய்வதை சாத்தியமாக்குகிறது.", "PreferFmp4HlsContainer": "FMP4-HLS மீடியா கொள்கலனை விரும்புங்கள்", "LabelH265Crf": "H.265 குறியாக்கம் CRF", "YoutubeDenied": "உட்பொதிக்கப்பட்ட பிளேயர்களில் கோரப்பட்ட வீடியோவை இயக்க அனுமதிக்கப்படவில்லை.", @@ -1690,7 +1690,7 @@ "LabelTextWeight": "உரையின் எடை", "IgnoreDts": "DTS புறக்கணிக்கவும்", "LabelThrottleDelaySecondsHelp": "டிரான்ஸ்கோடர் த்ரோட்டில் செய்த பிறகு உள்ள நேரத்தை இது குறிக்கிறது. நேரத்தின் அளவு அதிகமாக இருக்கும் பட்சத்தில் செயல்பாடு ஆரோக்கியமாக இருக்கும். த்ரோட்டில் செயல்பாட்டில் இருந்தால் மட்டுமே இது வேலை செய்யும்.", - "LabelSegmentKeepSecondsHelp": "பதிவுகளை நீக்குவதற்கான நேரத்தை நொடிகளில் குறிப்பிடுக. \"Throttle after\" நேரத்தை விட இது அதிகமாக இருக்க வேண்டும். \"Segment Deletion\" செயல்பாட்டில் இருந்தால் மட்டுமே இது வேலை செய்யும்.", + "LabelSegmentKeepSecondsHelp": "கிளையன்ட் பதிவிறக்கம் செய்த பிறகு, எந்தப் பகுதிகளை வைத்திருக்க வேண்டும் என்பதை நொடிகளில் நேரம். பிரிவு நீக்கம் இயக்கப்பட்டிருந்தால் மட்டுமே வேலை செய்யும்.", "LabelDummyChapterDurationHelp": "போலி அத்தியாயங்களுக்கு இடையிலான இடைவெளி. போலி அத்தியாய உருவாக்கத்தை முடக்க 0 என அமைக்கவும். இதை மாற்றுவது ஏற்கனவே உள்ள போலி அத்தியாயங்களில் எந்த விளைவையும் ஏற்படுத்தாது.", "MessageRepositoryInstallDisclaimer": "எச்சரிக்கை: மூன்றாம் தரப்பு செருகுநிரல் களஞ்சியத்தை நிறுவுவது அபாயங்களைக் கொண்டுள்ளது. இது நிலையற்ற அல்லது தீங்கிழைக்கும் குறியீட்டைக் கொண்டிருக்கலாம் மற்றும் எந்த நேரத்திலும் மாறலாம். நீங்கள் நம்பும் நபர்களிடம் மட்டுமே களஞ்சியங்களை நிறுவவும்.", "Featurette": "அம்சம்", @@ -1782,7 +1782,7 @@ "SaveRecordingNFO": "NFO வில் EPG மெட்டாடேட்டாவைப் பதிவுசெய்து சேமிக்கவும்", "SaveRecordingNFOHelp": "பக்க மீடியாவில் EPG பட்டியல் வழங்குநரிடமிருந்து மெட்டாடேட்டாவைச் சேமிக்கவும்.", "AllowSegmentDeletion": "பிரிவுகளை நீக்கு", - "AllowSegmentDeletionHelp": "கிளையண்டிற்கு அனுப்பப்பட்ட பழைய பகுதிகளை நீக்குதல். இது முழு டிரான்ஸ்கோடட் கோப்பையும் வட்டில் சேமிப்பதைத் தடுக்கிறது. த்ரோட்லிங் இயக்கப்பட்டால் மட்டுமே வேலை செய்யும். பிளேபேக் சிக்கல்களை நீங்கள் சந்தித்தால் இதை முடக்கவும்.", + "AllowSegmentDeletionHelp": "கிளையன்ட் பதிவிறக்கிய பிறகு பழைய பகுதிகளை நீக்கவும். இது முழு டிரான்ஸ்கோடட் கோப்பையும் வட்டில் சேமிப்பதைத் தடுக்கிறது. பிளேபேக் சிக்கல்களை நீங்கள் சந்தித்தால் இதை முடக்கவும்.", "LabelThrottleDelaySeconds": "செறிவூட்டு", "LabelSegmentKeepSeconds": "பகுதிகளை வைத்திருக்க வேண்டிய நேரம்", "SelectAudioNormalizationHelp": "Track Gain - ஒவ்வொரு ஒலி அமைப்புகளுக்கும் சத்தத்தின் அளவை நிறுவுதல். Album Gain - ஒரு ஆல்பத்தில் உள்ள அனைத்து ஒலி அமைப்புகளுக்கும் ஒரே மாதிரியான சத்தத்தின் நிறுவுதல்.", @@ -1792,5 +1792,46 @@ "DownloadAll": "அனைத்தையும் பதிவிறக்கு", "SubtitleGreen": "பச்சை", "LabelTrackGain": "ட்ராக் ஆதாயம்", - "SearchResultsEmpty": "மன்னிக்கவும்! \"{0}\" க்கான முடிவுகள் எதுவும் காணப்படவில்லை" + "SearchResultsEmpty": "மன்னிக்கவும்! \"{0}\" க்கான முடிவுகள் எதுவும் காணப்படவில்லை", + "AllowContentWithTagsHelp": "குறிப்பிட்ட குறிச்சொற்களில் குறைந்தபட்சம் ஒன்றை மட்டும் மீடியாவைக் காட்டு.", + "AllowSubtitleManagement": "வசனங்களைத் திருத்த இந்தப் பயனரை அனுமதிக்கவும்", + "ChannelResolutionSD": "SD", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "முழு HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "BlockContentWithTagsHelp": "மீடியாவை குறைந்தபட்சம் குறிப்பிட்ட குறிச்சொற்களில் ஒன்றைக் கொண்டு மறைக்கவும்.", + "ConfirmDeleteSeries": "இந்தத் தொடரை நீக்குவது, கோப்பு முறைமை மற்றும் உங்கள் மீடியா லைப்ரரி ஆகிய இரண்டிலிருந்தும் அனைத்து {0} எபிசோடுகளும் நீக்கப்படும். நீங்கள் நிச்சயமாக தொடர விரும்புகிறீர்களா?", + "DeleteEntireSeries": "{0} அத்தியாயங்களை நீக்கு", + "EnableSmoothScroll": "மென்மையான உருட்டலை இயக்கு", + "HeaderDeleteSeries": "தொடரை நீக்கு", + "LabelBuildVersion": "உருவாக்க பதிப்பு", + "DlnaMovedMessage": "DLNA செயல்பாடு ஒரு செருகுநிரலுக்கு நகர்த்தப்பட்டது.", + "HeaderAllRecordings": "அனைத்து பதிவுகள்", + "LabelUseReplayGainTagsHelp": "ரீப்ளேகெய்ன் குறிச்சொற்களுக்கு ஆடியோ கோப்புகளை ஸ்கேன் செய்து, LUFS மதிப்பைக் கணக்கிடுவதற்குப் பதிலாக அவற்றைப் பயன்படுத்தவும். (குறைவான கணினி சக்தியைப் பயன்படுத்துகிறது. 'LUFS ஸ்கேன்' விருப்பத்தை மீறும்)", + "LabelAllowContentWithTags": "குறிச்சொற்களைக் கொண்ட உருப்படிகளை அனுமதிக்கவும்", + "LabelServerVersion": "சர்வர் பதிப்பு", + "LimitSupportedVideoResolution": "அதிகபட்ச ஆதரவு வீடியோ தெளிவுத்திறனை வரம்பிடவும்", + "PlaybackError.FATAL_HLS_ERROR": "HLS ஸ்ட்ரீமில் ஒரு அபாயகரமான பிழை ஏற்பட்டது.", + "LimitSupportedVideoResolutionHelp": "அதிகபட்ச ஆதரிக்கப்படும் வீடியோ தெளிவுத்திறனாக 'அதிகபட்ச அனுமதிக்கப்பட்ட வீடியோ டிரான்ஸ்கோடிங் தெளிவுத்திறனை' பயன்படுத்தவும்.", + "PlaybackError.NO_MEDIA_ERROR": "பிளே செய்ய சரியான மீடியா ஆதாரத்தைக் கண்டறிய முடியவில்லை.", + "PlaybackError.ASS_RENDER_ERROR": "ASS/SSA வசன ரெண்டரரில் பிழை ஏற்பட்டது.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "மீடியாவை இந்தக் கிளையன்ட் ஆதரிக்காததால், பிளேபேக் தோல்வியடைந்தது.", + "PlaybackError.NETWORK_ERROR": "நெட்வொர்க் பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", + "PlaybackError.SERVER_ERROR": "சேவையகப் பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", + "PlaybackError.RateLimitExceeded": "வரம்புகள் காரணமாக இந்த நேரத்தில் இந்த மீடியாவை இயக்க முடியாது.", + "EnableVideoToolboxTonemapping": "வீடியோ டூல்பாக்ஸ் டோன் மேப்பிங்கை இயக்கவும்", + "AllowVideoToolboxTonemappingHelp": "வீடியோ டூல்பாக்ஸ் வழங்கும் வன்பொருள்-துரிதப்படுத்தப்பட்ட டோன்-மேப்பிங். இது HDR10, HDR10+ மற்றும் HLG உள்ளிட்ட பெரும்பாலான HDR வடிவங்களுடன் வேலை செய்கிறது, ஆனால் Dolby Vision Profile 5 உடன் வேலை செய்யாது. மற்றொரு உலோக செயலாக்கத்துடன் ஒப்பிடும்போது இது அதிக முன்னுரிமையைக் கொண்டுள்ளது.", + "LabelEncodingFormatOptions": "குறியீட்டு வடிவமைப்பு விருப்பங்கள்", + "AirPlay": "ஏர்ப்ளே", + "ButtonEditUser": "பயனரைத் திருத்து", + "DeleteSeries": "தொடரை நீக்கு", + "DeleteEpisode": "அத்தியாயத்தை நீக்கு", + "DeleteName": "{0}ஐ நீக்கு", + "LabelUseReplayGainTags": "ReplayGain குறிச்சொற்களைப் பயன்படுத்தவும்", + "LabelWebVersion": "இணைய பதிப்பு", + "Lyric": "பாடல் வரிகள்", + "PlaybackError.MEDIA_DECODE_ERROR": "மீடியாவை டீகோட் செய்வதில் ஏற்பட்ட பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", + "PlaybackError.PLAYER_ERROR": "அபாயகரமான பிளேயர் பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", + "PlaybackError.NotAllowed": "இந்த மீடியாவை இயக்க அனுமதி இல்லை." } From 1bf2d8c47fa3945cf4bd41fbbe13c4548f994c54 Mon Sep 17 00:00:00 2001 From: AverageDood Date: Sun, 31 Mar 2024 22:46:07 +0000 Subject: [PATCH 149/293] Translated using Weblate (Spanish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/ --- src/strings/es.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/strings/es.json b/src/strings/es.json index 46d7c56d51..e071239905 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -1629,7 +1629,7 @@ "EnableRewatchingNextUpHelp": "Mostrar episodios vistos en la sección 'Volver a ver'.", "EnableRewatchingNextUp": "Activar Volver a ver", "Digital": "Digital", - "EnableEnhancedNvdecDecoderHelp": "Implementación experimental de NVDEC, no habilite esta opción a menos que encuentre errores de decodificación.", + "EnableEnhancedNvdecDecoderHelp": "Implementación mejorada de NVDEC, deshabilite esta opción para usar CUVID si encuentra errores de decodificación.", "ThemeSong": "Tema principal", "Sample": "Muestra", "Scene": "Escena", @@ -1816,5 +1816,15 @@ "EnableSmoothScroll": "Activar desplazamiento suave", "Lyric": "Letra", "LimitSupportedVideoResolution": "Limitar resolución de video máxima soportada", - "LimitSupportedVideoResolutionHelp": "Utilice \"Resolución de transcodificación de vídeo máxima permitida\" como resolución de vídeo máxima admitida." + "LimitSupportedVideoResolutionHelp": "Utilice \"Resolución de transcodificación de vídeo máxima permitida\" como resolución de vídeo máxima admitida.", + "LabelEncodingFormatOptions": "Opciones de formato de codificación", + "AirPlay": "AirPlay", + "PlaybackError.FATAL_HLS_ERROR": "Un error fatal se encontró en el stream HLS.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "La reproducción falló porque el medio no es compatible con este cliente.", + "PlaybackError.NETWORK_ERROR": "La reproducción falló por un error de red.", + "PlaybackError.NO_MEDIA_ERROR": "No ha sido posible encontrar un medio válido para reproducir.", + "PlaybackError.PLAYER_ERROR": "La reproducción falló por un error fatal del reproductor.", + "PlaybackError.SERVER_ERROR": "La reproducción falló por un error del servidor.", + "PlaybackError.NotAllowed": "La reproducción de este medio no está permitida.", + "PlaybackError.RateLimitExceeded": "Este medio no puede reproducirse en este momento debído a límites." } From 0a932ee7566fe8593ed8364199690a30f7042772 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Mon, 25 Mar 2024 13:54:49 +0100 Subject: [PATCH 150/293] Limit Video Level to 4.2 in fMP4 for iOS < 13 --- src/scripts/browserDeviceProfile.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index 288d55c04f..6733f3a3e9 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -1147,7 +1147,7 @@ export default function (options) { // On iOS 12.x, for TS container max h264 level is 4.2 if (browser.iOS && browser.iOSVersion < 13) { - const codecProfile = { + const codecProfileTS = { Type: 'Video', Codec: 'h264', Container: 'ts', @@ -1156,14 +1156,32 @@ export default function (options) { }) }; - codecProfile.Conditions.push({ + codecProfileTS.Conditions.push({ Condition: 'LessThanEqual', Property: 'VideoLevel', Value: '42', IsRequired: false }); - profile.CodecProfiles.push(codecProfile); + profile.CodecProfiles.push(codecProfileTS); + + const codecProfileMp4 = { + Type: 'Video', + Codec: 'h264', + Container: 'mp4', + Conditions: h264CodecProfileConditions.filter((condition) => { + return condition.Property !== 'VideoLevel'; + }) + }; + + codecProfileMp4.Conditions.push({ + Condition: 'LessThanEqual', + Property: 'VideoLevel', + Value: '42', + IsRequired: false + }); + + profile.CodecProfiles.push(codecProfileMp4); } profile.CodecProfiles.push({ From 6739e017edcaf5ed8c77ce6038b8608bafb0e176 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 1 Apr 2024 05:40:05 +0000 Subject: [PATCH 151/293] Translated using Weblate (Portuguese (Portugal)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/ --- src/strings/pt-pt.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index eaa77e655d..775b4dd9a0 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -994,7 +994,7 @@ "DetectingDevices": "A procurar dispositivos", "CopyStreamURL": "Copiar URL da transmissão", "Disc": "Disco", - "LabelLogs": "Registos", + "LabelLogs": "Registos (Logs)", "LabelSortTitle": "Título para ordenação", "HeaderFetcherSettings": "Definições do fornecedor", "HeaderKodiMetadataHelp": "Para activar ou desactivar metadados NFO, utilize a secção de metadados disponível na página de configurações da biblioteca.", @@ -1160,7 +1160,7 @@ "ThemeSongs": "Músicas de tema", "TagsValue": "Etiquetas: {0}", "Tags": "Etiquetas", - "TabLogs": "Logs", + "TabLogs": "Registos (Logs)", "TabCodecs": "Codecs", "Suggestions": "Sugestões", "SortName": "Ordenar nome", @@ -1414,7 +1414,7 @@ "LabelTonemappingRange": "Alcance do Tone Mapping", "TonemappingAlgorithmHelp": "O Tone Mapping pode ser afinado. Se não estiver familiarizado com estas opções, mantenha-as nas opções padrão. O valor recomendado é 'BT.2390'.", "AllowTonemappingHelp": "O mapeamento de tons pode transformar a faixa dinâmica de um vídeo de HDR para SDR, mantendo os detalhes e cores da imagem, que são informações muito importantes para representar a cena original. Atualmente funciona apenas com vídeos HDR10 de 10 bits, HLG e DoVi. Isto requer OpenCL ou CUDA correspondente.", - "LabelMaxMuxingQueueSizeHelp": "Número máximo de pacotes armazenados em buffer enquanto aguardam que todas as transmissões iniciem. Tente aumentá-lo caso se depare com o seguinte erro nos registos do FFmpeg \"Too many packets buffered for output stream\". O valor recomendado é 2048.", + "LabelMaxMuxingQueueSizeHelp": "Número máximo de pacotes que podem ser armazenados em buffer enquanto espera que todos os streams sejam inicializados. Tenta aumentá-lo se ainda encontrares o erro \"Demasiados pacotes armazenados em buffer para o fluxo de saída\" nos registos (logs) do FFmpeg. O valor recomendado é 2048.", "DeleteAll": "Apagar tudo", "DeleteDevicesConfirmation": "Tem a certeza que deseja remover todos os dispositivos? Todas as outras sessões serão terminadas. Os dispositivos reaparecerão da próxima vez que um utilizador iniciar sessão.", "Bwdif": "BWDIF", @@ -1817,5 +1817,7 @@ "BlockContentWithTagsHelp": "Ocultar os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", "ButtonEditUser": "Editar utilizador", "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada.", - "AllowContentWithTagsHelp": "Mostrar apenas os conteúdos multimédia com pelo menos uma das etiquetas especificadas." + "AllowContentWithTagsHelp": "Mostrar apenas os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", + "EnableLibraryHelp": "Se desativares a biblioteca, ela será ocultada de todas as visualizações do utilizador.", + "EnableLibrary": "Ativar a biblioteca" } From 2cc408bd775db9f7cb32ccd71d42a76bb549a5a6 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 1 Apr 2024 05:38:00 +0000 Subject: [PATCH 152/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index dbab38a302..04a31fbe2f 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -353,7 +353,7 @@ "LabelMetadataReadersHelp": "Ordene as fontes locais de metadados por ordem de prioridade. O primeiro ficheiro a ser encontrado será lido.", "LabelMetadataReaders": "Leirores de metadados", "LabelMetadataDownloadersHelp": "Ative e ordene os seus fornecedores de metadados preferidos por ordem de prioridade. Os de menor prioridade só serão utilizados para preencher as informações em falta.", - "LabelLogs": "Registros", + "LabelLogs": "Registos (Logs)", "LabelKodiMetadataUserHelp": "Guardar dados de utilização em NFO para que outras aplicações os utilizem.", "LabelKodiMetadataUser": "Guardar dados de utilização em NFO para", "LabelImageFetchersHelp": "Activar e ordenar os pesquisadores de imagens por ordem de preferência.", @@ -1260,7 +1260,7 @@ "LabelMinAudiobookResumeHelp": "Os títulos são considerados não reproduzidos se parados antes desse período.", "LabelMinAudiobookResume": "Retomada mínima em minutos de Audiolivro", "LabelMaxAudiobookResume": "Minutos restantes do Audiolivro para retomar", - "LabelMaxMuxingQueueSizeHelp": "Número máximo de pacotes que podem ser armazenados em buffer enquanto aguardam a inicialização de todos os fluxos. Tente aumentá-lo se ainda encontrar o erro \"Muitos pacotes armazenados em buffer para fluxo de saída\" nos logs do ffmpeg. O valor recomendado é 2048.", + "LabelMaxMuxingQueueSizeHelp": "Número máximo de pacotes que podem ser armazenados em buffer enquanto espera que todos os streams sejam inicializados. Tenta aumentá-lo se ainda encontrares o erro \"Demasiados pacotes armazenados em buffer para o fluxo de saída\" nos registos (logs) do FFmpeg. O valor recomendado é 2048.", "LabelMaxMuxingQueueSize": "Tamanho máximo da fila de muxing", "LabelMaxAudiobookResumeHelp": "Os títulos são considerados totalmente reproduzidos se parados quando a duração restante é inferior a este valor.", "LabelKnownProxies": "Proxies conhecidos", @@ -1632,7 +1632,7 @@ "MediaInfoColorSpace": "Espaço colorido", "Studio": "Estúdio", "SubtitleGray": "Cinza", - "TabLogs": "Histórico", + "TabLogs": "Registos (Logs)", "Tags": "Etiquetas", "Vertical": "Vertical", "Video": "Vídeo", @@ -1820,5 +1820,7 @@ "EncodingFormatHelp": "Seleciona a codificação de vídeo para a qual o Jellyfin deve transcodificar. O Jellyfin usará a codificação de software quando a aceleração de hardware para o formato selecionado não estiver disponível. A codificação H264 será sempre ativada.", "LabelEncodingFormatOptions": "Opções de formato de codificação", "AirPlay": "AirPlay", - "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada." + "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada.", + "EnableLibraryHelp": "Se desativares a biblioteca, ela será ocultada de todas as visualizações do utilizador.", + "EnableLibrary": "Ativar a biblioteca" } From 250a99ad4a4f59f7cf19b7445913a29d4fe02b28 Mon Sep 17 00:00:00 2001 From: Oatavandi Date: Mon, 1 Apr 2024 06:25:34 +0000 Subject: [PATCH 153/293] Translated using Weblate (Tamil) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ta/ --- src/strings/ta.json | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/src/strings/ta.json b/src/strings/ta.json index 6645a0f7d6..344e30ee12 100644 --- a/src/strings/ta.json +++ b/src/strings/ta.json @@ -276,7 +276,7 @@ "HardwareAccelerationWarning": "வன்பொருள் முடுக்கம் இயக்குவது சில சூழல்களில் உறுதியற்ற தன்மையை ஏற்படுத்தக்கூடும். உங்கள் இயக்க முறைமை மற்றும் வீடியோ இயக்கிகள் முழுமையாக புதுப்பித்த நிலையில் இருப்பதை உறுதிசெய்க. இதை இயக்கிய பின் வீடியோவை இயக்குவதில் சிக்கல் இருந்தால், நீங்கள் அமைப்பை எதுவும் இல்லை என மாற்ற வேண்டும்.", "HDPrograms": "HD நிரல்கள்", "EncoderPresetHelp": "செயல்திறனை மேம்படுத்த வேகமான மதிப்பைத் தேர்ந்தெடுக்கவும் அல்லது தரத்தை மேம்படுத்த மெதுவான மதிப்பைத் தேர்ந்தெடுக்கவும்.", - "H264CrfHelp": "'கான்ஸ்டன்ட் ரேட் ஃபேக்டர்' (CRF) என்பது x264 மற்றும் x265 குறியாக்கிக்கான இயல்புநிலை தர அமைப்பாகும். நீங்கள் மதிப்புகளை 0 மற்றும் 51 க்கு இடையில் அமைக்கலாம், அங்கு குறைந்த மதிப்புகள் சிறந்த தரத்தை விளைவிக்கும் (அதிக கோப்பு அளவுகளின் இழப்பில்). நல்ல மதிப்புகள் 18 மற்றும் 28 க்கு இடையில் உள்ளன. x264 இன் இயல்புநிலை 23 மற்றும் x265 க்கு 28 ஆகும், எனவே நீங்கள் இதை ஒரு தொடக்க புள்ளியாகப் பயன்படுத்தலாம்.", + "H264CrfHelp": "'கான்ஸ்டன்ட் ரேட் ஃபேக்டர்' (CRF) என்பது x264 மற்றும் x265 மென்பொருள் குறியாக்கிகளுக்கான இயல்புநிலை தர அமைப்பாகும். நீங்கள் மதிப்புகளை 0 மற்றும் 51 க்கு இடையில் அமைக்கலாம், அங்கு குறைந்த மதிப்புகள் சிறந்த தரத்தை விளைவிக்கும் (அதிக கோப்பு அளவுகளின் இழப்பில்). நல்ல மதிப்புகள் 18 மற்றும் 28 க்கு இடையில் உள்ளன. x264 இன் இயல்புநிலை 23 மற்றும் x265 க்கு 28 ஆகும், எனவே நீங்கள் இதை ஒரு தொடக்க புள்ளியாகப் பயன்படுத்தலாம். வன்பொருள் குறியாக்கிகள் இந்த அமைப்புகளைப் பயன்படுத்துவதில்லை.", "GuideProviderSelectListings": "பட்டியல்களைத் தேர்ந்தெடுக்கவும்", "GuideProviderLogin": "உள்நுழைய", "Guide": "வழிகாட்டி", @@ -1664,7 +1664,7 @@ "EnableRewatchingNextUpHelp": "ஏற்கனவே பார்த்த எபிசோட்களை 'அடுத்து' பிரிவில் காட்டுவதை இயக்கவும்.", "EnableRewatchingNextUp": "அடுத்ததில் மீண்டும் பார்ப்பதை இயக்கவும்", "Digital": "டிஜிட்டல்", - "EnableEnhancedNvdecDecoderHelp": "சோதனை NVDEC செயல்படுத்தல், டிகோடிங் பிழைகளை நீங்கள் சந்திக்கும் வரை இந்த விருப்பத்தை இயக்க வேண்டாம்.", + "EnableEnhancedNvdecDecoderHelp": "மேம்படுத்தப்பட்ட NVDEC செயல்படுத்தல், டிகோடிங் பிழைகளை நீங்கள் சந்தித்தால் CUVID ஐப் பயன்படுத்த இந்த விருப்பத்தை முடக்கவும்.", "HomeVideosPhotos": "முகப்பு காணொளிகள் மற்றும் புகைப்படங்கள்", "LabelMaxVideoResolution": "அனுமதிக்கப்பட்ட அதிகபட்ச காணொளி டிரான்ஸ்கோடிங் தெளிவுத்திறன்", "IgnoreDtsHelp": "இந்த விருப்பத்தை முடக்குவது சில சிக்கல்களை தீர்க்கலாம், எ.கா. தனி ஆடியோ மற்றும் காணொளி ஸ்ட்ரீம்கள் கொண்ட சேனல்களில் ஆடியோ இருக்காது.", @@ -1833,5 +1833,41 @@ "Lyric": "பாடல் வரிகள்", "PlaybackError.MEDIA_DECODE_ERROR": "மீடியாவை டீகோட் செய்வதில் ஏற்பட்ட பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", "PlaybackError.PLAYER_ERROR": "அபாயகரமான பிளேயர் பிழை காரணமாக பிளேபேக் தோல்வியடைந்தது.", - "PlaybackError.NotAllowed": "இந்த மீடியாவை இயக்க அனுமதி இல்லை." + "PlaybackError.NotAllowed": "இந்த மீடியாவை இயக்க அனுமதி இல்லை.", + "BlockingScan": "தடுப்பது - வரிசைகள் உருவாக்கம், முடியும் வரை பிளாக்ஸ் ஸ்கேன்", + "PriorityBelowNormal": "இயல்பிற்கு கீழே", + "LabelWidthResolutionsHelp": "ட்ரிக்ப்ளே படங்கள் உருவாக்கப்படும் அகலங்களின் (px) கமாவால் பிரிக்கப்பட்ட பட்டியல். எல்லா படங்களும் மூலத்திற்கு விகிதாசாரமாக உருவாக்கப்பட வேண்டும், எனவே 16:9 வீடியோவில் 320 அகலம் 320x180 ஆக இருக்கும்.", + "LabelJpegQuality": "JPEG தரம்", + "LabelJpegQualityHelp": "ட்ரிக்ப்ளே படங்களுக்கான JPEG சுருக்கத் தரம்.", + "LabelQscaleHelp": "ffmpeg மூலம் வெளியிடப்படும் படங்களின் தர அளவு, 2 மிக உயர்ந்த தரம் மற்றும் 31 குறைவாக உள்ளது.", + "OptionExtractTrickplayImage": "ட்ரிக்ப்ளே படத்தை பிரித்தெடுப்பதை இயக்கு", + "LabelTrickplayAccelHelp": "உங்கள் வன்பொருள் அதை ஆதரிக்கும் பட்சத்தில், டிரான்ஸ்கோடிங்கில் 'MJPEG என்கோடிங்கை அனுமதி' என்பதை இயக்குவதை உறுதிசெய்யவும்.", + "PriorityAboveNormal": "இயல்பிற்கு மேல்", + "EncodingFormatHelp": "ஜெல்லிஃபின் மாற்றியமைக்க வேண்டிய வீடியோ குறியாக்கத்தைத் தேர்ந்தெடுக்கவும். தேர்ந்தெடுக்கப்பட்ட வடிவமைப்பிற்கான வன்பொருள் முடுக்கம் கிடைக்காதபோது ஜெல்லிஃபின் மென்பொருள் குறியாக்கத்தைப் பயன்படுத்தும். H264 குறியாக்கம் எப்போதும் இயக்கப்படும்.", + "LabelTileWidthHelp": "X திசையில் ஒரு டைலுக்கு அதிகபட்ச படங்களின் எண்ணிக்கை.", + "AllowMjpegEncoding": "MJPEG வடிவத்தில் குறியாக்கத்தை அனுமதிக்கவும் (ட்ரிக்ப்ளே உருவாக்கத்தின் போது பயன்படுத்தப்பட்டது)", + "LabelTrickplayAccel": "வன்பொருள் முடுக்கத்தை இயக்கு", + "LabelScanBehavior": "ஸ்கேன் நடத்தை", + "PriorityHigh": "உயர்", + "LabelImageInterval": "பட இடைவெளி", + "NonBlockingScan": "தடுக்காதது - வரிசைகள் உருவாக்கம், பின்னர் திரும்பும்", + "LabelTrickplayThreads": "FFmpeg நூல்கள்", + "LabelScanBehaviorHelp": "டிஃபால்ட் நடத்தை தடுக்காதது, இது ட்ரிக்ப்ளே உருவாக்கம் செய்யப்படுவதற்கு முன்பு நூலகத்தில் மீடியாவைச் சேர்க்கும். லைப்ரரியில் மீடியா சேர்க்கப்படுவதற்கு முன் ட்ரிக்பிளே கோப்புகள் உருவாக்கப்படுவதை தடுப்பது உறுதி செய்யும், ஆனால் ஸ்கேன்களை கணிசமாக நீளமாக்கும்.", + "LabelProcessPriorityHelp": "இதை குறைவாகவோ அல்லது அதிகமாகவோ அமைப்பது, மற்ற செயல்முறைகளுடன் தொடர்புடைய ffmpeg ட்ரிக்ப்ளே உருவாக்க செயல்முறைக்கு CPU எவ்வாறு முன்னுரிமை அளிக்கிறது என்பதைத் தீர்மானிக்கும். ட்ரிக்ப்ளே படங்களை உருவாக்கும் போது மந்தநிலையை நீங்கள் கவனித்தால், அவற்றின் தலைமுறையை முழுமையாக நிறுத்த விரும்பவில்லை என்றால், இதையும் நூல் எண்ணிக்கையையும் குறைக்க முயற்சிக்கவும்.", + "LabelWidthResolutions": "அகலத் தீர்மானங்கள்", + "LabelImageIntervalHelp": "ஒவ்வொரு புதிய ட்ரிக்ப்ளே படத்திற்கும் இடையே நேர இடைவெளி (ms).", + "LabelTileWidth": "டைல் அகலம்", + "LabelTileHeight": "டைல் உயரம்", + "LabelTileHeightHelp": "Y திசையில் ஒரு டைலுக்கு அதிகபட்ச படங்களின் எண்ணிக்கை.", + "LabelTrickplayThreadsHelp": "ffmpeg இன் '-த்ரெட்ஸ்' வாதத்திற்கு அனுப்ப வேண்டிய நூல்களின் எண்ணிக்கை.", + "ExtractTrickplayImagesHelp": "ட்ரிக்பிளே படங்கள் அத்தியாயப் படங்களைப் போலவே இருக்கும், தவிர அவை உள்ளடக்கத்தின் முழு நீளத்தையும் விரித்து, வீடியோக்களை ஸ்க்ரப் செய்யும் போது முன்னோட்டத்தைக் காட்டப் பயன்படுகின்றன.", + "LabelExtractTrickplayDuringLibraryScan": "லைப்ரரி ஸ்கேன் செய்யும் போது ட்ரிக்ப்ளே படங்களை பிரித்தெடுக்கவும்", + "LabelExtractTrickplayDuringLibraryScanHelp": "லைப்ரரி ஸ்கேன் செய்யும் போது வீடியோக்கள் இறக்குமதி செய்யப்படும் போது ட்ரிக்ப்ளே படங்களை உருவாக்கவும். இல்லையெனில், ட்ரிக்ப்ளே படங்கள் திட்டமிடப்பட்ட பணியின் போது அவை பிரித்தெடுக்கப்படும். தலைமுறையைத் தடுக்காமல் அமைக்கப்பட்டால், நூலக ஸ்கேன் முடிக்க எடுக்கும் நேரத்தை இது பாதிக்காது.", + "EnableLibrary": "நூலகத்தை இயக்கு", + "EnableLibraryHelp": "நூலகத்தை முடக்குவது அனைத்து பயனர் பார்வைகளிலிருந்தும் அதை மறைக்கும்.", + "Trickplay": "ட்ரிக்ப்ளே", + "PriorityNormal": "இயல்பானது", + "PriorityIdle": "செயலற்ற", + "LabelProcessPriority": "செயல்முறை முன்னுரிமை", + "LabelQscale": "Qscale" } From c1350159b9fff4e8c9ddd98313b2f56d32eb6768 Mon Sep 17 00:00:00 2001 From: Kityn Date: Mon, 1 Apr 2024 10:12:49 +0000 Subject: [PATCH 154/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 8e93e4a0dd..53e3ac7fd2 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -219,7 +219,7 @@ "Guide": "Przewodnik", "GuideProviderLogin": "Logowanie", "GuideProviderSelectListings": "Pokazuj oferty", - "H264CrfHelp": "'Constant Rate Factor' (CRF) to domyślna jakość kodowania x264 i x265. Możesz ją ustawić w zakresie 0-51, gdzie niższe wartości zwiększają jakość (kosztem większego rozmiaru pliku). Rozsądne wartości to zakres 18-28. Domyślne wartości to 23 dla x264 oraz 28 dla x265 - możesz jej użyć jako wartości początkowej.", + "H264CrfHelp": "'Constant Rate Factor' (CRF) to domyślne ustawienie jakości dla koderów programowych x264 i x265. Możesz ją ustawić w zakresie 0-51, gdzie niższe wartości zwiększają jakość (kosztem większego rozmiaru pliku). Rozsądne wartości to zakres 18-28. Domyślne wartości to 23 dla x264 oraz 28 dla x265 - możesz jej użyć jako wartości początkowej. Kodery sprzętowe nie korzystają z tych ustawień.", "EncoderPresetHelp": "Wybierz szybszą wartość, aby zwiększyć wydajność, lub wolniejszą, aby zwiększyć jakość.", "HDPrograms": "Programy w jakości HD", "HardwareAccelerationWarning": "Aktywacja akceleracji sprzętowej może powodować niestabilność na niektórych środowiskach. Upewnij się, że system operacyjny i sterowniki karty graficznej są aktualne. Jeżeli masz problemy z odtwarzaniem wideo po aktywacji, przywróć to ustawienie do wartości Brak.", @@ -1856,5 +1856,7 @@ "BlockContentWithTagsHelp": "Ukryj multimedia z co najmniej jednym z określonych tagów.", "AirPlay": "AirPlay", "LabelEncodingFormatOptions": "Opcje formatu kodowania", - "EncodingFormatHelp": "Wybierz kodowanie wideo, którym Jellyfin powinien transkodować. Jellyfin użyje kodowania programowego, gdy akceleracja sprzętowa dla wybranego formatu nie jest dostępna. Kodowanie H264 będzie zawsze włączone." + "EncodingFormatHelp": "Wybierz kodowanie wideo, którym Jellyfin powinien transkodować. Jellyfin użyje kodowania programowego, gdy akceleracja sprzętowa dla wybranego formatu nie jest dostępna. Kodowanie H264 będzie zawsze włączone.", + "EnableLibrary": "Włącz bibliotekę", + "EnableLibraryHelp": "Wyłączenie biblioteki spowoduje ukrycie jej przed wszystkimi widokami użytkowników." } From 5ec154e1d549c779ff2b9f7c6f7b65cb0e0f7a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Dav=C3=B3?= Date: Mon, 1 Apr 2024 11:44:58 +0000 Subject: [PATCH 155/293] Translated using Weblate (Spanish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/ --- src/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/es.json b/src/strings/es.json index e071239905..e58e63d55d 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -586,7 +586,7 @@ "LabelReleaseDate": "Fecha de lanzamiento", "LabelRemoteClientBitrateLimit": "Límite de la transmisión de tasa de bits por internet (Mbps)", "LabelRemoteClientBitrateLimitHelp": "Especifica el bitrate máximo para los dispositivos que se encuentren fuera de la red local. Esto es útil para permitir la reproducción del contenido que tengas con una tasa de bits muy alta cuando la conexión a internet de tu servidor o la del cliente no sea lo suficientemente rápida. Esto ocasionará mayor carga, ya que el contenido que supere esta tasa de bits se convertirá para que esté dentro del límite establecido.", - "LabelRuntimeMinutes": "Tiempo de ejecución", + "LabelRuntimeMinutes": "Duración", "LabelSaveLocalMetadata": "Guardar imágenes en las carpetas de medios", "LabelSaveLocalMetadataHelp": "Guardar imágenes directamente en las carpetas en las que estén los elementos hará que se puedan editar más fácilmente.", "LabelScheduledTaskLastRan": "Última ejecución {0}, tardando {1}.", From 2eb5b303d205bf44c488298a33e2367d8a573cba Mon Sep 17 00:00:00 2001 From: stanol Date: Mon, 1 Apr 2024 13:14:36 +0000 Subject: [PATCH 156/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index ac971ab78f..2ecb20f063 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -1853,5 +1853,7 @@ "BlockContentWithTagsHelp": "Приховати медіа з принаймні одним із зазначених тегів.", "AirPlay": "AirPlay", "LabelEncodingFormatOptions": "Параметри формату кодування", - "EncodingFormatHelp": "Виберіть кодування відео, в яке має перекодувати Jellyfin. Jellyfin використовуватиме програмне кодування, якщо апаратне прискорення для обраного формату недоступне. Кодування H264 буде увімкнено завжди." + "EncodingFormatHelp": "Виберіть кодування відео, в яке має перекодувати Jellyfin. Jellyfin використовуватиме програмне кодування, якщо апаратне прискорення для обраного формату недоступне. Кодування H264 буде увімкнено завжди.", + "EnableLibrary": "Увімкнути медіатеку", + "EnableLibraryHelp": "Якщо вимкнути бібліотеку, її буде приховано від усіх користувачів." } From 70dbea7527ec3bfa007c2cebc988e07ba93f58b6 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 1 Apr 2024 12:08:36 +0000 Subject: [PATCH 157/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index 0c604b8a32..e2cc950b21 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1856,5 +1856,7 @@ "BlockContentWithTagsHelp": "隐藏至少具有一个指定标签的媒体。", "AirPlay": "隔空播放", "LabelEncodingFormatOptions": "编码格式选项", - "EncodingFormatHelp": "选择 Jellyfin 应转码到的视频编码。 当所选格式的硬件加速不可用时,Jellyfin 将使用软件编码。 H264 编码将始终启用。" + "EncodingFormatHelp": "选择 Jellyfin 应转码到的视频编码。 当所选格式的硬件加速不可用时,Jellyfin 将使用软件编码。 H264 编码将始终启用。", + "EnableLibrary": "启用媒体库", + "EnableLibraryHelp": "禁用该媒体库将从所有用户视图中隐藏它。" } From 29b3dcd57b0e7fc1a9950386efb5fcf04528a6f6 Mon Sep 17 00:00:00 2001 From: Nyanmisaka <799610810@qq.com> Date: Mon, 1 Apr 2024 12:09:44 +0000 Subject: [PATCH 158/293] Translated using Weblate (Chinese (Traditional)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hant/ --- src/strings/zh-tw.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index ec6e77546c..a81c51f365 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -1855,5 +1855,7 @@ "BlockContentWithTagsHelp": "隱藏至少具有一個指定標籤的媒體。", "AirPlay": "隔空播放", "EncodingFormatHelp": "選擇 Jellyfin 應轉檔到的影片編碼。 當所選格式的硬體加速不可用時,Jellyfin 將使用軟體編碼。 H264 編碼將始終啟用。", - "LabelEncodingFormatOptions": "編碼格式選項" + "LabelEncodingFormatOptions": "編碼格式選項", + "EnableLibraryHelp": "禁用該媒體庫將從所有用戶視圖中隱藏它。", + "EnableLibrary": "啟用媒體庫" } From 502f3f0469dddea5233a93aa94208089b3f01850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=84=A1=E6=83=85=E5=A4=A9?= Date: Mon, 1 Apr 2024 15:08:27 +0000 Subject: [PATCH 159/293] Translated using Weblate (Chinese (Simplified)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/zh_Hans/ --- src/strings/zh-cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index e2cc950b21..3b46bedb0e 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1353,7 +1353,7 @@ "LabelOpenclDevice": "OpenCL 设备", "LabelOpenclDeviceHelp": "这是用于色调映射的 OpenCL 设备。 点左边是平台号,右边是平台上的设备号。 默认值为 0.0。 需要支持OpenCL 硬件加速的 FFmpeg 应用程序。", "EnableTonemapping": "启用色调映射", - "AllowTonemappingHelp": "色调映射可以将视频的动态范围从 HDR 变换成 SDR,同时保持图像细节与颜色等对于表现原始场景非常重要的信息。目前仅对 10 位 HDR10,HLG 和 DoVi 视频生效。此项需要对应的 GPGPU 运行库。", + "AllowTonemappingHelp": "色调映射可以将视频的动态范围从 HDR 变换成 SDR,同时保持图像细节与颜色等对于表现原始场景非常重要的信息。目前仅对 10bit HDR10,HLG 和 DoVi 视频生效。此项需要对应的 GPGPU 运行库。", "LabelTonemappingAlgorithm": "选择要使用的色调映射算法", "TonemappingAlgorithmHelp": "色调映射可以微调。如果你不是很熟悉这些选项,保持默认即可。建议值为 'BT.2390'。", "LabelTonemappingRange": "色调映射范围", From d8cb1f8114384c3a0bc9129ffeac8e306522e24c Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Mon, 1 Apr 2024 17:54:35 +0000 Subject: [PATCH 160/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 6b950663e7..a5bcc21a65 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -205,7 +205,7 @@ "Guide": "Gids", "GuideProviderLogin": "Aanmelden", "GuideProviderSelectListings": "Lijsten selecteren", - "H264CrfHelp": "De 'Constant Rate Factor' (CRF) is de standaard kwaliteitsinstelling voor de x264- en x265-encoder. Geldige waarden liggen tussen 0 en 51. Hoe lager de waarde, hoe beter de beeldkwaliteit, maar hoe groter het bestand. Waarden tussen 18 en 28 worden aanbevolen. De standaardwaarde is 23 voor x264 en 28 voor x265. Je kunt deze waardes gebruiken als beginpunt.", + "H264CrfHelp": "De 'Constant Rate Factor' (CRF) is de standaard kwaliteitsinstelling voor de software-encoders voor x264 en x265. Geldige waarden liggen tussen 0 en 51. Hoe lager de waarde, hoe beter de beeldkwaliteit, maar hoe groter het bestand. Waarden tussen 18 en 28 worden aanbevolen. De standaardwaarde is 23 voor x264 en 28 voor x265. Je kunt deze waardes gebruiken als beginpunt. Hardware-encoders gebruiken deze instellingen niet.", "EncoderPresetHelp": "Kies een snellere waarde om de prestaties te verbeteren, of een tragere waarde om de kwaliteit te verbeteren.", "HDPrograms": "HD-programma's", "HardwareAccelerationWarning": "Hardwareversnelling inschakelen kan instabiliteit veroorzaken in sommige omgevingen. Zorg ervoor dat je besturingssysteem en videostuurprogramma's volledig bijgewerkt zijn. Als je problemen ondervindt bij het afspelen van video nadat je dit hebt ingeschakeld, moet je de instelling terugzetten naar Geen.", @@ -1855,5 +1855,7 @@ "BlockContentWithTagsHelp": "Media verbergen met ten minste een van de opgegeven labels.", "LabelEncodingFormatOptions": "Coderingsformaatopties", "EncodingFormatHelp": "Selecteer de beeldcodering waar Jellyfin naartoe moet transcoderen. Jellyfin gebruikt softwarecodering wanneer hardwarecodering niet voor het geselecteerde formaat beschikbaar is. H264-codering is altijd ingeschakeld.", - "AirPlay": "AirPlay" + "AirPlay": "AirPlay", + "EnableLibrary": "Bibliotheek inschakelen", + "EnableLibraryHelp": "Het uitschakelen van een bibliotheek verbergt deze voor alle gebruikers." } From cbe6ccdbeca4d07660d4d227a9138f06840da3ff Mon Sep 17 00:00:00 2001 From: Dennis Vesterlund Date: Mon, 1 Apr 2024 20:18:05 +0000 Subject: [PATCH 161/293] Translated using Weblate (Swedish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sv/ --- src/strings/sv.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/strings/sv.json b/src/strings/sv.json index 1110ab7ae8..5f01067a4c 100644 --- a/src/strings/sv.json +++ b/src/strings/sv.json @@ -1701,7 +1701,7 @@ "LabelChapterImageResolution": "Upplösning", "LabelChapterImageResolutionHelp": "Upplösningen för de extraherade kapitelbilderna. Om du ändrar detta kommer det inte att ha någon effekt på befintliga dummy-kapitel.", "HeaderRecordingMetadataSaving": "Metadata för inspelning", - "AllowCollectionManagement": "Tillåt denna använda att hantera samlingar", + "AllowCollectionManagement": "Tillåt denna användare att hantera samlingar", "PreferEmbeddedExtrasTitlesOverFileNames": "Föredra embäddade titlar framför filnamn för extramaterial", "Short": "Kortfilm", "PasswordRequiredForAdmin": "Ett lösenord krävs för administratörskonton.", @@ -1785,5 +1785,8 @@ "LabelBuildVersion": "Byggversion", "ButtonEditUser": "redigera användare", "LabelServerVersion": "Serverversion", - "LabelWebVersion": "Webbversion" + "LabelWebVersion": "Webbversion", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Visa bara media med åtminstone en av de specificerade taggarna.", + "AllowSubtitleManagement": "Tillåt denna användare att redigera undertexter" } From 74c6f92f0c7bf08a7fda53e55e72ad77a3ace595 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 23:11:25 +0000 Subject: [PATCH 162/293] Update dependency cssnano to v6.1.2 --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0aeedac14c..e6eca38dc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "6.10.0", - "cssnano": "6.1.1", + "cssnano": "6.1.2", "es-check": "7.1.1", "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", @@ -7652,12 +7652,12 @@ } }, "node_modules/cssnano": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.1.tgz", - "integrity": "sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", "dev": true, "dependencies": { - "cssnano-preset-default": "^6.1.1", + "cssnano-preset-default": "^6.1.2", "lilconfig": "^3.1.1" }, "engines": { @@ -28392,12 +28392,12 @@ "dev": true }, "cssnano": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.1.tgz", - "integrity": "sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", "dev": true, "requires": { - "cssnano-preset-default": "^6.1.1", + "cssnano-preset-default": "^6.1.2", "lilconfig": "^3.1.1" } }, diff --git a/package.json b/package.json index 16e0618842..8543eadbb1 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "6.10.0", - "cssnano": "6.1.1", + "cssnano": "6.1.2", "es-check": "7.1.1", "eslint": "8.57.0", "eslint-plugin-compat": "4.2.0", From 616b4cbfa4b4dc5da2e4694773a933f32ae3f935 Mon Sep 17 00:00:00 2001 From: FranzDerPalme Date: Tue, 2 Apr 2024 02:35:49 +0000 Subject: [PATCH 163/293] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/strings/de.json b/src/strings/de.json index fdae4b37ad..f3cf09703b 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -1377,7 +1377,7 @@ "LabelColorSpace": "Farbraum", "MediaInfoColorSpace": "Farbraum", "VideoAudio": "Videoton", - "AllowTonemappingHelp": "Tone-Mapping kann den Dynamikumfang eines Videos von HDR nach SDR wandeln und dabei die für die Darstellung der Originalszene sehr wichtigen Bilddetails und Farben beibehalten. Dies funktioniert zurzeit nur bei 10bit HDR10, HLG und Dolby-Vision Videos und benötigt die entsprechende OpenCL- oder CUDA-Laufzeitumgebung.", + "AllowTonemappingHelp": "Tone-Mapping kann den Dynamikumfang eines Videos von HDR nach SDR wandeln und dabei die für die Darstellung der Originalszene sehr wichtigen Bilddetails und Farben beibehalten. Dies funktioniert zurzeit nur bei 10bit HDR10, HLG und Dolby-Vision Videos und benötigt die entsprechende GPGPU-Laufzeitumgebung.", "TonemappingRangeHelp": "Wähle den Ausgabefarbraum aus. Auto ist derselbe wie der Eingabefarbraum.", "TonemappingAlgorithmHelp": "Das Tone-Mapping kann fein abgestimmt werden. Wenn du mit diesen Optionen nicht vertraut bist, behalte einfach den Standardwert bei. Der empfohlene Wert ist \"BT.2390\".", "LabelTonemappingAlgorithm": "Wähle den zu verwendenden Tone-Mapping-Algorithmus aus", @@ -1798,5 +1798,8 @@ "ChannelResolutionFullHD": "Full HD", "ChannelResolutionUHD4K": "UHD (4K)", "EnableVideoToolboxTonemapping": "VideoToolbox-Tone-Mapping aktivieren", - "AllowVideoToolboxTonemappingHelp": "Hardwarebeschleunigtes Tone-Mapping welches von VideoToolbox zur verfügung gestellt wird. Es funktioniert mit den meisten HDR Formaten wie HDR10, HDR10+ und HLG, aber es funktioniert nicht mit Dolby Vision Profile 5. Dies hat eine höhere Priorität verglichen mit einer anderen OpenCL implementation." + "AllowVideoToolboxTonemappingHelp": "Hardwarebeschleunigtes Tone-Mapping welches von VideoToolbox zur verfügung gestellt wird. Es funktioniert mit den meisten HDR Formaten wie HDR10, HDR10+ und HLG, aber es funktioniert nicht mit Dolby Vision Profile 5. Dies hat eine höhere Priorität verglichen mit einer anderen OpenCL implementation.", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Nur Medien mit mindestens einem der spezifizierten Tags anzeigen.", + "BlockContentWithTagsHelp": "Medien mit mindestens einem der spezifizierten Tags verstecken." } From acd8939af0a1c00c3663624921d02dab20873f5b Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Tue, 2 Apr 2024 07:06:46 +0000 Subject: [PATCH 164/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index a5bcc21a65..c4964fe082 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -160,8 +160,8 @@ "EnableExternalVideoPlayers": "Externe videospelers", "EnableExternalVideoPlayersHelp": "Bij het afspelen van video's wordt een menu voor externe spelers getoond.", "EnableHardwareEncoding": "Hardwarecodering inschakelen", - "EnableNextVideoInfoOverlay": "Volgende video tonen tijdens afspelen", - "EnableNextVideoInfoOverlayHelp": "Toon aan het einde van de video informatie over de volgende video in de afspeellijst.", + "EnableNextVideoInfoOverlay": "Informatie over volgende video tonen tijdens afspelen", + "EnableNextVideoInfoOverlayHelp": "Toon aan het einde van een video informatie over de eerstvolgende video in de huidige afspeellijst.", "EnablePhotos": "Foto's weergeven", "EnablePhotosHelp": "Afbeeldingen worden herkend en weergegeven naast andere mediabestanden.", "EnableStreamLooping": "Livestreams automatisch herhalen", @@ -372,7 +372,7 @@ "HeaderUploadImage": "Afbeelding uploaden", "HeaderUser": "Gebruiker", "HeaderUsers": "Gebruikers", - "HeaderVideoQuality": "Videokwaliteit", + "HeaderVideoQuality": "Beeldkwaliteit", "HeaderVideoType": "Videotype", "HeaderVideoTypes": "Videotypes", "HeaderVideos": "Video's", @@ -642,7 +642,7 @@ "LabelSkipIfAudioTrackPresent": "Overslaan als het standaard geluidsspoor overeenkomt met de taal van de download", "LabelSkipIfAudioTrackPresentHelp": "Vink dit uit om ervoor te zorgen dat alle video's ondertiteling krijgen, ongeacht de geluidstaal.", "LabelSkipIfGraphicalSubsPresent": "Overslaan als de video al ingesloten ondertiteling heeft", - "LabelSkipIfGraphicalSubsPresentHelp": "Tekstversies van ondertiteling opslaan zal video's efficiënter overbrengen en de kans op transcodering van video's verkleinen.", + "LabelSkipIfGraphicalSubsPresentHelp": "Het opslaan van tekstversies van ondertiteling zal video's efficiënter overbrengen en de kans op beeldtranscodering verkleinen.", "LabelSonyAggregationFlags": "Sony-aggregatievlaggen", "LabelSonyAggregationFlagsHelp": "Bepaal de inhoud van het 'aggregationFlags'-element in de 'urn:schemas-sonycom:av'-namespace.", "LabelSortBy": "Sorteren op", @@ -873,7 +873,7 @@ "OptionReportByteRangeSeekingWhenTranscoding": "Rapporteer dat de server byte zoeken tijdens transcoderen ondersteunt", "OptionReportByteRangeSeekingWhenTranscodingHelp": "Dit is vereist voor bepaalde apparaten die niet zo goed op tijd kunnen zoeken.", "OptionRequirePerfectSubtitleMatch": "Alleen ondertiteling downloaden die perfect met het videobestand overeenkomt", - "OptionRequirePerfectSubtitleMatchHelp": "Een perfecte overeenkomst vereisen zal de alleen ondertiteling downloaden die getest en geverifieerd zijn met je exacte videobestand. Dit uitvinken zal de kans om ondertiteling te vinden vergroten, maar ook de kans op niet-gelijklopende of verkeerde ondertiteling vergroten.", + "OptionRequirePerfectSubtitleMatchHelp": "Een perfecte overeenkomst vereisen zal alleen ondertiteling downloaden die getest en geverifieerd is met je exacte videobestand. Dit uitvinken zal de kans om ondertiteling te vinden vergroten, maar ook de kans op niet-gelijklopende of verkeerde ondertiteling vergroten.", "OptionResumable": "Hervatbaar", "OptionSaveMetadataAsHidden": "Metadata en afbeeldingen opslaan als verborgen bestanden", "OptionSaveMetadataAsHiddenHelp": "Dit wijzigen zal van toepassing zijn op nieuwe metadata. Bestaande metadata-bestanden worden pas bijgewerkt de volgende keer dat ze door de server worden opgeslagen.", @@ -1205,8 +1205,8 @@ "LabelWeb": "Web", "LeaveBlankToNotSetAPassword": "Je kunt dit veld leeg laten om geen wachtwoord in te stellen.", "DashboardServerName": "Server: {0}", - "LabelVideoBitrate": "Videobitsnelheid", - "LabelVideoCodec": "Videocodec", + "LabelVideoBitrate": "Beeldbitsnelheid", + "LabelVideoCodec": "Beeldcodec", "LabelXDlnaCap": "Device Capability-id", "DashboardVersionNumber": "Versie: {0}", "DashboardArchitecture": "Architectuur: {0}", @@ -1256,7 +1256,7 @@ "NoCreatedLibraries": "Het lijkt erop dat er nog geen bibliotheek is gecreëerd. {0}Wil je er nu een aanmaken?{1}", "Movie": "Film", "MessageConfirmAppExit": "Wil je afsluiten?", - "LabelVideoResolution": "Videoresolutie", + "LabelVideoResolution": "Beeldresolutie", "LabelStreamType": "Streamtype", "UnsupportedPlayback": "Jellyfin kan DRM-beschermde inhoud niet ontsleutelen. Alle inhoud zal geprobeerd worden om te ontsleutelen inclusief beschermde titels. Sommige bestanden kunnen volledig zwart zijn vanwege de versleuteling of andere niet ondersteunde functies, zoals interactieve titels.", "OnApplicationStartup": "Bij opstarten applicatie", @@ -1410,10 +1410,10 @@ "LabelOpenclDevice": "OpenCL-apparaat", "LabelColorTransfer": "Kleuroverdracht", "LabelColorSpace": "Kleurbereik", - "LabelVideoRange": "Videobereik", + "LabelVideoRange": "Beeldbereik", "MediaInfoColorTransfer": "Kleuroverdracht", "MediaInfoColorSpace": "Kleurbereik", - "MediaInfoVideoRange": "Videobereik", + "MediaInfoVideoRange": "Beeldbereik", "QuickConnect": "Quick Connect", "LabelQuickConnectCode": "Quick Connect-code", "EnableAutoCast": "Instellen als standaard", @@ -1502,7 +1502,7 @@ "MessagePlaybackError": "Er is een fout opgetreden bij het afspelen van dit bestand op je Google Cast-ontvanger.", "MessageChromecastConnectionError": "Je Google Cast-ontvanger kan niet verbinden met de Jellyfin-server. Controleer de verbinding en probeer het opnieuw.", "LabelMinAudiobookResumeHelp": "Titels worden als niet afgespeeld beschouwd indien gestopt voor deze tijd.", - "AllowVppTonemappingHelp": "Volledig op Intel-stuurprogramma gebaseerde tonemapping werkt momenteel alleen op sommige hardware met HDR10-video's. Dit heeft een hogere prioriteit ten opzichte van andere OpenCL-implementaties.", + "AllowVppTonemappingHelp": "Volledig op Intel-stuurprogramma gebaseerde tonemapping. Dit werkt momenteel alleen met HDR10-video's op bepaalde hardware. Dit heeft een hogere prioriteit dan een andere OpenCL-implementatie.", "EnableVppTonemapping": "VPP-tonemapping inschakelen", "EnableEnhancedNvdecDecoder": "Verbeterde NVDEC-decoder inschakelen", "Framerate": "Beeldsnelheid", @@ -1631,7 +1631,7 @@ "HomeVideosPhotos": "Homevideo's en foto's", "EnableRewatchingNextUpHelp": "Laat reeds gekeken afleveringen zien in sectie 'Volgende'.", "ContainerBitrateExceedsLimit": "De bitsnelheid van de video overschrijdt de limiet", - "LabelMaxVideoResolution": "Maximaal toegestane resolutie voor transcoderingen", + "LabelMaxVideoResolution": "Maximaal toegestane beeldtranscoderingsresolutie", "UnknownAudioStreamInfo": "De audiostreaminformatie is onbekend", "UnknownVideoStreamInfo": "De videostreaminformatie is onbekend", "VideoBitrateNotSupported": "De bitsnelheid van de video wordt niet ondersteund", @@ -1644,10 +1644,10 @@ "ScreenResolution": "Schermresolutie", "RememberSubtitleSelections": "Ondertitelspoor instellen op basis van vorig item", "RememberAudioSelections": "Audiospoor instellen op basis van vorig item", - "IgnoreDtsHelp": "Deze optie uitschakelen kan problemen oplossen, zoals onbrekend geluid bij kanalen met aparte audio- en videostreams.", + "IgnoreDtsHelp": "Deze optie uitschakelen kan problemen zoals onbrekend geluid oplossen bij kanalen met aparte beeld- en geluidstreams.", "IgnoreDts": "DTS negeren (tijdstempel decoderen)", "RememberSubtitleSelectionsHelp": "Probeer het ondertitelspoor zo in te stellen dat dit met de vorige video overeenkomt.", - "RememberAudioSelectionsHelp": "Probeer het audiospoor zo in te stellen dat dit met de vorige video overeenkomt.", + "RememberAudioSelectionsHelp": "Probeer het geluidsspoor zo in te stellen dat dit met de vorige video overeenkomt.", "MediaInfoDvBlSignalCompatibilityId": "Id voor signaalcompatibiliteit DV-bl", "MediaInfoBlPresentFlag": "Voorinstelling DV-bl", "MediaInfoElPresentFlag": "Voorinstelling DV-el", @@ -1850,7 +1850,7 @@ "PlaybackError.MEDIA_NOT_SUPPORTED": "Afspelen is mislukt omdat de media niet wordt ondersteund door de cliënt.", "PlaybackError.NO_MEDIA_ERROR": "Kon geen geldige mediabron vinden om af te spelen.", "LimitSupportedVideoResolution": "Maximaal ondersteunde beeldresolutie begrenzen", - "LimitSupportedVideoResolutionHelp": "Gebruik 'maximaal toegestane beeldtransocderingsresolutie' als maximaal ondersteunde beeldresolutie.", + "LimitSupportedVideoResolutionHelp": "Gebruik 'maximaal toegestane beeldtranscoderingsresolutie' als maximaal ondersteunde beeldresolutie.", "AllowContentWithTagsHelp": "Alleen media tonen met ten minste een van de opgegeven labels.", "BlockContentWithTagsHelp": "Media verbergen met ten minste een van de opgegeven labels.", "LabelEncodingFormatOptions": "Coderingsformaatopties", From 45f1f7397ee493046798307c5f001eb73e9c539f Mon Sep 17 00:00:00 2001 From: Troja Date: Tue, 2 Apr 2024 11:53:24 +0000 Subject: [PATCH 165/293] Translated using Weblate (Belarusian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/be/ --- src/strings/be-by.json | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/strings/be-by.json b/src/strings/be-by.json index 4e2c61893d..446bbb7884 100644 --- a/src/strings/be-by.json +++ b/src/strings/be-by.json @@ -52,7 +52,7 @@ "LabelUser": "Карыстальнік", "Trailer": "Трэйлер", "BehindTheScenes": "За кулісамі", - "EnableEnhancedNvdecDecoderHelp": "Эксперыментальная рэалізацыя NVDEC, не ўключайце гэту опцыю, калі вы не сутыкнуліся з памылкамі дэкадавання.", + "EnableEnhancedNvdecDecoderHelp": "Палепшаная рэалізацыя NVDEC, адключыце гэту опцыю, каб выкарыстоўваць CUVID, калі вы сутыкнуліся з памылкамі дэкадавання.", "LabelYear": "Год", "LatestFromLibrary": "Нядаўна дададзеныя ў {0}", "Lyricist": "Аўтар тэкстаў", @@ -72,7 +72,7 @@ "AllowFfmpegThrottlingHelp": "Калі перакадзіраванне або рэмукс будзе дастаткова далёка ад бягучай пазіцыі прайгравання, прыпыніце працэс, каб ён спажываў менш рэсурсаў. Гэта найбольш карысна пры праглядзе без частага пошуку. Выключыце гэта, калі ўзнікнуць праблемы з прайграваннем.", "AllowOnTheFlySubtitleExtractionHelp": "Убудаваныя субтытры можна атрымаць з відэа і даставіць кліентам у выглядзе звычайнага тэксту, каб прадухіліць перакадзіраванне відэа. У некаторых сістэмах гэта можа заняць шмат часу і прывесці да спынення прайгравання відэа падчас працэсу здабывання. Адключыце гэта, каб убудаваныя субтытры запісваліся пры перакадзіраванні відэа, калі яны не падтрымліваюцца кліенцкай прыладай.", "AllowRemoteAccessHelp": "Калі не пазначыць, усе аддаленыя злучэнні будуць заблакіраваны.", - "AllowTonemappingHelp": "Адлюстраванне тонаў можа пераўтварыць дынамічны дыяпазон відэа з HDR у SDR, захоўваючы дэталі выявы і колеры, якія з'яўляюцца вельмі важнай інфармацыяй для прадстаўлення арыгінальнай сцэны. У цяперашні час працуе толькі з відэа 10bit HDR10, HLG і DoVi. Для гэтага патрабуецца адпаведнае асяроддзе выканання OpenCL або CUDA.", + "AllowTonemappingHelp": "Адлюстраванне тонаў можа пераўтварыць дынамічны дыяпазон відэа з HDR у SDR, захоўваючы дэталі выявы і колеры, якія з'яўляюцца вельмі важнай інфармацыяй для прадстаўлення арыгінальнай сцэны. У цяперашні час працуе толькі з відэа 10bit HDR10, HLG і DoVi. Для гэтага патрабуецца адпаведнае асяроддзе выканання GPGPU.", "AlwaysPlaySubtitles": "Заўсёды граць", "ApiKeysCaption": "Спіс уключаных на дадзены момант ключоў API", "AroundTime": "Каля {0}", @@ -576,7 +576,7 @@ "LabelPlaybackInfo": "Інфармацыя аб прайграванні", "LabelVideoInfo": "Інфармацыя пра відэа", "PreferFmp4HlsContainer": "Аддайце перавагу медыякантэйнеру fMP4-HLS", - "PreferFmp4HlsContainerHelp": "Аддавайце перавагу выкарыстоўванню fMP4 у якасці кантэйнера па змаўчанні для HLS, што дазваляе накіроўваць струменевае змесціва HEVC на прылады, якія падтрымліваюцца.", + "PreferFmp4HlsContainerHelp": "Аддавайце перавагу выкарыстоўванню fMP4 у якасці кантэйнера па змаўчанні для HLS, што дае магчымасць накіраваць струменевае змесціва HEVC і AV1 на прылады, якія падтрымліваюцца.", "AllowHevcEncoding": "Дазволіць кадзіраванне ў фармаце HEVC", "LabelSelectAudioChannels": "Каналы", "YoutubePlaybackError": "Запытанае відэа немагчыма прайграць.", @@ -586,7 +586,7 @@ "EnableVppTonemapping": "Уключыць VPP Tone mapping", "LabelEnableGamepad": "Уключыць геймпад", "VideoCodecNotSupported": "Відэакодэк не падтрымліваецца", - "H264CrfHelp": "\"Каэфіцыент пастаяннай хуткасці\" (CRF) - гэта налада якасці па змаўчанні для кадавальніка x264 і x265. Вы можаце ўсталяваць значэнні ад 0 да 51, дзе больш нізкія значэнні прывядуць да лепшай якасці (за кошт большага памеру файла). Разумныя значэнні знаходзяцца паміж 18 і 28. Значэнне па змаўчанні для x264 роўна 23, а для x265 - 28, так што вы можаце выкарыстоўваць гэта як адпраўную кропку.", + "H264CrfHelp": "\"Каэфіцыент пастаяннай хуткасці\" (CRF) - гэта налада якасці па змаўчанні для праграмных кадавальнікаў x264 і x265. Вы можаце ўсталяваць значэнні ад 0 да 51, дзе больш нізкія значэнні прывядуць да лепшай якасці (за кошт большага памеру файла). Разумныя значэнні знаходзяцца паміж 18 і 28. Значэнне па змаўчанні для x264 роўна 23, а для x265 - 28, так што вы можаце выкарыстоўваць гэта як адпраўную кропку. Апаратныя кадавальнікі не выкарыстоўваюць гэтыя параметры.", "HDPrograms": "HD-праграмы", "AnamorphicVideoNotSupported": "Анаморфнае відэа не падтрымліваецца", "SecondaryAudioNotSupported": "Другасныя гукавыя дарожкі не падтрымліваюцца", @@ -704,7 +704,7 @@ "LabelColorTransfer": "Перадача колеру", "LabelCommunityRating": "Рэйтынг супольнасці", "LabelContentType": "Тып кантэнту", - "LabelCountry": "Краіна", + "LabelCountry": "Краіна/Рэгіён", "LabelCreateHttpPortMap": "Уключыць аўтаматычнае адлюстраванне партоў для трафіку HTTP, а таксама HTTPS.", "LabelCreateHttpPortMapHelp": "Дазволіць аўтаматычнае супастаўленне партоў для стварэння правіла для трафіку HTTP у дадатак да трафіку HTTPS.", "LabelCriticRating": "Ацэнка крытыкаў", @@ -1725,7 +1725,7 @@ "LabelSyncPlayNoGroups": "Няма даступных груп", "Notifications": "Апавяшчэнні", "NotificationsMovedMessage": "Функцыянальнасць апавяшчэнняў перанесена ў плагін Webhook.", - "AllowSegmentDeletionHelp": "Выдаліць старыя сегменты пасля іх адпраўкі кліенту. Гэта пазбаўляе ад неабходнасці захоўваць увесь перакадаваны файл на дыску. Будзе працаваць толькі з уключаным рэгуляваннем. Выключыце гэта, калі ўзнікнуць праблемы з прайграваннем.", + "AllowSegmentDeletionHelp": "Выдаліць старыя сегменты пасля таго, як яны былі загружаны кліентам. Гэта пазбаўляе ад неабходнасці захоўваць увесь перакадаваны файл на дыску. Выключыце гэта, калі ўзнікнуць праблемы з прайграваннем.", "LabelSystem": "Сістэма", "HeaderEpisodesStatus": "Статус эпізодаў", "LogLevel.None": "Нічога", @@ -1747,7 +1747,7 @@ "LabelThrottleDelaySeconds": "Абмежаваць пасля", "LabelThrottleDelaySecondsHelp": "Час у секундах, пасля якога транскодэр будзе затарможаны. Павінен быць дастаткова вялікім, каб кліент падтрымліваў спраўны буфер. Працуе, толькі калі ўключана рэгуляванне.", "LabelSegmentKeepSeconds": "Час захавання сегментаў", - "LabelSegmentKeepSecondsHelp": "Час у секундах, на працягу якога сегменты павінны захоўвацца перад іх перазапісам. Павінна быць больш, чым \"Абмежаваць пасля\". Працуе, толькі калі ўключана выдаленне сегмента.", + "LabelSegmentKeepSecondsHelp": "Час у секундах, на працягу якога сегменты павінны захоўвацца пасля іх загрузкі кліентам. Працуе, толькі калі ўключана выдаленне сегмента.", "LabelLevel": "Узровень", "AiTranslated": "У перакладзе ШІ", "MachineTranslated": "Машынны пераклад", @@ -1767,5 +1767,26 @@ "BackdropScreensaver": "Фонавая застаўка", "LabelSelectAudioNormalization": "Нармалізацыя гуку", "LabelAlbumGain": "Узмацненне альбома", - "LogoScreensaver": "Застаўка з лагатыпам" + "LogoScreensaver": "Застаўка з лагатыпам", + "ButtonEditUser": "Рэдагаваць карыстальніка", + "LabelJpegQualityHelp": "Якасць сціску JPEG для відарысаў падманнага прайгравання.", + "AirPlay": "AirPlay", + "AllowSubtitleManagement": "Дазволіць гэтаму карыстальніку рэдагаваць субтытры", + "BlockContentWithTagsHelp": "Схаваць мультымедыя хаця б з адным з указаных тэгаў.", + "DlnaMovedMessage": "Функцыянальнасць DLNA перанесена на плагін.", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionSD": "SD", + "ChannelResolutionFullHD": "Full HD", + "ChannelResolutionHD": "HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "DeleteEntireSeries": "Выдаліць {0} эпізодаў", + "DeleteSeries": "Выдаліць серыял", + "DeleteEpisode": "Выдаліць эпізод", + "EnableLibrary": "Уключыць бібліятэку", + "EnableLibraryHelp": "Адключэнне бібліятэкі схавае яе ад усіх карыстальнікаў.", + "LabelJpegQuality": "Якасць JPEG", + "LabelQscale": "Qscale", + "HeaderAllRecordings": "Усе запісы", + "DeleteName": "Выдаліць {0}", + "EnableSmoothScroll": "Уключыць плаўную пракрутку" } From eefdb5813464afa06f8758eb12dbc63cd90e070e Mon Sep 17 00:00:00 2001 From: myrad2267 Date: Tue, 2 Apr 2024 10:55:19 +0000 Subject: [PATCH 166/293] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 45fb134a9f..fecba21816 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -211,7 +211,7 @@ "GroupVersions": "Grouper les versions", "GuideProviderLogin": "Connexion", "GuideProviderSelectListings": "Sélectionner les programmes", - "H264CrfHelp": "Le facteur de débit constant (CRF) est le paramètre de qualité par défaut pour les encodeurs x264 et x265. Choisir une valeur comprise entre 0 et 51 en tenant compte qu'une valeur inférieure produit une vidéo de meilleure qualité au prix d'une taille de fichier plus importante. Les valeurs considérées comme saines sont comprises entre 18 et 28. Les valeurs par défaut, 23 pour x264 et 28 pour x265, peuvent être utilisées comme point de départ pour le réglage.", + "H264CrfHelp": "Le facteur de débit constant (CRF) est le paramètre de qualité par défaut pour les encodeurs x264 et x265. Choisir une valeur comprise entre 0 et 51 en tenant compte qu'une valeur inférieure produit une vidéo de meilleure qualité au prix d'une taille de fichier plus importante. Les valeurs considérées comme saines sont comprises entre 18 et 28. Les valeurs par défaut, 23 pour x264 et 28 pour x265, peuvent être utilisées comme point de départ pour le réglage. Les encodages matériels n'utilisent pas ces paramètres.", "EncoderPresetHelp": "Choisir un profil d'encodage plus rapide améliorera la performance tandis qu'un profil plus lent favorisera la qualité.", "HDPrograms": "Programmes HD", "HardwareAccelerationWarning": "L'activation de l'accélération matérielle peut provoquer l'instabilité de certains environnements. Merci de vous assurer que le système d'exploitation et les pilotes vidéo sont tous complètement à jour. Si vous avez des difficultés pour lire des vidéos après l'activation, merci de remettre ce paramètre sur 'Aucun'.", @@ -1813,5 +1813,8 @@ "EnableSmoothScroll": "Activer le défilement fluide", "Lyric": "Parole", "LimitSupportedVideoResolution": "Limiter la résolution vidéo maximale prise en charge", - "LimitSupportedVideoResolutionHelp": "Utiliser la 'Résolution de transcodage vidéo maximale autorisée' comme résolution vidéo maximale prise en charge." + "LimitSupportedVideoResolutionHelp": "Utiliser la 'Résolution de transcodage vidéo maximale autorisée' comme résolution vidéo maximale prise en charge.", + "EnableLibrary": "Activer la médiathèque", + "EnableLibraryHelp": "La désactivation de la médiathèque la masquera de toutes les vues utilisateur.", + "AirPlay": "Diffusion" } From 5918ed94b35912addc943fe04393f57f9b119a10 Mon Sep 17 00:00:00 2001 From: nextlooper42 Date: Tue, 2 Apr 2024 15:12:21 +0000 Subject: [PATCH 167/293] Translated using Weblate (Slovak) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sk/ --- src/strings/sk.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/sk.json b/src/strings/sk.json index 1348a13459..d19b3f25f3 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -949,7 +949,7 @@ "HeaderAdditionalParts": "Dodatočné časti", "HardwareAccelerationWarning": "Povolenie hardvérovej akcelerácie môže spôsobiť nestabilitu v niektorých podmienkach. Uistite sa, že váš operačný systém a grafické ovládače sú plne aktualizované. Pokiaľ máte po zapnutí problémy s prehrávaním videa, budete musieť zmeniť nastavenie späť na Žiadne.", "EncoderPresetHelp": "Vyberte hodnotu faster pre zlepšenie výkonu alebo hodnotu slower pre zlepšenie kvality.", - "H264CrfHelp": "Constant Rate Factor (CRF) je predvoleným nastavením kvality pre x264 a x265 kodér. Môžete mu nadstaviť hodnotu medzi 0 a 51, kde nižšia hodnota vedie k vyššej kvalite (za cenu väčšieho súboru). Rozumné hodnoty sú medzi 18 a 28. Predvolená hodnota pre x264 je 23 a pre x265 je 28, ktoré môžete použiť ako východzie body.", + "H264CrfHelp": "Constant Rate Factor (CRF) je predvoleným nastavením kvality pre softvérové x264 a x265 kódery. Môžete mu nadstaviť hodnotu medzi 0 a 51, kde nižšia hodnota vedie k vyššej kvalite (za cenu väčšieho súboru). Rozumné hodnoty sú medzi 18 a 28. Predvolená hodnota pre x264 je 23 a pre x265 je 28, ktoré môžete použiť ako východzie body. Hardvérové kódery tieto nastavenia nepoužívajú.", "GuideProviderSelectListings": "Výber zobrazenia", "GroupVersions": "Skupinové verzie", "FetchingData": "Načítavanie dodatočných dát", @@ -1856,5 +1856,7 @@ "ExtractTrickplayImagesHelp": "Obrázky Trickplay sú podobné obrázkom kapitol, ale pokrývajú celú dĺžku obsahu a používajú sa na zobrazenie náhľadu pri pretáčaní videa.", "LabelExtractTrickplayDuringLibraryScan": "Extrahovanie trickplay obrazov počas skenovania knižnice", "LabelExtractTrickplayDuringLibraryScanHelp": "Generovanie trickplay obrázkov videí počas skenovania knižnice. Ak je táto možnosť vypnutá, trickplay obrázky sa budú generovať počas naplánovanej úlohy. Ak je generovanie nastavené na neblokujúce, neovplyvní to čas potrebný na dokončenie skenovania knižnice.", - "Lyric": "Texty" + "Lyric": "Texty", + "EnableLibrary": "Povoliť knižnicu", + "EnableLibraryHelp": "Zakázaním knižnice ju skryjete zo všetkých zobrazení používateľa." } From 4ff5a8b2c41692f33975fd4d2b9bf5e71d145d4c Mon Sep 17 00:00:00 2001 From: queeup Date: Wed, 3 Apr 2024 12:52:07 +0000 Subject: [PATCH 168/293] Translated using Weblate (Turkish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/ --- src/strings/tr.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/strings/tr.json b/src/strings/tr.json index 186678328c..928623001c 100644 --- a/src/strings/tr.json +++ b/src/strings/tr.json @@ -384,7 +384,7 @@ "HardwareAccelerationWarning": "Donanım ivmesini etkinleştirmek bazı ortamlarda dengesizliğe neden olabilir. İşletim sisteminizin ve video sürücülerinizin tamamen güncel olduğundan emin olun. Bunu etkinleştirdikten sonra video oynatmakta zorluk çekiyorsanız, ayarı tekrar \"Hiçbiri\" olarak değiştirmeniz gerekecektir.", "HDPrograms": "HD programlar", "EncoderPresetHelp": "Performansı artırmak için daha hızlı bir değer veya kaliteyi artırmak için daha yavaş bir değer seçin.", - "H264CrfHelp": "\"Sabit Hız Faktörü\" (CRF), x264 ve x265 kodlayıcıları için varsayılan kalite ayarıdır. Değerleri 0 ile 51 arasında ayarlayabilirsiniz, burada daha düşük değerler daha iyi kaliteyle sonuçlanır (daha yüksek dosya boyutları pahasına). Aklı başında değerleri 18 ila 28 arasındadır. x264 için varsayılan 23, x265 için de 28, bu nedenle bunu başlangıç noktası olarak kullanabilirsiniz.", + "H264CrfHelp": "'Sabit Hız Faktörü' (CRF), x264 ve x265 yazılım kodlayıcıları için varsayılan kalite ayarıdır. Değerleri 0 ile 51 arasında ayarlayabilirsiniz, burada daha düşük değerler daha iyi kaliteyle sonuçlanır (daha yüksek dosya boyutları pahasına). Aklı başında değerleri 18 ila 28 arasındadır. x264 için varsayılan 23, x265 için de 28, bu nedenle bunu başlangıç noktası olarak kullanabilirsiniz. Donanım kodlayıcıları bu ayarları kullanmaz.", "GuideProviderSelectListings": "Listeleri Seçin", "GuideProviderLogin": "Oturum aç", "Guide": "Rehber", @@ -1845,5 +1845,10 @@ "PriorityNormal": "Normal", "AllowSubtitleManagement": "Bu kullanıcının altyazıları düzenlemesine izin ver", "EnableSmoothScroll": "Akıcı kaydırmayı etkinleştir", - "Lyric": "Şarkı sözü" + "Lyric": "Şarkı sözü", + "AirPlay": "AirPlay", + "LabelEncodingFormatOptions": "Kodlama biçimi seçenekleri", + "EncodingFormatHelp": "Jellyfin'in kod dönüştürme yapacağı video kodlamasını seçin. Jellyfin, seçilen biçim için donanım hızlandırması mevcut olmadığında yazılım kodlamasını kullanacaktır. H264 kodlaması her zaman etkin olacaktır.", + "EnableLibrary": "Kütüphaneyi etkinleştir", + "EnableLibraryHelp": "Kütüphanenin devre dışı bırakılması kütüphaneyi tüm kullanıcı görünümlerinden gizleyecektir." } From 3f9cc454f8c8303134e1f21d0e80eb2df7e51969 Mon Sep 17 00:00:00 2001 From: queeup Date: Wed, 3 Apr 2024 13:02:02 +0000 Subject: [PATCH 169/293] Translated using Weblate (Turkish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/tr/ --- src/strings/tr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/strings/tr.json b/src/strings/tr.json index 928623001c..7f4c7d8c06 100644 --- a/src/strings/tr.json +++ b/src/strings/tr.json @@ -199,7 +199,7 @@ "ButtonPreviousTrack": "Önceki parça", "ButtonRename": "Yeniden adlandır", "ButtonResume": "Sürdür", - "ButtonRevoke": "Geri al", + "ButtonRevoke": "İptal et", "ChannelNumber": "Kanal numarası", "ContinueWatching": "İzlemeye devam et", "CriticRating": "Eleştirmen puanı", @@ -881,7 +881,7 @@ "Menu": "Menü", "EnableBlurHashHelp": "Hala yüklenmekte olan resimler benzersiz bir yer tutucuyla görüntülenecektir.", "EnableBlurHash": "Resimler için bulanık yer tutucuları etkinleştir", - "AllowTonemappingHelp": "Ton eşleme, orijinal sahneyi temsil etmek için çok önemli bilgiler olan görüntü ayrıntılarını ve renkleri korurken bir videonun dinamik aralığını HDR'den SDR'ye dönüştürebilir. Şu anda yalnızca 10bit HDR10,HLG ve DoVi videolarla çalışmaktadır. Bunun için ilgili GPGPU çalışma zamanı gerekir.", + "AllowTonemappingHelp": "Ton eşleme, orijinal sahneyi temsil etmek için çok önemli bilgiler olan görüntü ayrıntılarını ve renkleri korurken bir videonun dinamik aralığını HDR'den SDR'ye dönüştürebilir. Şu anda yalnızca 10bit HDR10, HLG ve DoVi videolarla çalışmaktadır. Bunun için ilgili GPGPU çalışma zamanı gerekir.", "LabelAutomaticDiscovery": "Otomatik Keşfetmeyi Etkinleştir", "LabelAutoDiscoveryTracingHelp": "Etkinleştirildiğinde, otomatik keşfetme bağlantı noktasına gelen paketler günlüğe kaydedilir.", "LabelAutoDiscoveryTracing": "Otomatik Keşfetme izlemesini etkinleştirin.", From 99fed7a20dcd1a11cb1247217bb9c84d4546ca82 Mon Sep 17 00:00:00 2001 From: myrad2267 Date: Wed, 3 Apr 2024 18:31:08 +0000 Subject: [PATCH 170/293] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index fecba21816..56034fe07e 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1649,7 +1649,7 @@ "OriginalAirDate": "Date de diffusion originale", "MessageUnauthorizedUser": "Vous n'êtes pas autorisé à accéder au serveur pour le moment. Veuillez contacter votre administrateur de serveur pour plus d'informations.", "Digital": "Numérique", - "EnableEnhancedNvdecDecoderHelp": "Implémentation expérimentale de NVDEC, à n'utiliser que si des erreurs apparaissent lors du décodage.", + "EnableEnhancedNvdecDecoderHelp": "Implémentation NVDEC améliorée, désactivez cette option pour utiliser CUVID si vous rencontrez des erreurs de décodage.", "HomeVideosPhotos": "Vidéos et photos personnelles", "LabelTextWeight": "Poids de la police", "Bold": "Gras", @@ -1798,7 +1798,7 @@ "LabelUseReplayGainTagsHelp": "Scanne les fichiers audio à la recherche de tags replaygain et les utilise au lieu de calculer la valeur LUFS. (Utilise moins de ressources. Passe outre l'option 'Scanne LUFS')", "LabelUseReplayGainTags": "Utiliser les tags ReplayGain", "EnableVideoToolboxTonemapping": "Activer le tone-mapping VideoToolbox", - "AllowVideoToolboxTonemappingHelp": "Tone-mapping via l'accélération matérielle par VideoToolbox. Fonctionne avec la majorité des formats HDR, incluant le HDR10, HDR10+, et HLG, mais ne fonctionne pas avec le Dolby Vision Profile 5. Cela a une priorité plus élevé comparé à une autre implémentation OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Tone-mapping via l'accélération matérielle par VideoToolbox. Fonctionne avec la majorité des formats HDR, incluant le HDR10, HDR10+, et HLG, mais ne fonctionne pas avec le Dolby Vision Profile 5. Cela a une priorité plus élevé comparé à une autre implémentation Metal.", "PlaybackError.FATAL_HLS_ERROR": "Une erreur fatale a été rencontrée dans le flux HLS.", "PlaybackError.ASS_RENDER_ERROR": "Une erreur a été rencontrée dans le moteur de rendu des sous-titres ASS/SSA.", "AllowContentWithTagsHelp": "Afficher uniquement les médias comportant au moins l'une des étiquettes spécifiées.", @@ -1816,5 +1816,11 @@ "LimitSupportedVideoResolutionHelp": "Utiliser la 'Résolution de transcodage vidéo maximale autorisée' comme résolution vidéo maximale prise en charge.", "EnableLibrary": "Activer la médiathèque", "EnableLibraryHelp": "La désactivation de la médiathèque la masquera de toutes les vues utilisateur.", - "AirPlay": "Diffusion" + "AirPlay": "Diffusion", + "LabelEncodingFormatOptions": "Options de format d'encodage", + "AllowMjpegEncoding": "Autoriser l'encodage au format MJPEG (utilisé lors de la génération trickplay)", + "EncodingFormatHelp": "Sélectionnez l'encodage vidéo vers lequel Jellyfin doit transcoder. Jellyfin utilisera le codage logiciel lorsque l'accélération matérielle pour le format sélectionné n'est pas disponible. L’encodage H264 sera toujours activé.", + "PlaybackError.SERVER_ERROR": "La lecture a échoué à cause d'une erreur serveur.", + "PlaybackError.NotAllowed": "La lecture de ce média n'est pas autorisée.", + "PlaybackError.RateLimitExceeded": "Ce média ne peut pas être lu à cause de la limite de débit." } From 82292d5715c1a53359879943f0a739399322d43e Mon Sep 17 00:00:00 2001 From: myrad2267 Date: Thu, 4 Apr 2024 00:36:12 +0000 Subject: [PATCH 171/293] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 56034fe07e..96ff6622ef 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1822,5 +1822,41 @@ "EncodingFormatHelp": "Sélectionnez l'encodage vidéo vers lequel Jellyfin doit transcoder. Jellyfin utilisera le codage logiciel lorsque l'accélération matérielle pour le format sélectionné n'est pas disponible. L’encodage H264 sera toujours activé.", "PlaybackError.SERVER_ERROR": "La lecture a échoué à cause d'une erreur serveur.", "PlaybackError.NotAllowed": "La lecture de ce média n'est pas autorisée.", - "PlaybackError.RateLimitExceeded": "Ce média ne peut pas être lu à cause de la limite de débit." + "PlaybackError.RateLimitExceeded": "Ce média ne peut pas être lu à cause de la limite de débit.", + "LabelImageInterval": "Intervalle d'image", + "PriorityIdle": "Inactif", + "LabelWidthResolutionsHelp": "Liste séparée par des virgules des largeurs (px) auxquelles les images trickplay seront générées. Toutes les images doivent être générées proportionnellement à la source, donc une largeur de 320 sur une vidéo 16:9 aboutit à environ 320 x 180.", + "LabelExtractTrickplayDuringLibraryScanHelp": "Générez des images trickplay lorsque les vidéos sont importées pendant l'analyse de la médiathèque. Dans le cas contraire, elles seront extraites lors de la tâche programmée trickplay images. Si la génération est définie sur non bloquante, cela n’affectera pas le temps nécessaire à l’analyse de la médiathèque.", + "LabelJpegQualityHelp": "La qualité de compression JPEG pour les images trickplay.", + "LabelQscaleHelp": "L'échelle de qualité des images générées par ffmpeg, 2 étant la qualité la plus élevée et 31 la plus basse.", + "ExtractTrickplayImagesHelp": "Les images Trickplay sont similaires aux images de chapitre, sauf qu'elles couvrent toute la longueur du contenu et sont utilisées pour afficher un aperçu lors du parcours des vidéos.", + "Trickplay": "Trickplay", + "PriorityHigh": "Élevé", + "LabelProcessPriorityHelp": "Un réglage inférieur ou supérieur déterminera la manière dont le processeur donne la priorité au processus de génération de trickplay ffmpeg par rapport aux autres processus. Si vous remarquez un ralentissement lors de la génération d'images trickplay mais que vous ne souhaitez pas arrêter complètement leur génération, essayez de réduire ce ralentissement en modifiant le nombre de threads.", + "LabelImageIntervalHelp": "Intervalle de temps (ms) entre chaque nouvelle image trickplay.", + "LabelWidthResolutions": "Largeur des résolutions", + "LabelTrickplayAccel": "Activer l'accélération matérielle", + "LabelTrickplayAccelHelp": "Assurez-vous d'activer « Autoriser l'encodage MJPEG » dans Transcodage si votre matériel le prend en charge.", + "NonBlockingScan": "Non bloquant - génération de files d'attente, puis retour", + "BlockingScan": "Bloquant - génération de files d'attente, analyse des blocs jusqu'à la fin", + "LabelScanBehavior": "Comportement du scan", + "LabelScanBehaviorHelp": "Le comportement par défaut est non bloquant, ce qui ajoutera des médias à la médiathèque avant que la génération trickplay ne soit terminée. Le blocage garantira que les fichiers trickplay sont générés avant que le média ne soit ajouté à la médiathèque, mais rendra les analyses beaucoup plus longues.", + "PriorityAboveNormal": "Au dessus de la normal", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "En dessous de la normal", + "LabelProcessPriority": "Priorité processus", + "LabelTileWidth": "Largeur des tuiles", + "LabelTileWidthHelp": "Nombre maximum d'images par tuile dans la direction X.", + "LabelTileHeight": "Hauteur des tuiles", + "LabelTileHeightHelp": "Nombre maximum d'images par tuile dans la direction Y.", + "LabelJpegQuality": "Qualité JPEG", + "LabelQscale": "Echelle de qualité", + "LabelTrickplayThreads": "FFmpeg Threads", + "OptionExtractTrickplayImage": "Activer l'extraction d'images trickplay", + "LabelTrickplayThreadsHelp": "Le nombre de threads à transmettre à l'argument '-threads' de ffmpeg.", + "LabelExtractTrickplayDuringLibraryScan": "Extraire les images trickplay pendant l'analyse de la médiathèque", + "PlaybackError.MEDIA_NOT_SUPPORTED": "La lecture a échoué car le média n'est pas pris en charge par ce client.", + "PlaybackError.NETWORK_ERROR": "La lecture a échoué à cause d'une erreur réseau.", + "PlaybackError.NO_MEDIA_ERROR": "Impossible de trouver une source multimédia valide à lire.", + "PlaybackError.PLAYER_ERROR": "La lecture a échoué en raison d'une erreur fatale du joueur." } From 2e1520a93a5d665e6a8b123aa5a04f7d1d3c4d86 Mon Sep 17 00:00:00 2001 From: danielxb-ar Date: Thu, 4 Apr 2024 14:28:02 +0000 Subject: [PATCH 172/293] Translated using Weblate (Spanish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es/ --- src/strings/es.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/es.json b/src/strings/es.json index e58e63d55d..b5da1feacb 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -1414,7 +1414,7 @@ "PosterCard": "Tarjeta de presentación", "EnableAutoCast": "Marcar como predeterminado", "LabelTonemappingDesatHelp": "Aplicar desaturación a realces que excedan este nivel de brillo. Mientras más alto el parámetro, se preservará más información de color. Este ajuste ayuda a prevenir la aparición de colores innecesariamente apagados en realces altos, cambiándolos gradualmente a blanco. Esto hace que las imágenes se vean más naturales, a cambio de reducir información relativa a los colores que estén fuera del rango. Se recomiendan los valores predeterminados 0 y 0.5.", - "AllowTonemappingHelp": "El mapeo de tonos puede transformar el rango dinámico de un video HDR a SDR mientras se mantienen los detalles y colores en la imagen, por lo tanto es importante para representar la escena original. Actualmente solo funciona con vídeos 10bit HDR10, HLG o DoVi. Esto requiere la librería OpenCL o Cuda, según corresponda.", + "AllowTonemappingHelp": "El mapeo de tonos puede transformar el rango dinámico de un video HDR a SDR mientras se mantienen los detalles y colores en la imagen, por lo tanto es importante para representar la escena original. Actualmente solo funciona con vídeos 10bit HDR10, HLG o DoVi. Esto requiere la librería GPGPU.", "LabelOpenclDeviceHelp": "Este es el dispositivo OpenCL que se usará para el mapeo de tonos. La parte izquierda del punto es el número de plataforma, la derecha es el número de dispositivo en la plataforma. El valor predeterminado es 0.0. Se requiere especificar el archivo ejecutable FFmpeg con el método de aceleración por Hardware para OpenCL.", "LabelMaxMuxingQueueSizeHelp": "El número máximo de paquetes que se pueden almacenar en buffer mientras se espera a que se inicialicen todos los flujos. Intenta aumentar este valor si aún encuentras el mensaje de error \"Demasiados paquetes en buffer para transmitir\" en los registros de FFmpeg. El valor recomendado es 2048.", "LabelTonemappingPeakHelp": "Se omitirán los picos de referencia con este valor. Util cuando la información de pico incrustada en los metadatos de imagen no es confiable o cuando se hace un mapeo de tonos de un rango bajo a uno más alto. Se recomiendan los valores predeterminados 100 y 0.", From a8cdfbe76203faac83e755b4bff7c97917e8bce2 Mon Sep 17 00:00:00 2001 From: Tim Zschuppe Date: Fri, 5 Apr 2024 19:18:51 +0000 Subject: [PATCH 173/293] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/strings/de.json b/src/strings/de.json index f3cf09703b..6ed3ae097e 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -200,7 +200,7 @@ "Guide": "Fernsehprogramm", "GuideProviderLogin": "Anmelden", "GuideProviderSelectListings": "Listen wählen", - "H264CrfHelp": "Der Constant Rate Factor (CRF) bezeichnet die Einstellung für die Standardqualität des x264 und x265 Encoders. Setze einen Wert zwischen 0 und 51. Ein niedriger Wert resultiert in besserer Qualität (auf Kosten einer größeren Datei). Gängige Werte sind 18-28. Der Standard für x264 ist 23 und x265 ist 28, diese sollten als Referenzen verwendet werden.", + "H264CrfHelp": "Der Constant Rate Factor (CRF) bezeichnet die Einstellung für die Standardqualität des x264 und x265 Encoders. Setze einen Wert zwischen 0 und 51. Ein niedriger Wert resultiert in besserer Qualität (auf Kosten einer größeren Datei). Gängige Werte sind 18-28. Der Standard für x264 ist 23 und 28 für x265, diese sollten als Referenzen verwendet werden.", "EncoderPresetHelp": "Wähle einen schnelleren Wert um die Performance zu verbessern oder einen langsameren Wert um die Qualität zu verbessern.", "HDPrograms": "HD Programme", "HardwareAccelerationWarning": "Das Aktivieren der Hardwarebeschleunigung kann auf einigen Systemen zu Instabilität führen. Stelle sicher, dass das Betriebssystem sowie die Grafikkarten-Treiber auf dem aktuellsten Stand sind. Wenn nach der Aktivierung Probleme mit der Wiedergabe von Videos auftreten, stelle diese Einstellung zurück auf \"Keine\".", @@ -1801,5 +1801,16 @@ "AllowVideoToolboxTonemappingHelp": "Hardwarebeschleunigtes Tone-Mapping welches von VideoToolbox zur verfügung gestellt wird. Es funktioniert mit den meisten HDR Formaten wie HDR10, HDR10+ und HLG, aber es funktioniert nicht mit Dolby Vision Profile 5. Dies hat eine höhere Priorität verglichen mit einer anderen OpenCL implementation.", "AirPlay": "AirPlay", "AllowContentWithTagsHelp": "Nur Medien mit mindestens einem der spezifizierten Tags anzeigen.", - "BlockContentWithTagsHelp": "Medien mit mindestens einem der spezifizierten Tags verstecken." + "BlockContentWithTagsHelp": "Medien mit mindestens einem der spezifizierten Tags verstecken.", + "EnableLibrary": "Aktiviert die Bibliothek", + "EnableLibraryHelp": "Mit dem deaktivieren der Bibliothek ist sie für keinen Benutzer mehr sichtbar.", + "PlaybackError.ASS_RENDER_ERROR": "Beim rendern der ASS/SSA Untertitel ist ein Fehler aufgetreten.", + "ConfirmDeleteSeries": "Das löschen dieser Serie wird alle {0} Folgen aus deiner Medienbibliothek und dem Dateisystem löschen. Bist du sicher das du fortfahren möchtest?", + "DeleteEntireSeries": "Lösche {0} Folgen", + "DeleteSeries": "Lösche Serien", + "DeleteEpisode": "Lösche Folge", + "HeaderDeleteSeries": "Lösche Serien", + "LabelAllowContentWithTags": "Erlaube Einträge mit Tags", + "Lyric": "Songtext", + "LimitSupportedVideoResolution": "Limitiert die maximale Videoauflösung" } From fd3d7dcd6e87c2ef553325c3a722e821f3bb3e05 Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Fri, 5 Apr 2024 19:45:57 +0000 Subject: [PATCH 174/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 70 ++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index c4964fe082..68a14624b2 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -57,7 +57,7 @@ "ButtonBack": "Terug", "ButtonCancel": "Annuleren", "ButtonChangeServer": "Server wijzigen", - "ButtonEditOtherUserPreferences": "Wijzig het profiel, de afbeelding en persoonlijke voorkeuren van deze gebruiker.", + "ButtonEditOtherUserPreferences": "Profiel, afbeelding en persoonlijke voorkeuren van deze gebruiker wijzigen.", "ButtonForgotPassword": "Wachtwoord vergeten", "ButtonFullscreen": "Volledig scherm", "ButtonGotIt": "Begrepen", @@ -128,7 +128,7 @@ "Depressed": "Onderdrukt", "Descending": "Aflopend", "DetectingDevices": "Apparaten detecteren", - "DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek geïdentificeerd kunnen worden en voorkomen niet toegang via een webbrowser. Filteren van apparaat toegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken totdat deze hier zijn goedgekeurd.", + "DeviceAccessHelp": "Dit geldt alleen voor apparaten die uniek geïdentificeerd kunnen worden en kan toegang via een webbrowser niet tegenhouden. Filteren van apparaattoegang voor gebruikers voorkomt dat zij nieuwe apparaten gebruiken tot deze hier zijn goedgekeurd.", "DirectPlaying": "Direct afspelen", "DirectStreamHelp1": "De beeldstream wordt ondersteund door het apparaat, maar het geluidsformaat (DTS, Dolby TrueHD, etc.) of aantal geluidskanalen wordt niet ondersteund. De beeldstream zal zonder kwaliteitsverlies worden verpakt voor deze naar het apparaat gestuurd wordt. Alleen het geluid wordt getranscodeerd.", "DirectStreamHelp2": "Het stroomverbruik tijdens direct streamen hangt gewoonlijk af van het geluidsprofiel. Er is geen verlies van beeldkwaliteit.", @@ -602,7 +602,7 @@ "LabelPostProcessor": "Nabewerkingstoepassing", "LabelPostProcessorArguments": "Opdrachtpromptargumenten nabewerking", "LabelPostProcessorArgumentsHelp": "Gebruik {path} als het pad naar het opnamebestand.", - "LabelPreferredDisplayLanguage": "Voorkeurstaal weergave", + "LabelPreferredDisplayLanguage": "Weergavetaal (voorkeur)", "LabelPreferredSubtitleLanguage": "Voorkeurstaal ondertiteling", "LabelProfileAudioCodecs": "Geluidscodecs", "LabelProfileCodecsHelp": "Gescheiden door een komma. Dit kan leeg worden gelaten om te laten gelden voor alle codecs.", @@ -732,7 +732,7 @@ "MessageConfirmRecordingCancellation": "Opname annuleren?", "MessageConfirmRemoveMediaLocation": "Weet je zeker dat je deze locatie wilt verwijderen?", "MessageConfirmRestart": "Weet je zeker dat je Jellyfin wilt herstarten?", - "MessageConfirmRevokeApiKey": "Weet je zeker dat je deze API-sleutel in wilt trekken? De verbinding van de applicatie met deze server zal plotseling verbroken worden.", + "MessageConfirmRevokeApiKey": "Weet je zeker dat je deze API-sleutel wilt intrekken? De verbinding van de toepassing met deze server zal plotseling verbroken worden.", "MessageConfirmShutdown": "Weet je zeker dat je de server wilt afsluiten?", "MessageContactAdminToResetPassword": "Neem contact op met je systeembeheerder om je wachtwoord te herstellen.", "MessageCreateAccountAt": "Account aanmaken bij {0}", @@ -813,11 +813,11 @@ "OptionAllowMediaPlaybackTranscodingHelp": "Het beperken van toegang tot transcodering kan afspeelfouten bij clients veroorzaken vanwege niet-ondersteunde mediaformaten.", "OptionAllowRemoteControlOthers": "Op afstand besturen van andere gebruikers toestaan", "OptionAllowRemoteSharedDevices": "Op afstand besturen van gedeelde apparaten toestaan", - "OptionAllowRemoteSharedDevicesHelp": "DLNA apparaten worden als gedeeld apparaat gezien totdat een gebruiker deze gaat gebruiken.", + "OptionAllowRemoteSharedDevicesHelp": "DLNA-apparaten worden als gedeeld gezien tot een gebruiker deze gaat bedienen.", "OptionAllowSyncTranscoding": "Het downloaden en synchroniseren van media via transcoding toestaan", "OptionAllowUserToManageServer": "Deze gebruiker mag de server beheren", - "OptionAllowVideoPlaybackRemuxing": "Afspelen toestaan van video's die omzetten vereisen zonder hercoderen", - "OptionAllowVideoPlaybackTranscoding": "Afspelen toestaan van video's die transcoderen vereisen", + "OptionAllowVideoPlaybackRemuxing": "Afspelen toestaan van beeld dat omzetten (zonder hercoderen) vereist", + "OptionAllowVideoPlaybackTranscoding": "Afspelen toestaan van beeld dat transcoderen vereist", "OptionAutomaticallyGroupSeries": "Automatisch series samenvoegen die over meerdere mappen zijn verspreid", "OptionAutomaticallyGroupSeriesHelp": "Series die verspreid zijn over meerdere mappen binnen deze bibliotheek worden automatisch samengevoegd tot één serie.", "OptionBluray": "BD", @@ -830,7 +830,7 @@ "OptionDateAddedImportTime": "Datum bibliotheekscan gebruiken", "OptionDatePlayed": "Datum afgespeeld", "OptionDisableUser": "Deze gebruiker uitschakelen", - "OptionDisableUserHelp": "De server staat geen verbindingen van deze gebruiker toe. Bestaande verbindingen zullen abrupt worden beëindigd.", + "OptionDisableUserHelp": "De server zal geen verbindingen van deze gebruiker toestaan. Bestaande verbindingen zullen abrupt worden beëindigd.", "OptionDislikes": "Niet leuk", "OptionDisplayFolderView": "Weergave met mappenstructuur tonen", "OptionDisplayFolderViewHelp": "Geef mappen weer naast je andere mediabibliotheken. Dit kan nuttig zijn als je een mappenstructuur wilt hebben.", @@ -959,7 +959,7 @@ "Saturday": "Zaterdag", "Save": "Opslaan", "SaveSubtitlesIntoMediaFolders": "Ondertiteling opslaan in mediamappen", - "SaveSubtitlesIntoMediaFoldersHelp": "Het opslaan van ondertitels in dezelfde map als de video's zorgt ervoor dat deze beter te beheren zijn.", + "SaveSubtitlesIntoMediaFoldersHelp": "Het opslaan van ondertiteling in dezelfde map als de video's zorgt ervoor dat deze beter te beheren zijn.", "ScanForNewAndUpdatedFiles": "Scannen op nieuwe en bijgewerkte bestanden", "ScanLibrary": "Bibliotheek scannen", "Schedule": "Schema", @@ -1140,7 +1140,7 @@ "LabelTranscodingProgress": "Voortgang transcoderen", "LabelTriggerType": "Triggertype", "MediaInfoBitrate": "Bitsnelheid", - "MediaInfoInterlaced": "Interlaced", + "MediaInfoInterlaced": "Geïnterlinieerd", "ValueSeriesCount": "{0} series", "MoreMediaInfo": "Media-informatie", "MusicArtist": "Muziekartiest", @@ -1185,7 +1185,7 @@ "Whitelist": "Whitelist", "MediaInfoCodec": "Codec", "Menu": "Menu", - "LabelTranscodingFramerate": "Framerate transcoderen", + "LabelTranscodingFramerate": "Verversingssnelheid transcoderen", "LabelType": "Type", "LabelAudioBitrate": "Geluidsbitsnelheid", "LabelAudioCodec": "Geluidscodec", @@ -1213,8 +1213,8 @@ "Logo": "Logo", "MediaInfoCodecTag": "Codec-label", "MediaInfoContainer": "Container", - "MediaInfoFramerate": "Beeldverversing", - "MediaInfoRefFrames": "Ref beeld", + "MediaInfoFramerate": "Verversingssnelheid", + "MediaInfoRefFrames": "Ref-frames", "MessageImageFileTypeAllowed": "Alleen JPEG- en PNG-bestanden worden ondersteund.", "MessageImageTypeNotSelected": "Selecteer een afbeeldingstype vanuit het menu a.u.b.", "MessageNoCollectionsAvailable": "Met collecties kun je films, series en albums naar wens groeperen. Druk op de '+'-knop om te beginnen met het maken van collecties.", @@ -1231,7 +1231,7 @@ "TabStreaming": "Streamen", "AlbumArtist": "Albumartiest", "Album": "Album", - "DeinterlaceMethodHelp": "Selecteer de deinterlacing-methode om te gebruiken bij het softwarematig transcoderen van geïnterlinieerde inhoud. Wanneer hardwareversnelling die hardwarematige deinterlacing ondersteunt is ingeschakeld wordt de hardwarematige deinterlacer gebruikt in plaats van deze instelling.", + "DeinterlaceMethodHelp": "Selecteer de de-interliniëringsmethode om te gebruiken bij het softwarematig transcoderen van geïnterlinieerde inhoud. Wanneer hardwareversnelling is ingeschakeld en deze hardwarematige de-interliniëring ondersteunt, wordt die gebruikt in plaats van deze instelling.", "ClientSettings": "Cliëntinstellingen", "ButtonSplit": "Splitsen", "BoxSet": "Boxset", @@ -1243,7 +1243,7 @@ "LabelLibraryPageSizeHelp": "Kies het aantal items dat wordt weergegeven op een bibliotheekpagina. Kies 0 om dit te verbergen.", "LabelLibraryPageSize": "Paginagrootte bibliotheek", "LabelDroppedFrames": "Verloren frames", - "LabelDeinterlaceMethod": "Deinterlacing-methode", + "LabelDeinterlaceMethod": "Methode voor de-interliniëring", "LabelCorruptedFrames": "Corrupte frames", "HeaderNavigation": "Navigatie", "Episode": "Aflevering", @@ -1252,7 +1252,7 @@ "PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Gebruik de afleveringsinformatie van de ingesloten metadata als deze aanwezig is.", "PlaybackErrorNoCompatibleStream": "Dit apparaat ondersteunt de afgespeelde media niet en de server verstuurt geen compatibel mediaformaat.", "Person": "Persoon", - "OptionForceRemoteSourceTranscoding": "Forceer het transcoderen van op afstand bediende mediabronnen (zoals live-tv)", + "OptionForceRemoteSourceTranscoding": "Transcoderen forceren van mediabronnen op afstand (zoals live-tv)", "NoCreatedLibraries": "Het lijkt erop dat er nog geen bibliotheek is gecreëerd. {0}Wil je er nu een aanmaken?{1}", "Movie": "Film", "MessageConfirmAppExit": "Wil je afsluiten?", @@ -1298,8 +1298,8 @@ "MessageSyncPlayEnabled": "SyncPlay ingeschakeld.", "LabelSyncPlayAccess": "SyncPlay-toegang", "LabelSyncPlayAccessNone": "Uitgeschakeld voor deze gebruiker", - "LabelSyncPlayAccessJoinGroups": "Sta de gebruiker toe om groepen te maken", - "LabelSyncPlayAccessCreateAndJoinGroups": "Sta de gebruiker toe om groepen te maken en eraan deel te nemen", + "LabelSyncPlayAccessJoinGroups": "Gebruiker toestaan aan groepen deel te nemen", + "LabelSyncPlayAccessCreateAndJoinGroups": "Gebruiker toestaan groepen te maken en eraan deel te nemen", "LabelSyncPlayLeaveGroupDescription": "SyncPlay uitschakelen", "LabelSyncPlayLeaveGroup": "Groep verlaten", "LabelSyncPlayNewGroupDescription": "Nieuwe groep maken", @@ -1358,10 +1358,10 @@ "SubtitleVerticalPositionHelp": "Regelnummer waar tekst verschijnt. Positieve cijfers geven top-down aan. Negatieve getallen geven bottom-up aan.", "ButtonCast": "Naar apparaat casten", "Bwdif": "BWDIF", - "VideoAudio": "Video Geluid", - "Video": "Video", - "UseDoubleRateDeinterlacingHelp": "Deze instelling gebruikt de veldsnelheid bij de-interlacing, ook wel bob-de-interliniëring genoemd, waarmee de framesnelheid van de video wordt verdubbeld om volledige beweging te bieden, zoals je zou zien bij het bekijken van geïnterlinieerde video op een tv.", - "UseDoubleRateDeinterlacing": "Framesnelheid verdubbelen bij de-interlacing", + "VideoAudio": "Beeld Geluid", + "Video": "Beeld", + "UseDoubleRateDeinterlacingHelp": "Deze instelling gebruikt de veldsnelheid bij de-interliniëren, ook wel bob-de-interliniëring genoemd, waarmee de verversingssnelheid van de video wordt verdubbeld om volledige beweging te bieden, zoals je zou zien bij het bekijken van geïnterlinieerd beeld op een tv.", + "UseDoubleRateDeinterlacing": "Verversingssnelheid verdubbelen bij de-interliniëren", "ThumbCard": "Miniatuurkaart", "Subtitle": "Ondertiteling", "SpecialFeatures": "Speciale features", @@ -1391,7 +1391,7 @@ "LabelMaxMuxingQueueSizeHelp": "Maximaal aantal pakketten dat kan worden gebufferd terwijl wordt gewacht tot alle streams zijn geïnitialiseerd. Probeer het te verhogen als je nog steeds de fout \"Te veel pakketten gebufferd voor uitvoerstroom\" tegenkomt in FFmpeg-logboeken. De aanbevolen waarde is 2048.", "LabelMaxMuxingQueueSize": "Maximale grootte muxing-wachtrij", "LabelColorPrimaries": "Primaire kleur", - "MediaInfoColorPrimaries": "Primaire kleur", + "MediaInfoColorPrimaries": "Primaire kleuren", "LabelTonemappingParamHelp": "Stem het toonmapping-algoritme af. De aanbevolen en standaardwaarden zijn NaN. Laat het in het algemeen leeg.", "LabelTonemappingParam": "Tonemapping-parameter", "LabelTonemappingPeakHelp": "Overschrijf signaal-/nominaal-/referentiepiek door deze waarde. Nuttig wanneer de ingesloten piekinformatie in de weergave-metadata niet betrouwbaar is of bij tonemapping van een lager naar een hoger bereik. De aanbevolen en standaardwaarden zijn 100 en 0.", @@ -1412,7 +1412,7 @@ "LabelColorSpace": "Kleurbereik", "LabelVideoRange": "Beeldbereik", "MediaInfoColorTransfer": "Kleuroverdracht", - "MediaInfoColorSpace": "Kleurbereik", + "MediaInfoColorSpace": "Kleurruimte", "MediaInfoVideoRange": "Beeldbereik", "QuickConnect": "Quick Connect", "LabelQuickConnectCode": "Quick Connect-code", @@ -1446,7 +1446,7 @@ "LabelRemuxingInfo": "Remux-informatie", "LabelDirectStreamingInfo": "Informatie direct streamen", "LabelTranscodingInfo": "Transcoderingsinformatie", - "LabelVideoInfo": "Video-informatie", + "LabelVideoInfo": "Beeldinformatie", "LabelAudioInfo": "Audio-informatie", "LabelPlaybackInfo": "Afspeelinformatie", "RemuxHelp2": "Remux gebruikt zeer weinig verwerkingskracht met een volledig verliesvrije mediakwaliteit.", @@ -1505,7 +1505,7 @@ "AllowVppTonemappingHelp": "Volledig op Intel-stuurprogramma gebaseerde tonemapping. Dit werkt momenteel alleen met HDR10-video's op bepaalde hardware. Dit heeft een hogere prioriteit dan een andere OpenCL-implementatie.", "EnableVppTonemapping": "VPP-tonemapping inschakelen", "EnableEnhancedNvdecDecoder": "Verbeterde NVDEC-decoder inschakelen", - "Framerate": "Beeldsnelheid", + "Framerate": "Verversingssnelheid", "DisablePlugin": "Uitschakelen", "EnablePlugin": "Inschakelen", "DirectPlayHelp": "Het bronbestand is volledig compatibel met deze cliënt en de sessie ontvangt het bestand zonder wijzigingen.", @@ -1551,9 +1551,9 @@ "Track": "Nummer", "Controls": "Besturing", "LabelEnableGamepad": "Gamepad inschakelen", - "VideoFramerateNotSupported": "De framerate van de video wordt niet ondersteund", - "VideoLevelNotSupported": "Het niveau van de videocodec wordt niet ondersteund", - "VideoProfileNotSupported": "Het profiel van de videocodec wordt niet ondersteund", + "VideoFramerateNotSupported": "De verversingssnelheid van de video wordt niet ondersteund", + "VideoLevelNotSupported": "Het niveau van de beeldcodec wordt niet ondersteund", + "VideoProfileNotSupported": "Het profiel van de beeldcodec wordt niet ondersteund", "Lyricist": "Tekstschrijver", "NextChapter": "Volgend hoofdstuk", "LabelMaxDaysForNextUp": "Maximaal aantal dagen in 'Volgende'", @@ -1562,13 +1562,13 @@ "Remixer": "Remixer", "UseEpisodeImagesInNextUp": "Afleveringsafbeeldingen gebruiken in de secties 'Volgende' en 'Verderkijken'", "EnableGamepadHelp": "Luister naar invoer van alle aangesloten controllers (vereist weergavemodus 'Tv').", - "VideoCodecNotSupported": "De videocodec wordt niet ondersteund", + "VideoCodecNotSupported": "De beeldcodec wordt niet ondersteund", "AudioBitrateNotSupported": "De bitsnelheid van de audio wordt niet ondersteund", "AudioChannelsNotSupported": "Het aantal geluidskanalen wordt niet ondersteund", "VideoResolutionNotSupported": "De resolutie van de video wordt niet ondersteund", "AudioSampleRateNotSupported": "De samplerate van de audio wordt niet ondersteund", - "AnamorphicVideoNotSupported": "Anamorphic video wordt niet ondersteund", - "InterlacedVideoNotSupported": "Geïnterlinieerde video wordt niet ondersteund", + "AnamorphicVideoNotSupported": "Anamorfisch beeld wordt niet ondersteund", + "InterlacedVideoNotSupported": "Geïnterlinieerd beeld wordt niet ondersteund", "SecondaryAudioNotSupported": "Secundaire audiosporen worden niet ondersteund", "VideoBitDepthNotSupported": "De bitdiepte van de video wordt niet ondersteund", "AudioBitDepthNotSupported": "De bitdiepte van de audio wordt niet ondersteund", @@ -1633,7 +1633,7 @@ "ContainerBitrateExceedsLimit": "De bitsnelheid van de video overschrijdt de limiet", "LabelMaxVideoResolution": "Maximaal toegestane beeldtranscoderingsresolutie", "UnknownAudioStreamInfo": "De audiostreaminformatie is onbekend", - "UnknownVideoStreamInfo": "De videostreaminformatie is onbekend", + "UnknownVideoStreamInfo": "De beeldstreaminformatie is onbekend", "VideoBitrateNotSupported": "De bitsnelheid van de video wordt niet ondersteund", "AudioIsExternal": "De audiostream is extern", "LabelHardwareEncodingOptions": "Opties voor hardwarecodering", @@ -1657,8 +1657,8 @@ "MediaInfoDvVersionMinor": "DV-versie (minor)", "MediaInfoDvVersionMajor": "DV-versie (major)", "MediaInfoDoViTitle": "DV-titel", - "MediaInfoVideoRangeType": "Type videobereik", - "LabelVideoRangeType": "Type videobereik", + "MediaInfoVideoRangeType": "Type beeldbereik", + "LabelVideoRangeType": "Type beeldbereik", "VideoRangeTypeNotSupported": "Het bereiktype van de video wordt niet ondersteund", "LabelVppTonemappingContrastHelp": "Pas contrastversterking toe in VPP-tonemapping. De aanbevolen en standaardwaarden zijn 1.", "LabelVppTonemappingContrast": "Contrastversterking VPP-tonemapping", From 59693f730a3f85d263f549997057e15898dcaf2f Mon Sep 17 00:00:00 2001 From: throny Date: Sat, 6 Apr 2024 21:12:59 +0000 Subject: [PATCH 175/293] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 52 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/src/strings/de.json b/src/strings/de.json index 6ed3ae097e..2bcb9ee5f7 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -200,7 +200,7 @@ "Guide": "Fernsehprogramm", "GuideProviderLogin": "Anmelden", "GuideProviderSelectListings": "Listen wählen", - "H264CrfHelp": "Der Constant Rate Factor (CRF) bezeichnet die Einstellung für die Standardqualität des x264 und x265 Encoders. Setze einen Wert zwischen 0 und 51. Ein niedriger Wert resultiert in besserer Qualität (auf Kosten einer größeren Datei). Gängige Werte sind 18-28. Der Standard für x264 ist 23 und 28 für x265, diese sollten als Referenzen verwendet werden.", + "H264CrfHelp": "Der Constant Rate Factor (CRF) bezeichnet die Einstellung für die Standardqualität des x264 und x265 Software-Encoders. Setze einen Wert zwischen 0 und 51. Ein niedriger Wert resultiert in besserer Qualität (auf Kosten einer größeren Datei). Gängige Werte sind 18-28. Der Standard für x264 ist 23 und 28 für x265, diese sollten als Referenzen verwendet werden. Hardware-Encoder verwenden diese Einstellung nicht.", "EncoderPresetHelp": "Wähle einen schnelleren Wert um die Performance zu verbessern oder einen langsameren Wert um die Qualität zu verbessern.", "HDPrograms": "HD Programme", "HardwareAccelerationWarning": "Das Aktivieren der Hardwarebeschleunigung kann auf einigen Systemen zu Instabilität führen. Stelle sicher, dass das Betriebssystem sowie die Grafikkarten-Treiber auf dem aktuellsten Stand sind. Wenn nach der Aktivierung Probleme mit der Wiedergabe von Videos auftreten, stelle diese Einstellung zurück auf \"Keine\".", @@ -1649,7 +1649,7 @@ "MessageUnauthorizedUser": "Du bist aktuell nicht berechtigt, auf den Server zuzugreifen. Bitte kontaktiere den Serveradministrator für weitere Informationen.", "StoryArc": "Handlungsstrang", "Digital": "Digital", - "EnableEnhancedNvdecDecoderHelp": "Experimentelle NVDEC-Implementierung, nur aktiviere, falls es zu Dekodierungsfehlern kommt.", + "EnableEnhancedNvdecDecoderHelp": "Verbesserte NVDEC-Implementierung, deaktivieren, falls es zu Dekodierungsfehlern kommt.", "HomeVideosPhotos": "Heimvideos und -bilder", "Bold": "Fett", "LabelTextWeight": "Schriftstärke", @@ -1798,7 +1798,7 @@ "ChannelResolutionFullHD": "Full HD", "ChannelResolutionUHD4K": "UHD (4K)", "EnableVideoToolboxTonemapping": "VideoToolbox-Tone-Mapping aktivieren", - "AllowVideoToolboxTonemappingHelp": "Hardwarebeschleunigtes Tone-Mapping welches von VideoToolbox zur verfügung gestellt wird. Es funktioniert mit den meisten HDR Formaten wie HDR10, HDR10+ und HLG, aber es funktioniert nicht mit Dolby Vision Profile 5. Dies hat eine höhere Priorität verglichen mit einer anderen OpenCL implementation.", + "AllowVideoToolboxTonemappingHelp": "Hardwarebeschleunigtes Tone-Mapping, welches von VideoToolbox zur Verfügung gestellt wird. Es funktioniert mit den meisten HDR-Formaten wie HDR10, HDR10+ und HLG, aber es funktioniert nicht mit Dolby Vision Profile 5. Dies hat eine höhere Priorität, verglichen mit einer anderen Metal Implementation.", "AirPlay": "AirPlay", "AllowContentWithTagsHelp": "Nur Medien mit mindestens einem der spezifizierten Tags anzeigen.", "BlockContentWithTagsHelp": "Medien mit mindestens einem der spezifizierten Tags verstecken.", @@ -1812,5 +1812,49 @@ "HeaderDeleteSeries": "Lösche Serien", "LabelAllowContentWithTags": "Erlaube Einträge mit Tags", "Lyric": "Songtext", - "LimitSupportedVideoResolution": "Limitiert die maximale Videoauflösung" + "LimitSupportedVideoResolution": "Limitiert die maximale Videoauflösung", + "LabelEncodingFormatOptions": "Codierungsformat-Optionen", + "EncodingFormatHelp": "Wähl die Videokodierung, in die Jellyfin transcodieren soll. Jellyfin wird die Softwarecodierung verwenden, wenn die Hardwarebeschleunigung für das ausgewählte Format nicht verfügbar ist. Die H264-Codierung wird immer aktiviert sein.", + "LimitSupportedVideoResolutionHelp": "Benutze \"Maximal erlaubte Auflösung der Videotranskodierung\" als maximal unterstützte Videoauflösung.", + "AllowMjpegEncoding": "Codierung im MJPEG-Format zulassen (wird bei der Trickplay-Erstellung verwendet)", + "Trickplay": "Trickplay", + "LabelTrickplayAccel": "Aktivieren der Hardwarebeschleunigung", + "LabelTrickplayAccelHelp": "Sicherstellen, dass die Option \"MJPEG-Codierung zulassen\" unter \"Transcodierung\" aktiviert ist, wenn die Hardware dies unterstützt.", + "LabelScanBehavior": "Scanverhalten", + "PriorityHigh": "Hoch", + "LabelScanBehaviorHelp": "Die Standardeinstellung ist \"nicht blockierend\", d. h., die Medien werden der Bibliothek hinzugefügt, bevor das Trickplay erzeugt wird. Durch die Blockierung wird sichergestellt, dass Trickplay-Dateien generiert werden, bevor Medien zur Bibliothek hinzugefügt werden, aber die Suchvorgänge dauern erheblich länger.", + "PriorityAboveNormal": "Über Normal", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Unter Normal", + "PriorityIdle": "Leerlauf", + "LabelProcessPriority": "Prozess-Priorität", + "LabelImageInterval": "Bildintervall", + "LabelWidthResolutions": "Breitenauflösung", + "LabelWidthResolutionsHelp": "Durch Kommata getrennte Liste der Breiten (px), in denen Trickplay-Bilder generiert werden sollen. Alle Bilder sollten proportional zur Quelle generiert werden, d.h. eine Breite von 320 bei einem 16:9-Video ergibt etwa 320x180.", + "LabelProcessPriorityHelp": "Eine niedrigere oder höhere Einstellung legt fest, wie die CPU den ffmpeg-Trickplay-Erzeugungsprozess im Verhältnis zu anderen Prozessen priorisiert. Wenn die Erzeugung von Trickplay-Bildern verlangsamt ist, die Erzeugung aber nicht vollständig gestoppt werden soll, versuchen, diesen Wert sowie die Anzahl der Threads zu verringern.", + "LabelTileWidth": "Kachelbreite", + "LabelTileWidthHelp": "Maximale Anzahl von Bildern pro Kachel in X-Richtung.", + "LabelTileHeight": "Kachelhöhe", + "LabelTileHeightHelp": "Maximale Anzahl von Bildern pro Kachel in Y-Richtung.", + "LabelJpegQuality": "JPEG Qualität", + "LabelJpegQualityHelp": "Die JPEG-Komprimierungsqualität für Trickplay-Bilder.", + "LabelQscale": "Qscale", + "LabelQscaleHelp": "Die Qualitätsskala der von ffmpeg ausgegebenen Bilder, wobei 2 die höchste und 31 die niedrigste Qualität darstellt.", + "ExtractTrickplayImagesHelp": "Trickplay-Bilder ähneln den Kapitelbildern, mit dem Unterschied, dass sie sich über die gesamte Länge des Inhalts erstrecken und beim Scrubbing von Videos als Vorschau angezeigt werden.", + "LabelImageIntervalHelp": "Zeitintervall (ms) zwischen jedem neuen Trickplay Bild.", + "LabelTrickplayThreads": "FFmpeg Threads", + "LabelTrickplayThreadsHelp": "Die Anzahl der Threads, die an das Argument '-threads' von ffmpeg übergeben wird.", + "OptionExtractTrickplayImage": "Extrahieren von Trickplay-Bildern aktivieren", + "LabelExtractTrickplayDuringLibraryScan": "Extrahieren von Trickplay-Bildern beim Scannen der Bibliothek", + "LabelExtractTrickplayDuringLibraryScanHelp": "Trickplay-Bilder erzeugen, wenn Videos während der Bibliothekssuche importiert werden. Andernfalls werden sie während der geplanten Aufgabe \"Trickplay-Bilder\" extrahiert. Wenn die Generierung auf nicht blockierend eingestellt ist, hat dies keinen Einfluss auf die Zeit, die eine Bibliotheksüberprüfung dauert.", + "EnableSmoothScroll": "Flüssiges Scrollen aktivieren", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Die Wiedergabe ist fehlgeschlagen, weil die Medien von diesem Client nicht unterstützt wird.", + "PlaybackError.FATAL_HLS_ERROR": "Im HLS-Stream ist ein schwerwiegender Fehler aufgetreten.", + "PlaybackError.MEDIA_DECODE_ERROR": "Die Wiedergabe ist aufgrund eines Fehlers bei der Dekodierung der Medien fehlgeschlagen.", + "PlaybackError.NETWORK_ERROR": "Die Wiedergabe ist aufgrund eines Netzwerkfehlers fehlgeschlagen.", + "PlaybackError.NO_MEDIA_ERROR": "Es konnte keine gültige Medienquelle für die Wiedergabe gefunden werden.", + "PlaybackError.SERVER_ERROR": "Die Wiedergabe ist aufgrund eines Serverfehlers fehlgeschlagen.", + "PlaybackError.NotAllowed": "Die Wiedergabe dieser Medien ist nicht erlaubt.", + "PlaybackError.RateLimitExceeded": "Dieses Medium kann derzeit aufgrund von Beschränkungen nicht abgespielt werden.", + "PlaybackError.PLAYER_ERROR": "Die Wiedergabe ist aufgrund eines schwerwiegenden Player-Fehlers fehlgeschlagen." } From 301029d4f2b5a7b78169011e4961687c2aedf9fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=92=D0=BB?= =?UTF-8?q?=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B8=D1=87=20?= =?UTF-8?q?=D0=98=D0=BD=D1=8F=D0=BA=D0=B8=D0=BD?= Date: Sun, 7 Apr 2024 11:57:40 +0000 Subject: [PATCH 176/293] Translated using Weblate (Russian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/ --- src/strings/ru.json | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/strings/ru.json b/src/strings/ru.json index 6a4aa9bcbe..57fdf6f0db 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -1811,5 +1811,33 @@ "DeleteSeries": "Удалить сериал", "DeleteEpisode": "Удалить эпизод", "HeaderDeleteSeries": "Удалить сериал", - "EnableSmoothScroll": "Разрешить плавную прокрутку" + "EnableSmoothScroll": "Разрешить плавную прокрутку", + "EncodingFormatHelp": "Выберите кодировку видео, в которую Jellyfin следует перекодировать. Jellyfin будет использовать программное кодирование, если аппаратное ускорение для выбранного формата недоступно. Кодировка H264 всегда будет включена.", + "AllowMjpegEncoding": "Разрешить кодирование в формате MJPEG (используется при создании трюковой игры)", + "LabelProcessPriorityHelp": "Установив это значение ниже или выше, вы определите, как процессор расставит приоритеты для процесса генерации trickplay в формате ffmpeg по отношению к другим процессам. Если вы заметили замедление при создании изображений trickplay, но не хотите полностью останавливать их генерацию, попробуйте уменьшить это значение, а также количество потоков.", + "LabelEncodingFormatOptions": "Параметры формата кодирования", + "LabelTrickplayAccel": "Включить аппаратное ускорение", + "LabelTrickplayAccelHelp": "Обязательно включите \"Разрешить кодировку MJPEG\" в режиме транскодирования, если ваше оборудование поддерживает это.", + "PriorityAboveNormal": "Выше нормы", + "LabelTileWidth": "Ширина плитки", + "PlaybackError.MEDIA_DECODE_ERROR": "Сбой воспроизведения произошел из-за ошибки при декодировании носителя.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Не удалось воспроизвести файл, поскольку этот клиент не поддерживает медиафайл.", + "PlaybackError.NETWORK_ERROR": "Сбой воспроизведения произошел из-за сетевой ошибки.", + "PlaybackError.NO_MEDIA_ERROR": "Не удается найти подходящий медиаисточник для воспроизведения.", + "PlaybackError.PLAYER_ERROR": "Сбой воспроизведения произошел из-за фатальной ошибки проигрывателя.", + "PlaybackError.RateLimitExceeded": "В данный момент воспроизведение этого носителя невозможно из-за ограничений скорости.", + "PlaybackError.SERVER_ERROR": "Сбой воспроизведения произошел из-за ошибки сервера.", + "PlaybackError.NotAllowed": "Воспроизведение этого носителя запрещено.", + "LabelProcessPriority": "Приоритет процесса", + "LabelImageInterval": "Интервал изображения", + "PriorityBelowNormal": "Ниже нормы", + "LabelImageIntervalHelp": "Интервал времени (мс) между каждым новым изображением трюковой игры.", + "LabelTileHeightHelp": "Максимальное количество изображений на плитке в направлении Y.", + "EnableLibrary": "Включите библиотеку", + "EnableLibraryHelp": "Отключение библиотеки скроет ее от всех пользовательских просмотров.", + "Trickplay": "Хитрая игра", + "LabelScanBehavior": "Поведение при сканировании", + "LabelScanBehaviorHelp": "По умолчанию используется режим без блокировки, при котором носители будут добавлены в библиотеку до завершения создания trickplay. Блокировка гарантирует, что файлы trickplay будут созданы до добавления носителей в библиотеку, но значительно увеличит время сканирования.", + "LabelTileWidthHelp": "Максимальное количество изображений на плитке в направлении X.", + "LabelTileHeight": "Высота плитки" } From cb1b985734bda9e635b62dbf0fdf3e4ab3338543 Mon Sep 17 00:00:00 2001 From: Alexander Shevyakov Date: Sun, 7 Apr 2024 14:11:48 +0000 Subject: [PATCH 177/293] Translated using Weblate (Russian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/ --- src/strings/ru.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/strings/ru.json b/src/strings/ru.json index 57fdf6f0db..10c356ccb6 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -1839,5 +1839,8 @@ "LabelScanBehavior": "Поведение при сканировании", "LabelScanBehaviorHelp": "По умолчанию используется режим без блокировки, при котором носители будут добавлены в библиотеку до завершения создания trickplay. Блокировка гарантирует, что файлы trickplay будут созданы до добавления носителей в библиотеку, но значительно увеличит время сканирования.", "LabelTileWidthHelp": "Максимальное количество изображений на плитке в направлении X.", - "LabelTileHeight": "Высота плитки" + "LabelTileHeight": "Высота плитки", + "PlaybackError.ASS_RENDER_ERROR": "Произошла ошибка при рендеринге ASS/SSA субтитров.", + "LabelTrickplayThreads": "Количество потоков FFmpeg", + "LabelJpegQuality": "Качество JPEG" } From 884f8cc3046b6a8f1d765b232d264f9fa97ccfda Mon Sep 17 00:00:00 2001 From: Zan Date: Sun, 7 Apr 2024 15:55:11 +0000 Subject: [PATCH 178/293] Translated using Weblate (Hungarian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/hu/ --- src/strings/hu.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/hu.json b/src/strings/hu.json index 07b84236e7..49b416302f 100644 --- a/src/strings/hu.json +++ b/src/strings/hu.json @@ -1397,7 +1397,7 @@ "LabelTonemappingRange": "Tónusleképezés tartomány", "TonemappingAlgorithmHelp": "A tónusleképezés finomhangolható. Ha még nem ismered ezeket az opciókat, tartsd meg az alapértelmezett értéket. Az ajánlott érték 'BT.2390'.", "LabelTonemappingAlgorithm": "Válaszd ki a használni kívánt tónusleképezési algoritmust", - "AllowTonemappingHelp": "Tone-mapping can transform the dynamic range of a video from HDR to SDR while maintaining image details and colors, which are very important information for representing the original scene. Currently works only with 10bit HDR10, HLG and DoVi videos. This requires the corresponding OpenCL or CUDA runtime.", + "AllowTonemappingHelp": "", "EnableTonemapping": "Tónusleképezés engedélyezése", "LabelOpenclDeviceHelp": "Ez az OpenCL eszköz, amelyet a tónusleképezéshez használnak. A pont bal oldala a platform száma, a jobb oldala pedig a platformon található eszköz száma. Az alapértelmezett érték 0.0. Az OpenCL hardveres gyorsítási módszert tartalmazó FFmpeg alkalmazásfájl szükséges.", "LabelOpenclDevice": "OpenCL eszköz", @@ -1793,5 +1793,7 @@ "DlnaMovedMessage": "A DLNA funkció egy pluginba költözött.", "LabelBuildVersion": "Build verzió", "LabelServerVersion": "Szerver verzió", - "AllowSubtitleManagement": "Feliratok szerkesztésének engedélyezése ennél a felhasználónál" + "AllowSubtitleManagement": "Feliratok szerkesztésének engedélyezése ennél a felhasználónál", + "AllowContentWithTagsHelp": "Csak a megadott címkék legalább egyikével rendelkező médiát jeleníti meg.", + "AirPlay": "AirPlay" } From 4deaf8411a9b01c4949fc600a04dcdf270ab0fc9 Mon Sep 17 00:00:00 2001 From: HiSkyZen Date: Sun, 7 Apr 2024 16:43:27 +0000 Subject: [PATCH 179/293] Translated using Weblate (Korean) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ko/ --- src/strings/ko.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/strings/ko.json b/src/strings/ko.json index 798c0faab3..3f1407177f 100644 --- a/src/strings/ko.json +++ b/src/strings/ko.json @@ -851,8 +851,8 @@ "LabelSubtitleDownloaders": "자막 다운로더", "LabelStopping": "중지", "LabelSportsCategories": "스포츠 카테고리", - "LabelSkipBackLength": "뒤로 건너띄기 길이", - "LabelSkipForwardLength": "앞으로 건너띄기 길이", + "LabelSkipBackLength": "뒤로 건너뛰기 길이", + "LabelSkipForwardLength": "앞으로 건너뛰기 길이", "LabelSimultaneousConnectionLimit": "동시 스트림 제한", "LabelSize": "크기", "LabelServerName": "서버 이름", @@ -1773,5 +1773,6 @@ "MachineTranslated": "기계 번역", "ForeignPartsOnly": "강제/외부 파트만", "HearingImpairedShort": "청각장애/SDH", - "HeaderGuestCast": "게스트" + "HeaderGuestCast": "게스트", + "AirPlay": "AirPlay" } From be3b321ffb2128fb777220a223243ef0daa092f2 Mon Sep 17 00:00:00 2001 From: gnattu Date: Mon, 8 Apr 2024 13:49:45 +0800 Subject: [PATCH 180/293] fix: use correct hls containers for audio The current container setting was set 4 years ago and does not reflect current browsers. We should prioritize using fmp4 when possible and fallback to mpegts if necessary. --- src/scripts/browserDeviceProfile.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index 6733f3a3e9..6815d1d0f9 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -718,9 +718,13 @@ export default function (options) { const hlsBreakOnNonKeyFrames = browser.iOS || browser.osx || browser.edge || !canPlayNativeHls(); if (canPlayHls() && browser.enableHlsAudio !== false) { + let enableFmp4Hls = userSettings.preferFmp4HlsContainer(); + if ((browser.safari || browser.tizen || browser.web0s) && !canPlayNativeHlsInFmp4()) { + enableFmp4Hls = false; + } profile.TranscodingProfiles.push({ // hlsjs, edge, and android all seem to require ts container - Container: !canPlayNativeHls() || browser.edge || browser.android ? 'ts' : 'aac', + Container: enableFmp4Hls ? 'mp4' : 'ts', Type: 'Audio', AudioCodec: 'aac', Context: 'Streaming', From 4b054caebda553a35dabdc059fbbd76d647f8242 Mon Sep 17 00:00:00 2001 From: gnattu Date: Mon, 8 Apr 2024 14:03:02 +0800 Subject: [PATCH 181/293] chore: remove leftover comment --- src/scripts/browserDeviceProfile.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index 6815d1d0f9..932cd9050c 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -723,7 +723,6 @@ export default function (options) { enableFmp4Hls = false; } profile.TranscodingProfiles.push({ - // hlsjs, edge, and android all seem to require ts container Container: enableFmp4Hls ? 'mp4' : 'ts', Type: 'Audio', AudioCodec: 'aac', From a4276fdee6d9739597c49ff1ecebac23a3aa8eda Mon Sep 17 00:00:00 2001 From: milo !! Date: Mon, 8 Apr 2024 11:28:55 +0000 Subject: [PATCH 182/293] Translated using Weblate (English (United Kingdom)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/ --- src/strings/en-gb.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index 48ba39bc99..29add05b45 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -1836,5 +1836,13 @@ "LabelUseReplayGainTagsHelp": "Scan audio files for replaygain tags and use them instead of computing LUFS value. (Uses less computing power. Will override 'LUFS Scan' option)", "LabelUseReplayGainTags": "Use ReplayGain Tags", "AllowSubtitleManagement": "Allow this user to edit subtitles", - "DlnaMovedMessage": "The DLNA functionality has moved to a plugin." + "DlnaMovedMessage": "The DLNA functionality has moved to a plugin.", + "EnableLibrary": "Enable the library", + "EnableLibraryHelp": "Disabling the library will hide it from all user views.", + "LimitSupportedVideoResolution": "Limit maximum supported video resolution", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Only show media with at least one of the specified tags.", + "BlockContentWithTagsHelp": "Hide media with at least one of the specified tags.", + "LabelAllowContentWithTags": "Allow items with tags", + "EnableSmoothScroll": "Enable smooth scroll" } From 5defb792716017a22ed070067903eb60a9ba5e1f Mon Sep 17 00:00:00 2001 From: bene toffix Date: Mon, 8 Apr 2024 16:25:58 +0000 Subject: [PATCH 183/293] Translated using Weblate (Catalan) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/ --- src/strings/ca.json | 70 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 5 deletions(-) diff --git a/src/strings/ca.json b/src/strings/ca.json index 953193d1b3..8b00fbe04d 100644 --- a/src/strings/ca.json +++ b/src/strings/ca.json @@ -753,7 +753,7 @@ "ButtonPlayer": "Reproductor", "ButtonCast": "Transmetre a dispositiu", "ApiKeysCaption": "Llista de les claus API activades actualment", - "AllowTonemappingHelp": "El mapeig de tons pot transformar el rang dinàmic d'un vídeo d'HDR a SDR mantenint els detalls i els colors de la imatge, que són informació molt important per representar l'escena original. Actualment només funciona amb vídeos 10 bit HDR10, HLG o DoVi. Això requereix el temps d'execució OpenCL o CUDA corresponent.", + "AllowTonemappingHelp": "El mapeig de tons pot transformar el rang dinàmic d'un vídeo d'HDR a SDR mantenint els detalls i els colors de la imatge, que són informació molt important per representar l'escena original. Actualment només funciona amb vídeos 10 bit HDR10, HLG o DoVi. Això requereix el temps d'execució GPGPU corresponent.", "ErrorPleaseSelectLineup": "Seleccioneu una alineació i torneu-ho a provar. Si no hi ha cap formació disponible, comproveu que el vostre nom d’usuari, contrasenya i codi postal siguin correctes.", "ErrorAddingListingsToSchedulesDirect": "S'ha produït un error en afegir la programació al vostre compte de Schedules Direct. Schedules Direct només permet un nombre limitat de programacions per compte. És possible que hagueu d’iniciar sessió al lloc web de Schedules Direct i eliminar altres llistats del vostre compte abans de continuar.", "EnableThemeVideosHelp": "Reproduir vídeos temàtics en segon pla mentre navegues per la biblioteca.", @@ -797,7 +797,7 @@ "HeaderAlert": "Alerta", "HeaderAddUser": "Afegir un usuari", "HeaderAddUpdateSubtitle": "Afegir o actualitzar els subtítols", - "H264CrfHelp": "El factor de velocitat constant (CRF) és el valor de qualitat predeterminat per als codificadors x264 i x265. Podeu definir els valors entre 0 i 51, on els valors més baixos donarien com a resultat una millor qualitat (a costa de mides de fitxer més altes). Els valors correctes oscil·len entre 18 i 28. El valor predeterminat per a x264 és 23 i per a x265 és 28, de manera que podeu utilitzar-lo com a punt de partida.", + "H264CrfHelp": "El factor de velocitat constant (CRF) és el valor de qualitat predeterminat per als codificadors de programari x264 i x265. Podeu definir els valors entre 0 i 51, on els valors més baixos donarien com a resultat una millor qualitat (a costa de mides de fitxer més altes). Els valors correctes oscil·len entre 18 i 28. El valor predeterminat per a x264 és 23 i per a x265 és 28, de manera que podeu utilitzar-lo com a punt de partida. Els codificadors per maquinari no utilitzen aquesta configuració.", "GuideProviderSelectListings": "Seleccionar Llistats", "GroupVersions": "Grups de versions", "Framerate": "Velocitat de fotogrames", @@ -1667,7 +1667,7 @@ "RememberAudioSelectionsHelp": "Intentar establir la pista d'àudio amb la coincidència més semblant a l'últim vídeo.", "RememberSubtitleSelectionsHelp": "Intentar configurar la pista de subtítols amb la coincidència més semblant a l'últim vídeo.", "RememberAudioSelections": "Establir la pista d'àudio en funció de l'element anterior", - "EnableEnhancedNvdecDecoderHelp": "Implementació experimental de NVDEC, no activeu aquesta opció tret que trobeu errors de descodificació.", + "EnableEnhancedNvdecDecoderHelp": "Implementació millorada de NVDEC, desactiveu aquesta opció per a utilitzar CUVID si trobeu errors de descodificació.", "LabelVppTonemappingBrightness": "Guany de brillantor del mapa de to VPP", "LabelVppTonemappingContrast": "Guany de contrast de mapatge de to VPP", "LabelVppTonemappingContrastHelp": "Aplicar el guany de contrast a l'assignació de to VPP. Tant el valor recomanat com el predeterminat són 1.", @@ -1788,11 +1788,71 @@ "LabelBuildVersion": "Versió de compilació", "LabelUseReplayGainTagsHelp": "Escaneja els fitxers d'àudio per trobar etiquetes ReplayGain i fes-les servir en lloc de calcular el valor LUFS. (Utilitza menys potència. Invalidarà l'opció 'Escaneig LUFS')", "EnableVideoToolboxTonemapping": "Habilitar el mapatge de tons de VideoToolbox", - "AllowVideoToolboxTonemappingHelp": "Acceleració per maquinari en el mapatge de tons per VideoToolbox. Funciona amb la majoria dels formats HDR, inclosos HDR10, HDR10+ i HLG, però no funciona amb Dolby Vision Profile 5. Això té una prioritat més alta en comparació amb una altra implementació d'OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Acceleració per maquinari en el mapatge de tons per VideoToolbox. Funciona amb la majoria dels formats HDR, inclosos HDR10, HDR10+ i HLG, però no funciona amb Dolby Vision Profile 5. Això té una prioritat més alta en comparació amb una altra implementació de Metal.", "LabelUseReplayGainTags": "Utilitzar etiquetes ReplayGain", "ChannelResolutionSDPAL": "SD (PAL)", "ChannelResolutionHD": "HD", "DlnaMovedMessage": "La funcionalitat DLNA s'ha mogut a complements.", "AllowSubtitleManagement": "Permetre a aquest usuari editar els subtítols", - "ChannelResolutionUHD4K": "UHD (4K)" + "ChannelResolutionUHD4K": "UHD (4K)", + "LabelTrickplayAccel": "Habilitar acceleració per maquinari", + "NonBlockingScan": "Sense Bloqueig - generació de cues, després retorna", + "ConfirmDeleteSeries": "L'esborrat d'aquesta sèrie esborrarà TOTS {0} episodis tant del sistema de fitxers com de la teva biblioteca de mitjans. Estàs segur que vols continuar?", + "LabelEncodingFormatOptions": "Opcions de format de codificació", + "LabelTrickplayAccelHelp": "Assegura't d'habilitar 'Permetre codificació MJPEG' a Transcodificació si el teu maquinari ho suporta.", + "LabelWidthResolutions": "Resolucions d'Amplada", + "LabelScanBehaviorHelp": "El comportament predeterminat és sense blocatge, que afegirà mitjans a la biblioteca abans que la generació de trickplay es completi. El bloqueig assegura que els fitxers de trickplay es generin abans que els mitjans s'afegeixin a la biblioteca, però farà que l'escaneig sigui més llarg.", + "LabelProcessPriorityHelp": "Establint-ho més baix o més alt determinarà com el processador prioritza el procés de generació de trickplay ffmpeg en relació amb altres processos. Si observeu una ralentització mentre genereu imatges de trickplay, però no voleu aturar completament la seva generació, proveu de reduir-la així com el nombre de fils.", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Només mostrar mitjans amb almenys una etiqueta especificada.", + "BlockContentWithTagsHelp": "Amagar mitjans amb almenys una etiqueta especificada.", + "LabelAllowContentWithTags": "Permetre elements amb etiquetes", + "BlockingScan": "Bloqueig - generació de cues, bloqueja escaneig fins a completar-se", + "LabelScanBehavior": "Comportament d'Escaneig", + "PlaybackError.ASS_RENDER_ERROR": "S'ha produït un error al renderitzador de subtítols ASS/SSA.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "La reproducció ha fallat, ja que el mitjà no és compatible amb aquest client.", + "PlaybackError.NETWORK_ERROR": "La reproducció ha fallat a causa d'un error de connexió.", + "PlaybackError.NO_MEDIA_ERROR": "No s'ha pogut trobar un mitjà vàlid per a reproduir.", + "PlaybackError.PLAYER_ERROR": "La reproducció ha fallat a causa d'un error fatal del reproductor.", + "PlaybackError.SERVER_ERROR": "La reproducció ha fallat a causa d'un error del servidor.", + "PlaybackError.NotAllowed": "La reproducció d'aquest mitjà no està permesa.", + "Trickplay": "Trickplay", + "PriorityHigh": "Alta", + "EnableLibrary": "Habilitar la biblioteca", + "EnableLibraryHelp": "Deshabilitar la biblioteca l'amagarà per a tots els usuaris.", + "LimitSupportedVideoResolution": "Limitar la resolució màxima de vídeo suportada", + "LimitSupportedVideoResolutionHelp": "Utilitzi \"Resolució de transcodificació de vídeo màxima permesa\" com a resolució màxima permesa.", + "PlaybackError.FATAL_HLS_ERROR": "S'ha produït un error fatal al stream HLS.", + "PlaybackError.RateLimitExceeded": "Aquest mitjà no es pot reproduir en aquests instants deguts a límits de la xarxa.", + "EncodingFormatHelp": "Seleccioni la codificació de vídeo a la qual hauria de transcodificar Jellyfin. Jellyfin utilitzarà codificació mitjançant programari quan l'acceleració per maquinari no estigui disponible. La codificació H264 sempre estarà habilitada.", + "PriorityAboveNormal": "Per sobre del Normal", + "PriorityNormal": "Normal", + "LabelImageIntervalHelp": "Interval de temps (ms) entre cada imatge nova de trickplay.", + "LabelWidthResolutionsHelp": "Llista separada per comes de les amplades (px) en què es generaran les imatges de trickplay. Totes les imatges s'han de generar proporcionalment a la font, de manera que una amplada de 320 en un vídeo 16:9 acaba al voltant de 320x180.", + "LabelTileWidth": "Amplada del Títol", + "LabelTileWidthHelp": "Nombre màxim d'imatges per casella en la direcció X.", + "LabelTileHeight": "Alçada del Títol", + "LabelTileHeightHelp": "Nombre màxim d'imatges per casella en la direcció Y.", + "LabelJpegQuality": "Qualitat JPEG", + "LabelJpegQualityHelp": "Qualitat de compressió JPEG per a les imatges de trickplay.", + "LabelQscale": "Qscale", + "OptionExtractTrickplayImage": "Habilitar extracció d'imatges de trickplay", + "LabelExtractTrickplayDuringLibraryScan": "Extreure imatges de trickplay durant l'escaneig de la biblioteca", + "LabelExtractTrickplayDuringLibraryScanHelp": "Generar imatges de trickplay quan els vídeos són importats durant l'escaneig de la biblioteca. D'altra banda, seran extrets durant la tasca programada d'imatges de trickplay. Si la generació està marcada com a sense bloqueig, això no afectarà el temps que triga a completar l'exploració de la biblioteca.", + "DeleteEntireSeries": "Esborrar {0} Episodis", + "DeleteSeries": "Esborrar Sèries", + "DeleteEpisode": "Esborrar Episodi", + "PriorityIdle": "Parada", + "LabelProcessPriority": "Prioritat de Processos", + "LabelTrickplayThreadsHelp": "Nombre de fils a passar a l'argument de ffmpleg '-threads'.", + "Lyric": "Lletra", + "EnableSmoothScroll": "Habilitar desplaçament suau", + "HeaderDeleteSeries": "Esborrar Sèries", + "PlaybackError.MEDIA_DECODE_ERROR": "La reproducció ha fallat a causa d'un error en descodificar el contingut.", + "AllowMjpegEncoding": "Permetre codificació en format MJPEG (utilitzat durant la generació de trickplay)", + "PriorityBelowNormal": "Per sota del Normal", + "LabelImageInterval": "Interval d'Imatges", + "LabelQscaleHelp": "Escala de qualitat de les imatges generades per ffmpeg, sent 2 la qualitat més alta i 31 la més baixa.", + "LabelTrickplayThreads": "Fils de FFmpeg", + "ExtractTrickplayImagesHelp": "Les imatges de Trickplay són similars a les imatges de capítols, excepte que abasten tota la longitud del contingut i s'utilitzen per mostrar una vista prèvia quan es desplaça pels vídeos." } From f8b5c36fef655a6cdcd525c07ba21b5693086e1e Mon Sep 17 00:00:00 2001 From: gnattu Date: Tue, 9 Apr 2024 10:40:17 +0800 Subject: [PATCH 184/293] chore: reuse enableFmp4Hls for video and audio --- src/scripts/browserDeviceProfile.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index 932cd9050c..33e07e4f0c 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -716,12 +716,12 @@ export default function (options) { profile.TranscodingProfiles = []; const hlsBreakOnNonKeyFrames = browser.iOS || browser.osx || browser.edge || !canPlayNativeHls(); + let enableFmp4Hls = userSettings.preferFmp4HlsContainer(); + if ((browser.safari || browser.tizen || browser.web0s) && !canPlayNativeHlsInFmp4()) { + enableFmp4Hls = false; + } if (canPlayHls() && browser.enableHlsAudio !== false) { - let enableFmp4Hls = userSettings.preferFmp4HlsContainer(); - if ((browser.safari || browser.tizen || browser.web0s) && !canPlayNativeHlsInFmp4()) { - enableFmp4Hls = false; - } profile.TranscodingProfiles.push({ Container: enableFmp4Hls ? 'mp4' : 'ts', Type: 'Audio', @@ -760,10 +760,6 @@ export default function (options) { }); if (canPlayHls() && options.enableHls !== false) { - let enableFmp4Hls = userSettings.preferFmp4HlsContainer(); - if ((browser.safari || browser.tizen || browser.web0s) && !canPlayNativeHlsInFmp4()) { - enableFmp4Hls = false; - } if (hlsInFmp4VideoCodecs.length && hlsInFmp4VideoAudioCodecs.length && enableFmp4Hls) { // HACK: Since there is no filter for TS/MP4 in the API, specify HLS support in general and rely on retry after DirectPlay error // FIXME: Need support for {Container: 'mp4', Protocol: 'hls'} or {Container: 'hls', SubContainer: 'mp4'} From c42b96df3ea2eef7fe8e585ab6bb76e0bcc37757 Mon Sep 17 00:00:00 2001 From: robert-hamilton36 Date: Fri, 28 Apr 2023 15:38:51 +1200 Subject: [PATCH 185/293] add Lyrics --- .../experimental/routes/legacyRoutes/user.ts | 6 + src/apps/stable/routes/legacyRoutes/user.ts | 6 + src/components/itemContextMenu.js | 34 +++ src/components/nowPlayingBar/nowPlayingBar.js | 39 +++ src/components/remotecontrol/remotecontrol.js | 8 +- src/controllers/itemDetails/index.html | 5 + src/controllers/itemDetails/index.js | 39 ++- src/controllers/lyrics.html | 6 + src/controllers/lyrics.js | 250 ++++++++++++++++++ src/controllers/playback/queue/index.html | 4 + src/scripts/deleteHelper.js | 28 +- src/strings/en-us.json | 7 + src/styles/lyrics.scss | 31 +++ 13 files changed, 456 insertions(+), 7 deletions(-) create mode 100644 src/controllers/lyrics.html create mode 100644 src/controllers/lyrics.js create mode 100644 src/styles/lyrics.scss diff --git a/src/apps/experimental/routes/legacyRoutes/user.ts b/src/apps/experimental/routes/legacyRoutes/user.ts index 1547f68359..12e137bc96 100644 --- a/src/apps/experimental/routes/legacyRoutes/user.ts +++ b/src/apps/experimental/routes/legacyRoutes/user.ts @@ -13,6 +13,12 @@ export const LEGACY_USER_ROUTES: LegacyRoute[] = [ controller: 'list', view: 'list.html' } + }, { + path: 'lyrics', + pageProps: { + controller: 'lyrics', + view: 'lyrics.html' + } }, { path: 'mypreferencesmenu.html', pageProps: { diff --git a/src/apps/stable/routes/legacyRoutes/user.ts b/src/apps/stable/routes/legacyRoutes/user.ts index fa1fa43ad2..19b87c7cd8 100644 --- a/src/apps/stable/routes/legacyRoutes/user.ts +++ b/src/apps/stable/routes/legacyRoutes/user.ts @@ -19,6 +19,12 @@ export const LEGACY_USER_ROUTES: LegacyRoute[] = [ controller: 'livetv/livetvsuggested', view: 'livetv.html' } + }, { + path: 'lyrics', + pageProps: { + controller: 'lyrics', + view: 'lyrics.html' + } }, { path: 'music.html', pageProps: { diff --git a/src/components/itemContextMenu.js b/src/components/itemContextMenu.js index c056b0d0ec..fd7d82b42e 100644 --- a/src/components/itemContextMenu.js +++ b/src/components/itemContextMenu.js @@ -183,6 +183,14 @@ export function getCommands(options) { id: 'delete', icon: 'delete' }); + + if (item.Type === 'Audio' && item.HasLyrics && window.location.href.includes(item.Id)) { + commands.push({ + name: globalize.translate('DeleteLyrics'), + id: 'deleteLyrics', + icon: 'delete_sweep' + }); + } } // Books are promoted to major download Button and therefor excluded in the context menu @@ -313,6 +321,14 @@ export function getCommands(options) { }); } + if (item.HasLyrics) { + commands.push({ + name: globalize.translate('ViewLyrics'), + id: 'lyrics', + icon: 'lyrics' + }); + } + return commands; } @@ -495,6 +511,9 @@ function executeCommand(item, id, options) { case 'delete': deleteItem(apiClient, item).then(getResolveFunction(resolve, id, true, true), getResolveFunction(resolve, id)); break; + case 'deleteLyrics': + deleteLyrics(apiClient, item).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id)); + break; case 'share': navigator.share({ title: item.Name, @@ -510,6 +529,15 @@ function executeCommand(item, id, options) { appRouter.showItem(item.AlbumArtists[0].Id, item.ServerId); getResolveFunction(resolve, id)(); break; + case 'lyrics': { + if (options.isMobile) { + appRouter.show('lyrics'); + } else { + appRouter.showItem(item.Id, item.ServerId); + } + getResolveFunction(resolve, id)(); + break; + } case 'playallfromhere': getResolveFunction(resolve, id)(); break; @@ -636,6 +664,12 @@ function deleteItem(apiClient, item) { }); } +function deleteLyrics(apiClient, item) { + return import('../scripts/deleteHelper').then((deleteHelper) => { + return deleteHelper.deleteLyrics(item); + }); +} + function refresh(apiClient, item) { import('./refreshdialog/refreshdialog').then(({ default: RefreshDialog }) => { new RefreshDialog({ diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index cdeaea0cca..ab3c9c7feb 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -34,6 +34,7 @@ let positionSlider; let toggleAirPlayButton; let toggleRepeatButton; let toggleRepeatButtonIcon; +let lyricButton; let lastUpdateTime = 0; let lastPlayerState = {}; @@ -42,6 +43,9 @@ let currentRuntimeTicks = 0; let isVisibilityAllowed = true; +let lyricPageActive = false; +let isAudio = false; + function getNowPlayingBarHtml() { let html = ''; @@ -82,6 +86,8 @@ function getNowPlayingBarHtml() { html += ``; + html += ``; + html += ``; html += ``; @@ -146,6 +152,7 @@ function bindEvents(elem) { toggleRepeatButton = elem.querySelector('.toggleRepeatButton'); volumeSlider = elem.querySelector('.nowPlayingBarVolumeSlider'); volumeSliderContainer = elem.querySelector('.nowPlayingBarVolumeSliderContainer'); + lyricButton = nowPlayingBarElement.querySelector('.openLyricsButton'); muteButton.addEventListener('click', function () { if (currentPlayer) { @@ -212,6 +219,14 @@ function bindEvents(elem) { } }); + lyricButton.addEventListener('click', function() { + if (lyricPageActive) { + appRouter.back(); + } else { + appRouter.show('lyrics'); + } + }); + toggleRepeatButton = elem.querySelector('.toggleRepeatButton'); toggleRepeatButton.addEventListener('click', function () { switch (playbackManager.getRepeatMode()) { @@ -363,6 +378,7 @@ function updatePlayerStateInternal(event, state, player) { updateTimeDisplay(playState.PositionTicks, nowPlayingItem.RunTimeTicks, playbackManager.getBufferedRanges(player)); updateNowPlayingInfo(state); + updateLyricButton(); } function updateRepeatModeDisplay(repeatMode) { @@ -453,6 +469,22 @@ function updatePlayerVolumeState(isMuted, volumeLevel) { } } +function updateLyricButton() { + if (!isEnabled) { + return; + } + + isAudio ? showButton(lyricButton) : hideButton(lyricButton); + setLyricButtonActiveStatus(); +} + +function setLyricButtonActiveStatus() { + if (!isEnabled) { + return; + } + lyricButton.classList.toggle('buttonActive', lyricPageActive); +} + function seriesImageUrl(item, options) { if (!item) { throw new Error('item cannot be null!'); @@ -595,6 +627,9 @@ function updateNowPlayingInfo(state) { function onPlaybackStart(e, state) { console.debug('nowplaying event: ' + e.type); const player = this; + + isAudio = state.NowPlayingItem.Type === 'Audio'; + onStateChanged.call(player, e, state); } @@ -698,6 +733,7 @@ function onStateChanged(event, state) { } getNowPlayingBar(); + updateLyricButton(); updatePlayerStateInternal(event, state, player); } @@ -754,6 +790,7 @@ function refreshFromPlayer(player, type) { } function bindToPlayer(player) { + lyricPageActive = appRouter.currentRouteInfo.path.toLowerCase() === '/lyrics'; if (player === currentPlayer) { return; } @@ -786,6 +823,8 @@ Events.on(playbackManager, 'playerchange', function () { bindToPlayer(playbackManager.getCurrentPlayer()); document.addEventListener('viewbeforeshow', function (e) { + lyricPageActive = appRouter.currentRouteInfo.path.toLowerCase() === '/lyrics'; + setLyricButtonActiveStatus(); if (!e.detail.options.enableMediaControl) { if (isVisibilityAllowed) { isVisibilityAllowed = false; diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 9406e16e2b..2de6f2e206 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -222,7 +222,8 @@ function updateNowPlayingInfo(context, state, serverId) { contextButton.addEventListener('click', function () { itemContextMenu.show(Object.assign({ item: fullItem, - user: user + user: user, + isMobile: layoutManager.mobile }, options)) .catch(() => { /* no-op */ }); }); @@ -323,6 +324,7 @@ export default function () { context.querySelector('.remoteControlSection').classList.add('hide'); } + buttonVisible(context.querySelector('.btnLyrics'), item?.Type === 'Audio' && !layoutManager.mobile); buttonVisible(context.querySelector('.btnStop'), item != null); buttonVisible(context.querySelector('.btnNextTrack'), item != null); buttonVisible(context.querySelector('.btnPreviousTrack'), item != null); @@ -769,6 +771,10 @@ export default function () { playbackManager.fastForward(currentPlayer); } }); + context.querySelector('.btnLyrics').addEventListener('click', function () { + appRouter.show('lyrics'); + }); + for (const shuffleButton of context.querySelectorAll('.btnShuffleQueue')) { shuffleButton.addEventListener('click', function () { if (currentPlayer) { diff --git a/src/controllers/itemDetails/index.html b/src/controllers/itemDetails/index.html index 0172fe659e..935ac44ea4 100644 --- a/src/controllers/itemDetails/index.html +++ b/src/controllers/itemDetails/index.html @@ -187,6 +187,11 @@
+
+

${Lyrics}

+
+
+

diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index e169a82c3a..f5cf971eba 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -1,7 +1,7 @@ import { intervalToDuration } from 'date-fns'; import DOMPurify from 'dompurify'; -import markdownIt from 'markdown-it'; import escapeHtml from 'escape-html'; +import markdownIt from 'markdown-it'; import isEqual from 'lodash-es/isEqual'; import { appHost } from 'components/apphost'; @@ -1055,6 +1055,7 @@ function renderDetails(page, item, apiClient, context) { renderOverview(page, item); renderMiscInfo(page, item); reloadUserDataButtons(page, item); + renderLyricsContainer(page, item, apiClient); // Don't allow redirection to other websites from the TV layout if (!layoutManager.tv && appHost.supports('externallinks')) { @@ -1069,6 +1070,38 @@ function enableScrollX() { return browser.mobile && window.screen.availWidth <= 1000; } +function renderLyricsContainer(view, item, apiClient) { + const lyricContainer = view.querySelector('.lyricsContainer'); + if (lyricContainer && item.HasLyrics) { + if (item.Type !== 'Audio') { + lyricContainer.classList.add('hide'); + return; + } + //get lyrics + apiClient.ajax({ + url: apiClient.getUrl('Audio/' + item.Id + '/Lyrics'), + type: 'GET', + dataType: 'json' + }).then((response) => { + if (!response.Lyrics) { + lyricContainer.classList.add('hide'); + return; + } + lyricContainer.classList.remove('hide'); + const itemsContainer = lyricContainer.querySelector('.itemsContainer'); + if (itemsContainer) { + const html = response.Lyrics.reduce((htmlAccumulator, lyric) => { + htmlAccumulator += escapeHtml(lyric.Text) + '
'; + return htmlAccumulator; + }, ''); + itemsContainer.innerHTML = html; + } + }).catch(() => { + lyricContainer.classList.add('hide'); + }); + } +} + function renderMoreFromSeason(view, item, apiClient) { const section = view.querySelector('.moreFromSeasonSection'); @@ -1119,7 +1152,7 @@ function renderMoreFromArtist(view, item, apiClient) { const section = view.querySelector('.moreFromArtistSection'); if (section) { - if (item.Type !== 'MusicArtist' && (item.Type !== 'MusicAlbum' || !item.AlbumArtists || !item.AlbumArtists.length)) { + if (item.Type !== 'MusicArtist' && item.Type !== 'Audio' && (item.Type !== 'MusicAlbum' || !item.AlbumArtists || !item.AlbumArtists.length)) { section.classList.add('hide'); return; } @@ -1174,7 +1207,7 @@ function renderSimilarItems(page, item, context) { const similarCollapsible = page.querySelector('#similarCollapsible'); if (similarCollapsible) { - if (item.Type != 'Movie' && item.Type != 'Trailer' && item.Type != 'Series' && item.Type != 'Program' && item.Type != 'Recording' && item.Type != 'MusicAlbum' && item.Type != 'MusicArtist' && item.Type != 'Playlist') { + if (item.Type != 'Movie' && item.Type != 'Trailer' && item.Type != 'Series' && item.Type != 'Program' && item.Type != 'Recording' && item.Type != 'MusicAlbum' && item.Type != 'MusicArtist' && item.Type != 'Playlist' && item.Type != 'Audio') { similarCollapsible.classList.add('hide'); return; } diff --git a/src/controllers/lyrics.html b/src/controllers/lyrics.html new file mode 100644 index 0000000000..d1e7b662cf --- /dev/null +++ b/src/controllers/lyrics.html @@ -0,0 +1,6 @@ +
+
+
+
+
+
diff --git a/src/controllers/lyrics.js b/src/controllers/lyrics.js new file mode 100644 index 0000000000..d0107406e3 --- /dev/null +++ b/src/controllers/lyrics.js @@ -0,0 +1,250 @@ +import escapeHtml from 'escape-html'; + +import autoFocuser from 'components/autoFocuser'; +import { appRouter } from '../components/router/appRouter'; +import layoutManager from 'components/layoutManager'; +import { playbackManager } from '../components/playback/playbackmanager'; +import ServerConnections from '../components/ServerConnections'; + +import globalize from '../scripts/globalize'; +import LibraryMenu from '../scripts/libraryMenu'; +import Events from '../utils/events.ts'; + +import '../styles/lyrics.scss'; + +let currentPlayer; +let currentItem; + +let savedLyrics; +let isDynamicLyric = false; + +function dynamicLyricHtmlReducer(htmlAccumulator, lyric, index) { + if (layoutManager.tv) { + htmlAccumulator += ``; + } else { + htmlAccumulator += `
${escapeHtml(lyric.Text)}
`; + } + return htmlAccumulator; +} + +function staticLyricHtmlReducer(htmlAccumulator, lyric, index) { + if (layoutManager.tv) { + htmlAccumulator += ``; + } else { + htmlAccumulator += `
${escapeHtml(lyric.Text)}
`; + } + return htmlAccumulator; +} + +function getLyricIndex(time, lyrics) { + return lyrics.findLastIndex(lyric => lyric.Start <= time); +} + +function getCurrentPlayTime() { + let currentTime = playbackManager.currentTime(); + if (currentTime === undefined) currentTime = 0; + //convert to ticks + return currentTime * 10000; +} + +export default function (view) { + function setPastLyricClassOnLine(line) { + const lyric = view.querySelector(`#lyricPosition${line}`); + if (lyric) { + lyric.classList.remove('futureLyric'); + lyric.classList.add('pastLyric'); + } + } + + function setFutureLyricClassOnLine(line) { + const lyric = view.querySelector(`#lyricPosition${line}`); + if (lyric) { + lyric.classList.remove('pastLyric'); + lyric.classList.add('futureLyric'); + } + } + + function setCurrentLyricClassOnLine(line) { + const lyric = view.querySelector(`#lyricPosition${line}`); + if (lyric) { + lyric.classList.remove('pastLyric'); + lyric.classList.remove('futureLyric'); + } + } + + function updateAllLyricLines(currentLine, lyrics) { + for (let lyricIndex = 0; lyricIndex <= lyrics.length; lyricIndex++) { + if (lyricIndex < currentLine) { + setPastLyricClassOnLine(lyricIndex); + } else if (lyricIndex === currentLine) { + setCurrentLyricClassOnLine(lyricIndex); + } else if (lyricIndex > currentLine) { + setFutureLyricClassOnLine(lyricIndex); + } + } + } + + function renderNoLyricMessage() { + const itemsContainer = view.querySelector('.dynamicLyricsContainer'); + if (itemsContainer) { + const html = `

${globalize.translate('HeaderNoLyrics')}

`; + itemsContainer.innerHTML = html; + } + autoFocuser.autoFocus(); + } + + function renderDynamicLyrics(lyrics) { + const itemsContainer = view.querySelector('.dynamicLyricsContainer'); + if (itemsContainer) { + const html = lyrics.reduce(dynamicLyricHtmlReducer, ''); + itemsContainer.innerHTML = html; + } + + const lyricLineArray = itemsContainer.querySelectorAll('.lyricsLine'); + + // attaches click event listener to change playtime to lyric start + lyricLineArray.forEach(element => { + element.addEventListener('click', () => onLyricClick(element.getAttribute('data-lyrictime'))); + }); + + const currentIndex = getLyricIndex(getCurrentPlayTime(), lyrics); + updateAllLyricLines(currentIndex, savedLyrics); + } + + function renderStaticLyrics(lyrics) { + const itemsContainer = view.querySelector('.dynamicLyricsContainer'); + if (itemsContainer) { + const html = lyrics.reduce(staticLyricHtmlReducer, ''); + itemsContainer.innerHTML = html; + } + } + + function updateLyrics(lyrics) { + savedLyrics = lyrics; + + isDynamicLyric = Object.prototype.hasOwnProperty.call(lyrics[0], 'Start'); + + if (isDynamicLyric) { + renderDynamicLyrics(savedLyrics); + } else { + renderStaticLyrics(savedLyrics); + } + + autoFocuser.autoFocus(view); + } + + function getLyrics(serverId, itemId) { + const apiClient = ServerConnections.getApiClient(serverId); + + return apiClient.ajax({ + url: apiClient.getUrl('Audio/' + itemId + '/Lyrics'), + type: 'GET', + dataType: 'json' + }).then((response) => { + if (!response.Lyrics) { + throw new Error(); + } + return response.Lyrics; + }); + } + + function bindToPlayer(player) { + if (player === currentPlayer) { + return; + } + + releaseCurrentPlayer(); + + currentPlayer = player; + + if (!player) { + return; + } + + Events.on(player, 'timeupdate', onTimeUpdate); + Events.on(player, 'playbackstart', onPlaybackStart); + Events.on(player, 'playbackstop', onPlaybackStop); + } + + function releaseCurrentPlayer() { + const player = currentPlayer; + + if (player) { + Events.off(player, 'timeupdate', onTimeUpdate); + Events.off(player, 'playbackstart', onPlaybackStart); + Events.off(player, 'playbackstop', onPlaybackStop); + currentPlayer = null; + } + } + + function onLyricClick(lyricTime) { + playbackManager.seek(lyricTime); + if (playbackManager.paused()) { + playbackManager.playPause(currentPlayer); + } + } + + function onTimeUpdate() { + if (isDynamicLyric) { + const currentIndex = getLyricIndex(getCurrentPlayTime(), savedLyrics); + updateAllLyricLines(currentIndex, savedLyrics); + } + } + + function onPlaybackStart(event, state) { + if (currentItem.Id !== state.NowPlayingItem.Id) { + onLoad(); + } + } + + function onPlaybackStop(_, state) { + // TODO: switch to appRouter.back(), with fix to navigation to /#/queue. Which is broken when it has nothing playing + if (!state.NextMediaType) { + appRouter.goHome(); + } + } + + function onPlayerChange() { + const player = playbackManager.getCurrentPlayer(); + bindToPlayer(player); + } + + function onLoad() { + savedLyrics = null; + currentItem = null; + isDynamicLyric = false; + + LibraryMenu.setTitle(globalize.translate('Lyrics')); + + const player = playbackManager.getCurrentPlayer(); + + if (player) { + bindToPlayer(player); + + const state = playbackManager.getPlayerState(player); + currentItem = state.NowPlayingItem; + + const serverId = state.NowPlayingItem.ServerId; + const itemId = state.NowPlayingItem.Id; + + getLyrics(serverId, itemId).then(updateLyrics).catch(renderNoLyricMessage); + } else { + // if nothing is currently playing, no lyrics to display redirect to home + appRouter.goHome(); + } + } + + view.addEventListener('viewshow', function () { + Events.on(playbackManager, 'playerchange', onPlayerChange); + try { + onLoad(); + } catch (e) { + appRouter.goHome(); + } + }); + + view.addEventListener('viewbeforehide', function () { + Events.off(playbackManager, 'playerchange', onPlayerChange); + releaseCurrentPlayer(); + }); +} diff --git a/src/controllers/playback/queue/index.html b/src/controllers/playback/queue/index.html index cb4706f152..bb3a85cd0a 100644 --- a/src/controllers/playback/queue/index.html +++ b/src/controllers/playback/queue/index.html @@ -81,6 +81,10 @@ + + diff --git a/src/scripts/deleteHelper.js b/src/scripts/deleteHelper.js index e1857e33f0..58a31045cb 100644 --- a/src/scripts/deleteHelper.js +++ b/src/scripts/deleteHelper.js @@ -1,9 +1,9 @@ +import globalize from './globalize'; +import alert from '../components/alert'; import confirm from '../components/confirm/confirm'; import { appRouter } from '../components/router/appRouter'; -import globalize from './globalize'; import ServerConnections from '../components/ServerConnections'; -import alert from '../components/alert'; import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind'; function alertText(options) { @@ -54,6 +54,28 @@ export function deleteItem(options) { }); } +export function deleteLyrics (item) { + return confirm({ + title: globalize.translate('HeaderDeleteLyrics'), + text: globalize.translate('ConfirmDeleteLyrics'), + confirmText: globalize.translate('Delete'), + primary: 'delete' + }).then(() => { + const apiClient = ServerConnections.getApiClient(item.ServerId); + return apiClient.ajax({ + url: apiClient.getUrl('Audio/' + item.Id + '/Lyrics'), + type: 'DELETE' + }).catch((err) => { + const result = function () { + return Promise.reject(err); + }; + + return alertText(globalize.translate('ErrorDeletingLyrics')).then(result, result); + }); + }); +} + export default { - deleteItem: deleteItem + deleteItem, + deleteLyrics }; diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 5d8be73d24..65cac60cbb 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -162,6 +162,7 @@ "ConfirmDeleteItem": "Deleting this item will delete it from both the file system and your media library. Are you sure you wish to continue?", "ConfirmDeleteSeries": "Deleting this series will delete ALL {0} episodes from both the file system and your media library. Are you sure you wish to continue?", "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", + "ConfirmDeleteLyrics": "Deleting these lyrics will delete them from both the file system and your media library. Are you sure you wish to continue?", "ConfirmDeletion": "Confirm Deletion", "ConfirmEndPlayerSession": "Would you like to shutdown Jellyfin on {0}?", "Connect": "Connect", @@ -191,6 +192,7 @@ "DeleteDevicesConfirmation": "Are you sure you wish to delete all devices? All other sessions will be logged out. Devices will reappear the next time a user signs in.", "DeleteImage": "Delete Image", "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "DeleteLyrics": "Delete lyrics", "DeleteMedia": "Delete media", "DeleteSeries": "Delete Series", "DeleteEpisode": "Delete Episode", @@ -277,6 +279,7 @@ "ErrorAddingXmlTvFile": "There was an error accessing the XMLTV file. Please ensure the file exists and try again.", "ErrorDefault": "There was an error processing the request. Please try again later.", "ErrorDeletingItem": "There was an error deleting the item from the server. Please check that Jellyfin has write access to the media folder and try again.", + "ErrorDeletingLyrics": "There was an error deleting the lyrics from the server. Please check that Jellyfin has write access to the media folder and try again.", "ErrorGettingTvLineups": "There was an error downloading TV lineups. Please ensure your information is correct and try again.", "ErrorPlayerNotFound": "No player found for the requested media.", "ErrorPleaseSelectLineup": "Please select a lineup and try again. If no lineups are available, then please check that your username, password, and postal code is correct.", @@ -371,6 +374,7 @@ "HeaderDeleteItem": "Delete Item", "HeaderDeleteSeries": "Delete Series", "HeaderDeleteItems": "Delete Items", + "HeaderDeleteLyrics": "Delete Lyrics", "HeaderDeleteProvider": "Delete Provider", "HeaderDeleteTaskTrigger": "Delete Task Trigger", "HeaderDetectMyDevices": "Detect My Devices", @@ -428,6 +432,7 @@ "HeaderNewRepository": "New Repository", "HeaderNextEpisodePlayingInValue": "Next Episode Playing in {0}", "HeaderNextVideoPlayingInValue": "Next Video Playing in {0}", + "HeaderNoLyrics": "No lyrics found", "HeaderOnNow": "On Now", "HeaderOtherItems": "Other Items", "HeaderParentalRatings": "Parental Ratings", @@ -962,6 +967,7 @@ "LogoScreensaver": "Logo Screensaver", "Lyric": "Lyric", "Lyricist": "Lyricist", + "Lyrics": "Lyrics", "ManageLibrary": "Manage library", "ManageRecording": "Manage recording", "MapChannels": "Map Channels", @@ -1522,6 +1528,7 @@ "VideoAudio": "Video Audio", "ViewAlbum": "View album", "ViewAlbumArtist": "View album artist", + "ViewLyrics": "View lyrics", "ViewPlaybackInfo": "View playback info", "Watched": "Watched", "Wednesday": "Wednesday", diff --git a/src/styles/lyrics.scss b/src/styles/lyrics.scss new file mode 100644 index 0000000000..8642dd05b1 --- /dev/null +++ b/src/styles/lyrics.scss @@ -0,0 +1,31 @@ +.lyricPage { + padding-top: 4.2em !important; + display: flex; + justify-content: center; +} + +.dynamicLyricsContainer { + display: flex; + flex-direction: column; +} + +.lyricsLine { + display: inline-block; + width: fit-content; + margin: 0.1em; + font-size: 30px; + color: inherit; + min-height: 2em; +} + +.futureLyric { + opacity: 0.3; +} + +.pastLyric { + opacity: 0.7; +} + +.dynamicLyric { + cursor: pointer; +} From 9449e69b0db2dba571a5ecad99124b4690e0e5b0 Mon Sep 17 00:00:00 2001 From: jellyfin-bot Date: Wed, 10 Apr 2024 19:37:46 +0000 Subject: [PATCH 186/293] Update @jellyfin/sdk to 0.0.0-unstable.202404101900 --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6eca38dc1..7d7fa0936b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@fontsource/noto-sans-sc": "5.0.18", "@fontsource/noto-sans-tc": "5.0.18", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403310501", + "@jellyfin/sdk": "0.0.0-unstable.202404101900", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", @@ -3728,9 +3728,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "node_modules/@jellyfin/sdk": { - "version": "0.0.0-unstable.202403310501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403310501.tgz", - "integrity": "sha512-sSo8LEtEyKaCSsXdD5pVbXEWDTBXMSb91f/uCZiT5PxUX/umyILxg3BgpAECobAdGzCVe0atMoY6Srti+rtU5g==", + "version": "0.0.0-unstable.202404101900", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202404101900.tgz", + "integrity": "sha512-/OQyJIfOMQf23eabSEOARYiHkUhwsHNQL9SenEYGuV1p9ikmIRivqHwwtbPSTC7IEO6qmq62rndfQpNpIuIjdw==", "peerDependencies": { "axios": "^1.3.4" } @@ -25587,9 +25587,9 @@ "integrity": "sha512-oWK2yz8fFlMXkIuxUc9g/bqN2h56AB+8b6vF/Ikns6WZ/nmcGJ/5lcVaLI4csE83yWgmco4gHO3HyJDsM9EXcQ==" }, "@jellyfin/sdk": { - "version": "0.0.0-unstable.202403310501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202403310501.tgz", - "integrity": "sha512-sSo8LEtEyKaCSsXdD5pVbXEWDTBXMSb91f/uCZiT5PxUX/umyILxg3BgpAECobAdGzCVe0atMoY6Srti+rtU5g==", + "version": "0.0.0-unstable.202404101900", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202404101900.tgz", + "integrity": "sha512-/OQyJIfOMQf23eabSEOARYiHkUhwsHNQL9SenEYGuV1p9ikmIRivqHwwtbPSTC7IEO6qmq62rndfQpNpIuIjdw==", "requires": {} }, "@jest/schemas": { diff --git a/package.json b/package.json index 8543eadbb1..795d5d32ea 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@fontsource/noto-sans-sc": "5.0.18", "@fontsource/noto-sans-tc": "5.0.18", "@jellyfin/libass-wasm": "4.2.1", - "@jellyfin/sdk": "0.0.0-unstable.202403310501", + "@jellyfin/sdk": "0.0.0-unstable.202404101900", "@loadable/component": "5.16.3", "@mui/icons-material": "5.15.11", "@mui/material": "5.15.11", From 48c7e8d01557096dde3514ba0d68af94071ec0ee Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Thu, 11 Apr 2024 10:37:10 +0000 Subject: [PATCH 187/293] Translated using Weblate (Danish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/ --- src/strings/da.json | 49 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/src/strings/da.json b/src/strings/da.json index 276aff793d..d9a6b4c23f 100644 --- a/src/strings/da.json +++ b/src/strings/da.json @@ -141,7 +141,7 @@ "GroupVersions": "Grupér versioner", "GuestStar": "Gæsteskuespiller", "GuideProviderSelectListings": "Vælg udbyder", - "H264CrfHelp": "Den Konstante Ratefaktor (CRF) er standardindstillingen for X264-koderen og X265-koderen. Du kan sætte værdien i mellem 0 og 51, hvor de lavere værdier resulterer i bedre kvalitet (på bekostning af større filstørrelser). Fornuftige værdier er i mellem 18 og 28. Standarden for X264 er 23 og for Z265 er 28, så du kan bruge dette som udgangspunkt.", + "H264CrfHelp": "Den Konstante Ratefaktor (CRF) er standardindstillingen for X264 og X265 software kodere. Du kan sætte værdien i mellem 0 og 51, hvor de lavere værdier resulterer i bedre kvalitet (på bekostning af større filstørrelser). Fornuftige værdier er i mellem 18 og 28. Standarden for X264 er 23 og for Z265 er 28, så du kan bruge dette som udgangspunkt. Hardware kodere bruger ikke disse indstillinger.", "EncoderPresetHelp": "Vælg en hurtigere værdi for at forbedre ydeevne, eller en langsommere værdi for at forbedre kvalitet.", "HDPrograms": "HD-programmer", "HardwareAccelerationWarning": "Aktivering af hardwareacceleration kan forårsage ustabilitet i nogle miljøer. Kontroller at dit operativsystem og videodriver er opdateret. Hvis du har problemer med at afspille video efter aktivering af dette, bliver du nød til at skifte tilbage til Ingen.", @@ -1311,7 +1311,7 @@ "EnableDetailsBanner": "Detalje banner", "EnableDecodingColorDepth10Vp9": "Aktiver 10-bit hardware dekodning for VP9", "EnableDecodingColorDepth10Hevc": "Aktiver 10-bit hardware dekodning for HEVC", - "AllowTonemappingHelp": "Tonekortlægning kan omdanne det dynamiske område for en video fra HDR til SDR, samtidig med at billeddetaljer og farver opretholdes, hvilket er meget vigtig information til at repræsentere den originale scene. Fungerer i øjeblikket kun, når der omkodes videoer med indlejret HDR10- eller HLG-metadata. Dette kræver den tilsvarende OpenCL eller CUDA runtime.", + "AllowTonemappingHelp": "Tonekortlægning kan omdanne det dynamiske område for en video fra HDR til SDR, samtidig med at billeddetaljer og farver opretholdes, hvilket er meget vigtig information til at repræsentere den originale scene. Fungerer i øjeblikket kun, når der omkodes videoer med indlejret HDR10- eller HLG-metadata. Dette kræver den tilsvarende GPGPU runtime.", "LabelCurrentStatus": "Aktuel status", "LabelChromecastVersion": "Google Cast-version", "LabelAutomaticDiscoveryHelp": "Tillad, at applikationer automatisk finder Jellyfin ved hjælp af UDP-port 7359.", @@ -1677,7 +1677,7 @@ "HomeVideosPhotos": "Hjemmevideoer og -billeder", "IgnoreDtsHelp": "Deaktivering af denne indstilling kan muligvis løse udfordringer såsom manglende lydkanal med separate lyd- og videospor.", "EnableSplashScreen": "Vis opstarts skærm", - "LabelStereoDownmixAlgorithm": "", + "LabelStereoDownmixAlgorithm": "Stereo Nedskalerings Algoritme", "LabelMaxVideoResolution": "Max opløsning af video omkodnings opløsning", "HeaderRecordingMetadataSaving": "Optager metadata", "LabelChapterImageResolutionHelp": "Opløsningen af det udtrukne kapitelbillede. Ændringen af dette vil ingen effekt have på dummy kapitler", @@ -1711,11 +1711,11 @@ "HeaderConfirmRepositoryInstallation": "Bekræft installation af plugin-repositorium", "BackdropScreensaver": "Screensaver baggrund", "GetThePlugin": "Få pluginnet", - "AllowSegmentDeletionHelp": "Slet gamle segmenter, når de er blevet sendt til klienten. Dette forhindrer, at man skal gemme hele den transkodede fil på disken. Fungerer kun med throttling aktiveret. Slå dette fra, hvis du oplever afspilningsproblemer.", + "AllowSegmentDeletionHelp": "Slet gamle segmenter, når de er blevet hentet af klienten. Dette forhindrer, at man skal gemme hele den transkodede fil på disken. Slå dette fra, hvis du oplever afspilningsproblemer.", "LabelThrottleDelaySeconds": "Begræns efter", "LabelThrottleDelaySecondsHelp": "Tid i sekunder, hvorefter transcoderen vil blive begrænset. Skal være stor nok til, at klienten kan opretholde en sund buffer. Virker kun, hvis throttling er aktiveret.", "LabelSegmentKeepSeconds": "Tid at gemme segmenter i", - "LabelSegmentKeepSecondsHelp": "Tid i sekunder, som segmenter skal gemmes i, før de overskrives. Skal være større end \"Begræns efter\". Virker kun, hvis sletning af segmenter er aktiveret.", + "LabelSegmentKeepSecondsHelp": "Tid i sekunder, som segmenter skal gemmes i, efter de er hentet af klienten. Virker kun, hvis sletning af segmenter er aktiveret.", "HeaderGuestCast": "Gæstestjerner", "LabelAlbumGain": "Albumslydstyrke", "LabelSelectAudioNormalization": "Lyd normalisering", @@ -1757,9 +1757,44 @@ "MediaInfoDvBlSignalCompatibilityId": "DV bl signals kompatibilitets id", "ButtonEditUser": "Rediger bruger", "HeaderAllRecordings": "alle optagelser", - "ListView": "liste udsigt", + "ListView": "Liste Visning", "LabelVppTonemappingContrastHelp": "Tilføj kontrastere", "LogLevel.Trace": "Spore", "LabelServerVersion": "server version", - "LabelWebVersion": "Web version" + "LabelWebVersion": "Web version", + "AirPlay": "AirPlay", + "PlaybackError.NO_MEDIA_ERROR": "Ikke muligt at finde en gyldig mediekilde at afspille.", + "AllowSubtitleManagement": "Tillad denne bruger at redigere undertekster", + "AllowContentWithTagsHelp": "Vis kun medier med mindst èn af de nævnte tags.", + "LabelUseReplayGainTags": "Brug ReplayGain Tags", + "BlockContentWithTagsHelp": "Gem medier med mindst én af de nævnte tags.", + "ChannelResolutionSD": "SD", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "Fuld HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "ConfirmDeleteSeries": "Sletning af denne serie vil slette ALLE {0} afsnit fra både filsystemet og dit mediebibliotek. Er du sikker på du vil fortsætte?", + "DeleteSeries": "Slet Serie", + "DeleteEpisode": "Slet Afsnit", + "DlnaMovedMessage": "DLNA funktionaliteten er flyttet til et plugin.", + "EnableLibrary": "Aktivér biblioteket", + "EnableLibraryHelp": "Deaktivering af biblioteket vil gemme det fra alle brugeres visninger.", + "HeaderDeleteSeries": "Slet Serie", + "LabelAllowContentWithTags": "Tillad elementer med tags", + "LabelBuildVersion": "Build version", + "DeleteName": "Slet {0}", + "DeleteEntireSeries": "Slet {0} Afsnit", + "LabelUseReplayGainTagsHelp": "Skan lydfiler for replaygain tags og brug dem i stedet for at udregne LUFS værdi. (Bruger mindre computerkraft. Vil overskrive 'LUFS Skan' muligheden)", + "PlaybackError.ASS_RENDER_ERROR": "En fejl skete i ASS/SSA undertekst rendereren.", + "PlaybackError.FATAL_HLS_ERROR": "En fatal fejl sekete i HLS strømmen.", + "PlaybackError.MEDIA_DECODE_ERROR": "Afspilning fejlede i afkodning af mediet.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Afspilning fejlede fordi mediet ikke er supporteret af denne klient.", + "PlaybackError.NETWORK_ERROR": "Afspilning fejlede på grund af en netværksfejl.", + "PlaybackError.PLAYER_ERROR": "Afspilning fejlede på grund af en fatal afspiller fejl.", + "PlaybackError.SERVER_ERROR": "Afspilning fejlede på grund af en server fejl.", + "PlaybackError.NotAllowed": "Afspilning af dette medie er ikke tilladt.", + "Lyric": "Lyrik", + "EnableSmoothScroll": "Aktivér glat scroll", + "LimitSupportedVideoResolution": "Begræns maksimal supporteret video opløsning", + "LimitSupportedVideoResolutionHelp": "Brug 'Maksimalle Tilladt Video Transkodning Opløsning' som maksimal supporteret video opløsning." } From ccaa16ff969627904979795c255dac0662a05c62 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Thu, 11 Apr 2024 12:11:56 +0000 Subject: [PATCH 188/293] Translated using Weblate (Danish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/da/ --- src/strings/da.json | 60 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/src/strings/da.json b/src/strings/da.json index d9a6b4c23f..b46b385c0a 100644 --- a/src/strings/da.json +++ b/src/strings/da.json @@ -1128,7 +1128,7 @@ "PlayCount": "Afspilninger", "PlayNext": "Afspil næste", "PlayNextEpisodeAutomatically": "Afspil næste afsnit automatisk", - "PlaybackErrorNoCompatibleStream": "Denne klient er ikke kompatibel med medierne, og serveren sender ikke et kompatibelt medieformat.", + "PlaybackErrorNoCompatibleStream": "Denne klient er ikke kompatibel med mediet, og serveren sender ikke et kompatibelt medieformat.", "Playlists": "Afspilningslister", "Previous": "Forrige", "Primary": "Primær", @@ -1365,7 +1365,7 @@ "QuickConnectInvalidCode": "Ugyldig Quick Connect kode", "QuickConnectDescription": "For at logge ind med Quick Connect, vælg da 'Quick Connect' knappen på den enhed du er logget ind fra og indtast den viste kode nedenfor.", "QuickConnectDeactivated": "Quick Connect blev deaktiveret før log ind anmodningen kunne blive godkendt", - "QuickConnectAuthorizeSuccess": "Succes! Din enhed er blevet godkendt.", + "QuickConnectAuthorizeSuccess": "Du har godkendt din enhed med succes!", "QuickConnectAuthorizeFail": "Ukendt Quick Connect kode", "QuickConnectAuthorizeCode": "Angiv kode {0} for at logge ind", "QuickConnectActivationSuccessful": "Aktivering blev gennemført", @@ -1452,7 +1452,7 @@ "PreferFmp4HlsContainerHelp": "Brug helst fMP4 som default beholder for HLS, hvilket gør det muligt at streame HEVC og AV1 indhold direkte på understøttede enheder.", "RemuxHelp2": "Remux bruger meget lidt processor kraft med komplet tabsfri medie kvalitet.", "RemuxHelp1": "Medie filen er i en ikke-kompatibel fil beholder (MKV, AVI, WMV, osv) men både video og lys strømmene er kompatible med enheden. Medie filen vil blive genpakket tabsfrit før det sendes til enheden.", - "LabelFallbackFontPathHelp": "Definer en sti der indeholder tilbagefalds skrifttyper til rendering af ASS/SSA undertekster. Maksimalt størrelse tilladt er 20 MB. Letvægts og web-vendlige skrifttyper som woff2 er anbefalet.", + "LabelFallbackFontPathHelp": "Disse skrifttyper bruges af nogle klienter til at rendere undertekster. Se venligst dokumentationen for mere information.", "LabelFallbackFontPath": "Sti til tilbagefaldsmappen for skrifttyper", "HeaderSelectFallbackFontPathHelp": "Gennemse eller skriv stien til tilbagefaldsmappen for skrifttyper til brug når der renderes ASS/SSA undertekster.", "HeaderSelectFallbackFontPath": "Vælg Tilbagefalds Skrifttype Mappesti", @@ -1647,7 +1647,7 @@ "ButtonExitApp": "Afslut programmet", "ButtonClose": "Luk", "AddToFavorites": "Tilføj som favorit", - "EnableEnhancedNvdecDecoderHelp": "Eksperimentel NVDEC-implementering. Slå ikke denne indstilling til, med mindre du oplever afkodningsfejl.", + "EnableEnhancedNvdecDecoderHelp": "Udvidet NVDEC-implementering, slå denne indstilling fra for at bruge CUVID hvis du oplever afkodningsfejl.", "DownloadAll": "Hent alle", "ScreenResolution": "Skærmopløsning", "SecondarySubtitles": "Sekundære undertekster", @@ -1680,7 +1680,7 @@ "LabelStereoDownmixAlgorithm": "Stereo Nedskalerings Algoritme", "LabelMaxVideoResolution": "Max opløsning af video omkodnings opløsning", "HeaderRecordingMetadataSaving": "Optager metadata", - "LabelChapterImageResolutionHelp": "Opløsningen af det udtrukne kapitelbillede. Ændringen af dette vil ingen effekt have på dummy kapitler", + "LabelChapterImageResolutionHelp": "Opløsningen af det udtrukne kapitelbillede. Ændringen af dette vil ingen effekt have på dummy kapitler.", "MessageRenameMediaFolder": "Omdøbning af et mediebibliotek sletter al tilhørende metadata. Fortsæt med forsigtighed.", "StereoDownmixAlgorithmHelp": "Algoritme brugt til at nedskalere flerkanals lyd til stereo.", "IgnoreDts": "Ignorer DTS (afkodning af tidsstempel)", @@ -1758,7 +1758,7 @@ "ButtonEditUser": "Rediger bruger", "HeaderAllRecordings": "alle optagelser", "ListView": "Liste Visning", - "LabelVppTonemappingContrastHelp": "Tilføj kontrastere", + "LabelVppTonemappingContrastHelp": "Tilføj kontrast gain i VPP tone mapning. Begge anbefalede og standard værdier er 1.", "LogLevel.Trace": "Spore", "LabelServerVersion": "server version", "LabelWebVersion": "Web version", @@ -1796,5 +1796,51 @@ "Lyric": "Lyrik", "EnableSmoothScroll": "Aktivér glat scroll", "LimitSupportedVideoResolution": "Begræns maksimal supporteret video opløsning", - "LimitSupportedVideoResolutionHelp": "Brug 'Maksimalle Tilladt Video Transkodning Opløsning' som maksimal supporteret video opløsning." + "LimitSupportedVideoResolutionHelp": "Brug 'Maksimalle Tilladt Video Transkodning Opløsning' som maksimal supporteret video opløsning.", + "AiTranslated": "AI Oversat", + "LabelEncodingFormatOptions": "Koder format muligheder", + "EncodingFormatHelp": "Vælg den video kodning Jellyfin skal transkode til. Jellyfin vil bruge software kodning når hardware kodning til det valgte format ikke er tilgængelig. H264 kodning vil altid være aktiveret.", + "MachineTranslated": "Maskine Oversat", + "Trickplay": "Trickspil", + "LabelTrickplayAccel": "Aktivér hardware acceleration", + "PlaybackError.RateLimitExceeded": "Dette medie kan ikke afspilles lige nu på grund a rate begrænsninger.", + "LabelImageIntervalHelp": "Tidsinterval (ms) mellem hver ny trickspil billede.", + "EnableVideoToolboxTonemapping": "Aktivér VideoToolbox Tone mapning", + "AllowVideoToolboxTonemappingHelp": "Hardware accelereret tone-mapning fra VideoToolbox. Virker med de fleste HDR formater, inklusiv HDR10, HDR10+, og HLG, men virker ikke med Dolby Vision Profile 5. Denne har højere prioritet end andre Metal implementatitoner.", + "MediaInfoDvVersionMajor": "DV version overordnet", + "MediaInfoDvVersionMinor": "DV version underordnet", + "ForeignPartsOnly": "Kun Tvungne/Udenlandske dele", + "HearingImpairedShort": "HI/SDH", + "LabelIsHearingImpaired": "For hørehæmmede (SDH)", + "AllowMjpegEncoding": "Tillad kodning i MJPEG format (brugt ved trickspil generering)", + "LabelTrickplayAccelHelp": "Vær sikker på at aktivere 'Tillad MJPEG Kodning' i Transkodning hvis dit hardware understøtter det.", + "NonBlockingScan": "Ikke Blokerende - sætter generation i kø, returnerer efterfølgende", + "BlockingScan": "Blokering - sætter generation i kø, blokerer skan indtil færdig", + "LabelScanBehavior": "Skan Opførsel", + "LabelScanBehaviorHelp": "Standard opførsel er ikke blokerende, hvilket vil tilføje medie til biblioteket før trickspil generering gennemføres. Blokering vil sikre art trickspil filer er genereret før mediet tilføjes til biblioteket, men vil gøre så skanning tager væsentlig længere tid.", + "PriorityHigh": "Høj", + "PriorityAboveNormal": "Over Normal", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Under Normal", + "PriorityIdle": "Stille", + "LabelProcessPriority": "Proces Prioritet", + "LabelProcessPriorityHelp": "Hvis dette sættes højere eller lavere vil definere hvordan CPUen prioriterer ffmpegs trickspils genererings proces i forhold til andre processer. Hvis du oplever langsommelighed mens der genereres trickspil billeder men ikke vil undvære dem, så prøv at indstille dette lidt lavere ligesom tråd antal.", + "LabelImageInterval": "Billede Interval", + "LabelWidthResolutions": "Vidde Opløsninger", + "LabelWidthResolutionsHelp": "Kommasepareret liste over vidder (px) som trickspil billeder genereres i. Alle billeder genereres proportionelt til kilden, så en vidde på 320 på en 16:9 video ender omkring 320x180.", + "LabelTrackGain": "Spor Gain", + "LabelVppTonemappingContrast": "VPP Tone mapning kontrast gain", + "Unknown": "Ukendt", + "AllowAv1Encoding": "Tillad kodning i AV1 format", + "LabelVppTonemappingBrightness": "VPP Tone mapning lysstyrke gain", + "MediaInfoVideoRangeType": "Video rækkevidde type", + "LabelVppTonemappingBrightnessHelp": "Tilføj lysstyrke gain i VPP tone mapning. De anbefalede standard værdier er 16 og 0.", + "VideoRangeTypeNotSupported": "Videoens rækkevidde type er ikke supporteret", + "MediaInfoDvLevel": "DV niveau", + "LabelVideoRangeType": "Video rækkevidde type", + "MediaInfoRpuPresentFlag": "DV rpu forudindstillelses flag", + "MediaInfoElPresentFlag": "DV el forudindstillelses flag", + "MediaInfoBlPresentFlag": "DV bl forudindstillelses flag", + "LabelTonemappingMode": "Tone mapnings metode", + "TonemappingModeHelp": "Vælg tonemapnings metode. Hvis du oplever udsprængte højlys, prøv at skifte til RGB metoden." } From 3f2110f91c91e24dbeb97a41bec6311800448604 Mon Sep 17 00:00:00 2001 From: VitoFe Date: Thu, 11 Apr 2024 16:07:35 +0000 Subject: [PATCH 189/293] Translated using Weblate (Italian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/it/ --- src/strings/it.json | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/strings/it.json b/src/strings/it.json index 4d94e52b80..b3ceb4d831 100644 --- a/src/strings/it.json +++ b/src/strings/it.json @@ -204,7 +204,7 @@ "Guide": "Guida", "GuideProviderLogin": "Accedi", "GuideProviderSelectListings": "selezionare Annunci", - "H264CrfHelp": "Il 'Fattore di Frequenza Costante' (CRF) è l'impostazione di qualità predefinita per l'encoder x264 e x265. È possibile impostare i valori compresi tra 0 e 51, in cui valori inferiori potrebbero determinare una migliore qualità (a discapito delle dimensioni superiori dei file). I valori normali sono compresi tra 18 e 28. L'impostazione predefinita per x264 è 23 e per x265 è 28, quindi è possibile utilizzare questo come punto di partenza.", + "H264CrfHelp": "Il 'Fattore di Frequenza Costante' (CRF) è l'impostazione di qualità predefinita per gli encoder software x264 e x265. È possibile impostare i valori compresi tra 0 e 51, in cui valori inferiori potrebbero determinare una migliore qualità (a discapito delle dimensioni superiori dei file). I valori normali sono compresi tra 18 e 28. L'impostazione predefinita per x264 è 23 e per x265 è 28, quindi è possibile utilizzare questo come punto di partenza. Gli encoder hardware non usano queste impostazioni.", "EncoderPresetHelp": "Selezionare una velocità maggiore per migliorare le performance, o minore per incrementare la qualità.", "HDPrograms": "Programmi HD", "HardwareAccelerationWarning": "L'attivazione dell'accelerazione hardware potrebbe causare instabilità in qualche sistema. Assicurarsi che il sistema operativo e i driver video siano completamente aggiornati. Se hai difficoltà a riprodurre video dopo aver abilitato questa operazione, dovrai cambiare l'impostazione in None.", @@ -1407,7 +1407,7 @@ "TonemappingRangeHelp": "Seleziona l'intervallo di colore in uscita. Auto imposta lo stesso del valore di entrata.", "LabelTonemappingRange": "Intervallo mappatura dei toni", "TonemappingAlgorithmHelp": "La mappatura dei toni può essere messa a punto. Se non sei abbastanza familiare con queste opzioni, lascia quelle predefinite. Il valore raccomandato è 'BT.2390'.", - "AllowTonemappingHelp": "La mappatura dei toni può trasformare l'intervallo dinamico di un video da HDR a SDR mantenendo il dettaglio e i colori dell'immagine, che sono informazioni molto importanti per rappresentare la scena originale. Attualmente funziona solo con video HDR10, HLG e DoVi. Richiede le corrispondenti librerie OpenCL o CUDA.", + "AllowTonemappingHelp": "La mappatura dei toni può trasformare l'intervallo dinamico di un video da HDR a SDR mantenendo il dettaglio e i colori dell'immagine, che sono informazioni molto importanti per rappresentare la scena originale. Attualmente funziona solo con video HDR10, HLG e DoVi. Richiede le corrispondenti librerie GPGPU.", "LabelOpenclDeviceHelp": "Questo è il dispositivo OpenCL utilizzato per la mappatura dei toni. Il lato sinistro del punto è il numero di piattaforma, mentre la parte destra è il numero del dispositivo sulla piattaforma. Il valore base è 0.0. Il file di applicazione FFmpeg contenente il metodo di accelerazione hardware OpenCL è richiesto.", "LabelColorPrimaries": "Primari colore", "LabelColorTransfer": "Trasferimento colore", @@ -1640,7 +1640,7 @@ "ButtonClose": "Chiudi", "Production": "Produzione", "MessageUnauthorizedUser": "Non sei autorizzato ad accedere al server in questo momento. Contatta l'amministratore del server per ulteriori dettagli.", - "EnableEnhancedNvdecDecoderHelp": "Implementazione sperimentale NVDEC, da abilitare solo se esistono errori di decodifica.", + "EnableEnhancedNvdecDecoderHelp": "Implementazione NVDEC avanzata, disabilitare questa opzione per utilizzare CUVID se si verificano errori di decodifica.", "Sample": "Prova", "Trailer": "Trailer", "HomeVideosPhotos": "Home Video e Foto", @@ -1789,7 +1789,7 @@ "ButtonEditUser": "Modifica utente", "DlnaMovedMessage": "La funzionalità DLNA è stata spostata su ad un plugin.", "EnableVideoToolboxTonemapping": "Abilita mapping VideoToolbox Tone", - "AllowVideoToolboxTonemappingHelp": "Mapping del tono accellerato con hardware procurato da VideoToolbox. Funziona con la maggior parte dei formati HDR, inclusi HDR10, HDR10+, e HLG, ma non funziona con Doly Vision Profile 5. Questo ha una priorità più alta rispetto a un'altra implementazione OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Mapping del tono accellerato con hardware procurato da VideoToolbox. Funziona con la maggior parte dei formati HDR, inclusi HDR10, HDR10+, e HLG, ma non funziona con Doly Vision Profile 5. Questo ha una priorità più alta rispetto a un'altra implementazione Metal.", "ChannelResolutionSD": "SD", "ChannelResolutionSDPAL": "SD (PAL)", "ChannelResolutionHD": "HD", @@ -1831,5 +1831,32 @@ "LabelProcessPriorityHelp": "L'impostazione di un valore più basso o più alto determina il modo in cui la CPU dà priorità al processo di generazione di ffmpeg trickplay rispetto ad altri processi. Se si nota un rallentamento durante la generazione di immagini trickplay ma non si vuole interrompere completamente la loro generazione, provare a ridurre questo parametro e il numero di thread.", "Lyric": "Lyric", "PlaybackError.NotAllowed": "La riproduzione di questo file non è consentita.", - "LabelScanBehaviorHelp": "Il comportamento predefinito è quello non bloccante, che aggiunge i media alla libreria prima che venga generato il trickplay. Il blocco assicura che i file di trickplay siano generati prima che i media siano aggiunti alla libreria, ma rende le scansioni significativamente più lunghe." + "LabelScanBehaviorHelp": "Il comportamento predefinito è quello non bloccante, che aggiunge i media alla libreria prima che venga generato il trickplay. Il blocco assicura che i file di trickplay siano generati prima che i media siano aggiunti alla libreria, ma rende le scansioni significativamente più lunghe.", + "AllowContentWithTagsHelp": "Mostra solo i media con almeno uno dei tag specificati.", + "AirPlay": "AirPlay", + "BlockContentWithTagsHelp": "Nascondi i media con almeno uno dei tag specificati.", + "LimitSupportedVideoResolution": "Limitare la risoluzione video massima supportata", + "LimitSupportedVideoResolutionHelp": "Utilizzare 'Risoluzione massima consentita per la transcodifica video' come risoluzione video massima supportata.", + "LabelTileHeightHelp": "Numero massimo di immagini per riquadro in direzione Y.", + "LabelJpegQualityHelp": "La qualità di compressione JPEG per le immagini di trickplay.", + "LabelQscale": "Qscale", + "OptionExtractTrickplayImage": "Abilita l'estrazione dell'immagine di trickplay", + "LabelWidthResolutions": "Risoluzioni in larghezza", + "LabelEncodingFormatOptions": "Opzioni del formato di codifica", + "LabelImageInterval": "Intervallo di immagine", + "ExtractTrickplayImagesHelp": "Le immagini Trickplay sono simili alle immagini dei capitoli, ma coprono l'intera lunghezza del contenuto e vengono utilizzate per mostrare un'anteprima durante lo scorrimento dei video.", + "LabelTrickplayThreadsHelp": "Il numero di thread da passare all'argomento '-threads' di ffmpeg.", + "LabelExtractTrickplayDuringLibraryScanHelp": "Genera le immagini di trickplay quando i video vengono importati durante la scansione della libreria. Altrimenti, verranno estratte durante l'attività programmata delle immagini di trickplay. Se la generazione è impostata su non bloccante, questo non influisce sul tempo di completamento della scansione della libreria.", + "LabelImageIntervalHelp": "Intervallo di tempo (ms) tra ogni nuova immagine di trickplay.", + "LabelJpegQuality": "Qualità JPEG", + "LabelExtractTrickplayDuringLibraryScan": "Estrarre le immagini dei trucchi durante la scansione della libreria", + "LabelTileWidthHelp": "Numero massimo di immagini per riquadro nella direzione X.", + "LabelTileWidth": "Larghezza Riquadro", + "LabelQscaleHelp": "La scala di qualità delle immagini prodotte da ffmpeg, con 2 come qualità massima e 31 come qualità minima.", + "LabelTrickplayThreads": "Thread di FFmpeg", + "EnableLibrary": "Abilita la libreria", + "EnableLibraryHelp": "Disabilitando la libreria, la si nasconde da tutte le visualizzazioni degli utenti.", + "EncodingFormatHelp": "Selezionare la codifica video in cui Jellyfin deve eseguire la transcodifica. Jellyfin utilizzerà la codifica software quando l'accelerazione hardware per il formato selezionato non è disponibile. La codifica H264 sarà sempre abilitata.", + "LabelWidthResolutionsHelp": "Elenco separato da virgole delle larghezze (px) con cui saranno generate le immagini di trickplay. Tutte le immagini devono essere generate in modo proporzionale alla sorgente, quindi una larghezza di 320 su un video 16:9 finisce per essere circa 320x180.", + "LabelTileHeight": "Altezza Riquadro" } From f89869e18f96e91287616853e778ee80adb776f6 Mon Sep 17 00:00:00 2001 From: hoanghuy309 Date: Fri, 12 Apr 2024 09:32:40 +0000 Subject: [PATCH 190/293] Translated using Weblate (Vietnamese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/vi/ --- src/strings/vi.json | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/strings/vi.json b/src/strings/vi.json index 3806315e91..0277e5880e 100644 --- a/src/strings/vi.json +++ b/src/strings/vi.json @@ -1334,7 +1334,7 @@ "LabelTonemappingDesat": "Khử bão hòa tông màu", "LabelTonemappingDesatHelp": "Áp dụng khử bão hòa cho các điểm sáng vượt quá độ sáng này. Thông số này càng cao thì thông tin màu càng được bảo toàn. Cài đặt này giúp ngăn các màu bị lóa không tự nhiên để tạo ra những vùng siêu nổi bật, bằng cách chuyển thành màu trắng (mềm mại). Nó làm cho hình ảnh trông tự nhiên, với hao phí giảm thông tin về các màu nằm ngoài phạm vi. Các giá trị được đề xuất và mặc định là 0 và 0,5.", "LabelTonemappingRange": "Phạm vi ánh xạ tông màu", - "AllowTonemappingHelp": "Ánh xạ tông màu có thể biến đổi dải động video từ HDR sang SDR mà vẫn giữ chi tiết và màu sắc hình ảnh, đó là thông tin rất quan trọng để thể hiện cảnh gốc. Hiện chỉ hoạt động với video 10bit HDR10, HLG và DoVi. Việc này yêu cầu OpenCL hoặc CUDA runtime tương ứng.", + "AllowTonemappingHelp": "Ánh xạ tông màu có thể biến đổi dải động video từ HDR sang SDR mà vẫn giữ chi tiết và màu sắc hình ảnh, đó là thông tin rất quan trọng để thể hiện cảnh gốc. Hiện chỉ hoạt động với video 10bit HDR10, HLG và DoVi. Điều này đòi hỏi GPGPU runtime tương ứng.", "EnableTonemapping": "Bật Ánh xạ tông màu", "LabelOpenclDevice": "Thiết bị OpenCL", "LabelColorPrimaries": "Màu cơ bản", @@ -1779,5 +1779,19 @@ "LabelUseReplayGainTags": "Sử dụng thẻ ReplayGain", "LabelBuildVersion": "Phiên bản dựng", "LabelUseReplayGainTagsHelp": "Quét các tệp âm thanh để tìm thẻ phát lại và sử dụng chúng thay vì tính toán giá trị LUFS. (Sử dụng ít sức mạnh tính toán hơn. Sẽ ghi đè tùy chọn 'Quét LUFS')", - "LabelWebVersion": "Phiên bản web" + "LabelWebVersion": "Phiên bản web", + "EnableLibrary": "Bật thư viện", + "LimitSupportedVideoResolution": "Giới hạn độ phân giải video được hỗ trợ tối đa", + "ConfirmDeleteSeries": "Xóa loạt bài này sẽ xóa TẤT CẢ {0} tập khỏi cả hệ thống tệp và thư viện phương tiện của bạn. Bạn có chắc muốn tiếp tục không?", + "EnableLibraryHelp": "Việc tắt thư viện sẽ ẩn nó khỏi mọi chế độ xem của người dùng.", + "LimitSupportedVideoResolutionHelp": "Sử dụng 'Độ phân giải chuyển mã video tối đa được phép' làm độ phân giải video được hỗ trợ tối đa.", + "AllowContentWithTagsHelp": "Chỉ hiển thị phương tiện có ít nhất một trong các thẻ được chỉ định.", + "BlockContentWithTagsHelp": "Ẩn phương tiện có ít nhất một trong các thẻ được chỉ định.", + "DeleteEntireSeries": "Xóa {0} tập", + "DeleteEpisode": "Xóa Tập", + "EnableSmoothScroll": "Bật cuộn mượt mà", + "LabelAllowContentWithTags": "Cho phép các mục có thẻ", + "DeleteSeries": "Xóa Loạt Phim", + "HeaderDeleteSeries": "Xóa Loạt Phim", + "Lyric": "Lời bài hát" } From db9870752ca9d46d95c3a4ad8cdb463365d97057 Mon Sep 17 00:00:00 2001 From: Tornike Natsvlishvili Date: Fri, 12 Apr 2024 08:16:54 +0000 Subject: [PATCH 191/293] Translated using Weblate (Georgian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ka/ --- src/strings/ka.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/ka.json b/src/strings/ka.json index bffd7a32c8..c53b230909 100644 --- a/src/strings/ka.json +++ b/src/strings/ka.json @@ -49,5 +49,7 @@ "AllowSegmentDeletionHelp": "მონაკვეთის წაშლა, კლიენტის მიერ მისი გადმოწერის შემდგომ. ეს თავს აარიდებს სრული ტრანსკოდირებული ფაილების დისკზე შენახვას. გამორთეთ ეს ფუნქცია თუ კი ჩვენების პრობლემები გაგაჩნიათ.", "LabelSegmentKeepSecondsHelp": "წამთა ოდენობა, რომელიც განსაზღვრავს რამდენი ხნით შეინახება მონაკვეთები კლიენტის მიერ მისი გადმოწერის შემდგომ. მუშობს მხოლოდ მაშინ, როდესაც მონაკვეთების წაშლის ფუნქცია ჩართულია.", "LabelThrottleDelaySecondsHelp": "წამთა ოდენობა, რის შემდეგაც ტრანსკოდირება იქნება შეფერხებული. უნდა იყოს საკმარისად ხანგრძლივი, იმისთვის რომ, კლიენტმა შეინარჩუნოს ჯანსაღი ბუფერი. მუშაობს მხოლოდ მაშინ, როდესაც შეფერხების ფუნქცია ჩართულია.", - "LabelSegmentKeepSeconds": "მითითებული დროის განმავლობაში მონაკვეთები შეინახება" + "LabelSegmentKeepSeconds": "მითითებული დროის განმავლობაში მონაკვეთები შეინახება", + "AirPlay": "ეარფლეი", + "LabelThrottleDelaySeconds": "შემდეგ" } From f2a5163096d2ced007ce96b0c4e2f711a5a02a75 Mon Sep 17 00:00:00 2001 From: PD758 Date: Fri, 12 Apr 2024 14:42:20 +0000 Subject: [PATCH 192/293] Translated using Weblate (Russian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ru/ --- src/strings/ru.json | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/strings/ru.json b/src/strings/ru.json index 10c356ccb6..4b03262ebc 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -225,7 +225,7 @@ "Guide": "Телегид", "GuideProviderLogin": "Вход", "GuideProviderSelectListings": "Выбор перечней", - "H264CrfHelp": "\"Фактор постоянного оценивания\" (CRF) - параметр качества по умолчанию для кодёров x264 и x265. Возможно задавать значения от 0 до 51, где меньшие значения привели бы к улучшению качества (за счёт увеличения размеров файлов). Приемлемыми являются значения от 18 до 28. Стандартно для x264 - 23 и для x265 - 28, так что вы можете использовать это в качестве отправной точки.", + "H264CrfHelp": "\"Уровень постоянного битрейт\" (CRF) - параметр качества по умолчанию для программных кодировщиков x264 и x265. Возможно задавать значения от 0 до 51, где меньшие значения привели бы к улучшению качества (за счёт увеличения размеров файлов). Приемлемыми являются значения от 18 до 28. Стандартно для x264 - 23 и для x265 - 28, так что вы можете использовать это в качестве отправной точки. Аппаратные кодировщики не используют эту настройку.", "EncoderPresetHelp": "Выберите значение быстрее для улучшения производительности, или значение медленнее для улучшения качества.", "HDPrograms": "HD-передачи", "HardwareAccelerationWarning": "Включение аппаратного ускорения может привести к нестабильности в некоторых средах. Убедитесь в том, что ваша операционная система и видеодрайверы полностью актуализированы. Если имеются проблемы с воспроизведением видео после включения этого, необходимо сменить параметр назад на Ничего.", @@ -1424,7 +1424,7 @@ "LabelTonemappingPeakHelp": "Этим значением перекрывается сигнальный/номинальный/эталонный пик. Полезно, когда встроенная информация о пиках в метаданных дисплея ненадёжна или при тонмаппинге из узкого диапазона в более широкий. Значения рекомендуемое и по умолчанию - 100 и 0.", "LabelTonemappingThresholdHelp": "Параметры алгоритма тонмаппинга подстраиваются для каждой сцены. А порог используется, чтобы определить, изменилась ли сцена или нет. Если дистанция между средней яркостью текущего кадра и текущим скользящим средним превышает пороговое значение, мы пересчитаем среднюю и пиковую яркость сцены. Значения рекомендуемое и по умолчанию - 0.8 и 0.2.", "TonemappingAlgorithmHelp": "Тонмаппинг можно подстроить. Если вы не уверены с этими параметрами, оставьте значения по умолчанию. Рекомендуемое значение - \"BT.2390\".", - "AllowTonemappingHelp": "Тонмаппинг может преобразовать динамический диапазон видео из HDR в SDR, сохраняя детали изображения и цвета, которые являются очень важной информацией для представления исходного видео. В настоящее время работает только с 10-бит HDR10, HLG и DoVi. Для этого требуется соответствующая среда выполнения OpenCL или CUDA.", + "AllowTonemappingHelp": "Тонмаппинг может преобразовать динамический диапазон видео из HDR в SDR, сохраняя детали изображения и цвета, которые являются очень важной информацией для представления исходного видео. В настоящее время работает только с 10-битным HDR10, HLG и DoVi. Для этого требуется соответствующая среда выполнения GPGPU.", "LabelOpenclDeviceHelp": "Это устройство OpenCL, которое используется для тонмаппинга. Слева от точки - номер платформы, а справа - это номер устройства на платформе. Значение по умолчанию - 0.0. Требуется файл приложения FFmpeg, содержащий метод аппаратного ускорения OpenCL.", "OptionAllowContentDownloadHelp": "Пользователи могут загружать медиафайлы и хранить их на своих устройствах. Это не то же самое, как функция синхронизации. Для правильной работы книжных медиатек это необходимо.", "HeaderDeleteDevices": "Удалить все устройства", @@ -1649,7 +1649,7 @@ "Production": "Производственный", "Digital": "Цифровой", "MessageUnauthorizedUser": "Вы не авторизованы для доступа к серверу в настоящее время. Обратитесь к администратору сервера для получения дополнительной информации.", - "EnableEnhancedNvdecDecoderHelp": "Экспериментальная реализация NVDEC, не включайте эту опцию, если не столкнетесь с ошибками декодирования.", + "EnableEnhancedNvdecDecoderHelp": "Улучшенная реализация NVDEC, выключите если используете CUVID и сталкиваетесь с ошибками декодирования.", "HomeVideosPhotos": "Домашние видео и фото", "Bold": "Жирный", "LabelTextWeight": "Насыщенность шрифта", @@ -1785,7 +1785,7 @@ "HeaderAllRecordings": "Все записи", "LabelServerVersion": "Версия сервера", "ButtonEditUser": "Редактировать пользователя", - "AllowVideoToolboxTonemappingHelp": "Аппаратное ускорение тонмаппинга, обеспечиваемое VideoToolbox. Он работает с большинством форматов HDR, включая HDR10, HDR10+ и HLG, но не работает с Dolby Vision Profile 5. Она имеет более высокий приоритет по сравнению с другой реализацией OpenCL.", + "AllowVideoToolboxTonemappingHelp": "Аппаратное ускорение тонмаппинга, обеспечиваемое VideoToolbox. Оно работает с большинством форматов HDR, включая HDR10, HDR10+ и HLG, но не работает с Dolby Vision Profile 5. Она имеет более высокий приоритет по сравнению с другой реализацией Metal.", "EnableVideoToolboxTonemapping": "Включить тонмаппинг VideoToolbox", "LabelUseReplayGainTagsHelp": "Сканировать аудиофайлы на предмет ReplayGain-тэгов, и использовать их вместо значений LUFS . (Требует меньше вычислительных мощностей. Переопределит опцию \"Сканирование LUFS\")", "LabelUseReplayGainTags": "Использовать ReplayGain-тэги", @@ -1840,7 +1840,23 @@ "LabelScanBehaviorHelp": "По умолчанию используется режим без блокировки, при котором носители будут добавлены в библиотеку до завершения создания trickplay. Блокировка гарантирует, что файлы trickplay будут созданы до добавления носителей в библиотеку, но значительно увеличит время сканирования.", "LabelTileWidthHelp": "Максимальное количество изображений на плитке в направлении X.", "LabelTileHeight": "Высота плитки", - "PlaybackError.ASS_RENDER_ERROR": "Произошла ошибка при рендеринге ASS/SSA субтитров.", + "PlaybackError.ASS_RENDER_ERROR": "Произошла ошибка при рендеринге субтитров ASS/SSA.", "LabelTrickplayThreads": "Количество потоков FFmpeg", - "LabelJpegQuality": "Качество JPEG" + "LabelJpegQuality": "Качество JPEG", + "LabelExtractTrickplayDuringLibraryScanHelp": "Генерировать изображения trickplay пока импортируется видео при сканирования библиотеки. Иначе, они их создания будет отложено. Если указана асинхронная генерация, это не будет занимать время сканирования библиотеки.", + "BlockingScan": "Блокирующее - ставит генерацию в очередь и ждёт завершения сканирования", + "Lyric": "Текст песни", + "PriorityIdle": "Низкий", + "LabelWidthResolutions": "Ширина видео", + "LabelWidthResolutionsHelp": "Список разрешений видео, разделённый запятой, которые будет использовать trickplay. Все изображения генерируются пропорционально источнику, потому ширина 320 с форматом 16:9 будет создавать видео 320x180.", + "LabelQscale": "Уровень качества", + "LabelQscaleHelp": "Уровень качества изображения, генерируемого ffmpeg. 2 - максимальное качество, 31 - лучшая производительность.", + "LabelTrickplayThreadsHelp": "Количество потоков для ffmpeg (-threads).", + "OptionExtractTrickplayImage": "Включить изображение trickplay", + "ExtractTrickplayImagesHelp": "Изображения trickplay похожи на изображения частей, только охватывают всё видео и отображаются как предварительный просмотр при проигрывании видео.", + "LabelExtractTrickplayDuringLibraryScan": "Генерировать изображения trickplay во время сканирования библиотеки", + "PriorityHigh": "Высокий", + "PriorityNormal": "Нормальный", + "LabelJpegQualityHelp": "Уровень сжатия JPEG для кадров trickplay.", + "NonBlockingScan": "Асинхронное - ставит генерацию в очередь и продолжает" } From 698332977d6c638a2c6cb37fd9bc5b7a24a661a9 Mon Sep 17 00:00:00 2001 From: Alex Roman Date: Sat, 13 Apr 2024 21:48:58 +0000 Subject: [PATCH 193/293] Translated using Weblate (Romanian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ro/ --- src/strings/ro.json | 139 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 132 insertions(+), 7 deletions(-) diff --git a/src/strings/ro.json b/src/strings/ro.json index 64adaf1063..2981cf2e31 100644 --- a/src/strings/ro.json +++ b/src/strings/ro.json @@ -44,7 +44,7 @@ "LabelCachePath": "Cale pentru depozit", "LabelCachePathHelp": "Specificați o locație specială pentru fișierele de tip depozit, precum imagini etc. Lasați gol pentru a folosi setarea implicită.", "LabelContentType": "Tip conținut", - "LabelCountry": "Țara", + "LabelCountry": "Țară/Regiune", "LabelCurrentPassword": "Parola curentă", "LabelCustomCertificatePath": "Calea către certificatul personalizat", "LabelCustomCertificatePathHelp": "Furnizați propriul fișier care conține un certificat SSL in format .pfx.", @@ -438,7 +438,7 @@ "ErrorStartHourGreaterThanEnd": "Timpul de oprire trebuie să fie mai mare decât cel de pornire.", "ErrorPleaseSelectLineup": "Selectați o linie și încercați din nou. Dacă nu sunt disponibile linii, atunci vă rugăm să verificați dacă numele dvs. de utilizator, parola și codul poștal sunt corecte.", "ExitFullscreen": "Ieșiți din modul ecran complet", - "H264CrfHelp": "'Factorul de Rată Constantă' (CRF) este setarea implicită a calității pentru codificatorul x264 si x265. Puteți seta valorile între 0 și 51, unde valorile mai mici ar avea ca rezultat o calitate mai bună (în detrimentul dimensiunilor mai mari de fișiere). Valorile recomandate sunt cuprinse între 18 și 28. Valoarea implicită pentru x264 este 23, si pentru x265 este 28, deci puteți utiliza acest lucru ca punct de plecare.", + "H264CrfHelp": "\"Constant Rate Factor\" (CRF) este setarea de calitate implicită pentru codificatoarele software x264 și x265. Puteți seta valorile între 0 și 51, unde valorile mai mici ar duce la o calitate mai bună (în detrimentul unor dimensiuni mai mari ale fișierelor). Valorile normale sunt cuprinse între 18 și 28. Valoarea implicită pentru x264 este 23, iar pentru x265 este 28, așa că puteți folosi aceste valori ca punct de plecare. Codificatoarele hardware nu utilizează aceste setări.", "HeaderBlockItemsWithNoRating": "Blocați elemente fără informații de rating sau nerecunoscute", "HeaderCodecProfileHelp": "Profilurile codec-ului indică limitările unui dispozitiv atunci când redă codecuri specifice. Dacă se aplică o limitare, atunci media va fi transcodată, chiar dacă codecul este configurat pentru redare directă.", "HeaderConfigureRemoteAccess": "Configurați accesul de la distanță", @@ -1393,7 +1393,7 @@ "LabelTonemappingRange": "Gama mapării tonurilor", "TonemappingAlgorithmHelp": "Maparea tonurilor poate fi reglată fin. Dacă nu sunteți familiarizați cu aceste opțiuni, păstrați doar valoarea implicită. Valoarea recomandată este 'BT.2390'.", "LabelTonemappingAlgorithm": "Selectați algoritmul de mapare a tonurilor pe care să îl utilizați", - "AllowTonemappingHelp": "Cartarea tonurilor poate transforma gama dinamică a unui video din HDR în SDR, menținând detaliile și culorile imaginii. Detaliile și culorile imaginii sunt informații foarte importante pentru reprezentarea scenei originale. În prezent funcționează doar cu videouri HDR10 sau HLG. Acest lucru necesită runtime-urile OpenCL sau CUDA corespunzătoare.", + "AllowTonemappingHelp": "Tone-mapping poate transforma intervalul dinamic al unei înregistrări video din HDR în SDR, păstrând în același timp detaliile și culorile imaginii, care sunt informații foarte importante pentru reprezentarea scenei originale. În prezent, funcționează numai cu videoclipuri HDR10, HLG și DoVi pe 10 biți. Pentru aceasta este nevoie de timpul de execuție GPGPU corespunzător.", "EnableTonemapping": "Activați maparea tonurilor", "LabelOpenclDeviceHelp": "Acesta este dispozitivul OpenCL care este utilizat pentru tonemapping. Partea stângă a punctului este numărul platformei, iar partea dreaptă este numărul dispozitivului de pe platformă. Valoarea implicită este 0,0. Este necesar fișierul aplicației FFmpeg care conține metoda de accelerare hardware OpenCL.", "LabelOpenclDevice": "Dispozitiv OpenCL", @@ -1649,7 +1649,7 @@ "LabelEnableGamepad": "Activați Gamepad", "Controls": "Controale", "UseEpisodeImagesInNextUpHelp": "Secțiunile „Următorul” și „Continuați vizionarea” vor folosi imagini ale episoadelor ca miniaturi în loc de miniatura principală a emisiunii.", - "EnableEnhancedNvdecDecoderHelp": "Implementare experimentală a NVDEC. Activați această opțiune doar dacă întâmpinați erori de decodare.", + "EnableEnhancedNvdecDecoderHelp": "Implementarea NVDEC îmbunătățită, dezactivați această opțiune pentru a utiliza CUVID în cazul în care întâmpinați erori de decodare.", "HomeVideosPhotos": "Videoclipuri și Fotografii Locale", "ScreenResolution": "Rezoluție ecran", "Bold": "Îngroșat", @@ -1726,12 +1726,137 @@ "EnableAudioNormalizationHelp": "Normalizarea audio va adauga o crestere constanta pentru a mentine media la un nivel dorit (-18 decibeli).", "AiTranslated": "Tradus de catre IA", "AllowSegmentDeletion": "Sterge segmentele", - "AllowSegmentDeletionHelp": "Sterge segmentele vechi dupa ce acestea au fost trimise catre client. Previne necesitatea de a stoca intregul fisier transcodificat pe disc. Va functiona doar cu throttling activat. Opriti aceasta optiune daca intampinati probleme de redare.", + "AllowSegmentDeletionHelp": "Ștergeți segmentele vechi după ce au fost descărcate de către client. Astfel, se evită necesitatea de a stoca întregul fișier transcodat pe disc. Dezactivați această opțiune dacă întâmpinați probleme de redare.", "LabelThrottleDelaySeconds": "Limitare dupa", "LabelSegmentKeepSeconds": "Timpul pentru a pastra segmentele", "EnableAudioNormalization": "Normalizare audio", "LabelThrottleDelaySecondsHelp": "Timp în secunde după care transcoderul va fi accelerat. Trebuie să fie suficient de mare pentru ca clientul să mențină un tampon sănătos. Funcționează numai dacă accelerarea este activată.", - "LabelSegmentKeepSecondsHelp": "Timpul în secunde pentru care segmentele trebuie păstrate înainte de a fi suprascrise. Trebuie să fie mai mare decât „Accelerație după”/\"Throttle after\". Funcționează numai dacă ștergerea segmentului este activată.", + "LabelSegmentKeepSecondsHelp": "Timpul în secunde pentru care segmentele trebuie păstrate după ce sunt descărcate de client. Funcționează numai dacă este activată ștergerea segmentelor.", "Featurette": "Material bonus", - "GridView": "Vizualizare grilă" + "GridView": "Vizualizare grilă", + "AllowSubtitleManagement": "Permiteți acestui utilizator să editeze subtitrări", + "LabelEncodingFormatOptions": "Opțiuni privind formatul de codificare", + "EncodingFormatHelp": "Selectați codificarea video în care Jellyfin ar trebui să transcodeze. Jellyfin va utiliza codificarea software atunci când accelerarea hardware pentru formatul selectat nu este disponibilă. Codificarea H264 va fi întotdeauna activată.", + "LabelJpegQualityHelp": "Calitatea compresiei JPEG pentru imaginile trickplay.", + "LabelQscale": "Qscale", + "PlaybackError.FATAL_HLS_ERROR": "A fost întâlnită o eroare fatală în fluxul HLS.", + "PlaybackError.ASS_RENDER_ERROR": "A fost întâlnită o eroare în sistemul de redare a subtitrărilor ASS/SSA.", + "PlaybackError.MEDIA_DECODE_ERROR": "Redarea a eșuat din cauza unei erori de decodare a suportului.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Redarea a eșuat deoarece suportul media nu este acceptat de acest client.", + "PlaybackError.NETWORK_ERROR": "Redarea a eșuat din cauza unei erori de rețea.", + "PlaybackError.NO_MEDIA_ERROR": "Nu se poate găsi o sursă media validă pentru redare.", + "PlaybackError.PLAYER_ERROR": "Redarea a eșuat din cauza unei erori fatale a playerului.", + "PlaybackError.SERVER_ERROR": "Redarea a eșuat din cauza unei erori de server.", + "LabelTileHeight": "Înălțimea plăcilor", + "PleaseConfirmRepositoryInstallation": "Vă rugăm să faceți clic pe OK pentru a confirma că ați citit cele de mai sus și că doriți să continuați cu instalarea depozitului de plugin-uri.", + "SaveRecordingImages": "Salvarea imaginilor EPG de înregistrare", + "SaveRecordingNFO": "Salvarea metadatelor EPG de înregistrare în NFO", + "EnableVideoToolboxTonemapping": "Activați VideoToolbox Tone mapping", + "AllowVideoToolboxTonemappingHelp": "Adaptarea tonurilor accelerată de hardware oferită de VideoToolbox. Funcționează cu majoritatea formatelor HDR, inclusiv HDR10, HDR10+ și HLG, dar nu funcționează cu Dolby Vision Profile 5. Aceasta are o prioritate mai mare în comparație cu o altă implementare Metal.", + "LabelVppTonemappingBrightness": "VPP Câștig de luminozitate pentru maparea tonurilor", + "LabelVppTonemappingBrightnessHelp": "Aplicați câștigul de luminozitate în cartografierea tonurilor VPP. Valorile recomandate și implicite sunt 16 și 0.", + "LabelVppTonemappingContrast": "VPP Câștig de contrast pentru cartografiere tonală", + "LabelVppTonemappingContrastHelp": "Aplicați câștigul de contrast în cartografierea tonurilor VPP. Atât valoarea recomandată, cât și cea implicită sunt 1.", + "MediaInfoVideoRangeType": "Tipul de interval video", + "MediaInfoDvVersionMinor": "Versiunea DV minoră", + "MediaInfoDvLevel": "Nivelul DV", + "MediaInfoRpuPresentFlag": "Steag de presetare DV rpu", + "MediaInfoElPresentFlag": "Steagul de preselecție DV el", + "MediaInfoBlPresentFlag": "Steag de presetare DV bl", + "MediaInfoDvBlSignalCompatibilityId": "Id de compatibilitate a semnalului DV bl", + "LabelTonemappingMode": "Modul de cartografiere a tonurilor", + "TonemappingModeHelp": "Selectați modul de cartografiere a tonurilor. Dacă vă confruntați cu lumini suflate, încercați să treceți la modul RGB.", + "ForeignPartsOnly": "Numai piese forțate/străine", + "AllowMjpegEncoding": "Permiteți codificarea în format MJPEG (utilizat în timpul generării trickplay)", + "Trickplay": "Trickplay", + "LabelTrickplayAccel": "Activați accelerarea hardware", + "LabelTrickplayAccelHelp": "Asigurați-vă că activați opțiunea \"Allow MJPEG Encoding\" (Permiteți codificarea MJPEG) în Transcoding (Transcodare), dacă hardware-ul dvs. o acceptă.", + "LabelScanBehavior": "Comportamentul de scanare", + "PriorityHigh": "Mare", + "PriorityAboveNormal": "Peste normal", + "LabelImageInterval": "Intervalul imaginii", + "LabelImageIntervalHelp": "Interval de timp (ms) între fiecare nouă imagine trickplay.", + "LabelWidthResolutions": "Rezoluții de lățime", + "LabelTileWidth": "Lățimea plăcilor", + "LabelTileWidthHelp": "Numărul maxim de imagini pe țiglă în direcția X.", + "LabelTileHeightHelp": "Numărul maxim de imagini pe țiglă în direcția Y.", + "LabelJpegQuality": "Calitatea JPEG", + "LabelQscaleHelp": "Scara de calitate a imaginilor produse de ffmpeg, 2 fiind cea mai bună calitate și 31 fiind cea mai slabă.", + "LabelTrickplayThreads": "FFmpeg Fire de legătură", + "LabelTrickplayThreadsHelp": "Numărul de fire de execuție care trebuie transmise la argumentul \"-threads\" din ffmpeg.", + "OptionExtractTrickplayImage": "Activați extragerea imaginii trickplay", + "ExtractTrickplayImagesHelp": "Imaginile Trickplay sunt similare cu imaginile de capitol, cu excepția faptului că se întind pe întreaga lungime a conținutului și sunt utilizate pentru a afișa o previzualizare atunci când parcurgeți videoclipurile.", + "LabelExtractTrickplayDuringLibraryScan": "Extrageți imaginile trickplay în timpul scanării bibliotecii", + "LabelExtractTrickplayDuringLibraryScanHelp": "Generarea de imagini trickplay atunci când sunt importate videoclipuri în timpul scanării bibliotecii. În caz contrar, acestea vor fi extrase în timpul sarcinii programate pentru imagini trickplay. Dacă generarea este setată la non-blocare, acest lucru nu va afecta timpul necesar pentru finalizarea scanării bibliotecii.", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Afișează numai mediile cu cel puțin una dintre etichetele specificate.", + "BackdropScreensaver": "Fundalul Screensaver", + "BlockContentWithTagsHelp": "Ascunde mediile cu cel puțin una dintre etichetele specificate.", + "ButtonEditUser": "Editare utilizator", + "ChannelResolutionSD": "SD", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "Full HD", + "ChannelResolutionUHD4K": "UHD (4K)", + "SelectAudioNormalizationHelp": "Track gain - reglează volumul fiecărei piese, astfel încât acestea să fie redate cu aceeași intensitate. Album gain - reglează volumul tuturor pieselor dintr-un album numai, păstrând gama dinamică a albumului.", + "DeleteEpisode": "Ștergeți episodul", + "HeaderGuestCast": "Vedete invitate", + "LabelAlbumGain": "Album Gain", + "LabelAllowContentWithTags": "Permiteți elemente cu etichete", + "LabelBackdropScreensaverInterval": "Intervalul Screensaver-ului", + "LabelBackdropScreensaverIntervalHelp": "Timpul, exprimat în secunde, dintre diferitele fundaluri atunci când se utilizează screensaverul de fundal.", + "LabelEnableAudioVbr": "Activați codificarea audio VBR", + "LabelEnableLUFSScan": "Activați scanarea LUFS", + "LabelEnableLUFSScanHelp": "Clienții pot să normalizeze redarea audio pentru a obține o intensitate sonoră egală între piese. Acest lucru va face ca scanările bibliotecii să fie mai lungi și să necesite mai multe resurse.", + "LogLevel.Trace": "Urma", + "LogLevel.Debug": "Depanare", + "LogoScreensaver": "Logo Screensaver", + "LabelTrackGain": "Câștig de pistă", + "LabelBuildVersion": "Versiunea Build", + "PlaybackError.NotAllowed": "Redarea acestui suport media nu este permisă.", + "PlaybackError.RateLimitExceeded": "Acest suport media nu poate fi redat în acest moment din cauza limitelor de viteză.", + "SearchResultsEmpty": "Îmi pare rău! Nu s-au găsit rezultate pentru \"{0}\"", + "LabelScanBehaviorHelp": "Comportamentul prestabilit este cel de neblocare, care va adăuga suporturi media în bibliotecă înainte de generarea trucurilor. Blocarea va asigura generarea fișierelor trickplay înainte ca mediile să fie adăugate în bibliotecă, dar va prelungi semnificativ durata de scanare.", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Sub nivelul normal", + "MediaInfoDvVersionMajor": "Versiunea DV majoră", + "MediaInfoDvProfile": "Profil DV", + "HeaderAllRecordings": "Toate înregistrările", + "ConfirmDeleteSeries": "Ștergerea acestei serii va șterge TOATE episoadele {0} atât din sistemul de fișiere, cât și din biblioteca media. Sunteți sigur că doriți să continuați?", + "DeleteEntireSeries": "Ștergeți {0} Episoade", + "DeleteSeries": "Ștergeți serialul", + "DeleteName": "Ștergeți {0}", + "DlnaMovedMessage": "Funcționalitatea DLNA a fost mutată într-un plugin.", + "EnableCardLayout": "Afișare vizuală CardBox", + "LabelEnableAudioVbrHelp": "Viteza de biți variabilă oferă un raport mai bun între calitate și viteza medie de biți, dar, în unele cazuri rare, poate cauza probleme de tamponare și compatibilitate.", + "LabelWebVersion": "Versiunea web", + "NotificationsMovedMessage": "Funcționalitatea notificărilor a fost mutată în pluginul Webhook.", + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Deseori, extrasele au același nume încorporat ca și părintele; bifați această opțiune pentru a utiliza oricum titlurile încorporate pentru ele.", + "SaveRecordingNFOHelp": "Salvați metadatele de la furnizorul de listări EPG alături de media.", + "AllowAv1Encoding": "Permiteți codificarea în format AV1", + "MachineTranslated": "Traducere automată", + "NonBlockingScan": "Non Blocking - pune în coadă generarea, apoi se întoarce", + "BlockingScan": "Blocare - pune în coadă generarea, blochează scanarea până la finalizare", + "PriorityIdle": "Inactiv", + "LabelProcessPriority": "Prioritatea procesului", + "HeaderConfirmRepositoryInstallation": "Confirmați instalarea depozitului de pluginuri", + "EnableLibrary": "Activați biblioteca", + "EnableLibraryHelp": "Dezactivarea bibliotecii o va ascunde de toate vizualizările utilizatorilor.", + "GetThePlugin": "Obțineți Plugin-ul", + "HeaderDeleteSeries": "Ștergeți serialul", + "HeaderEpisodesStatus": "Starea episoadelor", + "LabelSelectAudioNormalization": "Normalizare audio", + "LabelUseReplayGainTagsHelp": "Scanarea fișierelor audio pentru etichete de redare și utilizarea acestora în loc de calcularea valorii LUFS. (Folosește mai puțină putere de calcul. Se va suprascrie opțiunea \"LUFS Scan\")", + "LabelUseReplayGainTags": "Utilizare ReplayGain Etichete", + "LimitSupportedVideoResolution": "Limitați rezoluția video maximă acceptată", + "LimitSupportedVideoResolutionHelp": "Utilizați \"Maximum Allowed Video Transcoding Resolution\" ca rezoluție video maximă acceptată.", + "LogLevel.None": "Niciunul", + "Lyric": "Lirică", + "MessageRepositoryInstallDisclaimer": "AVERTISMENT: Instalarea unui depozit de plugin-uri de la o terță parte implică riscuri. Acesta poate conține cod instabil sau malițios și se poate modifica în orice moment. Instalați numai depozite de la autori în care aveți încredere.", + "HearingImpairedShort": "HI/SDH", + "SaveRecordingImagesHelp": "Salvați imaginile de la furnizorul de liste EPG alături de media.", + "LabelProcessPriorityHelp": "Setarea acestei valori mai mici sau mai mari va determina modul în care CPU acordă prioritate procesului de generare a trucurilor ffmpeg trickplay în raport cu alte procese. Dacă observați o încetinire în timpul generării imaginilor trickplay, dar nu doriți să opriți complet generarea acestora, încercați să reduceți acest lucru, precum și numărul de fire de execuție.", + "LabelWidthResolutionsHelp": "Listă separată prin virgulă a lățimilor (px) la care vor fi generate imaginile trickplay. Toate imaginile ar trebui să fie generate proporțional cu sursa, astfel încât o lățime de 320 pe un videoclip 16:9 se va ajunge la aproximativ 320x180.", + "LabelServerVersion": "Versiunea serverului", + "EnableSmoothScroll": "Activați defilarea lină" } From 6cf22d526dfedb38c7decea0469c0bb3534bf859 Mon Sep 17 00:00:00 2001 From: Moe Ye Htet Date: Sun, 14 Apr 2024 03:25:04 +0000 Subject: [PATCH 194/293] Translated using Weblate (Burmese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/my/ --- src/strings/my.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/strings/my.json b/src/strings/my.json index 79c4e8f0dd..c22f50ead2 100644 --- a/src/strings/my.json +++ b/src/strings/my.json @@ -44,7 +44,7 @@ "ButtonForgotPassword": "စကားဝှက် မေ့သွားပြီ", "ButtonEditOtherUserPreferences": "ဤအသုံးပြုသူ၏ ပရိုဖိုင်၊ ပုံနှင့် ကိုယ်ရေးကိုယ်တာ စိတ်ကြိုက်ရွေးချယ်မှုများကို တည်းဖြတ်ပါ။", "ButtonChangeServer": "ဆာဗာ ပြောင်းမည်", - "ButtonCast": "သရုပ်ဆောင်", + "ButtonCast": "ဒီဗိုက်စ်ဆီသို့ တဆင့်ပြန်ထုတ်လွှင့်မည်", "ButtonCancel": "ငြင်းပယ်သည်", "ButtonBack": "နောက်သို့", "ButtonAudioTracks": "အသံသီချင်းများ", @@ -119,7 +119,7 @@ "AddedOnValue": "ထပ်ခဲ့သည်။{0}", "Add": "ထပ်မည်။", "Actor": "သရုပ်ဆောင်", - "AccessRestrictedTryAgainLater": "အသုံးပြုခွင့်ကို လောလောဆယ် ကန့်သတ်ထားပါသည်။ နောက်တစ်ကြိမ် ထပ်မံကြိုးစားကြည့်ပါ။.", + "AccessRestrictedTryAgainLater": "ဝင်ရောက်ခွင့်ကို လောလောဆယ် ကန့်သတ်ထားပါသည်။ နောက်တစ်ကြိမ် ထပ်မံကြိုးစားကြည့်ပါ။.", "Absolute": "ပကတိ", "DirectPlayHelp": "အရင်းအမြစ်ဖိုင်သည် ဤကလိုင်းယင့်နှင့် လုံးဝသဟဇာတဖြစ်ပြီး စက်ရှင်သည် ပြုပြင်မွမ်းမံမှုမရှိဘဲ ဖိုင်ကို လက်ခံရရှိနေပါသည်။", "DirectPlaying": "တိုက်ရိုက်ဖွင့်ခြင်း", @@ -255,5 +255,17 @@ "HeaderAlbumArtists": "အယ်လ်ဘမ်အနုပညာရှင်များ", "Genres": "အမျိုးအစားများ", "Folders": "ဖိုလ်ဒါများ", - "Favorites": "အကြိုက်ဆုံးများ" + "Favorites": "အကြိုက်ဆုံးများ", + "AirPlay": "အဲပလေး", + "ButtonEditUser": "အသုံးပြုသူကို ပြင်ဆင်တည်းဖြတ်မည်", + "ButtonExitApp": "အပလီကေးရှင်းမှ ထွက်မည်", + "AllowContentWithTagsHelp": "သတ်မှတ်ထားသည့် တဂ်များထဲမှ အနည်းဆုံး တစ်ခုနှင့် ကိုက်ညီသည့် မီဒီယာများကိုသာ ပြသမည်။", + "BlockContentWithTagsHelp": "သတ်မှတ်ထားသည့် တဂ်များထဲမှ အနည်းဆုံး တစ်ခုနှင့် ကိုက်ညီသည့် မီဒီယာများကို မပြသရန်။", + "AddToFavorites": "အကြိုက်ဆုံးများထဲသို့ ထည့်သွင်းမည်", + "ButtonClose": "ပိတ်မည်", + "BackdropScreensaver": "နောက်ခံ စခရင်ဆေ့ဗာ", + "AllowSubtitleManagement": "ယခု အသုံးပြုသူကို စာတန်းထိုးများကို ပြင်ဆင်တည်းဖြတ်ခွင့် ပေးမည်", + "AllowCollectionManagement": "ယခု အသုံးပြုသူကို စုစည်းမှုများကို စီမံခန်ခွဲခွင့် ပေးမည်", + "AllowSegmentDeletion": "အစိတ်အပိုင်းများကို ဖျက်မည်", + "LabelSegmentKeepSeconds": "အစိတ်အပိုင်းများကို သိမ်းဆည်းထားမည့် အချိန်ကာလ" } From 3d6a536bddf366fd58357556d8a7c02166b316d4 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Sun, 14 Apr 2024 13:55:37 +0200 Subject: [PATCH 195/293] Fix valDummyChapterDuration not populating in Dashboard>Libraries>Metadata --- src/controllers/dashboard/metadataImages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index 779727dc7a..076700fd69 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -67,7 +67,7 @@ function loadPage(page) { const config = responses[0]; page.querySelector('#selectLanguage').value = config.PreferredMetadataLanguage || ''; page.querySelector('#selectCountry').value = config.MetadataCountryCode || ''; - page.querySelector('#valDummyChapterDuration').value = config.DummyChapterDuration || ''; + page.querySelector('#valDummyChapterDuration').value = config.DummyChapterDuration || '0'; page.querySelector('#txtChapterImageResolution').value = config.ChapterImageResolution || ''; loading.hide(); }); From 3435e17eddb6623a15254f636b5a1b1b18dd6726 Mon Sep 17 00:00:00 2001 From: Miha Date: Sun, 14 Apr 2024 13:35:29 +0000 Subject: [PATCH 196/293] Translated using Weblate (Slovenian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/sl/ --- src/strings/sl-si.json | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/strings/sl-si.json b/src/strings/sl-si.json index f7d996710c..b1b43ef976 100644 --- a/src/strings/sl-si.json +++ b/src/strings/sl-si.json @@ -162,8 +162,8 @@ "Composer": "Skladatelj", "ConfigureDateAdded": "Kako je določen datum dodajanja lahko spremenite v Nadzorna plošča > Knjižnice > Nastavitve NFO", "ConfirmDeleteImage": "Izbriši sliko?", - "ConfirmDeleteItem": "Brisanje tega elementa ga bo izbrisalo iz datotečnega sistema in predstavnostne knjižnice. Ste prepričani da želite nadaljevati?", - "ConfirmDeleteItems": "Brisanje teh elementov jih bo izbrisalo iz datotečnega sistema in predstavnostne knjižnice. Ste prepričani da želite nadaljevati?", + "ConfirmDeleteItem": "Element bo izbrisan iz datotečnega sistema in predstavnostne knjižnice. Ste prepričani, da želite nadaljevati?", + "ConfirmDeleteItems": "Izbrani elementi bodo izbrisani iz datotečnega sistema in predstavnostne knjižnice. Ste prepričani, da želite nadaljevati?", "ConfirmDeletion": "Potrdi brisanje", "ConfirmEndPlayerSession": "Želite ugasniti Jellyfin na {0} ?", "Connect": "Poveži", @@ -1402,7 +1402,7 @@ "LabelTonemappingAlgorithm": "Izberite algoritem za preslikavo barv", "LabelOpenclDeviceHelp": "To je naprava OpenCL, ki bo uporabljena za preslikavo barv. Na levi strani pike je številka platforme, desno je številka naprave na tej platformi. Privzeta vrednost je 0.0. Zahtevana je datoteka FFmpeg, ki vsebuje metodo strojnega pospeševanja OpenCL.", "LabelColorPrimaries": "Barvni prostor", - "AllowTonemappingHelp": "Preslikava barv lahko preslika dinamični razpon videa iz HDR v SDR, pri tem pa ohranja podrobnosti in barve, kar je zelo pomembno za predstavitev izvorne scene. Trenutno deluje zgolj z HDR10 in HLG videi. Zahteva ustrezne OpenCL ali CUDA knjižnice.", + "AllowTonemappingHelp": "Preslikava barv lahko preslika dinamični razpon videa iz HDR v SDR, pri tem pa ohranja podrobnosti in barve, kar je zelo pomembno za predstavitev izvorne scene. Trenutno deluje zgolj z HDR10 in HLG videi. Zahteva ustrezno GPGPU knjižnico.", "MediaInfoVideoRange": "Barvni razpon", "LabelVideoRange": "Barvni razpon", "LabelSonyAggregationFlags": "Sonyjeve agregacijske oznake", @@ -1712,9 +1712,9 @@ "AllowSegmentDeletion": "Izbriši segment", "LabelThrottleDelaySeconds": "Zaviraj po", "LabelSegmentKeepSeconds": "Čas ohranitve segmentov", - "AllowSegmentDeletionHelp": "Izbriši segmente, ki so če bili poslani odjemalcu. S tem se prepreči, da bi na disku bila shranjena celotna prekodirana datoteka. To deluje le, če je omogočeno zaviranje prekodiranja. Če se pojavijo težave pri predvajanju, onemogočite to možnost.", + "AllowSegmentDeletionHelp": "Izbriši stare segmente, ki so bili poslani odjemalcu. S tem se prepreči, da bi na disku bila shranjena celotna prekodirana datoteka. Če se pojavijo težave pri predvajanju, onemogočite to možnost.", "LabelThrottleDelaySecondsHelp": "Čas v sekundah, po katerem se bo prekodirnik upočasnil. Mora biti dovolj, da odjemalec ohranja ustrezen medpomnilnik. Deluje le, če je zaviranje prekodiranja omogočeno.", - "LabelSegmentKeepSecondsHelp": "Čas v skundah, ko naj se segmenti ohranijo, preden se jih prepiše. Čas mora biti večji od \"Zaviraj po\". Deluje le, če je brisanje segmentov omogočeno.", + "LabelSegmentKeepSecondsHelp": "Čas v sekundah, ko naj se segmenti ohranijo, po tem, ko so bili poslani odjemalcu. Deluje le, če je brisanje segmentov omogočeno.", "MessageRepositoryInstallDisclaimer": "POZOR: Nameščanje skladišča dodatkov tretjih oseb predstavlja tveganje. Lahko vsebuje nestabilno ali zlonamerno kodo, ki se lahko kadarkoli spremeni. Namestite zgolj skladišča avtorjev ki jim zaupate.", "Studio": "Studio", "TonemappingModeHelp": "Izberi način preslikave barv. Če opazite razbarvanje svetlih delov slike, poskusite uporabiti način RGB.", @@ -1772,5 +1772,14 @@ "LabelParallelImageEncodingLimitHelp": "Največje dovoljeno število vzporednih kodiranj slik. Nastavite na 0 za samodejno omejitev glede na zmogljivost vašega sistema.", "AiTranslated": "AI prevedeno", "ButtonEditUser": "Uredi uporabnika", - "HeaderAllRecordings": "Vsi posnetki" + "HeaderAllRecordings": "Vsi posnetki", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Prikaži samo predstavnosti z izbranimi značkami.", + "BlockContentWithTagsHelp": "Skrij predstavnosti z izbranimi značkami.", + "ChannelResolutionSD": "SD", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelResolutionHD": "HD", + "ChannelResolutionFullHD": "Polni HD", + "ConfirmDeleteSeries": "Serija in pripadajočih {0} epizod bo izbrisano iz datotečnega sistema in knjižnice predstavnosti. Ste prepričani, da želite nadaljevati?", + "AllowSubtitleManagement": "Dovoli uporabniku, da ureja podnapise" } From 84fb829c0d64c145e1c7dcb2c9bb3370fb647f8f Mon Sep 17 00:00:00 2001 From: ergosteur Date: Mon, 15 Apr 2024 14:08:56 +0000 Subject: [PATCH 197/293] Translated using Weblate (French (Canada)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr_CA/ --- src/strings/fr-ca.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/strings/fr-ca.json b/src/strings/fr-ca.json index d3ed0609bd..be0bbab48e 100644 --- a/src/strings/fr-ca.json +++ b/src/strings/fr-ca.json @@ -370,7 +370,7 @@ "Descending": "Décroissant", "Depressed": "Diminuer", "DeleteDevicesConfirmation": "Voulez-vous vraiment supprimer tous les appareils ? Toutes les autres sessions seront déconnectées. Les appareils réapparaîtront la prochaine fois qu'un utilisateur se connectera.", - "AllowTonemappingHelp": "Le tone-mapping peut transformer la plage dynamique d’une vidéo de HDR à SDR tout en maintenant les détails et les couleurs de l’image, qui sont des informations très importantes pour représenter la scène originale. Cette fonction prend en charge uniquement les vidéos HDR10, HLG ou DoVi et nécessite l’environnement d’exécution OpenCL ou CUDA correspondant.", + "AllowTonemappingHelp": "Le tone-mapping peut transformer la plage dynamique d’une vidéo de HDR à SDR tout en maintenant les détails et les couleurs de l’image, qui sont des informations très importantes pour représenter la scène originale. Cette fonction prend en charge uniquement les vidéos HDR10, HLG ou DoVi et nécessite un environnement d’exécution GPGPU correspondant.", "LabelEasyPinCode": "NIP facile", "LabelDynamicExternalId": "ID {0}", "LabelDownloadLanguages": "Téléchargement des langues", @@ -1334,5 +1334,14 @@ "MediaInfoAnamorphic": "Anamorphique", "MediaInfoLayout": "Agencement", "MenuOpen": "Ouvrir le menu", - "MenuClose": "Fermer le menu" + "MenuClose": "Fermer le menu", + "AllowContentWithTagsHelp": "Afficher uniquement les médias avec un ou plusieurs des étiquettes spécifiées.", + "BlockContentWithTagsHelp": "Masquer les médias avec un ou plusieurs des étiquettes spécifiées.", + "ConfirmDeleteSeries": "La suppression de cette série entraînera la suppression des {0} épisodes depuis le disque ET la médiathèque. Êtes-vous sûr de vouloir continuer?", + "DeleteEpisode": "Supprimer l’épisode", + "EnableLibrary": "Activer la médiathèque", + "EnableLibraryHelp": "La désactivation de la médiathèque la masquera depuis toutes les vues utilisateur.", + "AirPlay": "AirPlay", + "DeleteEntireSeries": "Supprimer {0} épisodes", + "DeleteSeries": "Supprimer la série" } From d90b7a9cf7529713454e4f3952be3837da755c62 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Mon, 15 Apr 2024 18:04:33 +0000 Subject: [PATCH 198/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index 04a31fbe2f..fcb0cdd5bd 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1081,7 +1081,7 @@ "List": "Lista", "LeaveBlankToNotSetAPassword": "Você pode deixar esse campo em branco para definir nenhuma senha.", "LearnHowYouCanContribute": "Aprenda como você pode contribuir.", - "Large": "Ampla", + "Large": "Grande", "LanNetworksHelp": "Lista separada por vírgula de endereços IP ou entradas de máscara de rede/IP para redes que serão consideradas na rede local ao impor restrições de largura de banda. Se definido, todos os outros endereços IP serão considerados na rede externa e estarão sujeitos às restrições de largura de banda externa. Se deixado em branco, apenas a sub-rede do servidor é considerada na rede local.", "LabelffmpegPathHelp": "O caminho para o arquivo ou pasta do aplicativo ffmpeg que contém o ffmpeg.", "LabelffmpegPath": "Caminho do FFmpeg", From ed9bf4a665b70b5b5154d9060792ebb19a687986 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 5 Apr 2024 00:01:53 +0300 Subject: [PATCH 199/293] Fix margin of Favorite button `listItemButton` removes margin and should not be used for non-list items. --- src/components/nowPlayingBar/nowPlayingBar.js | 2 +- src/components/remotecontrol/remotecontrol.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index cdeaea0cca..6e7e0bcea1 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -585,7 +585,7 @@ function updateNowPlayingInfo(state) { }); }); } - nowPlayingUserData.innerHTML = ''; + nowPlayingUserData.innerHTML = ''; }); } else { nowPlayingUserData.innerHTML = ''; diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 9406e16e2b..b08929c8cb 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -233,8 +233,8 @@ function updateNowPlayingInfo(context, state, serverId) { apiClient.getItem(apiClient.getCurrentUserId(), item.Id).then(function (fullItem) { const userData = fullItem.UserData || {}; const likes = userData.Likes == null ? '' : userData.Likes; - context.querySelector('.nowPlayingPageUserDataButtonsTitle').innerHTML = ''; - context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = ''; + context.querySelector('.nowPlayingPageUserDataButtonsTitle').innerHTML = ''; + context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = ''; }); } else { clearBackdrop(); From b0f295d6e68de390cd8c7740c35175a14589cea7 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Fri, 5 Apr 2024 00:03:18 +0300 Subject: [PATCH 200/293] Remove margin from Favorite button in title Previosly, the `listItemButton` class removed it. --- src/components/remotecontrol/remotecontrol.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/remotecontrol/remotecontrol.scss b/src/components/remotecontrol/remotecontrol.scss index f6e9a82e50..73523fa311 100644 --- a/src/components/remotecontrol/remotecontrol.scss +++ b/src/components/remotecontrol/remotecontrol.scss @@ -351,16 +351,16 @@ .nowPlayingInfoControls .nowPlayingPageUserDataButtonsTitle button { padding-top: 0; border-radius: 0; + margin-left: 0; + margin-right: 0; [dir="ltr"] & { padding-right: 0; - margin-right: 0; float: right; } [dir="rtl"] & { padding-left: 0; - margin-left: 0; float: left; } } From 8b9dd7ec873434008b8b0cd59d0d256e16d009b3 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Wed, 10 Apr 2024 03:36:29 -0400 Subject: [PATCH 201/293] Remove dead playlists controller --- src/scripts/playlists.js | 203 --------------------------------------- 1 file changed, 203 deletions(-) delete mode 100644 src/scripts/playlists.js diff --git a/src/scripts/playlists.js b/src/scripts/playlists.js deleted file mode 100644 index 33963bf8a2..0000000000 --- a/src/scripts/playlists.js +++ /dev/null @@ -1,203 +0,0 @@ -import loading from '../components/loading/loading'; -import listView from '../components/listview/listview'; -import cardBuilder from '../components/cardbuilder/cardBuilder'; -import libraryMenu from './libraryMenu'; -import libraryBrowser from './libraryBrowser'; -import imageLoader from '../components/images/imageLoader'; -import * as userSettings from './settings/userSettings'; -import '../elements/emby-itemscontainer/emby-itemscontainer'; -import Dashboard from '../utils/dashboard'; - -export default function (view) { - function getPageData() { - const key = getSavedQueryKey(); - let pageData = data[key]; - - if (!pageData) { - pageData = data[key] = { - query: { - SortBy: 'SortName', - SortOrder: 'Ascending', - IncludeItemTypes: 'Playlist', - Recursive: true, - Fields: 'PrimaryImageAspectRatio,SortName,CumulativeRunTimeTicks,CanDelete', - StartIndex: 0 - }, - view: userSettings.getSavedView(key) || 'Poster' - }; - - if (userSettings.libraryPageSize() > 0) { - pageData.query['Limit'] = userSettings.libraryPageSize(); - } - - pageData.query.ParentId = libraryMenu.getTopParentId(); - userSettings.loadQuerySettings(key, pageData.query); - } - - return pageData; - } - - function getQuery() { - return getPageData().query; - } - - function getSavedQueryKey() { - return `${libraryMenu.getTopParentId()}-playlists`; - } - - function showLoadingMessage() { - loading.show(); - } - - function hideLoadingMessage() { - loading.hide(); - } - - function onViewStyleChange() { - const viewStyle = getPageData().view; - const itemsContainer = view.querySelector('.itemsContainer'); - - if (viewStyle == 'List') { - itemsContainer.classList.add('vertical-list'); - itemsContainer.classList.remove('vertical-wrap'); - } else { - itemsContainer.classList.remove('vertical-list'); - itemsContainer.classList.add('vertical-wrap'); - } - - itemsContainer.innerHTML = ''; - } - - function reloadItems() { - showLoadingMessage(); - const query = getQuery(); - const promise1 = ApiClient.getItems(Dashboard.getCurrentUserId(), query); - // TODO: promise2 is unused, check if necessary. - const promise2 = Dashboard.getCurrentUser(); - Promise.all([promise1, promise2]).then(function (responses) { - const result = responses[0]; - // TODO: Is the scroll necessary? - window.scrollTo(0, 0); - let html = ''; - const viewStyle = getPageData().view; - view.querySelector('.listTopPaging').innerHTML = libraryBrowser.getQueryPagingHtml({ - startIndex: query.StartIndex, - limit: query.Limit, - totalRecordCount: result.TotalRecordCount, - viewButton: false, - showLimit: false, - updatePageSizeSetting: false, - addLayoutButton: true, - layouts: 'List,Poster,PosterCard,Thumb,ThumbCard', - currentLayout: viewStyle - }); - - if (result.TotalRecordCount) { - if (viewStyle == 'List') { - html = listView.getListViewHtml({ - items: result.Items, - sortBy: query.SortBy - }); - } else if (viewStyle == 'PosterCard') { - html = cardBuilder.getCardsHtml({ - items: result.Items, - shape: 'square', - coverImage: true, - showTitle: true, - cardLayout: true - }); - } else if (viewStyle == 'Thumb') { - html = cardBuilder.getCardsHtml({ - items: result.Items, - shape: 'backdrop', - showTitle: true, - centerText: true, - preferThumb: true, - overlayPlayButton: true - }); - } else if (viewStyle == 'ThumbCard') { - html = cardBuilder.getCardsHtml({ - items: result.Items, - shape: 'backdrop', - showTitle: true, - preferThumb: true, - cardLayout: true - }); - } else { - html = cardBuilder.getCardsHtml({ - items: result.Items, - shape: 'square', - showTitle: true, - coverImage: true, - centerText: true, - overlayPlayButton: true - }); - } - view.querySelector('.noItemsMessage').classList.add('hide'); - } else { - view.querySelector('.noItemsMessage').classList.remove('hide'); - } - - const elem = view.querySelector('.itemsContainer'); - elem.innerHTML = html; - imageLoader.lazyChildren(elem); - const btnNextPage = view.querySelector('.btnNextPage'); - - if (btnNextPage) { - btnNextPage.addEventListener('click', function () { - if (userSettings.libraryPageSize() > 0) { - query.StartIndex += query.Limit; - } - reloadItems(); - }); - } - - const btnPreviousPage = view.querySelector('.btnPreviousPage'); - - if (btnPreviousPage) { - btnPreviousPage.addEventListener('click', function () { - if (userSettings.libraryPageSize() > 0) { - query.StartIndex = Math.max(0, query.StartIndex - query.Limit); - } - reloadItems(); - }); - } - - const btnChangeLayout = view.querySelector('.btnChangeLayout'); - - if (btnChangeLayout) { - btnChangeLayout.addEventListener('layoutchange', function (e) { - const layout = e.detail.viewStyle; - getPageData().view = layout; - userSettings.saveViewSetting(getSavedQueryKey(), layout); - onViewStyleChange(); - reloadItems(); - }); - } - - userSettings.saveQuerySettings(getSavedQueryKey(), query); - hideLoadingMessage(); - }); - } - - const data = {}; - view.addEventListener('viewbeforeshow', function () { - reloadItems(); - }); - view.querySelector('.btnNewPlaylist').addEventListener('click', function () { - import('../components/playlisteditor/playlisteditor').then(({ default: PlaylistEditor }) => { - const serverId = ApiClient.serverInfo().Id; - const playlistEditor = new PlaylistEditor(); - playlistEditor.show({ - items: [], - serverId: serverId - }).catch(() => { - // Dialog closed - }); - }).catch(err => { - console.error('[btnNewPlaylist] failed to load playlist editor', err); - }); - }); - onViewStyleChange(); -} - From d3c343be4a75c3c62923cd6c2d97dd2519e4c1fa Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 12 Apr 2024 02:03:44 -0400 Subject: [PATCH 202/293] Convert playlist editor to ts --- .../playlisteditor/{playlisteditor.js => playlisteditor.ts} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename src/components/playlisteditor/{playlisteditor.js => playlisteditor.ts} (99%) diff --git a/src/components/playlisteditor/playlisteditor.js b/src/components/playlisteditor/playlisteditor.ts similarity index 99% rename from src/components/playlisteditor/playlisteditor.js rename to src/components/playlisteditor/playlisteditor.ts index 625135a472..a85246a706 100644 --- a/src/components/playlisteditor/playlisteditor.js +++ b/src/components/playlisteditor/playlisteditor.ts @@ -8,7 +8,7 @@ import { pluginManager } from '../pluginManager'; import * as userSettings from '../../scripts/settings/userSettings'; import { appRouter } from '../router/appRouter'; import globalize from '../../scripts/globalize'; -import { PluginType } from '../../types/plugin.ts'; +import { PluginType } from '../../types/plugin'; import '../../elements/emby-button/emby-button'; import '../../elements/emby-input/emby-input'; From fa16daabb019d94dc5fd2e06a835c21c660158f5 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sat, 13 Apr 2024 02:26:41 -0400 Subject: [PATCH 203/293] Fix type errors in playlist editor --- src/apiclient.d.ts | 1 + .../playlisteditor/playlisteditor.ts | 174 +++++++++++------- src/scripts/settings/userSettings.js | 4 +- 3 files changed, 110 insertions(+), 69 deletions(-) diff --git a/src/apiclient.d.ts b/src/apiclient.d.ts index a9f7f61ccd..1bda81641d 100644 --- a/src/apiclient.d.ts +++ b/src/apiclient.d.ts @@ -76,6 +76,7 @@ declare module 'jellyfin-apiclient' { accessToken(): string; addMediaPath(virtualFolderName: string, mediaPath: string, networkSharePath: string, refreshLibrary?: boolean): Promise; addVirtualFolder(name: string, type?: string, refreshLibrary?: boolean, libraryOptions?: any): Promise; + ajax(request: any): Promise; appName(): string; appVersion(): string; authenticateUserByName(name: string, password: string): Promise; diff --git a/src/components/playlisteditor/playlisteditor.ts b/src/components/playlisteditor/playlisteditor.ts index a85246a706..17a5966c14 100644 --- a/src/components/playlisteditor/playlisteditor.ts +++ b/src/components/playlisteditor/playlisteditor.ts @@ -1,53 +1,77 @@ import escapeHtml from 'escape-html'; -import dom from '../../scripts/dom'; +import type { ApiClient } from 'jellyfin-apiclient'; + +import dom from 'scripts/dom'; +import globalize from 'scripts/globalize'; +import * as userSettings from 'scripts/settings/userSettings'; +import { PluginType } from 'types/plugin'; + import dialogHelper from '../dialogHelper/dialogHelper'; import loading from '../loading/loading'; import layoutManager from '../layoutManager'; import { playbackManager } from '../playback/playbackmanager'; import { pluginManager } from '../pluginManager'; -import * as userSettings from '../../scripts/settings/userSettings'; import { appRouter } from '../router/appRouter'; -import globalize from '../../scripts/globalize'; -import { PluginType } from '../../types/plugin'; - -import '../../elements/emby-button/emby-button'; -import '../../elements/emby-input/emby-input'; -import '../../elements/emby-button/paper-icon-button-light'; -import '../../elements/emby-select/emby-select'; -import 'material-design-icons-iconfont'; -import '../formdialog.scss'; import ServerConnections from '../ServerConnections'; -let currentServerId; +import 'elements/emby-button/emby-button'; +import 'elements/emby-input/emby-input'; +import 'elements/emby-button/paper-icon-button-light'; +import 'elements/emby-select/emby-select'; -function onSubmit(e) { - const panel = dom.parentWithClass(this, 'dialog'); +import 'material-design-icons-iconfont'; +import '../formdialog.scss'; - const playlistId = panel.querySelector('#selectPlaylistToAddTo').value; - const apiClient = ServerConnections.getApiClient(currentServerId); +interface DialogElement extends HTMLDivElement { + submitted?: boolean +} - if (playlistId) { - userSettings.set('playlisteditor-lastplaylistid', playlistId); - addToPlaylist(apiClient, panel, playlistId); +interface PlaylistEditorOptions { + items: string[], + serverId: string, + enableAddToPlayQueue?: boolean, + defaultValue?: string +} + +let currentServerId: string; + +function onSubmit(this: HTMLElement, e: Event) { + const panel = dom.parentWithClass(this, 'dialog') as DialogElement | null; + + if (panel) { + const playlistId = panel.querySelector('#selectPlaylistToAddTo')?.value; + const apiClient = ServerConnections.getApiClient(currentServerId); + + if (playlistId) { + userSettings.set('playlisteditor-lastplaylistid', playlistId); + addToPlaylist(apiClient, panel, playlistId) + ?.catch(err => { + console.error('[PlaylistEditor] Failed to add to playlist %s', playlistId, err); + }); + } else { + createPlaylist(apiClient, panel) + ?.catch(err => { + console.error('[PlaylistEditor] Failed to create playlist', err); + }); + } } else { - createPlaylist(apiClient, panel); + console.error('[PlaylistEditor] Dialog element is missing!'); } e.preventDefault(); return false; } -function createPlaylist(apiClient, dlg) { +function createPlaylist(apiClient: ApiClient, dlg: DialogElement) { loading.show(); const url = apiClient.getUrl('Playlists', { - Name: dlg.querySelector('#txtNewPlaylistName').value, - Ids: dlg.querySelector('.fldSelectedItemIds').value || '', + Name: dlg.querySelector('#txtNewPlaylistName')?.value, + Ids: dlg.querySelector('.fldSelectedItemIds')?.value || '', userId: apiClient.getCurrentUserId() - }); - apiClient.ajax({ + return apiClient.ajax({ type: 'POST', url: url, dataType: 'json', @@ -62,12 +86,12 @@ function createPlaylist(apiClient, dlg) { }); } -function redirectToPlaylist(apiClient, id) { +function redirectToPlaylist(apiClient: ApiClient, id: string) { appRouter.showItem(id, apiClient.serverId()); } -function addToPlaylist(apiClient, dlg, id) { - const itemIds = dlg.querySelector('.fldSelectedItemIds').value || ''; +function addToPlaylist(apiClient: ApiClient, dlg: DialogElement, id: string) { + const itemIds = dlg.querySelector('.fldSelectedItemIds')?.value || ''; if (id === 'queue') { playbackManager.queue({ @@ -86,7 +110,7 @@ function addToPlaylist(apiClient, dlg, id) { userId: apiClient.getCurrentUserId() }); - apiClient.ajax({ + return apiClient.ajax({ type: 'POST', url: url @@ -98,16 +122,20 @@ function addToPlaylist(apiClient, dlg, id) { }); } -function triggerChange(select) { +function triggerChange(select: HTMLSelectElement) { select.dispatchEvent(new CustomEvent('change', {})); } -function populatePlaylists(editorOptions, panel) { - const select = panel.querySelector('#selectPlaylistToAddTo'); +function populatePlaylists(editorOptions: PlaylistEditorOptions, panel: DialogElement) { + const select = panel.querySelector('#selectPlaylistToAddTo'); loading.hide(); - panel.querySelector('.newPlaylistInfo').classList.add('hide'); + if (!select) { + return Promise.reject(new Error('Playlist element is missing')); } @@ -173,8 +171,6 @@ function populatePlaylists(editorOptions: PlaylistEditorOptions, panel: DialogEl } triggerChange(select); - - loading.hide(); }); } @@ -236,7 +232,8 @@ function initEditor(content: DialogElement, options: PlaylistEditorOptions, item populatePlaylists(options, content) .catch(err => { console.error('[PlaylistEditor] failed to populate playlists', err); - }); + }) + .finally(loading.hide); } else { content.querySelector('.fldSelectPlaylist')?.classList.add('hide'); From 4106c2e1e470fcd24c797e8d5a6f5abb4cd32da9 Mon Sep 17 00:00:00 2001 From: Franco Castillo Date: Fri, 19 Apr 2024 19:56:29 +0000 Subject: [PATCH 220/293] Translated using Weblate (Spanish (Argentina)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/es_AR/ --- src/strings/es-ar.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json index 6a240f6ddd..18a5424353 100644 --- a/src/strings/es-ar.json +++ b/src/strings/es-ar.json @@ -1732,5 +1732,6 @@ "EnableAudioNormalization": "Normalización de audio", "LabelEnableLUFSScan": "Habilitar escaneo LUFS", "GetThePlugin": "Obtener el complemento", - "AllowSegmentDeletion": "Eliminar segmentos" + "AllowSegmentDeletion": "Eliminar segmentos", + "AirPlay": "AirPlay" } From c6781c7262fe450964ad435aafb77f30aca86caf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 21:10:13 +0000 Subject: [PATCH 221/293] Update CI dependencies --- .github/workflows/build.yml | 4 ++-- .github/workflows/codeql.yml | 6 +++--- .github/workflows/update-sdk.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2594cf74fa..d66dfdc7d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,7 +41,7 @@ jobs: mv dist/config.tmp.json dist/config.json - name: Upload artifact - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2 with: name: jellyfin-web__prod path: | @@ -64,7 +64,7 @@ jobs: echo $PR_SHA > PR_sha - name: Upload PR number as artifact - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@1746f4ab65b179e0ea60a494b83293b640dd5bba # v4.3.2 with: name: PR_context path: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 07ed9c73a9..89cbdf4423 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -22,13 +22,13 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Initialize CodeQL - uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/init@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 with: languages: javascript queries: +security-extended - name: Autobuild - uses: github/codeql-action/autobuild@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/autobuild@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/analyze@c7f9125735019aa87cfc361530512d50ea439c71 # v3.25.1 diff --git a/.github/workflows/update-sdk.yml b/.github/workflows/update-sdk.yml index 1c42abb998..864dbd56f7 100644 --- a/.github/workflows/update-sdk.yml +++ b/.github/workflows/update-sdk.yml @@ -35,7 +35,7 @@ jobs: echo "JF_SDK_VERSION=${VERSION}" >> $GITHUB_ENV - name: Open a pull request - uses: peter-evans/create-pull-request@70a41aba780001da0a30141984ae2a0c95d8704e # v6.0.2 + uses: peter-evans/create-pull-request@9153d834b60caba6d51c9b9510b087acf9f33f83 # v6.0.4 with: token: ${{ secrets.JF_BOT_TOKEN }} commit-message: Update @jellyfin/sdk to ${{env.JF_SDK_VERSION}} From f26fa3542af1611f2b61d335be53152b07354425 Mon Sep 17 00:00:00 2001 From: KarlderHeinz Date: Fri, 19 Apr 2024 21:25:36 +0000 Subject: [PATCH 222/293] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/de.json b/src/strings/de.json index 2bcb9ee5f7..3e504e8c04 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -1856,5 +1856,7 @@ "PlaybackError.SERVER_ERROR": "Die Wiedergabe ist aufgrund eines Serverfehlers fehlgeschlagen.", "PlaybackError.NotAllowed": "Die Wiedergabe dieser Medien ist nicht erlaubt.", "PlaybackError.RateLimitExceeded": "Dieses Medium kann derzeit aufgrund von Beschränkungen nicht abgespielt werden.", - "PlaybackError.PLAYER_ERROR": "Die Wiedergabe ist aufgrund eines schwerwiegenden Player-Fehlers fehlgeschlagen." + "PlaybackError.PLAYER_ERROR": "Die Wiedergabe ist aufgrund eines schwerwiegenden Player-Fehlers fehlgeschlagen.", + "NonBlockingScan": "Non Blocking - reiht Erstellung ein, kehrt dann zurück", + "BlockingScan": "Blocking - reiht Erstellung ein, blockiert Scan bis fertig" } From d22d76bb2ecd5e03a128ffdd1b1ea61c5fb98456 Mon Sep 17 00:00:00 2001 From: Kityn Date: Sat, 20 Apr 2024 07:08:57 +0000 Subject: [PATCH 223/293] Translated using Weblate (Polish) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pl/ --- src/strings/pl.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/pl.json b/src/strings/pl.json index 53e3ac7fd2..f9cd1d338b 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -1802,7 +1802,7 @@ "Trickplay": "Trickplay", "LabelTrickplayAccelHelp": "Pamiętaj, aby włączyć opcję „Zezwól na kodowanie MJPEG” w transkodowaniu, jeśli sprzęt ją obsługuje.", "AllowMjpegEncoding": "Zezwalaj na kodowanie w formacie MJPEG (używany podczas generowania trickplay)", - "LabelTrickplayAccel": "Włącz akcelerację sprzętową", + "LabelTrickplayAccel": "Włącz dekodowanie sprzętowe", "NonBlockingScan": "Brak blokowania - generowanie kolejek, następnie powrót", "BlockingScan": "Blokowanie - generowanie kolejek, blokowanie skanowania do momentu zakończenia", "LabelScanBehavior": "Zachowanie skanowania", @@ -1858,5 +1858,7 @@ "LabelEncodingFormatOptions": "Opcje formatu kodowania", "EncodingFormatHelp": "Wybierz kodowanie wideo, którym Jellyfin powinien transkodować. Jellyfin użyje kodowania programowego, gdy akceleracja sprzętowa dla wybranego formatu nie jest dostępna. Kodowanie H264 będzie zawsze włączone.", "EnableLibrary": "Włącz bibliotekę", - "EnableLibraryHelp": "Wyłączenie biblioteki spowoduje ukrycie jej przed wszystkimi widokami użytkowników." + "EnableLibraryHelp": "Wyłączenie biblioteki spowoduje ukrycie jej przed wszystkimi widokami użytkowników.", + "LabelTrickplayAccelEncodingHelp": "Opcja ta jest obecnie dostępna tylko przy użyciu QSV i VAAPI, nie ma wpływu na inne metody akceleracji sprzętowej.", + "LabelTrickplayAccelEncoding": "Włącz kodowanie MJPEG z akceleracją sprzętową" } From b1f786b270713444d62d4341415a2b8840361943 Mon Sep 17 00:00:00 2001 From: bene toffix Date: Sat, 20 Apr 2024 08:18:55 +0000 Subject: [PATCH 224/293] Translated using Weblate (Catalan) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/ca/ --- src/strings/ca.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/ca.json b/src/strings/ca.json index 8b00fbe04d..f9bcceaa27 100644 --- a/src/strings/ca.json +++ b/src/strings/ca.json @@ -1795,7 +1795,7 @@ "DlnaMovedMessage": "La funcionalitat DLNA s'ha mogut a complements.", "AllowSubtitleManagement": "Permetre a aquest usuari editar els subtítols", "ChannelResolutionUHD4K": "UHD (4K)", - "LabelTrickplayAccel": "Habilitar acceleració per maquinari", + "LabelTrickplayAccel": "Habilitar descodificació per maquinari", "NonBlockingScan": "Sense Bloqueig - generació de cues, després retorna", "ConfirmDeleteSeries": "L'esborrat d'aquesta sèrie esborrarà TOTS {0} episodis tant del sistema de fitxers com de la teva biblioteca de mitjans. Estàs segur que vols continuar?", "LabelEncodingFormatOptions": "Opcions de format de codificació", @@ -1854,5 +1854,7 @@ "LabelImageInterval": "Interval d'Imatges", "LabelQscaleHelp": "Escala de qualitat de les imatges generades per ffmpeg, sent 2 la qualitat més alta i 31 la més baixa.", "LabelTrickplayThreads": "Fils de FFmpeg", - "ExtractTrickplayImagesHelp": "Les imatges de Trickplay són similars a les imatges de capítols, excepte que abasten tota la longitud del contingut i s'utilitzen per mostrar una vista prèvia quan es desplaça pels vídeos." + "ExtractTrickplayImagesHelp": "Les imatges de Trickplay són similars a les imatges de capítols, excepte que abasten tota la longitud del contingut i s'utilitzen per mostrar una vista prèvia quan es desplaça pels vídeos.", + "LabelTrickplayAccelEncodingHelp": "En aquests moments només està disponible en QSV i VAAPI, aquesta opció no afecta els altres mètodes d'acceleració per maquinari.", + "LabelTrickplayAccelEncoding": "Habilitar codificació MJPEG accelerada per maquinari" } From 32c8e7cad3256b331a9c485f2cc47dae4d537878 Mon Sep 17 00:00:00 2001 From: gnattu Date: Sat, 20 Apr 2024 23:54:43 +0800 Subject: [PATCH 225/293] fix: always show VPP settings --- src/controllers/dashboard/encodingsettings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/dashboard/encodingsettings.js b/src/controllers/dashboard/encodingsettings.js index 12f95fdf0f..0ad65c3d30 100644 --- a/src/controllers/dashboard/encodingsettings.js +++ b/src/controllers/dashboard/encodingsettings.js @@ -229,7 +229,7 @@ $(document).on('pageinit', '#encodingSettingsPage', function () { page.querySelector('.videoToolboxTonemappingOptions').classList.add('hide'); } - if (systemInfo.OperatingSystem.toLowerCase() === 'linux' && (this.value == 'qsv' || this.value == 'vaapi')) { + if (this.value == 'qsv' || this.value == 'vaapi') { page.querySelector('.vppTonemappingOptions').classList.remove('hide'); } else { page.querySelector('.vppTonemappingOptions').classList.add('hide'); From f596b114da53a5a8109e1b23dfabb04221315608 Mon Sep 17 00:00:00 2001 From: gnattu Date: Sun, 21 Apr 2024 01:06:39 +0800 Subject: [PATCH 226/293] =?UTF-8?q?fix:=20don=E2=80=99t=20change=20volume?= =?UTF-8?q?=20when=20dialog=20is=20shown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dialog on the player could present a large list, requiring scrolling to find the desired option, such as a subtitle or audio track in a huge language list. Changing the volume in these cases will be very annoying. --- src/controllers/playback/video/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index deac178c73..5f3b101877 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -1351,6 +1351,7 @@ export default function (view) { } function onWheel(e) { + if (getOpenedDialog()) return; if (e.deltaY < 0) { playbackManager.volumeUp(currentPlayer); } From b982b84a78b73c95378c660c34b199c5886636cf Mon Sep 17 00:00:00 2001 From: WeezyBlue Date: Sat, 20 Apr 2024 16:52:41 +0000 Subject: [PATCH 227/293] Translated using Weblate (French) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/fr/ --- src/strings/fr.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/fr.json b/src/strings/fr.json index 96ff6622ef..135ac12ccc 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1858,5 +1858,7 @@ "PlaybackError.MEDIA_NOT_SUPPORTED": "La lecture a échoué car le média n'est pas pris en charge par ce client.", "PlaybackError.NETWORK_ERROR": "La lecture a échoué à cause d'une erreur réseau.", "PlaybackError.NO_MEDIA_ERROR": "Impossible de trouver une source multimédia valide à lire.", - "PlaybackError.PLAYER_ERROR": "La lecture a échoué en raison d'une erreur fatale du joueur." + "PlaybackError.PLAYER_ERROR": "La lecture a échoué en raison d'une erreur fatale du joueur.", + "LabelTrickplayAccelEncoding": "Activer l'encodage MJPEG accéléré par le matériel", + "LabelTrickplayAccelEncodingHelp": "Actuellement disponible uniquement sur QSV et VAAPI, cette option n'a aucun effet sur les autres méthodes d'accélération matérielle." } From fa13799e65cfffd7a4435f2b0cbb242be45d9f3f Mon Sep 17 00:00:00 2001 From: clang88 Date: Sat, 20 Apr 2024 20:02:35 +0000 Subject: [PATCH 228/293] Translated using Weblate (German) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/de/ --- src/strings/de.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/de.json b/src/strings/de.json index 3e504e8c04..4838044ba7 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -1818,7 +1818,7 @@ "LimitSupportedVideoResolutionHelp": "Benutze \"Maximal erlaubte Auflösung der Videotranskodierung\" als maximal unterstützte Videoauflösung.", "AllowMjpegEncoding": "Codierung im MJPEG-Format zulassen (wird bei der Trickplay-Erstellung verwendet)", "Trickplay": "Trickplay", - "LabelTrickplayAccel": "Aktivieren der Hardwarebeschleunigung", + "LabelTrickplayAccel": "Hardware-Dekoder aktivieren", "LabelTrickplayAccelHelp": "Sicherstellen, dass die Option \"MJPEG-Codierung zulassen\" unter \"Transcodierung\" aktiviert ist, wenn die Hardware dies unterstützt.", "LabelScanBehavior": "Scanverhalten", "PriorityHigh": "Hoch", @@ -1858,5 +1858,7 @@ "PlaybackError.RateLimitExceeded": "Dieses Medium kann derzeit aufgrund von Beschränkungen nicht abgespielt werden.", "PlaybackError.PLAYER_ERROR": "Die Wiedergabe ist aufgrund eines schwerwiegenden Player-Fehlers fehlgeschlagen.", "NonBlockingScan": "Non Blocking - reiht Erstellung ein, kehrt dann zurück", - "BlockingScan": "Blocking - reiht Erstellung ein, blockiert Scan bis fertig" + "BlockingScan": "Blocking - reiht Erstellung ein, blockiert Scan bis fertig", + "LabelTrickplayAccelEncoding": "Hardwarebeschleunigte MJPEG-Enkodierung aktivieren", + "LabelTrickplayAccelEncodingHelp": "Momentan nur für QSV und VAAPI verfügbar. Diese Option hat für andere Methoden keine Auswirkungen." } From a4a3ea3d9a6878fdc93b239e08c4954ac7589396 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Sun, 21 Apr 2024 06:51:49 +0000 Subject: [PATCH 229/293] Translated using Weblate (Czech) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/cs/ --- src/strings/cs.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/strings/cs.json b/src/strings/cs.json index e51494eaf7..471eb10de1 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -1856,5 +1856,9 @@ "BlockContentWithTagsHelp": "Skrýt média, která mají alespoň jednu ze značek.", "AirPlay": "AirPlay", "LabelEncodingFormatOptions": "Možnosti formátu kódování", - "EncodingFormatHelp": "Vyberte formát, do kterého by měly být překódovány videa. Pokud není k dispozici hardwarová akcelerace pro vybraný formát, bude použito softwarové kódování. Kódování do formátu H.264 bude vždy povoleno." + "EncodingFormatHelp": "Vyberte formát, do kterého by měly být překódovány videa. Pokud není k dispozici hardwarová akcelerace pro vybraný formát, bude použito softwarové kódování. Kódování do formátu H.264 bude vždy povoleno.", + "LabelTrickplayAccelEncoding": "Povolit hardwarově akcelerované kódování MJPEG", + "LabelTrickplayAccelEncodingHelp": "Tato možnost je momentálně dostupná pouze při použití QSV a VAAPI. Nemá vliv na ostatní hardwarovou akceleraci.", + "EnableLibrary": "Povolit knihovnu", + "EnableLibraryHelp": "Vypnutím knihovny ji skryjete ze všech míst, kde je uživateli zobrazena." } From 07d3290fe5143088613bf6cc92838c2b87263830 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Sun, 21 Apr 2024 09:46:17 +0000 Subject: [PATCH 230/293] Translated using Weblate (Portuguese (Portugal)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt_PT/ --- src/strings/pt-pt.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index 775b4dd9a0..4dff2e1c2c 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -1819,5 +1819,7 @@ "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada.", "AllowContentWithTagsHelp": "Mostrar apenas os conteúdos multimédia com pelo menos uma das etiquetas especificadas.", "EnableLibraryHelp": "Se desativares a biblioteca, ela será ocultada de todas as visualizações do utilizador.", - "EnableLibrary": "Ativar a biblioteca" + "EnableLibrary": "Ativar a biblioteca", + "LabelTrickplayAccelEncoding": "Ativar a codificação MJPEG acelerada por hardware", + "LabelTrickplayAccelEncodingHelp": "Atualmente apenas disponível em QSV e VAAPI, esta opção não tem efeito noutros métodos de aceleração de hardware." } From fc1c14f91f49efd17516fba01d95fbe1e37d9ea4 Mon Sep 17 00:00:00 2001 From: Blackspirits Date: Sun, 21 Apr 2024 09:45:11 +0000 Subject: [PATCH 231/293] Translated using Weblate (Portuguese) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/pt/ --- src/strings/pt.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/strings/pt.json b/src/strings/pt.json index fcb0cdd5bd..39f1a9e95c 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -1822,5 +1822,7 @@ "AirPlay": "AirPlay", "LimitSupportedVideoResolutionHelp": "Utiliza 'Resolução máxima permitida para transcodificação de vídeo' como resolução máxima de vídeo suportada.", "EnableLibraryHelp": "Se desativares a biblioteca, ela será ocultada de todas as visualizações do utilizador.", - "EnableLibrary": "Ativar a biblioteca" + "EnableLibrary": "Ativar a biblioteca", + "LabelTrickplayAccelEncodingHelp": "Atualmente apenas disponível em QSV e VAAPI, esta opção não tem efeito noutros métodos de aceleração de hardware.", + "LabelTrickplayAccelEncoding": "Ativar a codificação MJPEG acelerada por hardware" } From 4145add2b914e1915d1cc3f2a4218aa4d8db2e40 Mon Sep 17 00:00:00 2001 From: Andi Chandler Date: Sun, 21 Apr 2024 11:56:08 +0000 Subject: [PATCH 232/293] Translated using Weblate (English (United Kingdom)) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/en_GB/ --- src/strings/en-gb.json | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index 29add05b45..30b7b4bc2b 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -254,7 +254,7 @@ "Guide": "Guide", "GuideProviderLogin": "Login", "GuideProviderSelectListings": "Select Listings", - "H264CrfHelp": "The 'Constant Rate Factor' (CRF) is the default quality setting for the x264 and x265 encoder. You can set the values between 0 and 51, where lower values would result in better quality (at the expense of higher file sizes). Sane values are between 18 and 28. The default for x264 is 23, and for x265 is 28, so you can use this as a starting point.", + "H264CrfHelp": "The 'Constant Rate Factor' (CRF) is the default quality setting for the x264 and x265 software encoders. You can set the values between 0 and 51, where lower values would result in better quality (at the expense of higher file sizes). Sane values are between 18 and 28. The default for x264 is 23, and for x265 is 28, so you can use this as a starting point. Hardware encoders do not use these settings.", "EncoderPresetHelp": "Choose a faster value to improve performance, or a slower value to improve quality.", "HardwareAccelerationWarning": "Enabling hardware acceleration may cause instability in some environments. Ensure that your operating system and video drivers are fully up to date. If you have difficulty playing video after enabling this, you'll need to change the setting back to None.", "HeaderAccessSchedule": "Access Schedule", @@ -1392,7 +1392,7 @@ "LabelTonemappingRange": "Tone mapping range", "TonemappingAlgorithmHelp": "Tone mapping can be fine-tuned. If you are not familiar with these options, just keep the default. The recommended value is 'BT.2390'.", "LabelTonemappingAlgorithm": "Select the Tone mapping algorithm to use", - "AllowTonemappingHelp": "Tone mapping can transform the dynamic range of a video from HDR to SDR while maintaining image details and colours, which are very important information for representing the original scene. Currently works only with 10bit HDR10, HLG and DoVi videos. This requires the corresponding OpenCL or CUDA runtime.", + "AllowTonemappingHelp": "Tone-mapping can transform the dynamic range of a video from HDR to SDR while maintaining image details and colours, which are very important information for representing the original scene. Currently works only with 10bit HDR10, HLG and DoVi videos. This requires the corresponding GPGPU runtime.", "EnableTonemapping": "Enable Tone mapping", "LabelOpenclDeviceHelp": "This is the OpenCL device that is used for tone mapping. The left side of the dot is the platform number, and the right side is the device number on the platform. The default value is 0.0. The FFmpeg application file containing the OpenCL hardware acceleration method is required.", "LabelOpenclDevice": "OpenCL Device", @@ -1650,7 +1650,7 @@ "OriginalAirDate": "Original Air Date", "Digital": "Digital", "MessageUnauthorizedUser": "You are not authorized to access the server at this time. Please contact your server administrator for more information.", - "EnableEnhancedNvdecDecoderHelp": "Experimental NVDEC implementation, do not enable this option unless you encounter decoding errors.", + "EnableEnhancedNvdecDecoderHelp": "Enhanced NVDEC implementation, disable this option to use CUVID if you encounter decoding errors.", "EnableSplashScreen": "Enable the splash screen", "Bold": "Bold", "HomeVideosPhotos": "Home Videos and Photos", @@ -1790,7 +1790,7 @@ "EnableVideoToolboxTonemapping": "Enable VideoToolbox Tone mapping", "AllowMjpegEncoding": "Allow encoding in MJPEG format (used during trickplay generation)", "Trickplay": "Trickplay", - "LabelTrickplayAccel": "Enable hardware acceleration", + "LabelTrickplayAccel": "Enable hardware decoding", "LabelTrickplayAccelHelp": "Make sure to enable 'Allow MJPEG Encoding' in Transcoding if your hardware supports it.", "NonBlockingScan": "Non-blocking - queues generation, then returns", "BlockingScan": "Blocking - queues generation, blocks scan until complete", @@ -1816,7 +1816,7 @@ "DeleteSeries": "Delete Show", "DeleteEpisode": "Delete Episode", "HeaderDeleteSeries": "Delete Show", - "AllowVideoToolboxTonemappingHelp": "Hardware-accelerated tone-mapping provided by VideoToolbox. It works with most HDR formats, including HDR10, HDR10+, and HLG, but does not work with Dolby Vision Profile 5. This has a higher priority compared to another OpenCL implementation.", + "AllowVideoToolboxTonemappingHelp": "Hardware-accelerated tone-mapping provided by VideoToolbox. It works with most HDR formats, including HDR10, HDR10+, and HLG, but does not work with Dolby Vision Profile 5. This has a higher priority compared to another Metal implementation.", "PriorityNormal": "Normal", "LabelScanBehaviorHelp": "The default behavior is non-blocking, which will add media to the library before trickplay generation is done. Blocking will ensure trickplay files are generated before media is added to the library, but will make scans significantly longer.", "PriorityBelowNormal": "Below Normal", @@ -1844,5 +1844,21 @@ "AllowContentWithTagsHelp": "Only show media with at least one of the specified tags.", "BlockContentWithTagsHelp": "Hide media with at least one of the specified tags.", "LabelAllowContentWithTags": "Allow items with tags", - "EnableSmoothScroll": "Enable smooth scroll" + "EnableSmoothScroll": "Enable smooth scroll", + "EncodingFormatHelp": "Select the video encoding that Jellyfin should transcode to. Jellyfin will use software encoding when hardware acceleration for the selected format is not available. H264 encoding will always be enabled.", + "LabelTrickplayAccelEncodingHelp": "Currently only available on QSV and VAAPI, this option has no effect on other hardware acceleration methods.", + "LabelEncodingFormatOptions": "Encoding format options", + "LabelTrickplayAccelEncoding": "Enable hardware accelerated MJPEG encoding", + "LimitSupportedVideoResolutionHelp": "Use 'Maximum Allowed Video Transcoding Resolution' as maximum supported video resolution.", + "PlaybackError.ASS_RENDER_ERROR": "An error was encountered in the ASS/SSA subtitle renderer.", + "PlaybackError.FATAL_HLS_ERROR": "A fatal error was encountered in the HLS stream.", + "PlaybackError.MEDIA_DECODE_ERROR": "Playback failed due to an error decoding the media.", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Playback failed because the media is not supported by this client.", + "PlaybackError.NETWORK_ERROR": "Playback failed due to a network error.", + "PlaybackError.NO_MEDIA_ERROR": "Unable to find a valid media source to play.", + "PlaybackError.PLAYER_ERROR": "Playback failed due to a fatal player error.", + "PlaybackError.SERVER_ERROR": "Playback failed due to a server error.", + "PlaybackError.NotAllowed": "Playback of this media is not allowed.", + "PlaybackError.RateLimitExceeded": "This media cannot be played at this time due to rate limits.", + "Lyric": "Lyric" } From 0f4c4556647f164584ae42279da2e8ef454acab1 Mon Sep 17 00:00:00 2001 From: Guy Porat Date: Sun, 21 Apr 2024 13:15:39 +0000 Subject: [PATCH 233/293] Translated using Weblate (Hebrew) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/he/ --- src/strings/he.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/strings/he.json b/src/strings/he.json index 14fd8f889f..b76b68354a 100644 --- a/src/strings/he.json +++ b/src/strings/he.json @@ -1268,5 +1268,18 @@ "DeleteEntireSeries": "מחיקת {0} פרקים", "DeleteSeries": "מחיקת סידרה", "DeleteEpisode": "מחיקת פרק", - "DeleteName": "מחיקת {0}" + "DeleteName": "מחיקת {0}", + "SelectAudioNormalizationHelp": "עוצמת רצועת שמע - משנה את העוצמה של כל רצועה כך שהם יתנגנו בעוצמת קול זהה. עוצמת אלבום - משנה את העוצמה של כל רצועות השמע באלבום בלבד, תוך שמירה על התחום הדינמי של האלבום.", + "LabelAllowContentWithTags": "אפשר פריטים עם תגיות", + "EnableSmoothScroll": "הפעל גלילה חלקה", + "HeaderDeleteSeries": "מחק סדרה", + "LabelAlbumGain": "עוצמת אלבום", + "LabelDummyChapterDurationHelp": "מרווח הזמן בין פרקי הדמה. קבע ל-0 כדי להשבית את ייצור פרקי הדמה. שינוי זה לא ישפיע על פרקי דמה קיימים.", + "LabelMaxDaysForNextUpHelp": "הגדר את מספר הימים המקסימלי שתכנית צריכה להישאר ברשימת 'הבא בתור' מבלי לצפות בה.", + "LabelMaxVideoResolution": "רזולוצייה מקסימלית המותרת להמרת קידוד וידאו", + "LabelLocalCustomCss": "קוד CSS לעיצוב מותאם אישית ללקוח זה בלבד. ייתכן שתרצה להשבית את קוד ה-CSS המסופק על ידי השרת.", + "LabelMaxAudiobookResume": "דקות נותרות בספר המוקלט להמשך", + "LabelMaxAudiobookResumeHelp": "כותרים נחשבים כנוגנו במלואם כאשר משך הזמן הנותר קטן יותר מערך זה.", + "LabelMetadataReaders": "קוראי מטא-דאטה", + "LabelMetadataSavers": "שומרי מטא-דאטה" } From 1ebb88a7f779132336a7d5d550fe8d3153f2e043 Mon Sep 17 00:00:00 2001 From: Bas <44002186+854562@users.noreply.github.com> Date: Sun, 21 Apr 2024 12:38:53 +0000 Subject: [PATCH 234/293] Translated using Weblate (Dutch) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/nl/ --- src/strings/nl.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/strings/nl.json b/src/strings/nl.json index 68a14624b2..853afb2365 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -26,7 +26,7 @@ "AllowRemoteAccessHelp": "Indien niet aangevinkt worden alle externe verbindingen geblokkeerd.", "AllowedRemoteAddressesHelp": "Een door komma's gescheiden lijst van IP-adressen of IP/netmask-adressen voor netwerken die op afstand verbinding mogen maken. Indien blanco, worden alle externe adressen toegestaan.", "AlwaysPlaySubtitles": "Altijd afspelen", - "AlwaysPlaySubtitlesHelp": "Ondertiteling die met de taalvoorkeur overeenkomt wordt ingeladen ongeacht de audiotaal.", + "AlwaysPlaySubtitlesHelp": "Ondertiteling die met de taalvoorkeur overeenkomt wordt ongeacht de geluidstaal geladen.", "AnyLanguage": "Elke taal", "Anytime": "Op elk moment", "AroundTime": "Rond {0}", @@ -41,7 +41,7 @@ "BirthDateValue": "Geboren: {0}", "BirthLocation": "Geboortelocatie", "BirthPlaceValue": "Geboorteplaats: {0}", - "BookLibraryHelp": "Audio- en tekstboeken worden ondersteund. Bekijk de {0}boeken naamgevingsgids{1}.", + "BookLibraryHelp": "Luister- en leesboeken worden ondersteund. Bekijk de {0}naamgevingsgids voor boeken{1}.", "Books": "Boeken", "BoxRear": "Hoes (achterkant)", "Browse": "Bladeren", @@ -53,7 +53,7 @@ "ButtonAddUser": "Gebruiker toevoegen", "ButtonArrowLeft": "Links", "ButtonArrowRight": "Rechts", - "ButtonAudioTracks": "Audiosporen", + "ButtonAudioTracks": "Geluidssporen", "ButtonBack": "Terug", "ButtonCancel": "Annuleren", "ButtonChangeServer": "Server wijzigen", @@ -1160,7 +1160,7 @@ "OptionLoginAttemptsBeforeLockout": "Bepaal hoeveel foutieve inlogpogingen kunnen plaatsvinden voordat de gebruiker buitengesloten wordt.", "Premiere": "Première", "TabPlugins": "Plug-ins", - "LabelAudioSampleRate": "Samplerate geluid", + "LabelAudioSampleRate": "Bemonsteringsfrequentie geluid", "OptionIsHD": "HD", "OptionIsSD": "SD", "OptionSpecialEpisode": "Specials", @@ -1171,7 +1171,7 @@ "ValueMinutes": "{0} min", "OptionProtocolHttp": "HTTP", "MusicLibraryHelp": "Bekijk de {0}muzieknaamgevingsgids{1}.", - "LabelAudioBitDepth": "Bitdiepte audio", + "LabelAudioBitDepth": "Bitdiepte geluid", "OptionRandom": "Willekeurig", "PlaybackData": "Afspeelinfo", "PasswordResetProviderHelp": "Kies een aanbieder voor wachtwoordherstel die moet worden gebruikt wanneer deze gebruiker een wachtwoordherstel aanvraagt.", @@ -1187,7 +1187,7 @@ "Menu": "Menu", "LabelTranscodingFramerate": "Verversingssnelheid transcoderen", "LabelType": "Type", - "LabelAudioBitrate": "Geluidsbitsnelheid", + "LabelAudioBitrate": "Bitsnelheid geluid", "LabelAudioCodec": "Geluidscodec", "LabelAudioChannels": "Geluidskanalen", "LabelBitrate": "Bitsnelheid", @@ -1563,15 +1563,15 @@ "UseEpisodeImagesInNextUp": "Afleveringsafbeeldingen gebruiken in de secties 'Volgende' en 'Verderkijken'", "EnableGamepadHelp": "Luister naar invoer van alle aangesloten controllers (vereist weergavemodus 'Tv').", "VideoCodecNotSupported": "De beeldcodec wordt niet ondersteund", - "AudioBitrateNotSupported": "De bitsnelheid van de audio wordt niet ondersteund", + "AudioBitrateNotSupported": "De bitsnelheid van het geluid wordt niet ondersteund", "AudioChannelsNotSupported": "Het aantal geluidskanalen wordt niet ondersteund", "VideoResolutionNotSupported": "De resolutie van de video wordt niet ondersteund", - "AudioSampleRateNotSupported": "De samplerate van de audio wordt niet ondersteund", + "AudioSampleRateNotSupported": "De bemonsteringsfrequentie van het geluid wordt niet ondersteund", "AnamorphicVideoNotSupported": "Anamorfisch beeld wordt niet ondersteund", "InterlacedVideoNotSupported": "Geïnterlinieerd beeld wordt niet ondersteund", - "SecondaryAudioNotSupported": "Secundaire audiosporen worden niet ondersteund", + "SecondaryAudioNotSupported": "Secundaire geluidssporen worden niet ondersteund", "VideoBitDepthNotSupported": "De bitdiepte van de video wordt niet ondersteund", - "AudioBitDepthNotSupported": "De bitdiepte van de audio wordt niet ondersteund", + "AudioBitDepthNotSupported": "De bitdiepte van het geluid wordt niet ondersteund", "LabelSyncPlaySettingsSkipToSync": "SkipToSync inschakelen", "LabelSyncPlaySettingsSpeedToSyncHelp": "Methode voor synchronisatiecorrectie die bestaat uit het versnellen van het afspelen. Synchronisatiecorrectie moet ingeschakeld zijn.", "LabelSyncPlaySettingsSpeedToSync": "SpeedToSync inschakelen", @@ -1632,10 +1632,10 @@ "EnableRewatchingNextUpHelp": "Laat reeds gekeken afleveringen zien in sectie 'Volgende'.", "ContainerBitrateExceedsLimit": "De bitsnelheid van de video overschrijdt de limiet", "LabelMaxVideoResolution": "Maximaal toegestane beeldtranscoderingsresolutie", - "UnknownAudioStreamInfo": "De audiostreaminformatie is onbekend", + "UnknownAudioStreamInfo": "De geluidsstreaminformatie is onbekend", "UnknownVideoStreamInfo": "De beeldstreaminformatie is onbekend", "VideoBitrateNotSupported": "De bitsnelheid van de video wordt niet ondersteund", - "AudioIsExternal": "De audiostream is extern", + "AudioIsExternal": "De geluidsstream is extern", "LabelHardwareEncodingOptions": "Opties voor hardwarecodering", "IntelLowPowerEncHelp": "Low-Power-codering kan onnodige CPU-GPU-synchronisatie behouden. Bij Linux moet deze uitgeschakeld zijn als de i915 HuC-firmware niet geconfigureerd is.", "EnableIntelLowPowerHevcHwEncoder": "Intel Low-Power HEVC-hardwarecodering inschakelen", @@ -1735,7 +1735,7 @@ "NotificationsMovedMessage": "De meldingsfunctionaliteit is verplaatst naar de Webhook-plug-in.", "EnableAudioNormalizationHelp": "Geluidsnormalisatie past een constante versterking toe om het gemiddelde op een gewenst niveau (-18dB) te houden.", "LabelEnableLUFSScan": "LUFS-scan inschakelen", - "LabelEnableLUFSScanHelp": "Cliënten kunnen audio normaliseren zodat verschillende nummers even luid zijn. Dit is systeemintensief en bibliotheekscans zullen langer duren.", + "LabelEnableLUFSScanHelp": "Cliënten kunnen geluid normaliseren zodat verschillende nummers even luid zijn. Dit is systeemintensief en bibliotheekscans zullen langer duren.", "PasswordRequiredForAdmin": "Voor beheerdersaccounts is een wachtwoord vereist.", "LabelSyncPlayNoGroups": "Geen groepen beschikbaar", "HeaderConfirmRepositoryInstallation": "Installatie plug-in-repository bevestigen", From 994f0dbe25ad8731c563013b011fd9ddbd8f1027 Mon Sep 17 00:00:00 2001 From: stanol Date: Sun, 21 Apr 2024 13:22:41 +0000 Subject: [PATCH 235/293] Translated using Weblate (Ukrainian) Translation: Jellyfin/Jellyfin Web Translate-URL: https://translate.jellyfin.org/projects/jellyfin/jellyfin-web/uk/ --- src/strings/uk.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/strings/uk.json b/src/strings/uk.json index 2ecb20f063..a73e8b4502 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -1813,7 +1813,7 @@ "LabelExtractTrickplayDuringLibraryScan": "Вилучати trickplay-зображення під час сканування бібліотеки", "DeleteEntireSeries": "Видалити епізоди {0}", "DeleteSeries": "Видалити серіал", - "LabelTrickplayAccel": "Увімкнути апаратне прискорення", + "LabelTrickplayAccel": "Увімкнути апаратне декодування", "PriorityAboveNormal": "Вище нормального", "PriorityNormal": "Нормальний", "PriorityBelowNormal": "Нижче нормального", @@ -1855,5 +1855,7 @@ "LabelEncodingFormatOptions": "Параметри формату кодування", "EncodingFormatHelp": "Виберіть кодування відео, в яке має перекодувати Jellyfin. Jellyfin використовуватиме програмне кодування, якщо апаратне прискорення для обраного формату недоступне. Кодування H264 буде увімкнено завжди.", "EnableLibrary": "Увімкнути медіатеку", - "EnableLibraryHelp": "Якщо вимкнути бібліотеку, її буде приховано від усіх користувачів." + "EnableLibraryHelp": "Якщо вимкнути бібліотеку, її буде приховано від усіх користувачів.", + "LabelTrickplayAccelEncoding": "Увімкнути апаратне прискорення кодування MJPEG", + "LabelTrickplayAccelEncodingHelp": "Наразі ця опція доступна лише для QSV та VAAPI, вона не впливає на інші методи апаратного прискорення." } From 2ab12bc932b8032e96e4fe73902bb2ffc79d6e00 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Sun, 21 Apr 2024 12:08:39 -0400 Subject: [PATCH 236/293] Ensure loading indicator is hidden --- src/components/playlisteditor/playlisteditor.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/playlisteditor/playlisteditor.ts b/src/components/playlisteditor/playlisteditor.ts index 940d3fb426..4335fa17ec 100644 --- a/src/components/playlisteditor/playlisteditor.ts +++ b/src/components/playlisteditor/playlisteditor.ts @@ -50,13 +50,13 @@ function onSubmit(this: HTMLElement, e: Event) { if (playlistId) { userSettings.set('playlisteditor-lastplaylistid', playlistId); addToPlaylist(panel, playlistId) - ?.catch(err => { + .catch(err => { console.error('[PlaylistEditor] Failed to add to playlist %s', playlistId, err); }) .finally(loading.hide); } else { createPlaylist(panel) - ?.catch(err => { + .catch(err => { console.error('[PlaylistEditor] Failed to create playlist', err); }) .finally(loading.hide); @@ -105,7 +105,7 @@ function addToPlaylist(dlg: DialogElement, id: string) { }); dlg.submitted = true; dialogHelper.close(dlg); - return; + return Promise.resolve(); } return getPlaylistsApi(api) @@ -131,6 +131,8 @@ function populatePlaylists(editorOptions: PlaylistEditorOptions, panel: DialogEl return Promise.reject(new Error('Playlist - ${LabelUseReplayGainTags} - -
${LabelUseReplayGainTagsHelp}
-
-