+
+
+ {{ objectLabel }}
+
+
+
+
+
+
+
diff --git a/packages/vue-vuetify/src/components/VPane.vue b/packages/vue-vuetify/src/components/VPane.vue
new file mode 100644
index 0000000000..780fae4d0e
--- /dev/null
+++ b/packages/vue-vuetify/src/components/VPane.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/packages/vue-vuetify/src/components/VSplitpanes.sass b/packages/vue-vuetify/src/components/VSplitpanes.sass
new file mode 100644
index 0000000000..d82932599a
--- /dev/null
+++ b/packages/vue-vuetify/src/components/VSplitpanes.sass
@@ -0,0 +1,218 @@
+@use 'sass:math'
+@use 'vuetify/tools'
+
+$splitter-thickness: 1px
+$splitter-hover-thickness: 4px
+$splitter-hit-area: 8px
+$splitter-transition: background-color 0.15s ease, width 0.15s ease, height 0.15s ease
+$pane-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1)
+
+@mixin splitter-base
+ box-sizing: border-box
+ flex-shrink: 0
+ background-color: transparent
+ transition: none
+ position: relative
+
+@mixin splitter-line($width: $splitter-thickness, $height: 100%, $top: 0, $left: 0)
+ content: ''
+ position: absolute
+ top: $top
+ left: $left
+ width: $width
+ height: $height
+ background-color: rgba(var(--v-border-color), var(--v-border-opacity))
+ transition: $splitter-transition
+ z-index: 1
+
+@mixin splitter-hover-state($is-horizontal: false)
+ @if $is-horizontal
+ height: $splitter-hover-thickness
+ width: 100%
+ top: -1.5px
+ left: 0
+ @else
+ width: $splitter-hover-thickness
+ height: 100%
+ left: -1.5px
+ top: 0
+ background-color: rgb(var(--v-theme-primary))
+
+@mixin hit-area($is-horizontal: false)
+ content: ''
+ position: absolute
+ z-index: 0
+ background-color: transparent
+
+ @if $is-horizontal
+ top: -(math.div($splitter-hit-area, 2))
+ bottom: -(math.div($splitter-hit-area, 2))
+ left: 0
+ right: 0
+ cursor: row-resize
+ @else
+ left: -(math.div($splitter-hit-area, 2))
+ right: -(math.div($splitter-hit-area, 2))
+ top: 0
+ bottom: 0
+ cursor: col-resize
+
+@mixin pane-transition($property)
+ transition: none
+
+ .splitpanes:not(.splitpanes--dragging) &
+ transition: #{$property} $pane-transition
+
+@include tools.layer('components')
+ .splitpanes
+ display: flex
+ width: 100%
+ height: 100%
+
+ &--vertical
+ flex-direction: row
+
+ &--horizontal
+ flex-direction: column
+
+ &--dragging
+ -webkit-user-select: none
+ user-select: none
+ pointer-events: auto
+ transform: translateZ(0)
+ will-change: transform
+
+ *, *:before, *:after
+ transition: none !important
+
+ .splitpanes__splitter
+ pointer-events: auto
+
+ &[dir='rtl']
+ &.splitpanes--vertical
+ flex-direction: row-reverse
+
+ > .splitpanes__splitter
+ border-left: none
+ border-right: $splitter-thickness solid rgba(var(--v-border-color), var(--v-border-opacity))
+
+ .splitpanes__pane
+ width: 100%
+ height: 100%
+ overflow: hidden
+ transform: translateZ(0)
+ backface-visibility: hidden
+
+ .splitpanes--vertical &
+ @include pane-transition(width)
+
+ .splitpanes--horizontal &
+ @include pane-transition(height)
+
+ .splitpanes__splitter
+ .splitpanes--vertical > &
+ min-width: $splitter-thickness
+ cursor: col-resize
+
+ .splitpanes--horizontal > &
+ min-height: $splitter-thickness
+ cursor: row-resize
+
+ &:first-child
+ cursor: auto
+
+ &:focus-visible
+ outline: 2px solid rgb(var(--v-theme-primary))
+ outline-offset: -2px
+
+ .splitpanes.v-splitpanes
+ color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity))
+
+ .splitpanes__pane
+ background-color: rgb(var(--v-theme-surface))
+
+ .splitpanes__splitter
+ @include splitter-base
+ transform: translateZ(0)
+ will-change: auto
+
+ &:before
+ @include splitter-line
+
+ &:hover:before
+ @include splitter-hover-state
+
+ .splitpanes--dragging &:before
+ @include splitter-hover-state
+ transition: none !important
+
+ .splitpanes &
+ z-index: 1
+
+ &.splitpanes--vertical > .splitpanes__splitter:after
+ @include hit-area
+
+ &.splitpanes--horizontal > .splitpanes__splitter
+ &:before
+ @include splitter-line(100%, $splitter-thickness)
+
+ &:hover:before
+ @include splitter-hover-state(true)
+
+ .splitpanes--dragging &:before
+ @include splitter-hover-state(true)
+ transition: none !important
+
+ &:after
+ @include hit-area(true)
+
+ .splitpanes.v-splitpanes.splitpanes--dragging
+ .splitpanes__pane
+ transition: none
+
+ .splitpanes__splitter:hover:before,
+ .splitpanes__splitter:focus:before,
+ .splitpanes__splitter:active:before
+ @include splitter-hover-state
+ transition: none
+
+ .splitpanes__pane .splitpanes__splitter:before
+ background-color: rgba(var(--v-border-color), var(--v-border-opacity))
+ width: $splitter-thickness
+ height: 100%
+ top: 0
+ left: 0
+ transition: none
+
+ .splitpanes__pane .splitpanes__splitter:hover:before,
+ .splitpanes__pane .splitpanes__splitter:focus:before,
+ .splitpanes__pane .splitpanes__splitter:active:before
+ @include splitter-hover-state
+ transition: none
+
+ &.splitpanes--horizontal .splitpanes__splitter:before,
+ .splitpanes__pane .splitpanes--horizontal .splitpanes__splitter:before
+ background-color: rgba(var(--v-border-color), var(--v-border-opacity))
+ width: 100%
+ height: $splitter-thickness
+ top: 0
+ left: 0
+ transition: none
+
+ &.splitpanes--horizontal .splitpanes__splitter:hover:before,
+ &.splitpanes--horizontal .splitpanes__splitter:focus:before,
+ &.splitpanes--horizontal .splitpanes__splitter:active:before,
+ .splitpanes__pane .splitpanes--horizontal .splitpanes__splitter:hover:before,
+ .splitpanes__pane .splitpanes--horizontal .splitpanes__splitter:focus:before,
+ .splitpanes__pane .splitpanes--horizontal .splitpanes__splitter:active:before
+ @include splitter-hover-state(true)
+ transition: none
+
+ @media (prefers-contrast: high)
+ .splitpanes.v-splitpanes .splitpanes__splitter
+ opacity: 1 !important
+ background-color: rgba(var(--v-border-color), 0.87) !important
+
+ @media (prefers-reduced-motion: reduce)
+ .splitpanes__pane
+ transition: none
diff --git a/packages/vue-vuetify/src/components/VSplitpanes.vue b/packages/vue-vuetify/src/components/VSplitpanes.vue
new file mode 100644
index 0000000000..79192cf2a8
--- /dev/null
+++ b/packages/vue-vuetify/src/components/VSplitpanes.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
diff --git a/packages/vue-vuetify/src/components/index.ts b/packages/vue-vuetify/src/components/index.ts
new file mode 100644
index 0000000000..83c7dd2e8e
--- /dev/null
+++ b/packages/vue-vuetify/src/components/index.ts
@@ -0,0 +1,2 @@
+export { default as VPane } from './VPane.vue';
+export { default as VSplitpanes } from './VSplitpanes.vue';
diff --git a/packages/vue-vuetify/src/icons/fa.ts b/packages/vue-vuetify/src/icons/fa.ts
index 4b914a7287..ae79dad870 100644
--- a/packages/vue-vuetify/src/icons/fa.ts
+++ b/packages/vue-vuetify/src/icons/fa.ts
@@ -2,13 +2,28 @@ import type { IconAliases } from './icons';
const aliases: IconAliases = {
itemAdd: 'fas fa-plus',
+ itemCancel: 'fas fa-xmark',
+ itemConfirm: 'fas fa-check',
+ itemEdit: 'far fa-pen-to-square',
itemMoveUp: 'fas fa-arrow-up',
itemMoveDown: 'fas fa-arrow-down',
itemDelete: 'fas fa-trash',
+ search: 'fas fa-magnifying-glass',
+ treeExpand: 'fas fa-chevron-right',
+ treeCollapse: 'fas fa-chevron-down',
+ visibilityOff: 'far fa-eye-slash',
+ visibilityOn: 'far fa-eye',
calendarClock: 'fas fa-calendar',
clock: 'far fa-clock',
passwordHide: 'far fa-eye-slash',
passwordShow: 'far fa-eye',
+ typeArray: 'fas fa-list',
+ typeBoolean: 'fas fa-toggle-on',
+ typeNull: 'fas fa-ban',
+ typeNumber: 'fas fa-hashtag',
+ typeObject: 'far fa-folder',
+ typeString: 'fas fa-font',
+ typeUnknown: 'fas fa-circle',
validationError: 'fas fa-circle-exclamation',
};
diff --git a/packages/vue-vuetify/src/icons/icons.ts b/packages/vue-vuetify/src/icons/icons.ts
index 12985eef09..0c18bf809e 100644
--- a/packages/vue-vuetify/src/icons/icons.ts
+++ b/packages/vue-vuetify/src/icons/icons.ts
@@ -10,12 +10,27 @@ export type IconValue =
export interface IconAliases {
itemAdd: IconValue;
+ itemCancel: IconValue;
+ itemConfirm: IconValue;
+ itemEdit: IconValue;
itemMoveUp: IconValue;
itemMoveDown: IconValue;
itemDelete: IconValue;
+ search: IconValue;
+ treeExpand: IconValue;
+ treeCollapse: IconValue;
+ visibilityOff: IconValue;
+ visibilityOn: IconValue;
calendarClock: IconValue;
clock: IconValue;
passwordHide: IconValue;
passwordShow: IconValue;
+ typeArray: IconValue;
+ typeBoolean: IconValue;
+ typeNull: IconValue;
+ typeNumber: IconValue;
+ typeObject: IconValue;
+ typeString: IconValue;
+ typeUnknown: IconValue;
validationError: IconValue;
}
diff --git a/packages/vue-vuetify/src/icons/mdi.ts b/packages/vue-vuetify/src/icons/mdi.ts
index d63940b2b4..d642d09c49 100644
--- a/packages/vue-vuetify/src/icons/mdi.ts
+++ b/packages/vue-vuetify/src/icons/mdi.ts
@@ -2,13 +2,28 @@ import type { IconAliases } from './icons';
const aliases: IconAliases = {
itemAdd: 'mdi-plus',
+ itemCancel: 'mdi-close',
+ itemConfirm: 'mdi-check',
+ itemEdit: 'mdi-pencil-outline',
itemMoveUp: 'mdi-arrow-up',
itemMoveDown: 'mdi-arrow-down',
itemDelete: 'mdi-delete',
+ search: 'mdi-magnify',
+ treeExpand: 'mdi-chevron-right',
+ treeCollapse: 'mdi-chevron-down',
+ visibilityOff: 'mdi-eye-off',
+ visibilityOn: 'mdi-eye',
calendarClock: 'mdi-calendar-clock',
clock: 'mdi-clock-outline',
passwordHide: 'mdi-eye-off',
passwordShow: 'mdi-eye',
+ typeArray: 'mdi-format-list-bulleted',
+ typeBoolean: 'mdi-toggle-switch-outline',
+ typeNull: 'mdi-null',
+ typeNumber: 'mdi-numeric',
+ typeObject: 'mdi-folder-outline',
+ typeString: 'mdi-format-text',
+ typeUnknown: 'mdi-circle-small',
validationError: 'mdi-alert-circle-outline',
};
diff --git a/packages/vue-vuetify/src/index.ts b/packages/vue-vuetify/src/index.ts
index 563e22c45b..af94643257 100644
--- a/packages/vue-vuetify/src/index.ts
+++ b/packages/vue-vuetify/src/index.ts
@@ -1,6 +1,7 @@
export * from './additional';
export * from './array';
export * from './complex';
+export * from './components';
export * from './controls';
export * from './extended';
export * from './i18n';
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dff9fc444a..5495864a30 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -629,6 +629,9 @@ importers:
'@mui/x-date-pickers':
specifier: ^8.11.3
version: 8.11.3(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(dayjs@1.10.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
+ '@mui/x-tree-view':
+ specifier: ^8.29.0
+ version: 8.29.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
'@rollup/plugin-commonjs':
specifier: ^23.0.3
version: 23.0.7(rollup@2.80.0)
@@ -1351,8 +1354,8 @@ importers:
specifier: ^4.0.2
version: 4.0.2(postcss@8.5.12)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.8.3))
splitpanes:
- specifier: ^3.1.5
- version: 3.1.5
+ specifier: ^3.2.0
+ version: 3.2.0(vue@3.5.17(typescript@5.8.3))
typedoc:
specifier: ~0.25.3
version: 0.25.13(typescript@5.8.3)
@@ -1373,7 +1376,7 @@ importers:
version: 2.3.2(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))
vite-plugin-vuetify:
specifier: ^2.1.1
- version: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.12.8)
+ version: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.11.9)
vitest:
specifier: ^1.4.0
version: 1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0)
@@ -1388,7 +1391,7 @@ importers:
version: 2.2.12(typescript@5.8.3)
vuetify:
specifier: ^3.11.0
- version: 3.12.8(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
+ version: 3.11.9(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
packages:
@@ -1588,6 +1591,7 @@ packages:
'@angular/animations@20.3.24':
resolution: {integrity: sha512-lc6OjwBTEITVqFYTwqEuq/UyCutwJ6NQid4U5gOmwSl1GYbnUUV2X/DRN1sz/JRHnXkC4QCGTWqebnm2SLVRiA==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
+ deprecated: '@angular/animations is deprecated. Use `animate.enter` and `animate.leave` instead. For more information see: https://v22.angular.dev/guide/animations.'
peerDependencies:
'@angular/core': 20.3.24
@@ -2955,6 +2959,10 @@ packages:
resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==}
engines: {node: '>=6.9.0'}
+ '@babel/runtime@7.29.7':
+ resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/template@7.24.0':
resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
engines: {node: '>=6.9.0'}
@@ -2999,6 +3007,16 @@ packages:
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@base-ui/utils@0.2.9':
+ resolution: {integrity: sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==}
+ peerDependencies:
+ '@types/react': ^17 || ^18 || ^19
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
@@ -3775,6 +3793,9 @@ packages:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
+
'@fortawesome/fontawesome-free@6.6.0':
resolution: {integrity: sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==}
engines: {node: '>=6'}
@@ -4340,6 +4361,14 @@ packages:
'@types/react':
optional: true
+ '@mui/types@7.4.12':
+ resolution: {integrity: sha512-iKNAF2u9PzSIj40CjvKJWxFXJo122jXVdrmdh0hMYd+FR+NuJMkr/L88XwWLCRiJ5P1j+uyac25+Kp6YC4hu6w==}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@mui/types@7.4.5':
resolution: {integrity: sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==}
peerDependencies:
@@ -4366,6 +4395,16 @@ packages:
'@types/react':
optional: true
+ '@mui/utils@7.3.11':
+ resolution: {integrity: sha512-XTjGnifwteg71/ij+0e7Y7d+hwyntMYP5wPoA/g2drdGH+Flkvjwy0OfrVpKBbaOvofq4zU/LIyUZyKgmWu18g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@mui/utils@7.3.2':
resolution: {integrity: sha512-4DMWQGenOdLnM3y/SdFQFwKsCLM+mqxzvoWp9+x2XdEzXapkznauHLiXtSohHs/mc0+5/9UACt1GdugCX2te5g==}
engines: {node: '>=14.0.0'}
@@ -4419,6 +4458,28 @@ packages:
peerDependencies:
react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@mui/x-internals@8.29.0':
+ resolution: {integrity: sha512-xlqq765k39g6vkVGIypOBlsdYGawIP0JdSh+qqrkUCIIN39AUZRNMA/nGH0nSkhVHMHcCSDWBM5/6+6BLfc7Mg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@mui/x-tree-view@8.29.0':
+ resolution: {integrity: sha512-y7QkvKEnQOEvM4yLRiOwWhTAsE86coanRJl++P/vBM6AjROZwjXSIAm3NXrQaUSocQOSLAqotIFivewh88xEUg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.9.0
+ '@emotion/styled': ^11.8.1
+ '@mui/material': ^5.15.14 || ^6.0.0 || ^7.0.0
+ '@mui/system': ^5.15.14 || ^6.0.0 || ^7.0.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+
'@napi-rs/nice-android-arm-eabi@1.1.1':
resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==}
engines: {node: '>= 10'}
@@ -12342,6 +12403,9 @@ packages:
react-is@19.1.1:
resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==}
+ react-is@19.2.7:
+ resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==}
+
react-redux@7.2.9:
resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==}
peerDependencies:
@@ -13193,8 +13257,10 @@ packages:
split@1.0.1:
resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
- splitpanes@3.1.5:
- resolution: {integrity: sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw==}
+ splitpanes@3.2.0:
+ resolution: {integrity: sha512-K+WKxWdqtKShV33gPjQl769wHxB3glypTOReCvYu/AJd38J+abHlpiF8rK6uBNPMrgw5thHZCI5JkEwsAqa9XA==}
+ peerDependencies:
+ vue: ^3.2.0
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
@@ -14075,6 +14141,11 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -14365,8 +14436,8 @@ packages:
typescript:
optional: true
- vuetify@3.12.8:
- resolution: {integrity: sha512-gvmOWeLd6CG7LVh2Qonft5YrIb7MpbKZglRjg0ItEloSbu6hfUII2RZmRSVxGKYdiXTf7J1hI3BRSHr8J9LkxA==}
+ vuetify@3.11.9:
+ resolution: {integrity: sha512-XKcaQU+y/ZURLWII4rOX26LgU/wYRjskDVQFQ35OQuTt81wkruyle9sM9RDkFXCYI5zFApaRpBnTzS8uIN6Yog==}
peerDependencies:
typescript: '>=4.7'
vite-plugin-vuetify: '>=2.1.0'
@@ -17145,6 +17216,8 @@ snapshots:
'@babel/runtime@7.28.4': {}
+ '@babel/runtime@7.29.7': {}
+
'@babel/template@7.24.0':
dependencies:
'@babel/code-frame': 7.24.2
@@ -17228,6 +17301,17 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@base-ui/utils@0.2.9(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@floating-ui/utils': 0.2.11
+ react: 17.0.2
+ react-dom: 17.0.2(react@17.0.2)
+ reselect: 5.1.1
+ use-sync-external-store: 1.6.0(react@17.0.2)
+ optionalDependencies:
+ '@types/react': 17.0.80
+
'@bcoe/v8-coverage@0.2.3': {}
'@colors/colors@1.5.0': {}
@@ -17716,6 +17800,8 @@ snapshots:
'@eslint/js@8.57.0': {}
+ '@floating-ui/utils@0.2.11': {}
+
'@fortawesome/fontawesome-free@6.6.0': {}
'@hapi/hoek@9.3.0': {}
@@ -18421,8 +18507,8 @@ snapshots:
'@mui/private-theming@7.3.0(@types/react@17.0.80)(react@17.0.2)':
dependencies:
- '@babel/runtime': 7.28.2
- '@mui/utils': 7.3.0(@types/react@17.0.80)(react@17.0.2)
+ '@babel/runtime': 7.28.4
+ '@mui/utils': 7.3.2(@types/react@17.0.80)(react@17.0.2)
prop-types: 15.8.1
react: 17.0.2
optionalDependencies:
@@ -18430,7 +18516,7 @@ snapshots:
'@mui/styled-engine@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(react@17.0.2)':
dependencies:
- '@babel/runtime': 7.28.2
+ '@babel/runtime': 7.28.4
'@emotion/cache': 11.14.0
'@emotion/serialize': 1.3.3
'@emotion/sheet': 1.4.0
@@ -18457,6 +18543,12 @@ snapshots:
'@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)
'@types/react': 17.0.80
+ '@mui/types@7.4.12(@types/react@17.0.80)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ optionalDependencies:
+ '@types/react': 17.0.80
+
'@mui/types@7.4.5(@types/react@17.0.80)':
dependencies:
'@babel/runtime': 7.28.2
@@ -18481,6 +18573,18 @@ snapshots:
optionalDependencies:
'@types/react': 17.0.80
+ '@mui/utils@7.3.11(@types/react@17.0.80)(react@17.0.2)':
+ dependencies:
+ '@babel/runtime': 7.29.7
+ '@mui/types': 7.4.12(@types/react@17.0.80)
+ '@types/prop-types': 15.7.15
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 17.0.2
+ react-is: 19.2.7
+ optionalDependencies:
+ '@types/react': 17.0.80
+
'@mui/utils@7.3.2(@types/react@17.0.80)(react@17.0.2)':
dependencies:
'@babel/runtime': 7.28.4
@@ -18523,6 +18627,36 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
+ '@mui/x-internals@8.29.0(@types/react@17.0.80)(react@17.0.2)':
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@mui/utils': 7.3.11(@types/react@17.0.80)(react@17.0.2)
+ react: 17.0.2
+ reselect: 5.1.1
+ use-sync-external-store: 1.6.0(react@17.0.2)
+ transitivePeerDependencies:
+ - '@types/react'
+
+ '@mui/x-tree-view@8.29.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)':
+ dependencies:
+ '@babel/runtime': 7.28.4
+ '@base-ui/utils': 0.2.9(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
+ '@mui/material': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
+ '@mui/system': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)
+ '@mui/utils': 7.3.11(@types/react@17.0.80)(react@17.0.2)
+ '@mui/x-internals': 8.29.0(@types/react@17.0.80)(react@17.0.2)
+ '@types/react-transition-group': 4.4.12(@types/react@17.0.80)
+ clsx: 2.1.1
+ prop-types: 15.8.1
+ react: 17.0.2
+ react-dom: 17.0.2(react@17.0.2)
+ react-transition-group: 4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2)
+ optionalDependencies:
+ '@emotion/react': 11.11.4(@types/react@17.0.80)(react@17.0.2)
+ '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)
+ transitivePeerDependencies:
+ - '@types/react'
+
'@napi-rs/nice-android-arm-eabi@1.1.1':
optional: true
@@ -19860,7 +19994,7 @@ snapshots:
'@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
'@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5)
'@babel/preset-env': 7.24.5(@babel/core@7.24.5)
- '@babel/runtime': 7.24.5
+ '@babel/runtime': 7.28.4
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.5)
'@vue/babel-preset-jsx': 1.4.0(@babel/core@7.24.5)(vue@3.5.17(typescript@5.8.3))
babel-plugin-dynamic-import-node: 2.3.3
@@ -20395,11 +20529,11 @@ snapshots:
'@vue/web-component-wrapper@1.3.0': {}
- '@vuetify/loader-shared@2.1.0(vue@3.5.17(typescript@5.8.3))(vuetify@3.12.8)':
+ '@vuetify/loader-shared@2.1.0(vue@3.5.17(typescript@5.8.3))(vuetify@3.11.9)':
dependencies:
upath: 2.0.1
vue: 3.5.17(typescript@5.8.3)
- vuetify: 3.12.8(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
+ vuetify: 3.11.9(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
'@webassemblyjs/ast@1.12.1':
dependencies:
@@ -21161,7 +21295,7 @@ snapshots:
babel-plugin-macros@3.1.0:
dependencies:
- '@babel/runtime': 7.28.2
+ '@babel/runtime': 7.28.4
cosmiconfig: 7.1.0
resolve: 1.22.8
@@ -22829,7 +22963,7 @@ snapshots:
dom-helpers@5.2.1:
dependencies:
- '@babel/runtime': 7.28.2
+ '@babel/runtime': 7.28.4
csstype: 3.1.3
dom-serialize@2.2.1:
@@ -28618,6 +28752,8 @@ snapshots:
react-is@19.1.1: {}
+ react-is@19.2.7: {}
+
react-redux@7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2):
dependencies:
'@babel/runtime': 7.24.5
@@ -28781,7 +28917,7 @@ snapshots:
regenerator-transform@0.15.2:
dependencies:
- '@babel/runtime': 7.28.2
+ '@babel/runtime': 7.28.4
regex-parser@2.3.0: {}
@@ -29700,7 +29836,9 @@ snapshots:
dependencies:
through: 2.3.8
- splitpanes@3.1.5: {}
+ splitpanes@3.2.0(vue@3.5.17(typescript@5.8.3)):
+ dependencies:
+ vue: 3.5.17(typescript@5.8.3)
sprintf-js@1.0.3: {}
@@ -30583,6 +30721,10 @@ snapshots:
dependencies:
react: 17.0.2
+ use-sync-external-store@1.6.0(react@17.0.2):
+ dependencies:
+ react: 17.0.2
+
util-deprecate@1.0.2: {}
util@0.12.5:
@@ -30721,14 +30863,14 @@ snapshots:
picocolors: 1.1.1
vite: 5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0)
- vite-plugin-vuetify@2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.12.8):
+ vite-plugin-vuetify@2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.11.9):
dependencies:
- '@vuetify/loader-shared': 2.1.0(vue@3.5.17(typescript@5.8.3))(vuetify@3.12.8)
+ '@vuetify/loader-shared': 2.1.0(vue@3.5.17(typescript@5.8.3))(vuetify@3.11.9)
debug: 4.3.7
upath: 2.0.1
vite: 5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0)
vue: 3.5.17(typescript@5.8.3)
- vuetify: 3.12.8(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
+ vuetify: 3.11.9(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3))
transitivePeerDependencies:
- supports-color
@@ -30943,12 +31085,12 @@ snapshots:
optionalDependencies:
typescript: 5.8.3
- vuetify@3.12.8(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3)):
+ vuetify@3.11.9(typescript@5.8.3)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.8.3)):
dependencies:
vue: 3.5.17(typescript@5.8.3)
optionalDependencies:
typescript: 5.8.3
- vite-plugin-vuetify: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.12.8)
+ vite-plugin-vuetify: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.4.0)(sass@1.93.2)(stylus@0.57.0)(terser@5.48.0))(vue@3.5.17(typescript@5.8.3))(vuetify@3.11.9)
w3c-hr-time@1.0.2:
dependencies: