@principal-ade/panels 1.0.72 → 1.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("react"),require("react-resizable-panels"),require("react-dom"),require("@principal-ade/industry-theme")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react","react-resizable-panels","react-dom","@principal-ade/industry-theme"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).A24ZPanels={},e["react/jsx-runtime"],e.React,e.ReactResizablePanels,e.ReactDOM,e.IndustryTheme)}(this,function(e,t,n,o,r,a){"use strict";var l=document.createElement("style");function i(e){return{"--panel-background":e.colors.background,"--panel-border":e.colors.border,"--panel-handle":e.colors.backgroundSecondary,"--panel-handle-hover":e.colors.backgroundHover,"--panel-handle-active":e.colors.primary,"--panel-button-bg":e.colors.surface,"--panel-button-hover":e.colors.backgroundHover,"--panel-button-border":e.colors.border,"--panel-button-icon":e.colors.textSecondary,"--panel-accent-bg":e.colors.primary+"15"}}function s(e){return{"--tab-list-bg":e.colors.backgroundSecondary,"--tab-border":e.colors.border,"--tab-bg":e.colors.surface,"--tab-bg-hover":e.colors.backgroundHover,"--tab-bg-active":e.colors.primary,"--tab-text":e.colors.textSecondary,"--tab-text-hover":e.colors.text,"--tab-text-active":e.colors.background,"--tab-icon-color":e.colors.textTertiary,"--tab-icon-active":e.colors.background,"--tab-border-hover":e.colors.textSecondary,"--tab-border-active":e.colors.primary,"--tab-focus":e.colors.primary,"--tab-content-bg":e.colors.background,"--tab-empty-text":e.colors.textMuted,"--tab-font-family":e.fonts.body,"--tab-font-size":"11px","--tab-font-weight":String(e.fontWeights.medium),"--mobile-tab-text-active":e.colors.primary,"--mobile-tab-icon-active":e.colors.primary}}l.textContent='.animated-resizable-layout{flex:1;min-height:0;width:100%;position:relative;background-color:var(--panel-background)}.hybrid-panel{display:flex;flex-direction:column;overflow:hidden;height:100%;background-color:var(--panel-background)}.animated-resizable-layout .panel-content-wrapper{flex:1;min-width:0;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;will-change:opacity}.resize-handle{width:8px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:col-resize;position:relative;transition:background-color .2s,opacity .3s,width .3s}.resize-handle.collapsed{opacity:0;pointer-events:none}.resize-handle:hover{background-color:var(--panel-handle-hover)}.resize-handle:active{background-color:var(--panel-handle-active)}.handle-bar{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.collapse-toggle{position:absolute;background:var(--panel-button-bg);border:1px solid var(--panel-button-border);padding:4px 8px;cursor:pointer;color:var(--panel-button-icon);font-size:14px;outline:none;display:flex;align-items:center;justify-content:center;border-radius:4px;z-index:10;transition:all .2s;box-shadow:0 2px 4px #0000001a}.animated-vertical-layout{width:100%;height:100%;position:relative;background-color:var(--panel-background)}.vertical-panel{overflow:auto;width:100%;background-color:var(--panel-background)}.panel-content-wrapper{width:100%;height:100%;overflow:auto}.vertical-resize-handle{height:8px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:row-resize;position:relative;transition:background-color .2s,opacity .3s,height .3s}.vertical-resize-handle.collapsed{opacity:0;pointer-events:none}.vertical-resize-handle:hover{background-color:var(--panel-handle-hover)}.vertical-resize-handle:active{background-color:var(--panel-handle-active)}.handle-bar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.collapse-toggle{background:var(--panel-button-bg);border:1px solid var(--panel-button-border);padding:4px 8px;cursor:pointer;color:var(--panel-button-icon);font-size:14px;outline:none;display:flex;align-items:center;justify-content:center;border-radius:4px;z-index:10;transition:all .2s;box-shadow:0 2px 4px #0000001a}.collapse-toggle:hover:not(:disabled){background-color:var(--panel-button-hover);box-shadow:0 2px 6px #00000026}.collapse-toggle:active:not(:disabled){opacity:.8}.collapsible-split-pane{width:100%;height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--panel-background)}.csp-header{display:flex;align-items:center;gap:8px;padding:0 12px;background-color:var(--panel-handle);border-bottom:1px solid var(--panel-border, rgba(128, 128, 128, .2));-webkit-user-select:none;user-select:none;flex-shrink:0;transition:background-color .15s ease}.csp-header-collapsed{cursor:pointer}.csp-header-collapsed:hover{background-color:var(--panel-handle-hover)}.csp-header-collapsed:focus{outline:none;box-shadow:inset 0 0 0 2px var(--panel-focus-ring, rgba(59, 130, 246, .5))}.csp-header-icon{display:flex;align-items:center;justify-content:center;color:var(--panel-text-secondary, #888);font-size:14px}.csp-header-title{flex:1;font-size:12px;font-weight:500;color:var(--panel-text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csp-header-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--panel-text-secondary, #888);cursor:pointer;border-radius:3px;transition:background-color .15s ease,color .15s ease}.csp-header-toggle:hover{background-color:var(--panel-button-hover, rgba(128, 128, 128, .2));color:var(--panel-text, #333)}.csp-content-area{flex:1;min-height:0;display:flex;flex-direction:column}.csp-primary-content-full{flex:1;min-height:0;overflow:hidden}.csp-secondary-panel,.csp-primary-panel{overflow:hidden;background-color:var(--panel-background)}.csp-panel-content{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.csp-secondary-body{width:100%;height:100%;overflow:auto}.csp-resize-handle{height:6px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:row-resize;position:relative;transition:background-color .15s ease;flex-shrink:0}.csp-resize-handle:hover{background-color:var(--panel-handle-hover)}.csp-resize-handle:active{background-color:var(--panel-handle-active)}.csp-resize-handle-bar{width:32px;height:3px;background-color:var(--panel-handle-bar, rgba(128, 128, 128, .4));border-radius:2px;transition:background-color .15s ease}.csp-resize-handle:hover .csp-resize-handle-bar{background-color:var(--panel-handle-bar-hover, rgba(128, 128, 128, .6))}.three-panel-layout{height:100%;width:100%;display:flex;flex-direction:column;position:relative;background-color:var(--panel-background);box-sizing:border-box}.three-panel-item{display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative;background-color:var(--panel-background);box-sizing:border-box}.three-panel-item[data-edit-mode=true]{background-color:var(--panel-accent-bg);border-radius:12px}.three-panel-layout [data-panel]{transition:flex-grow var(--panel-transition-duration, .3s) var(--panel-transition-easing, cubic-bezier(.4, 0, .2, 1))}.three-panel-layout.is-dragging [data-panel],.three-panel-layout.is-mounting [data-panel]{transition:none}.three-panel-item.collapsible-panel{will-change:flex}.three-panel-item.collapsible-panel.collapsed{flex:0!important;min-width:0!important;max-width:0!important;width:0!important;overflow:hidden!important;visibility:hidden}.panel-content-wrapper{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;will-change:opacity;box-sizing:border-box}.resize-handle{position:relative;display:flex;align-items:center;justify-content:center;width:1px!important;cursor:col-resize;background:var(--panel-border);overflow:visible!important}.resize-handle:before{content:"";position:absolute;inset:0 -10px;background:transparent}.resize-handle:after{content:"";position:absolute;inset:0 -10px;background:var(--panel-handle);opacity:0;transition:opacity .2s ease;z-index:-1}.resize-handle:hover:after{opacity:1}.resize-handle:hover{background:var(--panel-handle-hover)}.resize-handle:active:after{opacity:1;background:var(--panel-handle-active)}.resize-handle:active{background:var(--panel-handle-active)}.resize-handle.collapsed{width:0!important;visibility:hidden}.resize-handle.left-handle.collapsed{margin-right:-1px}.resize-handle.right-handle.collapsed{margin-left:-1px}.handle-bar{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2}.collapse-toggle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:40px;background:var(--panel-button-bg);border:1px solid var(--panel-button-border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:var(--panel-button-icon);transition:all .2s ease;z-index:10;padding:0;line-height:1}.collapse-toggle:hover{background:var(--panel-button-hover)}.collapse-toggle:active{opacity:.8}.collapse-toggle:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.resize-handle:before{left:-8px;right:-8px}.resize-handle:after{left:-8px;right:-8px}.collapse-toggle{width:24px;height:48px;font-size:14px}}@keyframes wiggle{0%{transform:rotate(0)}25%{transform:rotate(1deg)}50%{transform:rotate(0)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.editable-panel-layout{position:relative;width:100%;height:100%}.editable-panel-layout.edit-mode-active{background:#0000000d}[data-slot][data-edit-mode=true]{transform:scale(.95);transform-origin:center center;cursor:grab;will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1)}[data-slot][data-edit-mode=true]:active{cursor:grabbing}[data-slot][data-dragging=true]{cursor:grabbing!important;transform:scale(.95)!important;transition:none!important}.edit-mode-active [data-slot][data-edit-mode=true]{transform-origin:center center}.slot-with-overlay{position:relative;width:100%;height:100%}.slot-with-overlay.dragging{opacity:0;pointer-events:none}.slot-edit-overlay{position:absolute;inset:0;background:transparent;border:none;pointer-events:auto;cursor:grab;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center}.slot-edit-overlay:hover{background:#3b82f608}.slot-edit-overlay:active{cursor:grabbing}.drag-indicator,.slot-position-label{display:none}.edit-mode-toggle{position:absolute;top:16px;right:16px;z-index:1000;padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.edit-mode-toggle:hover{background:#f9fafb;box-shadow:0 4px 6px #0000001a}.edit-mode-toggle.active{background:#3b82f6;color:#fff;border-color:#2563eb}.edit-mode-overlay{position:fixed;inset:0;background:#0000004d;z-index:998;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-mode-configurator{position:relative;z-index:999;padding:20px;animation:scaleIn .3s ease}.panel-slot{position:relative;min-height:120px;border:2px dashed transparent;border-radius:12px;transition:all .3s ease;padding:12px}.panel-slot.edit-mode{border-color:#d1d5db;background:#ffffff80}.panel-slot.drag-over{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 4px #3b82f61a}.panel-slot.empty{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.draggable-panel{position:relative;padding:12px 16px;margin:8px 0;border-radius:8px;background:#fff;border:1px solid #e5e7eb;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none}.draggable-panel:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000001a}.draggable-panel.dragging{opacity:.5;cursor:grabbing}.draggable-panel.edit-mode{animation:wiggle .4s ease-in-out infinite;transform-origin:center}.draggable-panel.edit-mode:nth-child(odd){animation-delay:.1s}.draggable-panel.edit-mode:nth-child(2n){animation-delay:.2s}.remove-button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;opacity:0;transform:scale(0);transition:all .2s ease;z-index:10;box-shadow:0 2px 4px #0003}.draggable-panel.edit-mode .remove-button{opacity:1;transform:scale(1);animation:pulse 2s infinite}.remove-button:hover{background:#dc2626;transform:scale(1.1)}.panel-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#374151}.panel-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.drag-handle{display:none;width:24px;height:24px;opacity:.4;cursor:grab}.edit-mode .drag-handle{display:flex;align-items:center;justify-content:center}.drag-overlay{padding:12px 16px;border-radius:8px;background:#fff;border:2px solid #3b82f6;box-shadow:0 8px 16px #0003;cursor:grabbing;opacity:.9}.panel-group{border:2px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff}.panel-group.edit-mode{animation:wiggle .5s ease-in-out infinite;border-color:#3b82f6}.panel-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.panel-group-title{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.available-panels{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 6px #0000001a}.available-panels-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:12px}.available-panels-list{display:flex;flex-direction:column;gap:8px}.slot-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}.slot-indicator{width:8px;height:8px;border-radius:50%;background:#d1d5db}.slot-indicator.active{background:#3b82f6}.action-buttons{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1001;display:flex;gap:12px;padding:12px 24px;background:#fff;border-radius:12px;box-shadow:0 8px 16px #00000026;animation:scaleIn .3s ease}.action-button{padding:10px 20px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button:hover{background:#f9fafb}.action-button.primary{background:#3b82f6;color:#fff;border-color:#2563eb}.action-button.primary:hover{background:#2563eb}@media(max-width:768px){.edit-mode-toggle{top:8px;right:8px;padding:6px 12px;font-size:12px}.action-buttons{bottom:16px;padding:10px 16px}.action-button{padding:8px 16px;font-size:13px}}@media(prefers-color-scheme:dark){.edit-mode-toggle{background:#1f2937;color:#f9fafb;border-color:#374151}.edit-mode-toggle:hover{background:#374151}.draggable-panel{background:#1f2937;color:#f9fafb;border-color:#374151}.available-panels{background:#1f2937}.panel-label{color:#f9fafb}.action-buttons{background:#1f2937}.action-button{background:#1f2937;color:#f9fafb;border-color:#374151}.action-button:hover{background:#374151}}.panel-configurator{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;background:var(--configurator-bg);border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.configurator-section{display:flex;flex-direction:column;gap:1rem}.section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--configurator-title);text-transform:uppercase;letter-spacing:.05em;text-align:center}.slots-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:75%;margin:0 auto;align-items:start}.slot{position:relative;aspect-ratio:1 / 1.3;width:100%;padding:2.5rem 1rem 1rem;background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;box-sizing:border-box}.slot:hover{border-color:var(--slot-border-hover);box-shadow:0 2px 4px #0000000d}.slot.selected{border-color:var(--slot-border-selected);background:var(--slot-bg-selected);box-shadow:0 0 0 3px var(--slot-bg-selected)}.slot.empty{border-style:dashed}.slot-label{font-size:.75rem;font-weight:600;color:var(--slot-label);text-transform:capitalize;text-align:left}.slot[data-position=middle] .slot-label,.slot[data-position=middle] .slot-panel-name,.slot[data-position=middle] .slot-empty-state{text-align:center}.slot[data-position=right] .slot-label,.slot[data-position=right] .slot-panel-name,.slot[data-position=right] .slot-empty-state{text-align:right}.slot-content{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;min-height:0}.slot-panel-name{font-weight:600;color:var(--slot-content-text);font-size:.875rem}.slot-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--slot-preview-bg);border-radius:4px;border:1px solid var(--slot-preview-border);font-size:.75rem;color:var(--slot-preview-text)}.slot-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--slot-empty-text);font-size:.875rem;font-style:italic;min-height:0}.slot-clear-btn{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;padding:0;background:var(--clear-btn-bg);color:var(--clear-btn-text);border:none;border-radius:4px;cursor:pointer;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.slot:hover .slot-clear-btn{opacity:1}.slot-clear-btn:hover{background:var(--clear-btn-hover);transform:scale(1.1)}.available-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;width:75%;margin:0 auto}.available-panel{min-height:80px;padding:.75rem;background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem}.available-panel:hover{border-color:var(--panel-border-hover);box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.available-panel.selected{border-color:var(--panel-border-selected);background:var(--panel-bg-selected);box-shadow:0 0 0 3px var(--panel-bg-selected)}.available-panel.in-use{opacity:.5;border-style:dashed}.available-panel.in-use:hover{transform:translateY(0);opacity:.6}.panel-label{font-weight:600;color:var(--panel-label-text);font-size:.875rem}.panel-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--panel-preview-bg);border-radius:4px;font-size:.75rem;color:var(--panel-preview-text)}.selection-hint{padding:.75rem 1rem;background:var(--hint-bg);border:1px solid var(--hint-border);border-radius:6px;color:var(--hint-text);font-size:.875rem;text-align:center}.available-panel.multi-selected{border-color:var(--panel-border-selected);background:var(--panel-bg-selected);box-shadow:0 0 0 2px var(--panel-bg-selected)}.multi-select-badge{margin-left:.5rem;padding:.25rem .5rem;background:var(--panel-border-selected);color:#fff;font-size:.75rem;border-radius:12px;font-weight:400}.multi-select-hint{background:var(--panel-bg-selected);border-color:var(--panel-border-selected)}.slot.tab-group{border-style:solid}.group-content{position:relative;overflow-y:auto;min-height:0}.group-badge{font-size:.75rem;font-weight:600;color:var(--panel-border-selected);margin-bottom:.5rem}.group-panels{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;min-height:0}.group-panel-label{font-size:.75rem;color:var(--slot-content-text);padding:.25rem .5rem;background:var(--slot-preview-bg);border-radius:3px;border-left:3px solid var(--panel-border-selected)}.slot-panel-label{font-weight:600;color:var(--slot-content-text);font-size:.875rem;text-align:center}.create-tab-group-btn{margin-top:.5rem;padding:.5rem .75rem;background:var(--panel-border-selected);color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.create-tab-group-btn:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.tab-mode-toggle{position:absolute;top:.5rem;left:.5rem;padding:.25rem .5rem;background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;z-index:10;opacity:.7;color:var(--slot-content-text)}.tab-mode-toggle svg{display:block}.tab-mode-toggle:hover{opacity:1;border-color:var(--slot-border-hover);background:var(--slot-preview-bg)}.tab-mode-toggle.active{opacity:1;background:var(--panel-border-selected);color:#fff;border-color:var(--panel-border-selected)}.tab-config-controls{margin-bottom:.5rem}.tab-config-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--slot-label)}.tab-config-label select{padding:.25rem .5rem;border:1px solid var(--slot-border);border-radius:3px;background:var(--slot-bg);color:var(--slot-content-text);font-size:.7rem;cursor:pointer}.group-panel-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;background:var(--slot-preview-bg);border-radius:3px;border-left:3px solid var(--panel-border-selected)}.group-panel-label{flex:1;font-size:.75rem;color:var(--slot-content-text);display:flex;align-items:center;gap:.25rem}.default-badge{color:var(--panel-border-selected);font-size:.9em}.remove-from-group-btn{width:18px;height:18px;padding:0;background:var(--clear-btn-bg);color:var(--clear-btn-text);border:none;border-radius:3px;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease}.remove-from-group-btn:hover{opacity:1;transform:scale(1.1)}.usage-hint{padding:.75rem 1rem;background:var(--slot-preview-bg);border:1px solid var(--slot-border);border-radius:6px;color:var(--hint-text);font-size:.875rem;text-align:center}.tab-group{display:flex;height:100%;width:100%;overflow:hidden}.tab-group.tab-position-top,.tab-group.tab-position-bottom{flex-direction:column}.tab-group.tab-position-left,.tab-group.tab-position-right{flex-direction:row}.tab-list{display:flex;background:var(--tab-list-bg, #f5f5f5);border-bottom:1px solid var(--tab-border, #ddd);gap:0;padding:0;flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.tab-list::-webkit-scrollbar{display:none}.tab-position-top .tab-list,.tab-position-bottom .tab-list{width:100%}.tab-list.centered{justify-content:flex-start}@media(min-width:0){.tab-list.centered{justify-content:center}.tab-list.centered:has(.tab-button:nth-child(n)){justify-content:flex-start}}.tab-position-bottom .tab-list{border-bottom:none;border-top:none}.tab-position-left .tab-list,.tab-position-right .tab-list{flex-direction:column;border-bottom:none;border-right:none;width:auto;min-width:120px}.tab-position-top .tab-button,.tab-position-bottom .tab-button{flex:1 1 0;min-width:40px;max-width:100%}.tab-button{background:var(--tab-bg, #fff);border:1px solid var(--tab-border, #ddd);border-radius:0;padding:8px 16px;cursor:pointer;font-family:var(--tab-font-family, inherit);font-size:var(--tab-font-size, 14px);font-weight:var(--tab-font-weight, 500);color:var(--tab-text, #333);transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;height:39px;line-height:1;box-sizing:border-box;container-type:inline-size}.tab-position-top .tab-button{border-bottom:none;border-top:none;border-left:none}.tab-position-top .tab-button:last-child{border-right:none}.tab-position-bottom .tab-button{border-top:none;border-bottom:none;border-left:none}.tab-position-bottom .tab-button:last-child{border-right:none}.tab-position-left .tab-button{border-right:none;border-bottom:none}.tab-position-left .tab-button:last-child{border-bottom:1px solid var(--tab-border, #ddd)}.tab-position-right .tab-button{border-left:none;border-bottom:none}.tab-position-right .tab-button:last-child{border-bottom:1px solid var(--tab-border, #ddd)}.tab-icon{display:inline-flex;align-items:center;justify-content:center}.tab-label{display:none}@container (min-width: 100px){.tab-label{display:inline}.tab-icon{display:none}}.tab-button:hover{background:var(--tab-bg-hover, #f9f9f9)}.tab-button.active{background:var(--tab-bg-active, #007bff);color:var(--tab-text-active, #fff);border-color:var(--tab-border-active, #007bff)}.tab-button:focus-visible{outline:2px solid var(--tab-focus, #007bff);outline-offset:2px}.tab-content{flex:1;overflow:auto;background:var(--tab-content-bg, #fff)}.tab-group-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--tab-empty-text, #999);font-style:italic}.snap-carousel-container{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:var(--snap-carousel-gap, 0px);padding:0;margin:0;width:100%;height:100%;background-color:var(--panel-background);box-sizing:border-box;position:relative;left:0;transform:none;container-type:inline-size;-ms-overflow-style:none;scrollbar-width:none}.snap-carousel-container::-webkit-scrollbar{display:none}.snap-carousel-container.swipe-disabled{touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}.snap-carousel-panel{flex:0 0 auto;scroll-snap-align:start;scroll-snap-stop:always;width:var(--snap-carousel-panel-width, 33.33%);height:100%;box-sizing:border-box;overflow:hidden}@media(max-width:540px){.snap-carousel-panel{min-width:280px}}.mobile-tab-layout{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.mobile-tab-content{flex:1;overflow:hidden;min-height:0}.mobile-tab-nav{display:flex;background:var(--tab-list-bg, #f5f5f5);border-top:1px solid var(--tab-border, #ddd);flex-shrink:0;padding:0;margin:0}.mobile-tab-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;padding:14px 4px;padding-bottom:calc(14px + min(12px,env(safe-area-inset-bottom,0px)));cursor:pointer;font-family:var(--tab-font-family, inherit);font-size:var(--tab-font-size, 11px);font-weight:var(--tab-font-weight, 500);color:var(--tab-text, #666);transition:color .2s ease;min-width:0}.mobile-tab-button:hover{color:var(--tab-text-hover, #333)}.mobile-tab-button.active{color:var(--mobile-tab-text-active, #007bff)}.mobile-tab-button .tab-icon{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--tab-icon-color, #999);transition:color .2s ease}.mobile-tab-button.active .tab-icon{color:var(--mobile-tab-icon-active, #007bff)}.mobile-tab-button .tab-label{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;color:inherit;opacity:1}.mobile-tab-button:focus-visible{outline:2px solid var(--tab-focus, #007bff);outline-offset:-2px;z-index:1}:root{--panels-background: #ffffff;--panels-foreground: #000000;--panels-border: #e5e7eb;--panels-handle-bg: #f3f4f6;--panels-handle-hover: #e5e7eb;--panels-handle-active: #d1d5db;--panels-button-bg: #ffffff;--panels-button-hover: #f9fafb;--panels-button-active: #f3f4f6;--panels-shadow: rgba(0, 0, 0, .1);--panels-animation-duration: .3s;--panels-animation-easing: cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root{--panels-background: #1a1a1a;--panels-foreground: #ffffff;--panels-border: #404040;--panels-handle-bg: #2a2a2a;--panels-handle-hover: #333333;--panels-handle-active: #404040;--panels-button-bg: #2a2a2a;--panels-button-hover: #333333;--panels-button-active: #404040;--panels-shadow: rgba(0, 0, 0, .3)}}[data-theme=light]{--panels-background: #ffffff;--panels-foreground: #000000;--panels-border: #e5e7eb;--panels-handle-bg: #f3f4f6;--panels-handle-hover: #e5e7eb;--panels-handle-active: #d1d5db;--panels-button-bg: #ffffff;--panels-button-hover: #f9fafb;--panels-button-active: #f3f4f6;--panels-shadow: rgba(0, 0, 0, .1)}[data-theme=dark]{--panels-background: #1a1a1a;--panels-foreground: #ffffff;--panels-border: #404040;--panels-handle-bg: #2a2a2a;--panels-handle-hover: #333333;--panels-handle-active: #404040;--panels-button-bg: #2a2a2a;--panels-button-hover: #333333;--panels-button-active: #404040;--panels-shadow: rgba(0, 0, 0, .3)}.panels-container{width:100%;height:100%;display:flex;background-color:var(--panels-background);color:var(--panels-foreground);position:relative}.panels-panel{position:relative;overflow:auto;background-color:var(--panels-background)}.panels-handle{background-color:var(--panels-handle-bg);transition:background-color .15s ease;position:relative;z-index:10}.panels-handle:hover{background-color:var(--panels-handle-hover)}.panels-handle:active{background-color:var(--panels-handle-active)}.panels-handle-horizontal{width:8px;cursor:col-resize}.panels-handle-vertical{height:8px;cursor:row-resize}.panels-handle-collapsed{width:1px!important;min-width:1px!important;background-color:var(--panels-border)!important;cursor:default!important;pointer-events:none}.panels-handle-collapsed .panels-collapse-button{pointer-events:auto}.panels-collapse-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:4px;background-color:var(--panels-button-bg);border:1px solid var(--panels-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px var(--panels-shadow);z-index:20}.panels-collapse-button:hover{background-color:var(--panels-button-hover);transform:translate(-50%,-50%) scale(1.1)}.panels-collapse-button:active{background-color:var(--panels-button-active);transform:translate(-50%,-50%) scale(.95)}.panels-collapse-button-floating{position:absolute;left:-12px;z-index:30}.panels-collapse-icon{width:16px;height:16px;stroke:var(--panels-foreground);stroke-width:2;fill:none;transition:transform .15s ease}.panels-content-fade{transition:opacity var(--panels-animation-duration) var(--panels-animation-easing)}.panels-content-fading{opacity:.3}.panels-content-hidden{opacity:0}.panels-animating{pointer-events:none}@media(max-width:768px){.panels-handle-horizontal{width:4px}.panels-handle-vertical{height:4px}.panels-collapse-button{width:20px;height:20px}.panels-collapse-icon{width:12px;height:12px}}.panels-mobile-stack{display:flex;flex-direction:column;gap:1rem;padding:1rem}.panels-mobile-panel{border:1px solid var(--panels-border);border-radius:8px;padding:1rem}.panels-tabs-header{display:flex;border-bottom:1px solid var(--panels-border);background-color:var(--panels-handle-bg)}.panels-tab{flex:1;padding:.75rem 1rem;background:none;border:none;color:var(--panels-foreground);cursor:pointer;transition:background-color .15s ease;position:relative}.panels-tab:hover{background-color:var(--panels-handle-hover)}.panels-tab-active{background-color:var(--panels-background)}.panels-tab-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--panels-foreground)}.panels-drawer-toggle{position:fixed;top:1rem;left:1rem;z-index:100;width:40px;height:40px;border-radius:8px;background-color:var(--panels-button-bg);border:1px solid var(--panels-border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px var(--panels-shadow)}.panels-drawer-icon{width:24px;height:24px}.panels-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;background-color:var(--panels-background);border-right:1px solid var(--panels-border);transform:translate(-100%);transition:transform var(--panels-animation-duration) var(--panels-animation-easing);z-index:90;overflow-y:auto}.panels-drawer-open{transform:translate(0)}.panels-drawer-panel,.panels-main-panel{padding:4rem 1rem 1rem}\n/*$vite$:1*/',document.head.appendChild(l);const c=({primaryContent:e,secondaryContent:r,collapsedHeader:a,collapsed:l,onCollapsedChange:s,ratio:c,onRatioChange:d,maxRatio:u=.8,collapsedHeight:p=28,hideHeader:b=!0,theme:h,className:f="",style:g,animationDuration:m=200,onCollapseStart:v,onCollapseComplete:x,onExpandStart:y,onExpandComplete:w})=>{const[k,C]=n.useState(!1),[z,S]=n.useState(!1),E=n.useRef(null),j=n.useRef(void 0),R=n.useRef(void 0),N=n.useRef(c),D=n.useRef(!1),M=n.useRef(l),P=e=>100*e;n.useEffect(()=>{M.current=l},[l]),n.useEffect(()=>{!l&&c>0&&(N.current=c)},[l,c]);const L=n.useCallback((e,t,n)=>{if(!E.current)return;j.current&&cancelAnimationFrame(j.current),R.current=performance.now();const o=r=>{if(!R.current||!E.current)return;const a=r-R.current,l=Math.min(a/m,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;E.current.resize(`${s}%`),l<1?j.current=requestAnimationFrame(o):(E.current.resize(`${t}%`),n&&n(),D.current=!1,C(!1))};j.current=requestAnimationFrame(o)},[m]),T=n.useCallback(()=>{if(k||z||!E.current)return;c>0&&(N.current=c),D.current=!0,C(!0),v?.();const e=P(c);L(e,0,()=>{M.current=!0,s(!0),x?.()})},[k,z,c,L,s,v,x]),A=n.useCallback(()=>{if(k||z||!E.current)return;D.current=!0,C(!0),y?.();const e=N.current||c||.3,t=P(e);L(0,t,()=>{M.current=!1,s(!1),d(e),w?.()})},[k,z,c,L,s,d,y,w]),$=n.useCallback(()=>{l?A():T()},[l,T,A]),B=n.useCallback(e=>{if(D.current)return;const t=e.asPercentage/100;t<=.01&&!M.current?(N.current=.4,M.current=!0,s(!0)):t>.01&&M.current&&(M.current=!1,s(!1)),M.current||d(t)},[d,s]),O=n.useCallback(()=>{k||S(!0)},[k]),I=n.useCallback(()=>{S(!1)},[]);n.useEffect(()=>{if(l&&!k&&E.current){E.current.getSize().asPercentage>0&&T()}else if(!l&&!k&&E.current){0===E.current.getSize().asPercentage&&A()}},[l]),n.useEffect(()=>()=>{j.current&&cancelAnimationFrame(j.current)},[]);const F=i(h),H=["csp-secondary-panel",k&&!z?"csp-animating":"",l?"csp-collapsed":""].filter(Boolean).join(" ");return t.jsxs("div",{className:`collapsible-split-pane ${f}`,style:{...F,...g},children:[!b&&t.jsxs("div",{className:"csp-header "+(l?"csp-header-collapsed":""),style:{height:p,backgroundColor:h.colors.backgroundSecondary,borderBottom:`1px solid ${h.colors.border}`},onClick:l?$:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,onKeyDown:l?e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),$())}:void 0,"aria-expanded":!l,"aria-label":l?`Expand ${a.title}`:a.title,children:[a.icon&&t.jsx("span",{className:"csp-header-icon",style:{color:h.colors.textSecondary},children:a.icon}),t.jsx("span",{className:"csp-header-title",style:{color:h.colors.text,fontFamily:h.fonts.body,fontSize:h.fontSizes[1],fontWeight:h.fontWeights.medium},children:a.title}),t.jsx("button",{className:"csp-header-toggle",style:{color:h.colors.textSecondary},onClick:e=>{e.stopPropagation(),$()},"aria-label":l?`Expand ${a.title}`:`Collapse ${a.title}`,children:t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:t.jsx("path",{d:l?"M3 5L6 8L9 5":"M3 7L6 4L9 7"})})})]}),t.jsx("div",{className:"csp-content-area",children:t.jsxs(o.Group,{orientation:"vertical",onLayoutChange:O,onLayoutChanged:I,children:[t.jsx(o.Panel,{panelRef:E,defaultSize:l||b?"0%":`${P(c)}%`,minSize:"0%",maxSize:b&&l?"0%":`${P(u)}%`,onResize:B,className:H,style:b&&l?{display:"none"}:void 0,children:t.jsx("div",{className:"csp-secondary-body",children:r})}),t.jsx(o.Separator,{className:"csp-resize-handle",children:t.jsx("div",{className:"csp-resize-handle-bar"})}),t.jsx(o.Panel,{className:"csp-primary-panel",minSize:"20%",children:t.jsx("div",{className:"csp-panel-content",children:e})})]})})]})},d=({panelIds:e,panels:o,config:r={},className:a="",theme:l})=>{const{defaultActiveTab:i=0,tabPosition:c="top",centered:d=!0,hideTabList:u=!1,activeTabIndex:p,onTabChange:b}=r,[h,f]=n.useState(i),g=void 0!==p,m=g?p:h;n.useEffect(()=>{g||f(i)},[i,g]);const v=s(l),x=e.map(e=>o.find(t=>t.id===e)).filter(e=>void 0!==e),y=Math.min(m,x.length-1),w=x[y];if(0===x.length)return t.jsx("div",{className:"tab-group-empty",children:"No panels available"});const k="top"===c||"bottom"===c||d,C=t.jsx("div",{className:"tab-list "+(k?"centered":""),role:"tablist",children:x.map((e,n)=>t.jsx("button",{role:"tab","aria-selected":n===y,"aria-controls":`tabpanel-${e.id}`,id:`tab-${e.id}`,className:"tab-button "+(n===y?"active":""),onClick:()=>(e=>{g||f(e),b?.(e)})(n),title:e.icon?e.label:void 0,children:e.icon?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"tab-icon",children:e.icon}),t.jsx("span",{className:"tab-label",children:e.label})]}):e.label},e.id))}),z=w?t.jsx("div",{className:"tab-content",role:"tabpanel",id:`tabpanel-${w.id}`,"aria-labelledby":`tab-${w.id}`,children:w.content}):null;return t.jsxs("div",{className:`tab-group tab-position-${c} ${a}`,style:v,children:[!u&&("top"===c||"left"===c)&&C,z,!u&&("bottom"===c||"right"===c)&&C]})},u={x:0,y:0,width:0,height:0},p=n.createContext(null),b=({slot:e,children:o})=>{const r=n.useRef(null),[a,l]=n.useState(u),i=n.useCallback(()=>{if(r.current){const e=r.current.getBoundingClientRect();l({x:e.left,y:e.top,width:e.width,height:e.height})}},[]);n.useEffect(()=>{const e=r.current;if(!e)return;i();const t=new ResizeObserver(()=>{i()});return t.observe(e),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0),()=>{t.disconnect(),window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0)}},[i]);const s={slot:e,bounds:a};return t.jsx(p.Provider,{value:s,children:t.jsx("div",{ref:r,className:"panel-bounds-container",style:{width:"100%",height:"100%",minWidth:0},children:o})})};function h(){const e=n.useContext(p);return e?{slot:e.slot,bounds:e.bounds,isInPanel:!0}:{slot:null,bounds:u,isInPanel:!1}}const f=n.forwardRef(({panels:e,layout:r,slotDataAttributes:a={},collapsiblePanels:l={left:!0,middle:!1,right:!0},defaultSizes:s={left:20,middle:60,right:20},className:c="",collapsed:u={left:!1,middle:!1,right:!1},style:p,showCollapseButtons:h=!1,animationDuration:f=300,animationEasing:g="cubic-bezier(0.4, 0, 0.2, 1)",theme:m,onLeftCollapseStart:v,onLeftCollapseComplete:x,onLeftExpandStart:y,onLeftExpandComplete:w,onMiddleCollapseStart:k,onMiddleCollapseComplete:C,onMiddleExpandStart:z,onMiddleExpandComplete:S,onRightCollapseStart:E,onRightCollapseComplete:j,onRightExpandStart:R,onRightExpandComplete:N,onPanelResize:D},M)=>{const P=null!==r.left&&void 0!==r.left,L=null!==r.middle&&void 0!==r.middle,T=null!==r.right&&void 0!==r.right,A=[P,L,T].filter(Boolean).length,$={left:P?s?.left??(2===A?50:3===A?20:100):0,middle:L?s?.middle??(2===A?50:3===A?60:100):0,right:T?s?.right??(2===A?50:3===A?20:100):0},[B,O]=n.useState(u.left||!P),[I,F]=n.useState(u.middle||!L),[H,W]=n.useState(u.right||!T),[q,U]=n.useState(!1),[K,Y]=n.useState(!1);n.useEffect(()=>{const e=requestAnimationFrame(()=>{Y(!0)});return()=>cancelAnimationFrame(e)},[]);const V=n.useCallback(t=>{if(!t)return null;const n=e.find(e=>e.id===t);return n?.content||null},[e]),X=n.useCallback(n=>{if(null===n)return null;if("object"==typeof n&&"type"in n){const o=n;return"tabs"===o.type?t.jsx(d,{panelIds:o.panels,panels:e,config:o.config,theme:m}):null}return V(n)},[e,V,m]),G=X(r.left??null),J=X(r.middle??null),_=X(r.right??null),[Q,Z]=n.useState(u.left||!P?0:$.left),[ee,te]=n.useState(u.middle||!L?0:$.middle),[ne,oe]=n.useState(u.right||!T?0:$.right),[re,ae]=n.useState($.left),[le,ie]=n.useState($.middle),[se,ce]=n.useState($.right),de=n.useRef(null),ue=n.useRef(null),pe=n.useRef(null),be=n.useRef(null),he=n.useCallback(()=>{!q&&l.left&&(v?.(),ue.current?.collapse(),O(!0),x?.())},[q,l.left,v,x]),fe=n.useCallback(()=>{!q&&l.left&&(y?.(),ue.current?.expand(),O(!1),w?.())},[q,l.left,y,w]),ge=n.useCallback(()=>{!q&&l.right&&(E?.(),be.current?.collapse(),W(!0),j?.())},[q,l.right,E,j]),me=n.useCallback(()=>{!q&&l.right&&(R?.(),be.current?.expand(),W(!1),N?.())},[q,l.right,R,N]),ve=n.useCallback(()=>{B?fe():he()},[B,he,fe]),xe=n.useCallback(()=>{H?me():ge()},[H,ge,me]);n.useImperativeHandle(M,()=>({setLayout:e=>{if(!de.current)return void console.warn("[ConfigurablePanelLayout] setLayout called but panelGroupRef is null");const t=de.current.getLayout(),n=t.left??0,o=t.right??0,r=0===e.left||e.left<1,a=0===e.right||e.right<1,l=n<1,i=o<1;r&&!l?(ue.current?.collapse(),O(!0)):!r&&l&&(ue.current?.expand(),O(!1)),a&&!i?(be.current?.collapse(),W(!0)):!a&&i&&(be.current?.expand(),W(!1)),r||a||l||i||de.current.setLayout(e)},collapsePanel:e=>{"left"===e?(ue.current?.collapse(),O(!0)):(be.current?.collapse(),W(!0))},expandPanel:e=>{"left"===e?(ue.current?.expand(),O(!1)):(be.current?.expand(),W(!1))},getLayout:()=>({left:Q,middle:ee,right:ne})}),[Q,ee,ne]);const ye=n.useCallback(e=>{const t=e.asPercentage;Z(t),t>0?(ae(t),O(!1)):O(!0)},[]),we=n.useCallback(e=>{const t=e.asPercentage;te(t),t>0?(ie(t),F(!1)):F(!0)},[]),ke=n.useCallback(e=>{const t=e.asPercentage;oe(t),t>0?(ce(t),W(!1)):W(!0)},[]),Ce=n.useCallback(()=>{if(D){D({left:B?re:Q,middle:I?le:ee,right:H?se:ne})}},[Q,ee,ne,B,I,H,re,le,se,D]),ze=n.useCallback(()=>{U(!0)},[]),Se=n.useCallback(()=>{U(!1),Ce()},[Ce]),Ee=e=>{let t="three-panel-item";return"left"===e?!l.left&&P||(t+=" collapsible-panel",B&&(t+=" collapsed")):"middle"===e?(t+=" middle-panel",!l.middle&&L||(t+=" collapsible-panel",I&&(t+=" collapsed"))):"right"===e&&(!l.right&&T||(t+=" collapsible-panel",H&&(t+=" collapsed"))),t},je=i(m);return t.jsx("div",{className:`three-panel-layout ${c} ${q?"is-dragging":""} ${K?"":"is-mounting"}`,style:{...je,...p,"--panel-transition-duration":`${f}ms`,"--panel-transition-easing":g},children:t.jsxs(o.Group,{groupRef:de,orientation:"horizontal",onLayoutChange:ze,onLayoutChanged:Se,children:[t.jsx(o.Panel,{id:"left",panelRef:ue,collapsible:l.left||!P,defaultSize:u.left||!P?"0%":`${$.left}%`,minSize:"0%",collapsedSize:"0%",onResize:ye,className:Ee("left"),...a.left||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:B?0:1},children:t.jsx(b,{slot:"left",children:G})})}),t.jsx(o.Separator,{className:"resize-handle left-handle "+(!B&&P&&L?"":"collapsed"),disabled:B||!P||!L,children:h&&l.left&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:ve,className:"collapse-toggle","aria-label":B?"Expand left panel":"Collapse left panel",children:B?"▸":"◂"})})}),t.jsx(o.Panel,{id:"middle",panelRef:pe,collapsible:l.middle||!L,defaultSize:u.middle||!L?"0%":`${$.middle}%`,minSize:"0%",collapsedSize:"0%",onResize:we,className:Ee("middle"),...a.middle||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:I?0:1},children:t.jsx(b,{slot:"middle",children:J})})}),t.jsx(o.Separator,{className:"resize-handle right-handle "+(H||!T||!L&&!P?"collapsed":""),disabled:H||!T||!L&&!P,children:h&&l.right&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:xe,className:"collapse-toggle","aria-label":H?"Expand right panel":"Collapse right panel",children:H?"◂":"▸"})})}),t.jsx(o.Panel,{id:"right",panelRef:be,collapsible:l.right||!T,defaultSize:u.right||!T?"0%":`${$.right}%`,minSize:"0%",collapsedSize:"0%",onResize:ke,className:Ee("right"),...a.right||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:H?0:1},children:t.jsx(b,{slot:"right",children:_})})})]})})});f.displayName="ConfigurablePanelLayout";const g=n.forwardRef(({panels:e,className:o="",style:r,theme:a,minPanelWidth:l=350,idealPanelWidth:s=.333,showSeparator:c=!1,onPanelChange:d,preventKeyboardScroll:u=!0,disableSwipe:p=!1},b)=>{const h=n.useRef(null),f=n.useRef(!1),g=n.useRef(null),m=i(a);n.useImperativeHandle(b,()=>({scrollToPanel:e=>{if(!h.current)return;const t=h.current,n=t.children[e];if(n){f.current=!0,g.current&&clearTimeout(g.current);const e=n.offsetLeft;t.scrollTo({left:e,behavior:"smooth"}),g.current=setTimeout(()=>{f.current=!1},500)}},getCurrentPanel:()=>{if(!h.current||0===h.current.children.length)return 0;const e=h.current,t=e.getBoundingClientRect().left;let n=0,o=1/0;for(let r=0;r<e.children.length;r++){const a=e.children[r].getBoundingClientRect(),l=Math.abs(a.left-t);l<o&&(o=l,n=r)}return n}}));n.useEffect(()=>{if(!u||!h.current)return;const e=h.current,t=e=>{const t=e.target;if("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.isContentEditable||null!==t.closest(".xterm")||null!==t.closest('[contenteditable="true"]'))return;[" ","Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown"].includes(e.key)&&e.preventDefault()};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}},[u]),n.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const v=e.length,x=2*l;let y;y=1===v||2===v?"100%":`max(${l}px, ${100*s}%)`;const w=n.useId().replace(/:/g,"_");return t.jsxs(t.Fragment,{children:[2===v&&t.jsx("style",{children:`\n .snap-carousel-container[data-carousel-id="${w}"][data-panel-count="2"] .snap-carousel-panel {\n width: 100%;\n }\n @container (min-width: ${x}px) {\n .snap-carousel-container[data-carousel-id="${w}"][data-panel-count="2"] .snap-carousel-panel {\n width: 50%;\n }\n }\n `}),t.jsx("div",{ref:h,className:`snap-carousel-container ${p?"swipe-disabled":""} ${o}`,style:{...m,...r,"--snap-carousel-min-width":`${l}px`,"--snap-carousel-ideal-width":100*s+"%","--snap-carousel-gap":c?"1px":"0px","--snap-carousel-panel-width":y,"--snap-carousel-panel-count":v,"--snap-carousel-two-panel-threshold":`${x}px`},onScroll:e=>{if(!d||!h.current||0===h.current.children.length)return;if(f.current)return;const t=h.current,n=t.getBoundingClientRect().left;let o=0,r=1/0;for(let a=0;a<t.children.length;a++){const e=t.children[a].getBoundingClientRect(),l=Math.abs(e.left-n);l<r&&(r=l,o=a)}d(o)},"data-panel-count":v,"data-carousel-id":w,children:e.map((e,n)=>t.jsx("div",{className:"snap-carousel-panel",children:e},n))})]})});function m(e){const[t,o]=n.useState(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return n.useEffect(()=>{if("undefined"==typeof window)return;const t=window.matchMedia(e),n=e=>{o(e.matches)};return o(t.matches),t.addEventListener?(t.addEventListener("change",n),()=>t.removeEventListener("change",n)):(t.addListener(n),()=>t.removeListener(n))},[e]),t}g.displayName="SnapCarousel";const v="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function x(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function y(e){return"nodeType"in e}function w(e){var t,n;return e?x(e)?e:y(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function k(e){const{Document:t}=w(e);return e instanceof t}function C(e){return!x(e)&&e instanceof w(e).HTMLElement}function z(e){return e instanceof w(e).SVGElement}function S(e){return e?x(e)?e.document:y(e)?k(e)?e:C(e)||z(e)?e.ownerDocument:document:document:document}const E=v?n.useLayoutEffect:n.useEffect;function j(e){const t=n.useRef(e);return E(()=>{t.current=e}),n.useCallback(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return null==t.current?void 0:t.current(...n)},[])}function R(e,t){void 0===t&&(t=[e]);const o=n.useRef(e);return E(()=>{o.current!==e&&(o.current=e)},t),o}function N(e,t){const o=n.useRef();return n.useMemo(()=>{const t=e(o.current);return o.current=t,t},[...t])}function D(e){const t=j(e),o=n.useRef(null),r=n.useCallback(e=>{e!==o.current&&(null==t||t(e,o.current)),o.current=e},[]);return[o,r]}function M(e){const t=n.useRef();return n.useEffect(()=>{t.current=e},[e]),t.current}let P={};function L(e,t){return n.useMemo(()=>{if(t)return t;const n=null==P[e]?0:P[e]+1;return P[e]=n,e+"-"+n},[e,t])}function T(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return o.reduce((t,n)=>{const o=Object.entries(n);for(const[r,a]of o){const n=t[r];null!=n&&(t[r]=n+e*a)}return t},{...t})}}const A=T(1),$=T(-1);function B(e){if(!e)return!1;const{KeyboardEvent:t}=w(e.target);return t&&e instanceof t}function O(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=w(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const I="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function F(e){return e.matches(I)?e:e.querySelector(I)}const H={display:"none"};function W(e){let{id:t,value:o}=e;return n.createElement("div",{id:t,style:H},o)}function q(e){let{id:t,announcement:o,ariaLiveType:r="assertive"}=e;return n.createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},o)}const U=n.createContext(null);const K={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},Y={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function V(e){let{announcements:t=Y,container:o,hiddenTextDescribedById:a,screenReaderInstructions:l=K}=e;const{announce:i,announcement:s}=function(){const[e,t]=n.useState("");return{announce:n.useCallback(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=L("DndLiveRegion"),[d,u]=n.useState(!1);if(n.useEffect(()=>{u(!0)},[]),function(e){const t=n.useContext(U);n.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}(n.useMemo(()=>({onDragStart(e){let{active:n}=e;i(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:o}=e;t.onDragMove&&i(t.onDragMove({active:n,over:o}))},onDragOver(e){let{active:n,over:o}=e;i(t.onDragOver({active:n,over:o}))},onDragEnd(e){let{active:n,over:o}=e;i(t.onDragEnd({active:n,over:o}))},onDragCancel(e){let{active:n,over:o}=e;i(t.onDragCancel({active:n,over:o}))}}),[i,t])),!d)return null;const p=n.createElement(n.Fragment,null,n.createElement(W,{id:a,value:l.draggable}),n.createElement(q,{id:c,announcement:s}));return o?r.createPortal(p,o):p}var X,G;function J(){}(G=X||(X={})).DragStart="dragStart",G.DragMove="dragMove",G.DragEnd="dragEnd",G.DragCancel="dragCancel",G.DragOver="dragOver",G.RegisterDroppable="registerDroppable",G.SetDroppableDisabled="setDroppableDisabled",G.UnregisterDroppable="unregisterDroppable";const _=Object.freeze({x:0,y:0});function Q(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Z(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return n-o}function ee(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return o-n}function te(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const ne=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e;const r=te(t,t.left,t.top),a=[];for(const l of o){const{id:e}=l,t=n.get(e);if(t){const n=Q(te(t),r);a.push({id:e,data:{droppableContainer:l,value:n}})}}return a.sort(Z)};function oe(e,t){const n=Math.max(t.top,e.top),o=Math.max(t.left,e.left),r=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),l=r-o,i=a-n;if(o<r&&n<a){const n=t.width*t.height,o=e.width*e.height,r=l*i;return Number((r/(n+o-r)).toFixed(4))}return 0}const re=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e;const r=[];for(const a of o){const{id:e}=a,o=n.get(e);if(o){const n=oe(o,t);n>0&&r.push({id:e,data:{droppableContainer:a,value:n}})}}return r.sort(ee)};function ae(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:_}function le(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return o.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ie=le(1);const se={ignoreTransform:!1};function ce(e,t){void 0===t&&(t=se);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:o}=w(e).getComputedStyle(e);t&&(n=function(e,t,n){const o=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!o)return e;const{scaleX:r,scaleY:a,x:l,y:i}=o,s=e.left-l-(1-r)*parseFloat(n),c=e.top-i-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),d=r?e.width/r:e.width,u=a?e.height/a:e.height;return{width:d,height:u,top:c,right:s+d,bottom:c+u,left:s}}(n,t,o))}const{top:o,left:r,width:a,height:l,bottom:i,right:s}=n;return{top:o,left:r,width:a,height:l,bottom:i,right:s}}function de(e){return ce(e,{ignoreTransform:!0})}function ue(e,t){const n=[];return e?function o(r){if(null!=t&&n.length>=t)return n;if(!r)return n;if(k(r)&&null!=r.scrollingElement&&!n.includes(r.scrollingElement))return n.push(r.scrollingElement),n;if(!C(r)||z(r))return n;if(n.includes(r))return n;const a=w(e).getComputedStyle(r);return r!==e&&function(e,t){void 0===t&&(t=w(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const o=t[e];return"string"==typeof o&&n.test(o)})}(r,a)&&n.push(r),function(e,t){return void 0===t&&(t=w(e).getComputedStyle(e)),"fixed"===t.position}(r,a)?n:o(r.parentNode)}(e):n}function pe(e){const[t]=ue(e,1);return null!=t?t:null}function be(e){return v&&e?x(e)?e:y(e)?k(e)||e===S(e).scrollingElement?window:C(e)?e:null:null:null}function he(e){return x(e)?e.scrollX:e.scrollLeft}function fe(e){return x(e)?e.scrollY:e.scrollTop}function ge(e){return{x:he(e),y:fe(e)}}var me,ve;function xe(e){return!(!v||!e)&&e===document.scrollingElement}function ye(e){const t={x:0,y:0},n=xe(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},o={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=o.y,isRight:e.scrollLeft>=o.x,maxScroll:o,minScroll:t}}(ve=me||(me={}))[ve.Forward=1]="Forward",ve[ve.Backward=-1]="Backward";const we={x:.2,y:.2};function ke(e,t,n,o,r){let{top:a,left:l,right:i,bottom:s}=n;void 0===o&&(o=10),void 0===r&&(r=we);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=ye(e),b={x:0,y:0},h={x:0,y:0},f=t.height*r.y,g=t.width*r.x;return!c&&a<=t.top+f?(b.y=me.Backward,h.y=o*Math.abs((t.top+f-a)/f)):!d&&s>=t.bottom-f&&(b.y=me.Forward,h.y=o*Math.abs((t.bottom-f-s)/f)),!p&&i>=t.right-g?(b.x=me.Forward,h.x=o*Math.abs((t.right-g-i)/g)):!u&&l<=t.left+g&&(b.x=me.Backward,h.x=o*Math.abs((t.left+g-l)/g)),{direction:b,speed:h}}function Ce(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:o,bottom:r}=e.getBoundingClientRect();return{top:t,left:n,right:o,bottom:r,width:e.clientWidth,height:e.clientHeight}}function ze(e){return e.reduce((e,t)=>A(e,ge(t)),_)}const Se=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+he(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+fe(t),0)}]];class Ee{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=ue(t),o=ze(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[r,a,l]of Se)for(const e of a)Object.defineProperty(this,e,{get:()=>{const t=l(n),a=o[r]-t;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class je{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var o;null==(o=this.target)||o.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function Re(e,t){const n=Math.abs(e.x),o=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+o**2)>t:"x"in t&&"y"in t?n>t.x&&o>t.y:"x"in t?n>t.x:"y"in t&&o>t.y}var Ne,De,Me,Pe;function Le(e){e.preventDefault()}function Te(e){e.stopPropagation()}(De=Ne||(Ne={})).Click="click",De.DragStart="dragstart",De.Keydown="keydown",De.ContextMenu="contextmenu",De.Resize="resize",De.SelectionChange="selectionchange",De.VisibilityChange="visibilitychange",(Pe=Me||(Me={})).Space="Space",Pe.Down="ArrowDown",Pe.Right="ArrowRight",Pe.Left="ArrowLeft",Pe.Up="ArrowUp",Pe.Esc="Escape",Pe.Enter="Enter",Pe.Tab="Tab";const Ae={start:[Me.Space,Me.Enter],cancel:[Me.Esc],end:[Me.Space,Me.Enter,Me.Tab]},$e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Me.Right:return{...n,x:n.x+25};case Me.Left:return{...n,x:n.x-25};case Me.Down:return{...n,y:n.y+25};case Me.Up:return{...n,y:n.y-25}}};class Be{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new je(S(t)),this.windowListeners=new je(w(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ne.Resize,this.handleCancel),this.windowListeners.add(Ne.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ne.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=ce),!e)return;const{top:n,left:o,bottom:r,right:a}=t(e);pe(e)&&(r<=0||a<=0||n>=window.innerHeight||o>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(_)}handleKeyDown(e){if(B(e)){const{active:t,context:n,options:o}=this.props,{keyboardCodes:r=Ae,coordinateGetter:a=$e,scrollBehavior:l="smooth"}=o,{code:i}=e;if(r.end.includes(i))return void this.handleEnd(e);if(r.cancel.includes(i))return void this.handleCancel(e);const{collisionRect:s}=n.current,c=s?{x:s.left,y:s.top}:_;this.referenceCoordinates||(this.referenceCoordinates=c);const d=a(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=$(d,c),o={x:0,y:0},{scrollableAncestors:r}=n.current;for(const n of r){const r=e.code,{isTop:a,isRight:i,isLeft:s,isBottom:c,maxScroll:u,minScroll:p}=ye(n),b=Ce(n),h={x:Math.min(r===Me.Right?b.right-b.width/2:b.right,Math.max(r===Me.Right?b.left:b.left+b.width/2,d.x)),y:Math.min(r===Me.Down?b.bottom-b.height/2:b.bottom,Math.max(r===Me.Down?b.top:b.top+b.height/2,d.y))},f=r===Me.Right&&!i||r===Me.Left&&!s,g=r===Me.Down&&!c||r===Me.Up&&!a;if(f&&h.x!==d.x){const e=n.scrollLeft+t.x,a=r===Me.Right&&e<=u.x||r===Me.Left&&e>=p.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:l});o.x=a?n.scrollLeft-e:r===Me.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,o.x&&n.scrollBy({left:-o.x,behavior:l});break}if(g&&h.y!==d.y){const e=n.scrollTop+t.y,a=r===Me.Down&&e<=u.y||r===Me.Up&&e>=p.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:l});o.y=a?n.scrollTop-e:r===Me.Down?n.scrollTop-u.y:n.scrollTop-p.y,o.y&&n.scrollBy({top:-o.y,behavior:l});break}}this.handleMove(e,A($(d,this.referenceCoordinates),o))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Oe(e){return Boolean(e&&"distance"in e)}function Ie(e){return Boolean(e&&"delay"in e)}Be.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:o=Ae,onActivation:r}=t,{active:a}=n;const{code:l}=e.nativeEvent;if(o.start.includes(l)){const t=a.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==r||r({event:e.nativeEvent}),!0)}return!1}}];class Fe{constructor(e,t,n){var o;void 0===n&&(n=function(e){const{EventTarget:t}=w(e);return e instanceof t?e:S(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:r}=e,{target:a}=r;this.props=e,this.events=t,this.document=S(a),this.documentListeners=new je(this.document),this.listeners=new je(n),this.windowListeners=new je(w(a)),this.initialCoordinates=null!=(o=O(r))?o:_,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Ne.Resize,this.handleCancel),this.windowListeners.add(Ne.DragStart,Le),this.windowListeners.add(Ne.VisibilityChange,this.handleCancel),this.windowListeners.add(Ne.ContextMenu,Le),this.documentListeners.add(Ne.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ie(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Oe(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:o}=this.props;o(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Ne.Click,Te,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ne.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:o,props:r}=this,{onMove:a,options:{activationConstraint:l}}=r;if(!o)return;const i=null!=(t=O(e))?t:_,s=$(o,i);if(!n&&l){if(Oe(l)){if(null!=l.tolerance&&Re(s,l.tolerance))return this.handleCancel();if(Re(s,l.distance))return this.handleStart()}return Ie(l)&&Re(s,l.tolerance)?this.handleCancel():void this.handlePending(l,s)}e.cancelable&&e.preventDefault(),a(i)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Me.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const He={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class We extends Fe{constructor(e){const{event:t}=e,n=S(t.target);super(e,He,n)}}We.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return!(!n.isPrimary||0!==n.button)&&(null==o||o({event:n}),!0)}}];const qe={move:{name:"mousemove"},end:{name:"mouseup"}};var Ue,Ke;(Ke=Ue||(Ue={}))[Ke.RightClick=2]="RightClick";(class extends Fe{constructor(e){super(e,qe,S(e.event.target))}}).activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return n.button!==Ue.RightClick&&(null==o||o({event:n}),!0)}}];const Ye={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Ve,Xe,Ge,Je;function _e(e){let{acceleration:t,activator:o=Ve.Pointer,canScroll:r,draggingRect:a,enabled:l,interval:i=5,order:s=Ge.TreeOrder,pointerCoordinates:c,scrollableAncestors:d,scrollableAncestorRects:u,delta:p,threshold:b}=e;const h=function(e){let{delta:t,disabled:n}=e;const o=M(t);return N(e=>{if(n||!o||!e)return Qe;const r={x:Math.sign(t.x-o.x),y:Math.sign(t.y-o.y)};return{x:{[me.Backward]:e.x[me.Backward]||-1===r.x,[me.Forward]:e.x[me.Forward]||1===r.x},y:{[me.Backward]:e.y[me.Backward]||-1===r.y,[me.Forward]:e.y[me.Forward]||1===r.y}}},[n,t,o])}({delta:p,disabled:!l}),[f,g]=function(){const e=n.useRef(null);return[n.useCallback((t,n)=>{e.current=setInterval(t,n)},[]),n.useCallback(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),m=n.useRef({x:0,y:0}),v=n.useRef({x:0,y:0}),x=n.useMemo(()=>{switch(o){case Ve.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Ve.DraggableRect:return a}},[o,a,c]),y=n.useRef(null),w=n.useCallback(()=>{const e=y.current;if(!e)return;const t=m.current.x*v.current.x,n=m.current.y*v.current.y;e.scrollBy(t,n)},[]),k=n.useMemo(()=>s===Ge.TreeOrder?[...d].reverse():d,[s,d]);n.useEffect(()=>{if(l&&d.length&&x){for(const e of k){if(!1===(null==r?void 0:r(e)))continue;const n=d.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:l}=ke(e,o,x,t,b);for(const e of["x","y"])h[e][a[e]]||(l[e]=0,a[e]=0);if(l.x>0||l.y>0)return g(),y.current=e,f(w,i),m.current=l,void(v.current=a)}m.current={x:0,y:0},v.current={x:0,y:0},g()}else g()},[t,w,r,g,l,i,JSON.stringify(x),JSON.stringify(h),f,d,k,u,JSON.stringify(b)])}(class extends Fe{constructor(e){super(e,Ye)}static setup(){return window.addEventListener(Ye.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ye.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;const{touches:r}=n;return!(r.length>1)&&(null==o||o({event:n}),!0)}}],(Xe=Ve||(Ve={}))[Xe.Pointer=0]="Pointer",Xe[Xe.DraggableRect=1]="DraggableRect",(Je=Ge||(Ge={}))[Je.TreeOrder=0]="TreeOrder",Je[Je.ReversedTreeOrder=1]="ReversedTreeOrder";const Qe={x:{[me.Backward]:!1,[me.Forward]:!1},y:{[me.Backward]:!1,[me.Forward]:!1}};var Ze,et,tt;(et=Ze||(Ze={}))[et.Always=0]="Always",et[et.BeforeDragging=1]="BeforeDragging",et[et.WhileDragging=2]="WhileDragging",(tt||(tt={})).Optimized="optimized";const nt=new Map;function ot(e,t){return N(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function rt(e){let{callback:t,disabled:o}=e;const r=j(t),a=n.useMemo(()=>{if(o||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[o]);return n.useEffect(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function at(e){return new Ee(ce(e),e)}function lt(e,t,o){void 0===t&&(t=at);const[r,a]=n.useState(null);function l(){a(n=>{if(!e)return null;var r;if(!1===e.isConnected)return null!=(r=null!=n?n:o)?r:null;const a=t(e);return JSON.stringify(n)===JSON.stringify(a)?n:a})}const i=function(e){let{callback:t,disabled:o}=e;const r=j(t),a=n.useMemo(()=>{if(o||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,o]);return n.useEffect(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:o}=n;if("childList"===t&&o instanceof HTMLElement&&o.contains(e)){l();break}}}}),s=rt({callback:l});return E(()=>{l(),e?(null==s||s.observe(e),null==i||i.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==i||i.disconnect())},[e]),r}const it=[];function st(e,t){void 0===t&&(t=[]);const o=n.useRef(null);return n.useEffect(()=>{o.current=null},t),n.useEffect(()=>{const t=e!==_;t&&!o.current&&(o.current=e),!t&&o.current&&(o.current=null)},[e]),o.current?$(e,o.current):_}function ct(e){return n.useMemo(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const dt=[];function ut(e){let{measure:t}=e;const[o,r]=n.useState(null),a=rt({callback:n.useCallback(e=>{for(const{target:n}of e)if(C(n)){r(e=>{const o=t(n);return e?{...e,width:o.width,height:o.height}:o});break}},[t])}),l=n.useCallback(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return C(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[i,s]=D(l);return n.useMemo(()=>({nodeRef:i,rect:o,setRef:s}),[o,i,s])}const pt=[{sensor:We,options:{}},{sensor:Be,options:{}}],bt={current:{}},ht={draggable:{measure:de},droppable:{measure:de,strategy:Ze.WhileDragging,frequency:tt.Optimized},dragOverlay:{measure:ce}};class ft extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const gt={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ft,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:J},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ht,measureDroppableContainers:J,windowRect:null,measuringScheduled:!1},mt={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:J,draggableNodes:new Map,over:null,measureDroppableContainers:J},vt=n.createContext(mt),xt=n.createContext(gt);function yt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ft}}}function wt(e,t){switch(t.type){case X.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case X.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case X.DragEnd:case X.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case X.RegisterDroppable:{const{element:n}=t,{id:o}=n,r=new ft(e.droppable.containers);return r.set(o,n),{...e,droppable:{...e.droppable,containers:r}}}case X.SetDroppableDisabled:{const{id:n,key:o,disabled:r}=t,a=e.droppable.containers.get(n);if(!a||o!==a.key)return e;const l=new ft(e.droppable.containers);return l.set(n,{...a,disabled:r}),{...e,droppable:{...e.droppable,containers:l}}}case X.UnregisterDroppable:{const{id:n,key:o}=t,r=e.droppable.containers.get(n);if(!r||o!==r.key)return e;const a=new ft(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function kt(e){let{disabled:t}=e;const{active:o,activatorEvent:r,draggableNodes:a}=n.useContext(vt),l=M(r),i=M(null==o?void 0:o.id);return n.useEffect(()=>{if(!t&&!r&&l&&null!=i){if(!B(l))return;if(document.activeElement===l.target)return;const e=a.get(i);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=F(e);if(t){t.focus();break}}})}},[r,t,a,i,l]),null}const Ct=n.createContext({..._,scaleX:1,scaleY:1});var zt,St;(St=zt||(zt={}))[St.Uninitialized=0]="Uninitialized",St[St.Initializing=1]="Initializing",St[St.Initialized=2]="Initialized";const Et=n.memo(function(e){var t,o,a,l;let{id:i,accessibility:s,autoScroll:c=!0,children:d,sensors:u=pt,collisionDetection:p=re,measuring:b,modifiers:h,...f}=e;const g=n.useReducer(wt,void 0,yt),[m,x]=g,[y,k]=function(){const[e]=n.useState(()=>new Set),t=n.useCallback(t=>(e.add(t),()=>e.delete(t)),[e]);return[n.useCallback(t=>{let{type:n,event:o}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,o)})},[e]),t]}(),[C,z]=n.useState(zt.Uninitialized),S=C===zt.Initialized,{draggable:{active:j,nodes:D,translate:M},droppable:{containers:P}}=m,T=null!=j?D.get(j):null,$=n.useRef({initial:null,translated:null}),B=n.useMemo(()=>{var e;return null!=j?{id:j,data:null!=(e=null==T?void 0:T.data)?e:bt,rect:$}:null},[j,T]),I=n.useRef(null),[F,H]=n.useState(null),[W,q]=n.useState(null),K=R(f,Object.values(f)),Y=L("DndDescribedBy",i),G=n.useMemo(()=>P.getEnabled(),[P]),J=(Q=b,n.useMemo(()=>({draggable:{...ht.draggable,...null==Q?void 0:Q.draggable},droppable:{...ht.droppable,...null==Q?void 0:Q.droppable},dragOverlay:{...ht.dragOverlay,...null==Q?void 0:Q.dragOverlay}}),[null==Q?void 0:Q.draggable,null==Q?void 0:Q.droppable,null==Q?void 0:Q.dragOverlay]));var Q;const{droppableRects:Z,measureDroppableContainers:ee,measuringScheduled:te}=function(e,t){let{dragging:o,dependencies:r,config:a}=t;const[l,i]=n.useState(null),{frequency:s,measure:c,strategy:d}=a,u=n.useRef(e),p=function(){switch(d){case Ze.Always:return!1;case Ze.BeforeDragging:return o;default:return!o}}(),b=R(p),h=n.useCallback(function(e){void 0===e&&(e=[]),b.current||i(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[b]),f=n.useRef(null),g=N(t=>{if(p&&!o)return nt;if(!t||t===nt||u.current!==e||null!=l){const t=new Map;for(let n of e){if(!n)continue;if(l&&l.length>0&&!l.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,o=e?new Ee(c(e),e):null;n.rect.current=o,o&&t.set(n.id,o)}return t}return t},[e,l,o,p,c]);return n.useEffect(()=>{u.current=e},[e]),n.useEffect(()=>{p||h()},[o,p]),n.useEffect(()=>{l&&l.length>0&&i(null)},[JSON.stringify(l)]),n.useEffect(()=>{p||"number"!=typeof s||null!==f.current||(f.current=setTimeout(()=>{h(),f.current=null},s))},[s,p,h,...r]),{droppableRects:g,measureDroppableContainers:h,measuringScheduled:null!=l}}(G,{dragging:S,dependencies:[M.x,M.y],config:J.droppable}),ne=function(e,t){const n=null!=t?e.get(t):void 0,o=n?n.node.current:null;return N(e=>{var n;return null==t?null:null!=(n=null!=o?o:e)?n:null},[o,t])}(D,j),oe=n.useMemo(()=>W?O(W):null,[W]),le=function(){const e=!1===(null==F?void 0:F.autoScrollEnabled),t="object"==typeof c?!1===c.enabled:!1===c,n=S&&!e&&!t;if("object"==typeof c)return{...c,enabled:n};return{enabled:n}}(),se=function(e,t){return ot(e,t)}(ne,J.draggable.measure);!function(e){let{activeNode:t,measure:o,initialRect:r,config:a=!0}=e;const l=n.useRef(!1),{x:i,y:s}="boolean"==typeof a?{x:a,y:a}:a;E(()=>{if(!i&&!s||!t)return void(l.current=!1);if(l.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const n=ae(o(e),r);if(i||(n.x=0),s||(n.y=0),l.current=!0,Math.abs(n.x)>0||Math.abs(n.y)>0){const t=pe(e);t&&t.scrollBy({top:n.y,left:n.x})}},[t,i,s,r,o])}({activeNode:null!=j?D.get(j):null,config:le.layoutShiftCompensation,initialRect:se,measure:J.draggable.measure});const de=lt(ne,J.draggable.measure,se),he=lt(ne?ne.parentElement:null),fe=n.useRef({activatorEvent:null,active:null,activeNode:ne,collisionRect:null,collisions:null,droppableRects:Z,draggableNodes:D,draggingNode:null,draggingNodeRect:null,droppableContainers:P,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),me=P.getNodeFor(null==(t=fe.current.over)?void 0:t.id),ve=ut({measure:J.dragOverlay.measure}),ye=null!=(o=ve.nodeRef.current)?o:ne,we=S?null!=(a=ve.rect)?a:de:null,ke=Boolean(ve.nodeRef.current&&ve.rect),Ce=ae(Se=ke?null:de,ot(Se));var Se;const je=ct(ye?w(ye):null),Re=function(e){const t=n.useRef(e),o=N(n=>e?n&&n!==it&&e&&t.current&&e.parentNode===t.current.parentNode?n:ue(e):it,[e]);return n.useEffect(()=>{t.current=e},[e]),o}(S?null!=me?me:ne:null),Ne=function(e,t){void 0===t&&(t=ce);const[o]=e,r=ct(o?w(o):null),[a,l]=n.useState(dt);function i(){l(()=>e.length?e.map(e=>xe(e)?r:new Ee(t(e),e)):dt)}const s=rt({callback:i});return E(()=>{null==s||s.disconnect(),i(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(Re),De=function(e,t){let{transform:n,...o}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...o}),n):n}(h,{transform:{x:M.x-Ce.x,y:M.y-Ce.y,scaleX:1,scaleY:1},activatorEvent:W,active:B,activeNodeRect:de,containerNodeRect:he,draggingNodeRect:we,over:fe.current.over,overlayNodeRect:ve.rect,scrollableAncestors:Re,scrollableAncestorRects:Ne,windowRect:je}),Me=oe?A(oe,M):null,Pe=function(e){const[t,o]=n.useState(null),r=n.useRef(e),a=n.useCallback(e=>{const t=be(e.target);t&&o(e=>e?(e.set(t,ge(t)),new Map(e)):null)},[]);return n.useEffect(()=>{const t=r.current;if(e!==t){n(t);const l=e.map(e=>{const t=be(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,ge(t)]):null}).filter(e=>null!=e);o(l.length?new Map(l):null),r.current=e}return()=>{n(e),n(t)};function n(e){e.forEach(e=>{const t=be(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),n.useMemo(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>A(e,t),_):ze(e):_,[e,t])}(Re),Le=st(Pe),Te=st(Pe,[de]),Ae=A(De,Le),$e=we?ie(we,De):null,Be=B&&$e?p({active:B,collisionRect:$e,droppableRects:Z,droppableContainers:G,pointerCoordinates:Me}):null,Oe=function(e,t){if(!e||0===e.length)return null;const[n]=e;return n[t]}(Be,"id"),[Ie,Fe]=n.useState(null),He=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(ke?De:A(De,Te),null!=(l=null==Ie?void 0:Ie.rect)?l:null,de),We=n.useRef(null),qe=n.useCallback((e,t)=>{let{sensor:n,options:o}=t;if(null==I.current)return;const a=D.get(I.current);if(!a)return;const l=e.nativeEvent,i=new n({active:I.current,activeNode:a,event:l,options:o,context:fe,onAbort(e){if(!D.get(e))return;const{onDragAbort:t}=K.current,n={id:e};null==t||t(n),y({type:"onDragAbort",event:n})},onPending(e,t,n,o){if(!D.get(e))return;const{onDragPending:r}=K.current,a={id:e,constraint:t,initialCoordinates:n,offset:o};null==r||r(a),y({type:"onDragPending",event:a})},onStart(e){const t=I.current;if(null==t)return;const n=D.get(t);if(!n)return;const{onDragStart:o}=K.current,a={activatorEvent:l,active:{id:t,data:n.data,rect:$}};r.unstable_batchedUpdates(()=>{null==o||o(a),z(zt.Initializing),x({type:X.DragStart,initialCoordinates:e,active:t}),y({type:"onDragStart",event:a}),H(We.current),q(l)})},onMove(e){x({type:X.DragMove,coordinates:e})},onEnd:s(X.DragEnd),onCancel:s(X.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:o,scrollAdjustedTranslate:a}=fe.current;let i=null;if(t&&a){const{cancelDrop:r}=K.current;if(i={activatorEvent:l,active:t,collisions:n,delta:a,over:o},e===X.DragEnd&&"function"==typeof r){await Promise.resolve(r(i))&&(e=X.DragCancel)}}I.current=null,r.unstable_batchedUpdates(()=>{x({type:e}),z(zt.Uninitialized),Fe(null),H(null),q(null),We.current=null;const t=e===X.DragEnd?"onDragEnd":"onDragCancel";if(i){const e=K.current[t];null==e||e(i),y({type:t,event:i})}})}}We.current=i},[D]),Ue=function(e,t){return n.useMemo(()=>e.reduce((e,n)=>{const{sensor:o}=n;return[...e,...o.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(u,n.useCallback((e,t)=>(n,o)=>{const r=n.nativeEvent,a=D.get(o);if(null!==I.current||!a||r.dndKit||r.defaultPrevented)return;const l={active:a};!0===e(n,t.options,l)&&(r.dndKit={capturedBy:t.sensor},I.current=o,qe(n,t))},[D,qe]));!function(e){n.useEffect(()=>{if(!v)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(u),E(()=>{de&&C===zt.Initializing&&z(zt.Initialized)},[de,C]),n.useEffect(()=>{const{onDragMove:e}=K.current,{active:t,activatorEvent:n,collisions:o,over:a}=fe.current;if(!t||!n)return;const l={active:t,activatorEvent:n,collisions:o,delta:{x:Ae.x,y:Ae.y},over:a};r.unstable_batchedUpdates(()=>{null==e||e(l),y({type:"onDragMove",event:l})})},[Ae.x,Ae.y]),n.useEffect(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:o,scrollAdjustedTranslate:a}=fe.current;if(!e||null==I.current||!t||!a)return;const{onDragOver:l}=K.current,i=o.get(Oe),s=i&&i.rect.current?{id:i.id,rect:i.rect.current,data:i.data,disabled:i.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:a.x,y:a.y},over:s};r.unstable_batchedUpdates(()=>{Fe(s),null==l||l(c),y({type:"onDragOver",event:c})})},[Oe]),E(()=>{fe.current={activatorEvent:W,active:B,activeNode:ne,collisionRect:$e,collisions:Be,droppableRects:Z,draggableNodes:D,draggingNode:ye,draggingNodeRect:we,droppableContainers:P,over:Ie,scrollableAncestors:Re,scrollAdjustedTranslate:Ae},$.current={initial:we,translated:$e}},[B,ne,Be,$e,D,ye,we,Z,P,Ie,Re,Ae]),_e({...le,delta:M,draggingRect:$e,pointerCoordinates:Me,scrollableAncestors:Re,scrollableAncestorRects:Ne});const Ke=n.useMemo(()=>({active:B,activeNode:ne,activeNodeRect:de,activatorEvent:W,collisions:Be,containerNodeRect:he,dragOverlay:ve,draggableNodes:D,droppableContainers:P,droppableRects:Z,over:Ie,measureDroppableContainers:ee,scrollableAncestors:Re,scrollableAncestorRects:Ne,measuringConfiguration:J,measuringScheduled:te,windowRect:je}),[B,ne,de,W,Be,he,ve,D,P,Z,Ie,ee,Re,Ne,J,te,je]),Ye=n.useMemo(()=>({activatorEvent:W,activators:Ue,active:B,activeNodeRect:de,ariaDescribedById:{draggable:Y},dispatch:x,draggableNodes:D,over:Ie,measureDroppableContainers:ee}),[W,Ue,B,de,x,Y,D,Ie,ee]);return n.createElement(U.Provider,{value:k},n.createElement(vt.Provider,{value:Ye},n.createElement(xt.Provider,{value:Ke},n.createElement(Ct.Provider,{value:He},d)),n.createElement(kt,{disabled:!1===(null==s?void 0:s.restoreFocus)})),n.createElement(V,{...s,hiddenTextDescribedById:Y}))}),jt=n.createContext(null),Rt="button";function Nt(e){let{id:t,data:o,disabled:r=!1,attributes:a}=e;const l=L("Draggable"),{activators:i,activatorEvent:s,active:c,activeNodeRect:d,ariaDescribedById:u,draggableNodes:p,over:b}=n.useContext(vt),{role:h=Rt,roleDescription:f="draggable",tabIndex:g=0}=null!=a?a:{},m=(null==c?void 0:c.id)===t,v=n.useContext(m?Ct:jt),[x,y]=D(),[w,k]=D(),C=function(e,t){return n.useMemo(()=>e.reduce((e,n)=>{let{eventName:o,handler:r}=n;return e[o]=e=>{r(e,t)},e},{}),[e,t])}(i,t),z=R(o);E(()=>(p.set(t,{id:t,key:l,node:x,activatorNode:w,data:z}),()=>{const e=p.get(t);e&&e.key===l&&p.delete(t)}),[p,t]);return{active:c,activatorEvent:s,activeNodeRect:d,attributes:n.useMemo(()=>({role:h,tabIndex:g,"aria-disabled":r,"aria-pressed":!(!m||h!==Rt)||void 0,"aria-roledescription":f,"aria-describedby":u.draggable}),[r,h,g,m,f,u.draggable]),isDragging:m,listeners:r?void 0:C,node:x,over:b,setNodeRef:y,setActivatorNodeRef:k,transform:v}}const Dt={timeout:25};const Mt=({slotPosition:e,isEditing:o,isDragging:r,children:a})=>{const{attributes:l,listeners:i,setNodeRef:s,transform:c}=Nt({id:`slot-${e}`,data:{slotPosition:e},disabled:!o}),{setNodeRef:d,isOver:u}=function(e){let{data:t,disabled:o=!1,id:r,resizeObserverConfig:a}=e;const l=L("Droppable"),{active:i,dispatch:s,over:c,measureDroppableContainers:d}=n.useContext(vt),u=n.useRef({disabled:o}),p=n.useRef(!1),b=n.useRef(null),h=n.useRef(null),{disabled:f,updateMeasurementsFor:g,timeout:m}={...Dt,...a},v=R(null!=g?g:r),x=rt({callback:n.useCallback(()=>{p.current?(null!=h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{d(Array.isArray(v.current)?v.current:[v.current]),h.current=null},m)):p.current=!0},[m]),disabled:f||!i}),y=n.useCallback((e,t)=>{x&&(t&&(x.unobserve(t),p.current=!1),e&&x.observe(e))},[x]),[w,k]=D(y),C=R(t);return n.useEffect(()=>{x&&w.current&&(x.disconnect(),p.current=!1,x.observe(w.current))},[w,x]),n.useEffect(()=>(s({type:X.RegisterDroppable,element:{id:r,key:l,disabled:o,node:w,rect:b,data:C}}),()=>s({type:X.UnregisterDroppable,key:l,id:r})),[r]),n.useEffect(()=>{o!==u.current.disabled&&(s({type:X.SetDroppableDisabled,id:r,key:l,disabled:o}),u.current.disabled=o)},[r,l,o,s]),{active:i,rect:b,isOver:(null==c?void 0:c.id)===r,node:w,over:c,setNodeRef:k}}({id:`drop-${e}`,data:{slotPosition:e}}),p={position:"relative",height:"100%",width:"100%",transform:c?`translate3d(${c.x}px, ${c.y}px, 0)`:void 0},b=n.useCallback(e=>{s(e),d(e)},[s,d]);return t.jsxs("div",{ref:b,style:p,className:`slot-with-overlay ${o?"edit-mode":""} ${r?"dragging":""} ${u?"drag-over":""}`,children:[a,o&&t.jsxs("div",{className:"slot-edit-overlay",...l,...i,children:[t.jsx("div",{className:"drag-indicator",children:"⋮⋮"}),t.jsx("div",{className:"slot-position-label",children:e.toUpperCase()})]})]})},Pt=n.forwardRef(({isEditMode:e,onLayoutChange:o,panels:r,layout:a,...l},i)=>{const[s,c]=n.useState(null),[d,u]=n.useState({x:0,y:0}),p=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return n.useMemo(()=>[...t].filter(e=>null!=e),[...t])}((b=We,h={activationConstraint:{distance:8}},n.useMemo(()=>({sensor:b,options:null!=h?h:{}}),[b,h])));var b,h;const g=n.useCallback(e=>{const t=e.active.id;if(t.startsWith("slot-")){const e=t.replace("slot-","");c(e),u({x:0,y:0})}},[]),m=n.useCallback(e=>{const{delta:t}=e;u({x:t.x,y:t.y})},[]),v=n.useCallback(e=>{const{active:t,over:n}=e;if(c(null),u({x:0,y:0}),!n)return;const r=t.id,l=n.id,i=r.replace("slot-",""),s=l.replace("drop-","");if(i===s)return;const d={...a},p=d[i];d[i]=d[s],d[s]=p,o&&o(d)},[a,o]);n.useEffect(()=>{if(!s||!e)return;const t=document.querySelector(`[data-slot="${s}"]`);return t&&(t.setAttribute("data-dragging","true"),t.style.setProperty("transform",`scale(0.95) translate(${d.x}px, ${d.y}px)`,"important"),t.style.setProperty("z-index","1000","important"),t.style.setProperty("transition","none","important"),t.style.setProperty("opacity","0.95","important"),t.style.setProperty("box-shadow","0 12px 24px rgba(0, 0, 0, 0.25)","important")),()=>{t&&(t.removeAttribute("data-dragging"),t.style.removeProperty("transform"),t.style.removeProperty("z-index"),t.style.removeProperty("transition"),t.style.removeProperty("opacity"),t.style.removeProperty("box-shadow"))}},[s,d,e]);const x={left:{"data-slot":"left","data-edit-mode":e?"true":"false"},middle:{"data-slot":"middle","data-edit-mode":e?"true":"false"},right:{"data-slot":"right","data-edit-mode":e?"true":"false"}};return t.jsx(Et,{sensors:p,collisionDetection:ne,onDragStart:g,onDragMove:m,onDragEnd:v,children:t.jsxs("div",{className:"editable-panel-layout "+(e?"edit-mode-active":""),children:[t.jsx(f,{ref:i,...l,panels:r,layout:a,slotDataAttributes:x}),e&&t.jsx(Lt,{layout:a,activeSlot:s,onDragStart:()=>{},onDragEnd:()=>{}})]})})});Pt.displayName="EditableConfigurablePanelLayout";const Lt=({layout:e,activeSlot:o})=>{const[r,a]=n.useState(new Map);return n.useEffect(()=>{const e=()=>{const e=new Map;["left","middle","right"].forEach(t=>{const n=document.querySelector(`[data-slot="${t}"]`);if(n){const o=n.getBoundingClientRect();e.set(t,o)}}),a(e)};e(),window.addEventListener("resize",e);const t=setInterval(e,100);return()=>{window.removeEventListener("resize",e),clearInterval(t)}},[e]),t.jsx("div",{style:{pointerEvents:"none",position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:999},children:["left","middle","right"].map(n=>{if(!e[n])return null;const a=r.get(n);if(!a)return null;const l=o===n;return t.jsx("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"auto"},children:t.jsx(Mt,{slotPosition:n,isEditing:!0,isDragging:l,children:t.jsx("div",{style:{height:"100%"}})})},n)})})},Tt=e=>null!=e&&"object"==typeof e&&"type"in e,At=e=>null==e?[]:"string"==typeof e?[e]:Tt(e)?e.panels:[];e.AnimatedResizableLayout=({leftPanel:e,rightPanel:r,collapsibleSide:a="left",defaultSize:l=25,minSize:s=5,className:c="",collapsed:d=!1,style:u,showCollapseButton:p=!1,animationDuration:b=300,animationEasing:h="cubic-bezier(0.4, 0, 0.2, 1)",onCollapseStart:f,onCollapseComplete:g,onExpandStart:m,onExpandComplete:v,theme:x})=>{const[y,w]=n.useState(d),[k,C]=n.useState(!1),[z,S]=n.useState(!1),[E,j]=n.useState(d),[R,N]=n.useState(d?0:l),D=n.useRef(null),M=n.useRef(void 0),P=n.useRef(void 0),L=n.useRef(void 0),T=n.useCallback((e,t,n)=>{if(!D.current)return;M.current&&cancelAnimationFrame(M.current),P.current=performance.now();const o=r=>{if(!P.current||!D.current)return;const a=r-P.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;D.current.resize(s),l<1?M.current=requestAnimationFrame(o):(0===t?D.current.collapse():D.current.resize(t),C(!1),n&&n())};M.current=requestAnimationFrame(o)},[b]),A=n.useCallback(()=>{k||z||(C(!0),w(!0),f&&f(),T(R,0,()=>{N(0),j(!0),g&&g()}))},[k,z,R,T,f,g]),$=n.useCallback(()=>{k||z||(C(!0),w(!1),j(!1),m&&m(),T(0,l,()=>{N(l),v&&v()}))},[k,z,l,T,m,v]),B=n.useCallback(()=>{y?$():A()},[y,A,$]),O=n.useCallback(e=>{if(!k){const t=e.asPercentage;N(t),t>0&&w(!1)}},[k]),I=n.useCallback(()=>{k||S(!0)},[k]),F=n.useCallback(()=>{S(!1)},[]);n.useEffect(()=>{d!==y&&(d?A():$())},[d]),n.useEffect(()=>{d&&!k?j(!0):d||k||j(!1)},[d,k]),n.useEffect(()=>{const e=M.current,t=L.current;return()=>{e&&cancelAnimationFrame(e),t&&clearTimeout(t)}},[]);const H="left"===a,W=y?H?"▸":"◂":H?"◂":"▸",q=i(x),U=k&&!z?{transition:`flex ${b}ms ${h}`}:void 0,K=e=>{let t="hybrid-panel";return e&&(t+=" collapsible-panel",k&&!z&&(t+=" animating"),y&&(t+=" collapsed")),t};return t.jsx("div",{className:`animated-resizable-layout ${c}`,style:{...q,...u},children:t.jsxs(o.Group,{orientation:"horizontal",onLayoutChange:I,onLayoutChanged:F,children:[t.jsx(o.Panel,{panelRef:H?D:void 0,collapsible:H,defaultSize:H?d?"0%":`${l}%`:void 0,minSize:H?`${s}%`:"30%",collapsedSize:"0%",onResize:H?O:void 0,className:K(H),style:H?U:void 0,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:H&&y?0:1,transition:k?`opacity ${.5*b}ms ${h}`:"none"},children:e})}),t.jsx(o.Separator,{className:"resize-handle "+(E?"collapsed":""),style:E?{visibility:"hidden",width:0}:void 0,children:p&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:B,className:"collapse-toggle",disabled:k,"aria-label":y?"Expand panel":"Collapse panel",children:W})})}),t.jsx(o.Panel,{panelRef:H?void 0:D,collapsible:!H,defaultSize:H?void 0:d?"0%":`${l}%`,minSize:H?"30%":`${s}%`,collapsedSize:"0%",onResize:H?void 0:O,className:K(!H),style:H?void 0:U,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:!H&&y?0:1,transition:k?`opacity ${.5*b}ms ${h}`:"none"},children:r})})]})})},e.AnimatedVerticalLayout=({topPanel:e,bottomPanel:r,collapsiblePanels:a={top:!0,bottom:!0},defaultSizes:l={top:30,bottom:30},minSizes:s={top:5,bottom:5},className:c="",collapsed:d={top:!1,bottom:!1},style:u,showCollapseButtons:p=!1,animationDuration:b=300,animationEasing:h="cubic-bezier(0.4, 0, 0.2, 1)",theme:f,onTopCollapseStart:g,onTopCollapseComplete:m,onTopExpandStart:v,onTopExpandComplete:x,onBottomCollapseStart:y,onBottomCollapseComplete:w,onBottomExpandStart:k,onBottomExpandComplete:C,onPanelResize:z})=>{const[S,E]=n.useState(d.top||!1),[j,R]=n.useState(!1),[N,D]=n.useState(d.top?0:l.top),M=n.useRef(null),P=n.useRef(void 0),L=n.useRef(void 0),[T,A]=n.useState(d.bottom||!1),[$,B]=n.useState(!1),[O,I]=n.useState(d.bottom?0:l.bottom),F=n.useRef(null),H=n.useRef(void 0),W=n.useRef(void 0),[q,U]=n.useState(!1),K=n.useCallback((e,t,n)=>{if(!M.current)return;P.current&&cancelAnimationFrame(P.current),L.current=performance.now();const o=r=>{if(!L.current||!M.current)return;const a=r-L.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;M.current.resize(s),l<1?P.current=requestAnimationFrame(o):(0===t?M.current.collapse():M.current.resize(t),R(!1),n&&n())};P.current=requestAnimationFrame(o)},[b]),Y=n.useCallback((e,t,n)=>{if(!F.current)return;H.current&&cancelAnimationFrame(H.current),W.current=performance.now();const o=r=>{if(!W.current||!F.current)return;const a=r-W.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;F.current.resize(s),l<1?H.current=requestAnimationFrame(o):(0===t?F.current.collapse():F.current.resize(t),B(!1),n&&n())};H.current=requestAnimationFrame(o)},[b]),V=n.useCallback(()=>{j||q||!a.top||(R(!0),E(!0),g&&g(),K(N,0,()=>{D(0),m&&m()}))},[j,q,N,a.top,K,g,m]),X=n.useCallback(()=>{j||q||!a.top||(R(!0),E(!1),v&&v(),K(0,l.top,()=>{D(l.top),x&&x()}))},[j,q,l.top,a.top,K,v,x]),G=n.useCallback(()=>{S?X():V()},[S,V,X]),J=n.useCallback(()=>{$||q||!a.bottom||(B(!0),A(!0),y&&y(),Y(O,0,()=>{I(0),w&&w()}))},[$,q,O,a.bottom,Y,y,w]),_=n.useCallback(()=>{$||q||!a.bottom||(B(!0),A(!1),k&&k(),Y(0,l.bottom,()=>{I(l.bottom),C&&C()}))},[$,q,l.bottom,a.bottom,Y,k,C]),Q=n.useCallback(()=>{T?_():J()},[T,J,_]),Z=n.useCallback(e=>{if(!j){const t=e.asPercentage;D(t),t>0&&E(!1)}},[j]),ee=n.useCallback(e=>{if(!$){const t=e.asPercentage;I(t),t>0&&A(!1)}},[$]),te=n.useCallback(()=>{j||$||U(!0)},[j,$]),ne=n.useCallback(()=>{U(!1),z&&z({top:N,bottom:O})},[N,O,z]);n.useEffect(()=>{void 0!==d.top&&d.top!==S&&(d.top?V():X())},[d.top]),n.useEffect(()=>{void 0!==d.bottom&&d.bottom!==T&&(d.bottom?J():_())},[d.bottom]),n.useEffect(()=>()=>{P.current&&cancelAnimationFrame(P.current),H.current&&cancelAnimationFrame(H.current)},[]);const oe=i(f),re=j&&!q?{transition:`flex ${b}ms ${h}`}:void 0,ae=$&&!q?{transition:`flex ${b}ms ${h}`}:void 0;return t.jsx("div",{className:`animated-vertical-layout ${c}`,style:{...oe,...u},children:t.jsxs(o.Group,{orientation:"vertical",onLayoutChange:te,onLayoutChanged:ne,children:[t.jsx(o.Panel,{panelRef:M,collapsible:a.top,defaultSize:d.top?"0%":`${l.top}%`,minSize:`${s.top}%`,collapsedSize:"0%",onResize:Z,className:(()=>{let e="vertical-panel collapsible-panel";return j&&!q&&(e+=" animating"),S&&(e+=" collapsed"),e})(),style:re,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:S?0:1,transition:j?`opacity ${.5*b}ms ${h}`:"none"},children:e})}),t.jsx(o.Separator,{className:"vertical-resize-handle",children:p&&t.jsxs("div",{className:"handle-bar",children:[a.top&&t.jsx("button",{onClick:G,className:"collapse-toggle collapse-toggle-top",disabled:j,"aria-label":S?"Expand top panel":"Collapse top panel",children:S?"▾":"▴"}),a.bottom&&t.jsx("button",{onClick:Q,className:"collapse-toggle collapse-toggle-bottom",disabled:$,"aria-label":T?"Expand bottom panel":"Collapse bottom panel",children:T?"▴":"▾"})]})}),t.jsx(o.Panel,{panelRef:F,collapsible:a.bottom,defaultSize:d.bottom?"0%":`${l.bottom}%`,minSize:`${s.bottom}%`,collapsedSize:"0%",onResize:ee,className:(()=>{let e="vertical-panel collapsible-panel";return $&&!q&&(e+=" animating"),T&&(e+=" collapsed"),e})(),style:ae,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:T?0:1,transition:$?`opacity ${.5*b}ms ${h}`:"none"},children:r})})]})})},e.CollapsibleSplitPane=({primaryContent:e,secondaryContent:n,collapsedHeader:o,collapsed:r=!0,onCollapsedChange:a,ratio:l=.3,onRatioChange:s,maxRatio:d=.8,collapsedHeight:u=28,hideHeader:p=!0,theme:b,className:h="",style:f,animationDuration:g=200,onCollapseStart:m,onCollapseComplete:v,onExpandStart:x,onExpandComplete:y})=>{const w=i(b);return n?t.jsx(c,{primaryContent:e,secondaryContent:n,collapsedHeader:o??{title:"Content"},collapsed:r,onCollapsedChange:a??(()=>{}),ratio:l,onRatioChange:s??(()=>{}),maxRatio:d,collapsedHeight:u,hideHeader:p,theme:b,className:h,style:f,animationDuration:g,onCollapseStart:m,onCollapseComplete:v,onExpandStart:x,onExpandComplete:y}):t.jsx("div",{className:`collapsible-split-pane ${h}`,style:{...w,...f},children:t.jsx("div",{className:"csp-primary-content-full",children:e})})},e.ConfigurablePanelLayout=f,e.EditableConfigurablePanelLayout=Pt,e.PanelBoundsProvider=b,e.PanelConfigurator=({availablePanels:e,currentLayout:o,onChange:r,className:l="",theme:i})=>{const s=a.useTheme(),c=i||s.theme,[d,u]=n.useState(null),p=n.useCallback(t=>t&&e.find(e=>e.id===t)||null,[e]),b=n.useCallback(()=>[...e].sort((e,t)=>e.label.localeCompare(t.label)),[e]),h=n.useCallback(e=>{const t=At(o.left),n=At(o.middle),r=At(o.right);return t.includes(e)||n.includes(e)||r.includes(e)},[o]),f=n.useCallback((e,t)=>{const n={...e};return["left","middle","right"].forEach(e=>{const o=n[e];if(o===t)n[e]=null;else if(null!=o&&Tt(o)){const r=o.panels.filter(e=>e!==t);0===r.length?n[e]=null:1===r.length?n[e]=r[0]:n[e]={...o,panels:r}}}),n},[]),g=n.useCallback((e,t)=>{const n=o[e];if(!Tt(n)||"tabs"!==n.type)return;const a=n.panels.filter(e=>e!==t),l={...o};l[e]={...n,panels:a},r(l)},[o,r]),m=n.useCallback((e,t)=>{t.stopPropagation();const n=o[e];if(Tt(n)&&"tabs"===n.type){const t={...o};t[e]=n.panels.length>0?n.panels[0]:null,r(t),u(null)}else{const t=n&&"string"==typeof n?[n]:[],a={...o};a[e]={type:"tabs",panels:t,config:{defaultActiveTab:0,tabPosition:"top"}},r(a),u({type:"slot",position:e})}},[o,r]),v=n.useCallback(e=>{if(d)if("slot"===d.type){if(d.position===e)return;const t={...o},n=t[d.position];t[d.position]=t[e],t[e]=n,r(t),u(null)}else{const t=o[e];if(Tt(t)&&"tabs"===t.type){if(t.panels.includes(d.id))return void g(e,d.id);const n=t,a=f(o,d.id);return a[e]={...n,panels:[...n.panels,d.id]},void r(a)}{const t=f(o,d.id);t[e]=d.id,r(t),u(null)}}else u({type:"slot",position:e})},[d,o,r,f,g]),x=n.useCallback(e=>{if(d)if("slot"===d.type){const t=o[d.position];if(Tt(t)&&"tabs"===t.type){if(t.panels.includes(e))return void g(d.position,e);const n=t,a=f(o,e);return a[d.position]={...n,panels:[...n.panels,e]},void r(a)}{const t=f(o,e);t[d.position]=e,r(t),u(null)}}else u({type:"panel",id:e});else u({type:"panel",id:e})},[d,o,r,f,g]),y=n.useCallback((e,t)=>{t.stopPropagation();const n={...o};n[e]=null,r(n),u(null)},[o,r]),w=n.useCallback((e,t,n)=>{n.stopPropagation();const a=o[e];if(!Tt(a)||"tabs"!==a.type)return;const l=a.panels.filter(e=>e!==t),i={...o};i[e]={...a,panels:l},r(i)},[o,r]),k=n.useCallback((e,t)=>{const n=o[e];if(!Tt(n)||"tabs"!==n.type)return;const a={...o};a[e]={...n,config:{...n.config,...t}},r(a)},[o,r]),C=b(),z=e=>{const t=o[e];return Tt(t)&&"tabs"===t.type},S={"--configurator-bg":c.colors.background,"--configurator-title":c.colors.textSecondary,"--slot-bg":c.colors.backgroundSecondary,"--slot-border":c.colors.border,"--slot-border-hover":c.colors.textTertiary,"--slot-border-selected":c.colors.primary,"--slot-bg-selected":c.colors.backgroundLight,"--slot-label":c.colors.textTertiary,"--slot-content-text":c.colors.text,"--slot-preview-bg":c.colors.backgroundTertiary,"--slot-preview-border":c.colors.border,"--slot-preview-text":c.colors.textMuted,"--slot-empty-text":c.colors.textMuted,"--panel-bg":c.colors.backgroundSecondary,"--panel-border":c.colors.border,"--panel-border-hover":c.colors.textSecondary,"--panel-border-selected":c.colors.primary,"--panel-bg-selected":c.colors.backgroundLight,"--panel-label-text":c.colors.text,"--panel-preview-bg":c.colors.backgroundTertiary,"--panel-preview-text":c.colors.textMuted,"--clear-btn-bg":c.colors.error,"--clear-btn-text":c.colors.background,"--clear-btn-hover":c.colors.error,"--hint-bg":c.colors.backgroundLight,"--hint-border":c.colors.primary,"--hint-text":c.colors.text};return t.jsxs("div",{className:`panel-configurator ${l}`,style:S,children:[t.jsxs("div",{className:"configurator-section",children:[t.jsx("h3",{className:"section-title",children:"Panel Layout (3 Slots)"}),t.jsx("div",{className:"slots-container",children:["left","middle","right"].map(e=>{const n=o[e],r=(e=>"slot"===d?.type&&d.position===e)(e),a=Tt(n)&&"tabs"===n.type,l=null!==n;return t.jsxs("div",{"data-position":e,className:`slot ${r?"selected":""} ${l?"filled":"empty"} ${a?"tab-group":""}`,onClick:()=>v(e),children:[t.jsx("button",{className:"tab-mode-toggle "+(a?"active":""),onClick:t=>m(e,t),title:a?"Disable tab mode":"Enable tab mode",children:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:t.jsx("path",{d:"M2 2h4v2H2V2zm5 0h4v2H7V2zm5 0h2v2h-2V2zM2 5h12v9H2V5zm1 1v7h10V6H3z"})})}),null===n?t.jsx("div",{className:"slot-empty-state",children:a?"Click panels to add tabs":"Empty"}):Tt(n)?t.jsxs("div",{className:"slot-content group-content",children:["tabs"===n.type&&n.panels.length>0&&t.jsx("div",{className:"tab-config-controls",children:t.jsxs("label",{className:"tab-config-label",children:["Tabs:",t.jsxs("select",{value:n.config?.tabPosition||"top",onChange:t=>k(e,{tabPosition:t.target.value}),onClick:e=>e.stopPropagation(),children:[t.jsx("option",{value:"top",children:"Top (centered)"}),t.jsx("option",{value:"bottom",children:"Bottom (centered)"}),t.jsx("option",{value:"left",children:"Left"}),t.jsx("option",{value:"right",children:"Right"})]})]})}),t.jsx("div",{className:"group-panels",children:0===n.panels.length?t.jsx("div",{className:"slot-empty-state",children:"Click panels to add tabs"}):n.panels.map((o,r)=>{const a=p(o),l="tabs"===n.type&&(n.config?.defaultActiveTab??0)===r;return a?t.jsxs("div",{className:"group-panel-item",children:[t.jsxs("span",{className:"group-panel-label",children:[a.label,l&&t.jsx("span",{className:"default-badge",children:"★"})]}),t.jsx("button",{className:"remove-from-group-btn",onClick:t=>w(e,o,t),title:`Remove ${a.label}`,children:"×"})]},o):null})})]}):t.jsxs("div",{className:"slot-content",children:["string"==typeof n&&p(n)?.preview&&t.jsx("div",{className:"slot-preview",children:p(n)?.preview}),t.jsx("div",{className:"slot-panel-label",children:"string"==typeof n?p(n)?.label:""}),t.jsx("button",{className:"slot-clear-btn",onClick:t=>y(e,t),"aria-label":`Remove ${"string"==typeof n?p(n)?.label:"panel"} from ${e} slot`,children:"×"})]})]},e)})})]}),t.jsxs("div",{className:"configurator-section",children:[t.jsx("h3",{className:"section-title",children:"Available Panels"}),t.jsx("div",{className:"available-panels",children:C.map(e=>{const n=(o=e.id,"panel"===d?.type&&d.id===o);var o;const r=h(e.id);return t.jsxs("div",{className:`available-panel ${n?"selected":""} ${r?"in-use":""}`,onClick:()=>x(e.id),children:[t.jsx("div",{className:"panel-label",children:e.label}),e.preview&&t.jsx("div",{className:"panel-preview",children:e.preview})]},e.id)})})]}),d&&t.jsx("div",{className:"selection-hint",children:"slot"===d.type?z(d.position)?t.jsxs(t.Fragment,{children:["Selected: ",d.position," slot (Tab Mode). Click panels to add them to the tab group."]}):t.jsxs(t.Fragment,{children:["Selected: ",d.position," slot. Click another slot to swap, or click a panel to assign."]}):t.jsxs(t.Fragment,{children:["Selected: ",p(d.id)?.label,". Click a slot to assign",z("left")||z("middle")||z("right")?" (or add to tab group)":"","."]})}),t.jsxs("div",{className:"usage-hint",children:[t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",style:{verticalAlign:"text-bottom",marginRight:"4px"},children:t.jsx("path",{d:"M8 1a7 7 0 100 14A7 7 0 008 1zm0 1a6 6 0 110 12A6 6 0 018 2zm.5 3.5v3h-1v-3h1zm0 4v1h-1v-1h1z"})}),t.jsx("strong",{children:"Tip:"})," Toggle the tab icon on a slot to enable tab mode, then click panels to add multiple tabs."]})]})},e.ResponsiveConfigurablePanelLayout=({mobileBreakpoint:e="(max-width: 768px)",mobileCarouselProps:o,onMobilePanelChange:r,theme:a,layout:l,panels:i,...c})=>{const u=m(e),p=n.useRef(null),[b,h]=n.useState(0),v=n.useMemo(()=>[l?.left,l?.middle,l?.right],[l]),x=["left","middle","right"],y=n.useMemo(()=>{const e=e=>{if(!e)return null;const t=i.find(t=>t.id===e);return t?.content??null},n=e=>{const t=i.find(t=>t.id===e);return t?.label??e},o=e=>{const t=i.find(t=>t.id===e);return t?.icon??null};return v.map((r,l)=>((r,l)=>{if(null==r)return null;if("object"==typeof r&&"type"in r){const e=r;if("tabs"===e.type){const r=e.panels[0],s=e.panels.length>0?n(r):"Tab Group",c=e.panels.length>0?o(r):null;return{content:t.jsx(d,{panelIds:e.panels,panels:i,config:e.config,theme:a}),label:s,icon:c,slot:l}}return null}return{content:e(r),label:n(r),icon:o(r),slot:l}})(r,x[l])).filter(e=>null!==e)},[v,i,a]),w=e=>{h(e),o?.onPanelChange?.(e);const t=y[e]?.slot;t&&r?.(e,t)},{onPanelChange:k,...C}=o??{},z=s(a);if(u){if(0===y.length)return null;const e=y.map(e=>e.content);return t.jsxs("div",{className:"mobile-tab-layout",style:z,children:[t.jsx("div",{className:"mobile-tab-content",children:t.jsx(g,{ref:p,theme:a,panels:e,minPanelWidth:0,idealPanelWidth:1,disableSwipe:!0,onPanelChange:w,...C})}),t.jsx("nav",{className:"mobile-tab-nav",role:"tablist",children:y.map((e,n)=>t.jsxs("button",{role:"tab","aria-selected":n===b,className:"mobile-tab-button "+(n===b?"active":""),onClick:()=>(e=>{h(e),p.current?.scrollToPanel(e);const t=y[e]?.slot;t&&r?.(e,t)})(n),children:[e.icon&&t.jsx("span",{className:"tab-icon",children:e.icon}),t.jsx("span",{className:"tab-label",children:e.label})]},n))})]})}return t.jsx(f,{theme:a,layout:l,panels:i,...c})},e.SnapCarousel=g,e.TabGroup=d,e.mapThemeToPanelVars=i,e.mapThemeToTabVars=s,e.useMediaQuery=m,e.usePanelBounds=h,e.usePanelOffset=function(){const{bounds:e}=h();return{offsetX:e.x,offsetY:e.y}},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime"),require("react"),require("react-resizable-panels"),require("react-dom"),require("@principal-ade/industry-theme")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime","react","react-resizable-panels","react-dom","@principal-ade/industry-theme"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).A24ZPanels={},e["react/jsx-runtime"],e.React,e.ReactResizablePanels,e.ReactDOM,e.IndustryTheme)}(this,function(e,t,n,o,r,a){"use strict";var l=document.createElement("style");function i(e){return{"--panel-background":e.colors.background,"--panel-border":e.colors.border,"--panel-handle":e.colors.backgroundSecondary,"--panel-handle-hover":e.colors.backgroundHover,"--panel-handle-active":e.colors.primary,"--panel-button-bg":e.colors.surface,"--panel-button-hover":e.colors.backgroundHover,"--panel-button-border":e.colors.border,"--panel-button-icon":e.colors.textSecondary,"--panel-accent-bg":e.colors.primary+"15"}}function s(e){return{"--tab-list-bg":e.colors.backgroundSecondary,"--tab-border":e.colors.border,"--tab-bg":e.colors.surface,"--tab-bg-hover":e.colors.backgroundHover,"--tab-bg-active":e.colors.primary,"--tab-text":e.colors.textSecondary,"--tab-text-hover":e.colors.text,"--tab-text-active":e.colors.background,"--tab-icon-color":e.colors.textTertiary,"--tab-icon-active":e.colors.background,"--tab-border-hover":e.colors.textSecondary,"--tab-border-active":e.colors.primary,"--tab-focus":e.colors.primary,"--tab-content-bg":e.colors.background,"--tab-empty-text":e.colors.textMuted,"--tab-font-family":e.fonts.body,"--tab-font-size":"11px","--tab-font-weight":String(e.fontWeights.medium),"--mobile-tab-text-active":e.colors.primary,"--mobile-tab-icon-active":e.colors.primary}}l.textContent='.animated-resizable-layout{flex:1;min-height:0;width:100%;position:relative;background-color:var(--panel-background)}.hybrid-panel{display:flex;flex-direction:column;overflow:hidden;height:100%;background-color:var(--panel-background)}.animated-resizable-layout .panel-content-wrapper{flex:1;min-width:0;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;will-change:opacity}.resize-handle{width:8px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:col-resize;position:relative;transition:background-color .2s,opacity .3s,width .3s}.resize-handle.collapsed{opacity:0;pointer-events:none}.resize-handle:hover{background-color:var(--panel-handle-hover)}.resize-handle:active{background-color:var(--panel-handle-active)}.handle-bar{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}.collapse-toggle{position:absolute;background:var(--panel-button-bg);border:1px solid var(--panel-button-border);padding:4px 8px;cursor:pointer;color:var(--panel-button-icon);font-size:14px;outline:none;display:flex;align-items:center;justify-content:center;border-radius:4px;z-index:10;transition:all .2s;box-shadow:0 2px 4px #0000001a}.animated-vertical-layout{width:100%;height:100%;position:relative;background-color:var(--panel-background)}.vertical-panel{overflow:auto;width:100%;background-color:var(--panel-background)}.panel-content-wrapper{width:100%;height:100%;overflow:auto}.vertical-resize-handle{height:8px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:row-resize;position:relative;transition:background-color .2s,opacity .3s,height .3s}.vertical-resize-handle.collapsed{opacity:0;pointer-events:none}.vertical-resize-handle:hover{background-color:var(--panel-handle-hover)}.vertical-resize-handle:active{background-color:var(--panel-handle-active)}.handle-bar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.collapse-toggle{background:var(--panel-button-bg);border:1px solid var(--panel-button-border);padding:4px 8px;cursor:pointer;color:var(--panel-button-icon);font-size:14px;outline:none;display:flex;align-items:center;justify-content:center;border-radius:4px;z-index:10;transition:all .2s;box-shadow:0 2px 4px #0000001a}.collapse-toggle:hover:not(:disabled){background-color:var(--panel-button-hover);box-shadow:0 2px 6px #00000026}.collapse-toggle:active:not(:disabled){opacity:.8}.collapsible-split-pane{width:100%;height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--panel-background)}.csp-header{display:flex;align-items:center;gap:8px;padding:0 12px;background-color:var(--panel-handle);border-bottom:1px solid var(--panel-border, rgba(128, 128, 128, .2));-webkit-user-select:none;user-select:none;flex-shrink:0;transition:background-color .15s ease}.csp-header-collapsed{cursor:pointer}.csp-header-collapsed:hover{background-color:var(--panel-handle-hover)}.csp-header-collapsed:focus{outline:none;box-shadow:inset 0 0 0 2px var(--panel-focus-ring, rgba(59, 130, 246, .5))}.csp-header-icon{display:flex;align-items:center;justify-content:center;color:var(--panel-text-secondary, #888);font-size:14px}.csp-header-title{flex:1;font-size:12px;font-weight:500;color:var(--panel-text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csp-header-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--panel-text-secondary, #888);cursor:pointer;border-radius:3px;transition:background-color .15s ease,color .15s ease}.csp-header-toggle:hover{background-color:var(--panel-button-hover, rgba(128, 128, 128, .2));color:var(--panel-text, #333)}.csp-content-area{flex:1;min-height:0;display:flex;flex-direction:column}.csp-primary-content-full{flex:1;min-height:0;overflow:hidden}.csp-secondary-panel,.csp-primary-panel{overflow:hidden;background-color:var(--panel-background)}.csp-panel-content{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.csp-secondary-body{width:100%;height:100%;overflow:auto}.csp-resize-handle{height:6px;background-color:var(--panel-handle);display:flex;justify-content:center;align-items:center;cursor:row-resize;position:relative;transition:background-color .15s ease;flex-shrink:0}.csp-resize-handle:hover{background-color:var(--panel-handle-hover)}.csp-resize-handle:active{background-color:var(--panel-handle-active)}.csp-resize-handle-bar{width:32px;height:3px;background-color:var(--panel-handle-bar, rgba(128, 128, 128, .4));border-radius:2px;transition:background-color .15s ease}.csp-resize-handle:hover .csp-resize-handle-bar{background-color:var(--panel-handle-bar-hover, rgba(128, 128, 128, .6))}.three-panel-layout{height:100%;width:100%;display:flex;flex-direction:column;position:relative;background-color:var(--panel-background);box-sizing:border-box}.three-panel-item{display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative;background-color:var(--panel-background);box-sizing:border-box}.three-panel-item[data-edit-mode=true]{background-color:var(--panel-accent-bg);border-radius:12px}.three-panel-layout [data-panel]{transition:flex-grow var(--panel-transition-duration, .3s) var(--panel-transition-easing, cubic-bezier(.4, 0, .2, 1))}.three-panel-layout.is-dragging [data-panel],.three-panel-layout.is-mounting [data-panel]{transition:none}.three-panel-item.collapsible-panel{will-change:flex}.three-panel-item.collapsible-panel.collapsed{flex:0!important;min-width:0!important;max-width:0!important;width:0!important;overflow:hidden!important;visibility:hidden}.panel-content-wrapper{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;will-change:opacity;box-sizing:border-box}.resize-handle{position:relative;display:flex;align-items:center;justify-content:center;width:1px!important;cursor:col-resize;background:var(--panel-border);overflow:visible!important}.resize-handle:before{content:"";position:absolute;inset:0 -10px;background:transparent}.resize-handle:after{content:"";position:absolute;inset:0 -10px;background:var(--panel-handle);opacity:0;transition:opacity .2s ease;z-index:-1}.resize-handle:hover:after{opacity:1}.resize-handle:hover{background:var(--panel-handle-hover)}.resize-handle:active:after{opacity:1;background:var(--panel-handle-active)}.resize-handle:active{background:var(--panel-handle-active)}.resize-handle.collapsed{width:0!important;visibility:hidden}.resize-handle.left-handle.collapsed{margin-right:-1px}.resize-handle.right-handle.collapsed{margin-left:-1px}.handle-bar{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:2}.collapse-toggle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:40px;background:var(--panel-button-bg);border:1px solid var(--panel-button-border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:var(--panel-button-icon);transition:all .2s ease;z-index:10;padding:0;line-height:1}.collapse-toggle:hover{background:var(--panel-button-hover)}.collapse-toggle:active{opacity:.8}.collapse-toggle:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.resize-handle:before{left:-8px;right:-8px}.resize-handle:after{left:-8px;right:-8px}.collapse-toggle{width:24px;height:48px;font-size:14px}}@keyframes wiggle{0%{transform:rotate(0)}25%{transform:rotate(1deg)}50%{transform:rotate(0)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.editable-panel-layout{position:relative;width:100%;height:100%}.editable-panel-layout.edit-mode-active{background:#0000000d}[data-slot][data-edit-mode=true]{transform:scale(.95);transform-origin:center center;cursor:grab;will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1)}[data-slot][data-edit-mode=true]:active{cursor:grabbing}[data-slot][data-dragging=true]{cursor:grabbing!important;transform:scale(.95)!important;transition:none!important}.edit-mode-active [data-slot][data-edit-mode=true]{transform-origin:center center}.slot-with-overlay{position:relative;width:100%;height:100%}.slot-with-overlay.dragging{opacity:0;pointer-events:none}.slot-edit-overlay{position:absolute;inset:0;background:transparent;border:none;pointer-events:auto;cursor:grab;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center}.slot-edit-overlay:hover{background:#3b82f608}.slot-edit-overlay:active{cursor:grabbing}.drag-indicator,.slot-position-label{display:none}.edit-mode-toggle{position:absolute;top:16px;right:16px;z-index:1000;padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.edit-mode-toggle:hover{background:#f9fafb;box-shadow:0 4px 6px #0000001a}.edit-mode-toggle.active{background:#3b82f6;color:#fff;border-color:#2563eb}.edit-mode-overlay{position:fixed;inset:0;background:#0000004d;z-index:998;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.edit-mode-configurator{position:relative;z-index:999;padding:20px;animation:scaleIn .3s ease}.panel-slot{position:relative;min-height:120px;border:2px dashed transparent;border-radius:12px;transition:all .3s ease;padding:12px}.panel-slot.edit-mode{border-color:#d1d5db;background:#ffffff80}.panel-slot.drag-over{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 0 0 4px #3b82f61a}.panel-slot.empty{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.draggable-panel{position:relative;padding:12px 16px;margin:8px 0;border-radius:8px;background:#fff;border:1px solid #e5e7eb;cursor:grab;transition:all .2s ease;-webkit-user-select:none;user-select:none}.draggable-panel:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000001a}.draggable-panel.dragging{opacity:.5;cursor:grabbing}.draggable-panel.edit-mode{animation:wiggle .4s ease-in-out infinite;transform-origin:center}.draggable-panel.edit-mode:nth-child(odd){animation-delay:.1s}.draggable-panel.edit-mode:nth-child(2n){animation-delay:.2s}.remove-button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;opacity:0;transform:scale(0);transition:all .2s ease;z-index:10;box-shadow:0 2px 4px #0003}.draggable-panel.edit-mode .remove-button{opacity:1;transform:scale(1);animation:pulse 2s infinite}.remove-button:hover{background:#dc2626;transform:scale(1.1)}.panel-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#374151}.panel-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.drag-handle{display:none;width:24px;height:24px;opacity:.4;cursor:grab}.edit-mode .drag-handle{display:flex;align-items:center;justify-content:center}.drag-overlay{padding:12px 16px;border-radius:8px;background:#fff;border:2px solid #3b82f6;box-shadow:0 8px 16px #0003;cursor:grabbing;opacity:.9}.panel-group{border:2px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff}.panel-group.edit-mode{animation:wiggle .5s ease-in-out infinite;border-color:#3b82f6}.panel-group-header{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.panel-group-title{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase}.available-panels{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 6px #0000001a}.available-panels-title{font-size:16px;font-weight:600;color:#374151;margin-bottom:12px}.available-panels-list{display:flex;flex-direction:column;gap:8px}.slot-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}.slot-indicator{width:8px;height:8px;border-radius:50%;background:#d1d5db}.slot-indicator.active{background:#3b82f6}.action-buttons{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1001;display:flex;gap:12px;padding:12px 24px;background:#fff;border-radius:12px;box-shadow:0 8px 16px #00000026;animation:scaleIn .3s ease}.action-button{padding:10px 20px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button:hover{background:#f9fafb}.action-button.primary{background:#3b82f6;color:#fff;border-color:#2563eb}.action-button.primary:hover{background:#2563eb}@media(max-width:768px){.edit-mode-toggle{top:8px;right:8px;padding:6px 12px;font-size:12px}.action-buttons{bottom:16px;padding:10px 16px}.action-button{padding:8px 16px;font-size:13px}}@media(prefers-color-scheme:dark){.edit-mode-toggle{background:#1f2937;color:#f9fafb;border-color:#374151}.edit-mode-toggle:hover{background:#374151}.draggable-panel{background:#1f2937;color:#f9fafb;border-color:#374151}.available-panels{background:#1f2937}.panel-label{color:#f9fafb}.action-buttons{background:#1f2937}.action-button{background:#1f2937;color:#f9fafb;border-color:#374151}.action-button:hover{background:#374151}}.panel-configurator{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;background:var(--configurator-bg);border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.configurator-section{display:flex;flex-direction:column;gap:1rem}.section-title{margin:0;font-size:.875rem;font-weight:600;color:var(--configurator-title);text-transform:uppercase;letter-spacing:.05em;text-align:center}.slots-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:75%;margin:0 auto;align-items:start}.slot{position:relative;aspect-ratio:1 / 1.3;width:100%;padding:2.5rem 1rem 1rem;background:var(--slot-bg);border:2px solid var(--slot-border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;box-sizing:border-box}.slot:hover{border-color:var(--slot-border-hover);box-shadow:0 2px 4px #0000000d}.slot.selected{border-color:var(--slot-border-selected);background:var(--slot-bg-selected);box-shadow:0 0 0 3px var(--slot-bg-selected)}.slot.empty{border-style:dashed}.slot-label{font-size:.75rem;font-weight:600;color:var(--slot-label);text-transform:capitalize;text-align:left}.slot[data-position=middle] .slot-label,.slot[data-position=middle] .slot-panel-name,.slot[data-position=middle] .slot-empty-state{text-align:center}.slot[data-position=right] .slot-label,.slot[data-position=right] .slot-panel-name,.slot[data-position=right] .slot-empty-state{text-align:right}.slot-content{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;min-height:0}.slot-panel-name{font-weight:600;color:var(--slot-content-text);font-size:.875rem}.slot-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--slot-preview-bg);border-radius:4px;border:1px solid var(--slot-preview-border);font-size:.75rem;color:var(--slot-preview-text)}.slot-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--slot-empty-text);font-size:.875rem;font-style:italic;min-height:0}.slot-clear-btn{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;padding:0;background:var(--clear-btn-bg);color:var(--clear-btn-text);border:none;border-radius:4px;cursor:pointer;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.slot:hover .slot-clear-btn{opacity:1}.slot-clear-btn:hover{background:var(--clear-btn-hover);transform:scale(1.1)}.available-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;width:75%;margin:0 auto}.available-panel{min-height:80px;padding:.75rem;background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.5rem}.available-panel:hover{border-color:var(--panel-border-hover);box-shadow:0 2px 4px #0000000d;transform:translateY(-2px)}.available-panel.selected{border-color:var(--panel-border-selected);background:var(--panel-bg-selected);box-shadow:0 0 0 3px var(--panel-bg-selected)}.available-panel.in-use{opacity:.5;border-style:dashed}.available-panel.in-use:hover{transform:translateY(0);opacity:.6}.panel-label{font-weight:600;color:var(--panel-label-text);font-size:.875rem}.panel-preview{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:var(--panel-preview-bg);border-radius:4px;font-size:.75rem;color:var(--panel-preview-text)}.selection-hint{padding:.75rem 1rem;background:var(--hint-bg);border:1px solid var(--hint-border);border-radius:6px;color:var(--hint-text);font-size:.875rem;text-align:center}.available-panel.multi-selected{border-color:var(--panel-border-selected);background:var(--panel-bg-selected);box-shadow:0 0 0 2px var(--panel-bg-selected)}.multi-select-badge{margin-left:.5rem;padding:.25rem .5rem;background:var(--panel-border-selected);color:#fff;font-size:.75rem;border-radius:12px;font-weight:400}.multi-select-hint{background:var(--panel-bg-selected);border-color:var(--panel-border-selected)}.slot.tab-group{border-style:solid}.group-content{position:relative;overflow-y:auto;min-height:0}.group-badge{font-size:.75rem;font-weight:600;color:var(--panel-border-selected);margin-bottom:.5rem}.group-panels{display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;min-height:0}.group-panel-label{font-size:.75rem;color:var(--slot-content-text);padding:.25rem .5rem;background:var(--slot-preview-bg);border-radius:3px;border-left:3px solid var(--panel-border-selected)}.slot-panel-label{font-weight:600;color:var(--slot-content-text);font-size:.875rem;text-align:center}.create-tab-group-btn{margin-top:.5rem;padding:.5rem .75rem;background:var(--panel-border-selected);color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.create-tab-group-btn:hover{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.tab-mode-toggle{position:absolute;top:.5rem;left:.5rem;padding:.25rem .5rem;background:var(--slot-bg);border:1px solid var(--slot-border);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;z-index:10;opacity:.7;color:var(--slot-content-text)}.tab-mode-toggle svg{display:block}.tab-mode-toggle:hover{opacity:1;border-color:var(--slot-border-hover);background:var(--slot-preview-bg)}.tab-mode-toggle.active{opacity:1;background:var(--panel-border-selected);color:#fff;border-color:var(--panel-border-selected)}.tab-config-controls{margin-bottom:.5rem}.tab-config-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--slot-label)}.tab-config-label select{padding:.25rem .5rem;border:1px solid var(--slot-border);border-radius:3px;background:var(--slot-bg);color:var(--slot-content-text);font-size:.7rem;cursor:pointer}.group-panel-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;background:var(--slot-preview-bg);border-radius:3px;border-left:3px solid var(--panel-border-selected)}.group-panel-label{flex:1;font-size:.75rem;color:var(--slot-content-text);display:flex;align-items:center;gap:.25rem}.default-badge{color:var(--panel-border-selected);font-size:.9em}.remove-from-group-btn{width:18px;height:18px;padding:0;background:var(--clear-btn-bg);color:var(--clear-btn-text);border:none;border-radius:3px;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s ease}.remove-from-group-btn:hover{opacity:1;transform:scale(1.1)}.usage-hint{padding:.75rem 1rem;background:var(--slot-preview-bg);border:1px solid var(--slot-border);border-radius:6px;color:var(--hint-text);font-size:.875rem;text-align:center}.tab-group{display:flex;height:100%;width:100%;overflow:hidden}.tab-group.tab-position-top,.tab-group.tab-position-bottom{flex-direction:column}.tab-group.tab-position-left,.tab-group.tab-position-right{flex-direction:row}.tab-list{display:flex;background:var(--tab-list-bg, #f5f5f5);border-bottom:1px solid var(--tab-border, #ddd);gap:0;padding:0;flex-shrink:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.tab-list::-webkit-scrollbar{display:none}.tab-position-top .tab-list,.tab-position-bottom .tab-list{width:100%}.tab-list.centered{justify-content:flex-start}@media(min-width:0){.tab-list.centered{justify-content:center}.tab-list.centered:has(.tab-button:nth-child(n)){justify-content:flex-start}}.tab-position-bottom .tab-list{border-bottom:none;border-top:none}.tab-position-left .tab-list,.tab-position-right .tab-list{flex-direction:column;border-bottom:none;border-right:none;width:auto;min-width:120px}.tab-position-top .tab-button,.tab-position-bottom .tab-button{flex:1 1 0;min-width:40px;max-width:100%}.tab-button{background:var(--tab-bg, #fff);border:1px solid var(--tab-border, #ddd);border-radius:0;padding:8px 16px;cursor:pointer;font-family:var(--tab-font-family, inherit);font-size:var(--tab-font-size, 14px);font-weight:var(--tab-font-weight, 500);color:var(--tab-text, #333);transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:6px;height:39px;line-height:1;box-sizing:border-box;container-type:inline-size}.tab-position-top .tab-button{border-bottom:none;border-top:none;border-left:none}.tab-position-top .tab-button:last-child{border-right:none}.tab-position-bottom .tab-button{border-top:none;border-bottom:none;border-left:none}.tab-position-bottom .tab-button:last-child{border-right:none}.tab-position-left .tab-button{border-right:none;border-bottom:none}.tab-position-left .tab-button:last-child{border-bottom:1px solid var(--tab-border, #ddd)}.tab-position-right .tab-button{border-left:none;border-bottom:none}.tab-position-right .tab-button:last-child{border-bottom:1px solid var(--tab-border, #ddd)}.tab-icon{display:inline-flex;align-items:center;justify-content:center}.tab-label{display:none}@container (min-width: 100px){.tab-label{display:inline}.tab-icon{display:none}}.tab-button:hover{background:var(--tab-bg-hover, #f9f9f9)}.tab-button.active{background:var(--tab-bg-active, #007bff);color:var(--tab-text-active, #fff);border-color:var(--tab-border-active, #007bff)}.tab-button:focus-visible{outline:2px solid var(--tab-focus, #007bff);outline-offset:2px}.tab-content{flex:1;overflow:auto;background:var(--tab-content-bg, #fff)}.tab-group-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--tab-empty-text, #999);font-style:italic}.snap-carousel-container{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:var(--snap-carousel-gap, 0px);padding:0;margin:0;width:100%;height:100%;background-color:var(--panel-background);box-sizing:border-box;position:relative;left:0;transform:none;container-type:inline-size;-ms-overflow-style:none;scrollbar-width:none}.snap-carousel-container::-webkit-scrollbar{display:none}.snap-carousel-container.swipe-disabled{touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}.snap-carousel-panel{flex:0 0 auto;scroll-snap-align:start;scroll-snap-stop:always;width:var(--snap-carousel-panel-width, 33.33%);height:100%;box-sizing:border-box;overflow:hidden}@media(max-width:540px){.snap-carousel-panel{min-width:280px}}.mobile-tab-layout{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.mobile-tab-content{flex:1;overflow:hidden;min-height:0}.mobile-tab-nav{display:flex;background:var(--tab-list-bg, #f5f5f5);border-top:1px solid var(--tab-border, #ddd);flex-shrink:0;padding:0;margin:0}.mobile-tab-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;padding:14px 4px;padding-bottom:calc(14px + min(12px,env(safe-area-inset-bottom,0px)));cursor:pointer;font-family:var(--tab-font-family, inherit);font-size:var(--tab-font-size, 11px);font-weight:var(--tab-font-weight, 500);color:var(--tab-text, #666);transition:color .2s ease;min-width:0}.mobile-tab-button:hover{color:var(--tab-text-hover, #333)}.mobile-tab-button.active{color:var(--mobile-tab-text-active, #007bff)}.mobile-tab-button .tab-icon{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--tab-icon-color, #999);transition:color .2s ease}.mobile-tab-button.active .tab-icon{color:var(--mobile-tab-icon-active, #007bff)}.mobile-tab-button .tab-label{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;color:inherit;opacity:1}.mobile-tab-button:focus-visible{outline:2px solid var(--tab-focus, #007bff);outline-offset:-2px;z-index:1}:root{--panels-background: #ffffff;--panels-foreground: #000000;--panels-border: #e5e7eb;--panels-handle-bg: #f3f4f6;--panels-handle-hover: #e5e7eb;--panels-handle-active: #d1d5db;--panels-button-bg: #ffffff;--panels-button-hover: #f9fafb;--panels-button-active: #f3f4f6;--panels-shadow: rgba(0, 0, 0, .1);--panels-animation-duration: .3s;--panels-animation-easing: cubic-bezier(.4, 0, .2, 1)}@media(prefers-color-scheme:dark){:root{--panels-background: #1a1a1a;--panels-foreground: #ffffff;--panels-border: #404040;--panels-handle-bg: #2a2a2a;--panels-handle-hover: #333333;--panels-handle-active: #404040;--panels-button-bg: #2a2a2a;--panels-button-hover: #333333;--panels-button-active: #404040;--panels-shadow: rgba(0, 0, 0, .3)}}[data-theme=light]{--panels-background: #ffffff;--panels-foreground: #000000;--panels-border: #e5e7eb;--panels-handle-bg: #f3f4f6;--panels-handle-hover: #e5e7eb;--panels-handle-active: #d1d5db;--panels-button-bg: #ffffff;--panels-button-hover: #f9fafb;--panels-button-active: #f3f4f6;--panels-shadow: rgba(0, 0, 0, .1)}[data-theme=dark]{--panels-background: #1a1a1a;--panels-foreground: #ffffff;--panels-border: #404040;--panels-handle-bg: #2a2a2a;--panels-handle-hover: #333333;--panels-handle-active: #404040;--panels-button-bg: #2a2a2a;--panels-button-hover: #333333;--panels-button-active: #404040;--panels-shadow: rgba(0, 0, 0, .3)}.panels-container{width:100%;height:100%;display:flex;background-color:var(--panels-background);color:var(--panels-foreground);position:relative}.panels-panel{position:relative;overflow:auto;background-color:var(--panels-background)}.panels-handle{background-color:var(--panels-handle-bg);transition:background-color .15s ease;position:relative;z-index:10}.panels-handle:hover{background-color:var(--panels-handle-hover)}.panels-handle:active{background-color:var(--panels-handle-active)}.panels-handle-horizontal{width:8px;cursor:col-resize}.panels-handle-vertical{height:8px;cursor:row-resize}.panels-handle-collapsed{width:1px!important;min-width:1px!important;background-color:var(--panels-border)!important;cursor:default!important;pointer-events:none}.panels-handle-collapsed .panels-collapse-button{pointer-events:auto}.panels-collapse-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:4px;background-color:var(--panels-button-bg);border:1px solid var(--panels-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px var(--panels-shadow);z-index:20}.panels-collapse-button:hover{background-color:var(--panels-button-hover);transform:translate(-50%,-50%) scale(1.1)}.panels-collapse-button:active{background-color:var(--panels-button-active);transform:translate(-50%,-50%) scale(.95)}.panels-collapse-button-floating{position:absolute;left:-12px;z-index:30}.panels-collapse-icon{width:16px;height:16px;stroke:var(--panels-foreground);stroke-width:2;fill:none;transition:transform .15s ease}.panels-content-fade{transition:opacity var(--panels-animation-duration) var(--panels-animation-easing)}.panels-content-fading{opacity:.3}.panels-content-hidden{opacity:0}.panels-animating{pointer-events:none}@media(max-width:768px){.panels-handle-horizontal{width:4px}.panels-handle-vertical{height:4px}.panels-collapse-button{width:20px;height:20px}.panels-collapse-icon{width:12px;height:12px}}.panels-mobile-stack{display:flex;flex-direction:column;gap:1rem;padding:1rem}.panels-mobile-panel{border:1px solid var(--panels-border);border-radius:8px;padding:1rem}.panels-tabs-header{display:flex;border-bottom:1px solid var(--panels-border);background-color:var(--panels-handle-bg)}.panels-tab{flex:1;padding:.75rem 1rem;background:none;border:none;color:var(--panels-foreground);cursor:pointer;transition:background-color .15s ease;position:relative}.panels-tab:hover{background-color:var(--panels-handle-hover)}.panels-tab-active{background-color:var(--panels-background)}.panels-tab-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--panels-foreground)}.panels-drawer-toggle{position:fixed;top:1rem;left:1rem;z-index:100;width:40px;height:40px;border-radius:8px;background-color:var(--panels-button-bg);border:1px solid var(--panels-border);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px var(--panels-shadow)}.panels-drawer-icon{width:24px;height:24px}.panels-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;background-color:var(--panels-background);border-right:1px solid var(--panels-border);transform:translate(-100%);transition:transform var(--panels-animation-duration) var(--panels-animation-easing);z-index:90;overflow-y:auto}.panels-drawer-open{transform:translate(0)}.panels-drawer-panel,.panels-main-panel{padding:4rem 1rem 1rem}\n/*$vite$:1*/',document.head.appendChild(l);const c=({primaryContent:e,secondaryContent:r,collapsedHeader:a,collapsed:l,onCollapsedChange:s,ratio:c,onRatioChange:d,maxRatio:u=.8,collapsedHeight:p=28,hideHeader:b=!0,theme:h,className:f="",style:g,animationDuration:m=200,onCollapseStart:v,onCollapseComplete:x,onExpandStart:y,onExpandComplete:w})=>{const[k,C]=n.useState(!1),[z,S]=n.useState(!1),E=n.useRef(null),R=n.useRef(void 0),j=n.useRef(void 0),N=n.useRef(c),D=n.useRef(!1),P=n.useRef(l),L=n.useRef(!0),M=e=>100*e;n.useEffect(()=>{P.current=l},[l]),n.useEffect(()=>{!l&&c>0&&(N.current=c)},[l,c]);const T=n.useCallback((e,t,n)=>{if(!E.current)return;R.current&&cancelAnimationFrame(R.current),j.current=performance.now();const o=r=>{if(!j.current||!E.current)return;const a=r-j.current,l=Math.min(a/m,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;E.current.resize(`${s}%`),l<1?R.current=requestAnimationFrame(o):(E.current.resize(`${t}%`),n&&n(),D.current=!1,C(!1))};R.current=requestAnimationFrame(o)},[m]),A=n.useCallback(()=>{if(k||z||!E.current)return;c>0&&(N.current=c),D.current=!0,C(!0),v?.();const e=M(c);T(e,0,()=>{P.current=!0,s(!0),x?.()})},[k,z,c,T,s,v,x]),$=n.useCallback(()=>{if(k||z||!E.current)return;D.current=!0,C(!0),y?.();const e=N.current||c||.3,t=M(e);T(0,t,()=>{P.current=!1,s(!1),d(e),w?.()})},[k,z,c,T,s,d,y,w]),B=n.useCallback(()=>{l?$():A()},[l,A,$]),O=n.useCallback(e=>{if(D.current)return;const t=e.asPercentage/100;t<=.01&&!P.current?(N.current=.4,P.current=!0,s(!0)):t>.01&&P.current&&(P.current=!1,s(!1)),P.current||d(t)},[d,s]),F=n.useCallback(()=>{k||S(!0)},[k]),I=n.useCallback(()=>{S(!1)},[]);n.useEffect(()=>{if(L.current)L.current=!1;else if(l&&!k&&E.current){E.current.getSize().asPercentage>0&&A()}else if(!l&&!k&&E.current){0===E.current.getSize().asPercentage&&$()}},[l]),n.useEffect(()=>()=>{R.current&&cancelAnimationFrame(R.current)},[]);const H=i(h),W=["csp-secondary-panel",k&&!z?"csp-animating":"",l?"csp-collapsed":""].filter(Boolean).join(" ");return t.jsxs("div",{className:`collapsible-split-pane ${f}`,style:{...H,...g},children:[!b&&t.jsxs("div",{className:"csp-header "+(l?"csp-header-collapsed":""),style:{height:p,backgroundColor:h.colors.backgroundSecondary,borderBottom:`1px solid ${h.colors.border}`},onClick:l?B:void 0,role:l?"button":void 0,tabIndex:l?0:void 0,onKeyDown:l?e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),B())}:void 0,"aria-expanded":!l,"aria-label":l?`Expand ${a.title}`:a.title,children:[a.icon&&t.jsx("span",{className:"csp-header-icon",style:{color:h.colors.textSecondary},children:a.icon}),t.jsx("span",{className:"csp-header-title",style:{color:h.colors.text,fontFamily:h.fonts.body,fontSize:h.fontSizes[1],fontWeight:h.fontWeights.medium},children:a.title}),t.jsx("button",{className:"csp-header-toggle",style:{color:h.colors.textSecondary},onClick:e=>{e.stopPropagation(),B()},"aria-label":l?`Expand ${a.title}`:`Collapse ${a.title}`,children:t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:t.jsx("path",{d:l?"M3 5L6 8L9 5":"M3 7L6 4L9 7"})})})]}),t.jsx("div",{className:"csp-content-area",children:t.jsxs(o.Group,{orientation:"vertical",onLayoutChange:F,onLayoutChanged:I,children:[t.jsx(o.Panel,{panelRef:E,defaultSize:l||b?"0%":`${M(c)}%`,minSize:"0%",maxSize:b&&l?"0%":`${M(u)}%`,onResize:O,className:W,style:b&&l?{display:"none"}:void 0,children:t.jsx("div",{className:"csp-secondary-body",children:r})}),t.jsx(o.Separator,{className:"csp-resize-handle",children:t.jsx("div",{className:"csp-resize-handle-bar"})}),t.jsx(o.Panel,{className:"csp-primary-panel",minSize:"20%",children:t.jsx("div",{className:"csp-panel-content",children:e})})]})})]})},d=({panelIds:e,panels:o,config:r={},className:a="",theme:l})=>{const{defaultActiveTab:i=0,tabPosition:c="top",centered:d=!0,hideTabList:u=!1,activeTabIndex:p,onTabChange:b}=r,[h,f]=n.useState(i),g=void 0!==p,m=g?p:h;n.useEffect(()=>{g||f(i)},[i,g]);const v=s(l),x=e.map(e=>o.find(t=>t.id===e)).filter(e=>void 0!==e),y=Math.min(m,x.length-1),w=x[y];if(0===x.length)return t.jsx("div",{className:"tab-group-empty",children:"No panels available"});const k="top"===c||"bottom"===c||d,C=t.jsx("div",{className:"tab-list "+(k?"centered":""),role:"tablist",children:x.map((e,n)=>t.jsx("button",{role:"tab","aria-selected":n===y,"aria-controls":`tabpanel-${e.id}`,id:`tab-${e.id}`,className:"tab-button "+(n===y?"active":""),onClick:()=>(e=>{g||f(e),b?.(e)})(n),title:e.icon?e.label:void 0,children:e.icon?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"tab-icon",children:e.icon}),t.jsx("span",{className:"tab-label",children:e.label})]}):e.label},e.id))}),z=w?t.jsx("div",{className:"tab-content",role:"tabpanel",id:`tabpanel-${w.id}`,"aria-labelledby":`tab-${w.id}`,children:w.content}):null;return t.jsxs("div",{className:`tab-group tab-position-${c} ${a}`,style:v,children:[!u&&("top"===c||"left"===c)&&C,z,!u&&("bottom"===c||"right"===c)&&C]})},u={x:0,y:0,width:0,height:0},p=n.createContext(null),b=({slot:e,children:o})=>{const r=n.useRef(null),[a,l]=n.useState(u),i=n.useCallback(()=>{if(r.current){const e=r.current.getBoundingClientRect();l({x:e.left,y:e.top,width:e.width,height:e.height})}},[]);n.useEffect(()=>{const e=r.current;if(!e)return;i();const t=new ResizeObserver(()=>{i()});return t.observe(e),window.addEventListener("resize",i),window.addEventListener("scroll",i,!0),()=>{t.disconnect(),window.removeEventListener("resize",i),window.removeEventListener("scroll",i,!0)}},[i]);const s={slot:e,bounds:a};return t.jsx(p.Provider,{value:s,children:t.jsx("div",{ref:r,className:"panel-bounds-container",style:{width:"100%",height:"100%",minWidth:0},children:o})})};function h(){const e=n.useContext(p);return e?{slot:e.slot,bounds:e.bounds,isInPanel:!0}:{slot:null,bounds:u,isInPanel:!1}}const f=n.forwardRef(({panels:e,layout:r,slotDataAttributes:a={},collapsiblePanels:l={left:!0,middle:!1,right:!0},defaultSizes:s={left:20,middle:60,right:20},className:c="",collapsed:u={left:!1,middle:!1,right:!1},style:p,showCollapseButtons:h=!1,animationDuration:f=300,animationEasing:g="cubic-bezier(0.4, 0, 0.2, 1)",theme:m,onLeftCollapseStart:v,onLeftCollapseComplete:x,onLeftExpandStart:y,onLeftExpandComplete:w,onMiddleCollapseStart:k,onMiddleCollapseComplete:C,onMiddleExpandStart:z,onMiddleExpandComplete:S,onRightCollapseStart:E,onRightCollapseComplete:R,onRightExpandStart:j,onRightExpandComplete:N,onPanelResize:D},P)=>{const L=null!==r.left&&void 0!==r.left,M=null!==r.middle&&void 0!==r.middle,T=null!==r.right&&void 0!==r.right,A=[L,M,T].filter(Boolean).length,$={left:L?s?.left??(2===A?50:3===A?20:100):0,middle:M?s?.middle??(2===A?50:3===A?60:100):0,right:T?s?.right??(2===A?50:3===A?20:100):0},[B,O]=n.useState(u.left||!L),[F,I]=n.useState(u.middle||!M),[H,W]=n.useState(u.right||!T),[q,U]=n.useState(!1),[K,Y]=n.useState(!1);n.useEffect(()=>{const e=requestAnimationFrame(()=>{Y(!0)});return()=>cancelAnimationFrame(e)},[]);const V=n.useCallback(t=>{if(!t)return null;const n=e.find(e=>e.id===t);return n?.content||null},[e]),X=n.useCallback(n=>{if(null===n)return null;if("object"==typeof n&&"type"in n){const o=n;return"tabs"===o.type?t.jsx(d,{panelIds:o.panels,panels:e,config:o.config,theme:m}):null}return V(n)},[e,V,m]),G=X(r.left??null),J=X(r.middle??null),_=X(r.right??null),[Q,Z]=n.useState(u.left||!L?0:$.left),[ee,te]=n.useState(u.middle||!M?0:$.middle),[ne,oe]=n.useState(u.right||!T?0:$.right),[re,ae]=n.useState($.left),[le,ie]=n.useState($.middle),[se,ce]=n.useState($.right),de=n.useRef(null),ue=n.useRef(null),pe=n.useRef(null),be=n.useRef(null),he=n.useCallback(()=>{!q&&l.left&&(v?.(),ue.current?.collapse(),O(!0),x?.())},[q,l.left,v,x]),fe=n.useCallback(()=>{!q&&l.left&&(y?.(),ue.current?.expand(),O(!1),w?.())},[q,l.left,y,w]),ge=n.useCallback(()=>{!q&&l.right&&(E?.(),be.current?.collapse(),W(!0),R?.())},[q,l.right,E,R]),me=n.useCallback(()=>{!q&&l.right&&(j?.(),be.current?.expand(),W(!1),N?.())},[q,l.right,j,N]),ve=n.useCallback(()=>{B?fe():he()},[B,he,fe]),xe=n.useCallback(()=>{H?me():ge()},[H,ge,me]);n.useImperativeHandle(P,()=>({setLayout:e=>{if(console.log("[ConfigurablePanelLayout] setLayout called with:",e),!de.current)return void console.warn("[ConfigurablePanelLayout] setLayout called but panelGroupRef is null");const t=de.current.getLayout(),n=t.left??0,o=t.right??0;console.log("[ConfigurablePanelLayout] current layout:",{currentLeftSize:n,currentRightSize:o});const r=0===e.left||e.left<1,a=0===e.right||e.right<1,l=n<1,i=o<1;console.log("[ConfigurablePanelLayout] collapse decisions:",{shouldCollapseLeft:r,shouldCollapseRight:a,currentLeftCollapsed:l,currentRightCollapsed:i}),r&&!l?(ue.current?.collapse(),O(!0)):!r&&l&&(ue.current?.expand(),O(!1)),a&&!i?(be.current?.collapse(),W(!0)):!a&&i&&(be.current?.expand(),W(!1));!r&&l||!a&&i?(console.log("[ConfigurablePanelLayout] needs expand, using rAF"),requestAnimationFrame(()=>{console.log("[ConfigurablePanelLayout] rAF: calling panelGroupRef.setLayout"),de.current?.setLayout(e),setTimeout(()=>{console.log("[ConfigurablePanelLayout] after rAF setLayout:",de.current?.getLayout())},100)})):(console.log("[ConfigurablePanelLayout] direct setLayout (no expand needed)"),de.current.setLayout(e),setTimeout(()=>{console.log("[ConfigurablePanelLayout] after direct setLayout:",de.current?.getLayout())},100))},collapsePanel:e=>{"left"===e?(ue.current?.collapse(),O(!0)):(be.current?.collapse(),W(!0))},expandPanel:e=>{"left"===e?(ue.current?.expand(),O(!1)):(be.current?.expand(),W(!1))},getLayout:()=>({left:Q,middle:ee,right:ne})}),[Q,ee,ne]);const ye=n.useCallback(e=>{const t=e.asPercentage;Z(t),t>0?(ae(t),O(!1)):O(!0)},[]),we=n.useCallback(e=>{const t=e.asPercentage;te(t),t>0?(ie(t),I(!1)):I(!0)},[]),ke=n.useCallback(e=>{const t=e.asPercentage;oe(t),t>0?(ce(t),W(!1)):W(!0)},[]),Ce=n.useCallback(()=>{if(D){D({left:B?re:Q,middle:F?le:ee,right:H?se:ne})}},[Q,ee,ne,B,F,H,re,le,se,D]),ze=n.useCallback(()=>{U(!0)},[]),Se=n.useCallback(()=>{U(!1),Ce()},[Ce]),Ee=e=>{let t="three-panel-item";return"left"===e?!l.left&&L||(t+=" collapsible-panel",B&&(t+=" collapsed")):"middle"===e?(t+=" middle-panel",!l.middle&&M||(t+=" collapsible-panel",F&&(t+=" collapsed"))):"right"===e&&(!l.right&&T||(t+=" collapsible-panel",H&&(t+=" collapsed"))),t},Re=i(m);return t.jsx("div",{className:`three-panel-layout ${c} ${q?"is-dragging":""} ${K?"":"is-mounting"}`,style:{...Re,...p,"--panel-transition-duration":`${f}ms`,"--panel-transition-easing":g},children:t.jsxs(o.Group,{groupRef:de,orientation:"horizontal",onLayoutChange:ze,onLayoutChanged:Se,children:[t.jsx(o.Panel,{id:"left",panelRef:ue,collapsible:l.left||!L,defaultSize:u.left||!L?"0%":`${$.left}%`,minSize:"0%",collapsedSize:"0%",onResize:ye,className:Ee("left"),...a.left||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:B?0:1},children:t.jsx(b,{slot:"left",children:G})})}),t.jsx(o.Separator,{className:"resize-handle left-handle "+(!B&&L&&M?"":"collapsed"),disabled:B||!L||!M,children:h&&l.left&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:ve,className:"collapse-toggle","aria-label":B?"Expand left panel":"Collapse left panel",children:B?"▸":"◂"})})}),t.jsx(o.Panel,{id:"middle",panelRef:pe,collapsible:l.middle||!M,defaultSize:u.middle||!M?"0%":`${$.middle}%`,minSize:"0%",collapsedSize:"0%",onResize:we,className:Ee("middle"),...a.middle||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:F?0:1},children:t.jsx(b,{slot:"middle",children:J})})}),t.jsx(o.Separator,{className:"resize-handle right-handle "+(H||!T||!M&&!L?"collapsed":""),disabled:H||!T||!M&&!L,children:h&&l.right&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:xe,className:"collapse-toggle","aria-label":H?"Expand right panel":"Collapse right panel",children:H?"◂":"▸"})})}),t.jsx(o.Panel,{id:"right",panelRef:be,collapsible:l.right||!T,defaultSize:u.right||!T?"0%":`${$.right}%`,minSize:"0%",collapsedSize:"0%",onResize:ke,className:Ee("right"),...a.right||{},children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:H?0:1},children:t.jsx(b,{slot:"right",children:_})})})]})})});f.displayName="ConfigurablePanelLayout";const g=n.forwardRef(({panels:e,className:o="",style:r,theme:a,minPanelWidth:l=350,idealPanelWidth:s=.333,showSeparator:c=!1,onPanelChange:d,preventKeyboardScroll:u=!0,disableSwipe:p=!1},b)=>{const h=n.useRef(null),f=n.useRef(!1),g=n.useRef(null),m=i(a);n.useImperativeHandle(b,()=>({scrollToPanel:e=>{if(!h.current)return;const t=h.current,n=t.children[e];if(n){f.current=!0,g.current&&clearTimeout(g.current);const e=n.offsetLeft;t.scrollTo({left:e,behavior:"smooth"}),g.current=setTimeout(()=>{f.current=!1},500)}},getCurrentPanel:()=>{if(!h.current||0===h.current.children.length)return 0;const e=h.current,t=e.getBoundingClientRect().left;let n=0,o=1/0;for(let r=0;r<e.children.length;r++){const a=e.children[r].getBoundingClientRect(),l=Math.abs(a.left-t);l<o&&(o=l,n=r)}return n}}));n.useEffect(()=>{if(!u||!h.current)return;const e=h.current,t=e=>{const t=e.target;if("INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||t.isContentEditable||null!==t.closest(".xterm")||null!==t.closest('[contenteditable="true"]'))return;[" ","Space","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown"].includes(e.key)&&e.preventDefault()};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}},[u]),n.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const v=e.length,x=2*l;let y;y=1===v||2===v?"100%":`max(${l}px, ${100*s}%)`;const w=n.useId().replace(/:/g,"_");return t.jsxs(t.Fragment,{children:[2===v&&t.jsx("style",{children:`\n .snap-carousel-container[data-carousel-id="${w}"][data-panel-count="2"] .snap-carousel-panel {\n width: 100%;\n }\n @container (min-width: ${x}px) {\n .snap-carousel-container[data-carousel-id="${w}"][data-panel-count="2"] .snap-carousel-panel {\n width: 50%;\n }\n }\n `}),t.jsx("div",{ref:h,className:`snap-carousel-container ${p?"swipe-disabled":""} ${o}`,style:{...m,...r,"--snap-carousel-min-width":`${l}px`,"--snap-carousel-ideal-width":100*s+"%","--snap-carousel-gap":c?"1px":"0px","--snap-carousel-panel-width":y,"--snap-carousel-panel-count":v,"--snap-carousel-two-panel-threshold":`${x}px`},onScroll:e=>{if(!d||!h.current||0===h.current.children.length)return;if(f.current)return;const t=h.current,n=t.getBoundingClientRect().left;let o=0,r=1/0;for(let a=0;a<t.children.length;a++){const e=t.children[a].getBoundingClientRect(),l=Math.abs(e.left-n);l<r&&(r=l,o=a)}d(o)},"data-panel-count":v,"data-carousel-id":w,children:e.map((e,n)=>t.jsx("div",{className:"snap-carousel-panel",children:e},n))})]})});function m(e){const[t,o]=n.useState(()=>"undefined"!=typeof window&&window.matchMedia(e).matches);return n.useEffect(()=>{if("undefined"==typeof window)return;const t=window.matchMedia(e),n=e=>{o(e.matches)};return o(t.matches),t.addEventListener?(t.addEventListener("change",n),()=>t.removeEventListener("change",n)):(t.addListener(n),()=>t.removeListener(n))},[e]),t}g.displayName="SnapCarousel";const v="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function x(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function y(e){return"nodeType"in e}function w(e){var t,n;return e?x(e)?e:y(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function k(e){const{Document:t}=w(e);return e instanceof t}function C(e){return!x(e)&&e instanceof w(e).HTMLElement}function z(e){return e instanceof w(e).SVGElement}function S(e){return e?x(e)?e.document:y(e)?k(e)?e:C(e)||z(e)?e.ownerDocument:document:document:document}const E=v?n.useLayoutEffect:n.useEffect;function R(e){const t=n.useRef(e);return E(()=>{t.current=e}),n.useCallback(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return null==t.current?void 0:t.current(...n)},[])}function j(e,t){void 0===t&&(t=[e]);const o=n.useRef(e);return E(()=>{o.current!==e&&(o.current=e)},t),o}function N(e,t){const o=n.useRef();return n.useMemo(()=>{const t=e(o.current);return o.current=t,t},[...t])}function D(e){const t=R(e),o=n.useRef(null),r=n.useCallback(e=>{e!==o.current&&(null==t||t(e,o.current)),o.current=e},[]);return[o,r]}function P(e){const t=n.useRef();return n.useEffect(()=>{t.current=e},[e]),t.current}let L={};function M(e,t){return n.useMemo(()=>{if(t)return t;const n=null==L[e]?0:L[e]+1;return L[e]=n,e+"-"+n},[e,t])}function T(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return o.reduce((t,n)=>{const o=Object.entries(n);for(const[r,a]of o){const n=t[r];null!=n&&(t[r]=n+e*a)}return t},{...t})}}const A=T(1),$=T(-1);function B(e){if(!e)return!1;const{KeyboardEvent:t}=w(e.target);return t&&e instanceof t}function O(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=w(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const F="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function I(e){return e.matches(F)?e:e.querySelector(F)}const H={display:"none"};function W(e){let{id:t,value:o}=e;return n.createElement("div",{id:t,style:H},o)}function q(e){let{id:t,announcement:o,ariaLiveType:r="assertive"}=e;return n.createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},o)}const U=n.createContext(null);const K={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},Y={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function V(e){let{announcements:t=Y,container:o,hiddenTextDescribedById:a,screenReaderInstructions:l=K}=e;const{announce:i,announcement:s}=function(){const[e,t]=n.useState("");return{announce:n.useCallback(e=>{null!=e&&t(e)},[]),announcement:e}}(),c=M("DndLiveRegion"),[d,u]=n.useState(!1);if(n.useEffect(()=>{u(!0)},[]),function(e){const t=n.useContext(U);n.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}(n.useMemo(()=>({onDragStart(e){let{active:n}=e;i(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:o}=e;t.onDragMove&&i(t.onDragMove({active:n,over:o}))},onDragOver(e){let{active:n,over:o}=e;i(t.onDragOver({active:n,over:o}))},onDragEnd(e){let{active:n,over:o}=e;i(t.onDragEnd({active:n,over:o}))},onDragCancel(e){let{active:n,over:o}=e;i(t.onDragCancel({active:n,over:o}))}}),[i,t])),!d)return null;const p=n.createElement(n.Fragment,null,n.createElement(W,{id:a,value:l.draggable}),n.createElement(q,{id:c,announcement:s}));return o?r.createPortal(p,o):p}var X,G;function J(){}(G=X||(X={})).DragStart="dragStart",G.DragMove="dragMove",G.DragEnd="dragEnd",G.DragCancel="dragCancel",G.DragOver="dragOver",G.RegisterDroppable="registerDroppable",G.SetDroppableDisabled="setDroppableDisabled",G.UnregisterDroppable="unregisterDroppable";const _=Object.freeze({x:0,y:0});function Q(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Z(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return n-o}function ee(e,t){let{data:{value:n}}=e,{data:{value:o}}=t;return o-n}function te(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const ne=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e;const r=te(t,t.left,t.top),a=[];for(const l of o){const{id:e}=l,t=n.get(e);if(t){const n=Q(te(t),r);a.push({id:e,data:{droppableContainer:l,value:n}})}}return a.sort(Z)};function oe(e,t){const n=Math.max(t.top,e.top),o=Math.max(t.left,e.left),r=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),l=r-o,i=a-n;if(o<r&&n<a){const n=t.width*t.height,o=e.width*e.height,r=l*i;return Number((r/(n+o-r)).toFixed(4))}return 0}const re=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:o}=e;const r=[];for(const a of o){const{id:e}=a,o=n.get(e);if(o){const n=oe(o,t);n>0&&r.push({id:e,data:{droppableContainer:a,value:n}})}}return r.sort(ee)};function ae(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:_}function le(e){return function(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return o.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ie=le(1);const se={ignoreTransform:!1};function ce(e,t){void 0===t&&(t=se);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:o}=w(e).getComputedStyle(e);t&&(n=function(e,t,n){const o=function(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}(t);if(!o)return e;const{scaleX:r,scaleY:a,x:l,y:i}=o,s=e.left-l-(1-r)*parseFloat(n),c=e.top-i-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),d=r?e.width/r:e.width,u=a?e.height/a:e.height;return{width:d,height:u,top:c,right:s+d,bottom:c+u,left:s}}(n,t,o))}const{top:o,left:r,width:a,height:l,bottom:i,right:s}=n;return{top:o,left:r,width:a,height:l,bottom:i,right:s}}function de(e){return ce(e,{ignoreTransform:!0})}function ue(e,t){const n=[];return e?function o(r){if(null!=t&&n.length>=t)return n;if(!r)return n;if(k(r)&&null!=r.scrollingElement&&!n.includes(r.scrollingElement))return n.push(r.scrollingElement),n;if(!C(r)||z(r))return n;if(n.includes(r))return n;const a=w(e).getComputedStyle(r);return r!==e&&function(e,t){void 0===t&&(t=w(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const o=t[e];return"string"==typeof o&&n.test(o)})}(r,a)&&n.push(r),function(e,t){return void 0===t&&(t=w(e).getComputedStyle(e)),"fixed"===t.position}(r,a)?n:o(r.parentNode)}(e):n}function pe(e){const[t]=ue(e,1);return null!=t?t:null}function be(e){return v&&e?x(e)?e:y(e)?k(e)||e===S(e).scrollingElement?window:C(e)?e:null:null:null}function he(e){return x(e)?e.scrollX:e.scrollLeft}function fe(e){return x(e)?e.scrollY:e.scrollTop}function ge(e){return{x:he(e),y:fe(e)}}var me,ve;function xe(e){return!(!v||!e)&&e===document.scrollingElement}function ye(e){const t={x:0,y:0},n=xe(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},o={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=o.y,isRight:e.scrollLeft>=o.x,maxScroll:o,minScroll:t}}(ve=me||(me={}))[ve.Forward=1]="Forward",ve[ve.Backward=-1]="Backward";const we={x:.2,y:.2};function ke(e,t,n,o,r){let{top:a,left:l,right:i,bottom:s}=n;void 0===o&&(o=10),void 0===r&&(r=we);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=ye(e),b={x:0,y:0},h={x:0,y:0},f=t.height*r.y,g=t.width*r.x;return!c&&a<=t.top+f?(b.y=me.Backward,h.y=o*Math.abs((t.top+f-a)/f)):!d&&s>=t.bottom-f&&(b.y=me.Forward,h.y=o*Math.abs((t.bottom-f-s)/f)),!p&&i>=t.right-g?(b.x=me.Forward,h.x=o*Math.abs((t.right-g-i)/g)):!u&&l<=t.left+g&&(b.x=me.Backward,h.x=o*Math.abs((t.left+g-l)/g)),{direction:b,speed:h}}function Ce(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:o,bottom:r}=e.getBoundingClientRect();return{top:t,left:n,right:o,bottom:r,width:e.clientWidth,height:e.clientHeight}}function ze(e){return e.reduce((e,t)=>A(e,ge(t)),_)}const Se=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+he(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+fe(t),0)}]];class Ee{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=ue(t),o=ze(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[r,a,l]of Se)for(const e of a)Object.defineProperty(this,e,{get:()=>{const t=l(n),a=o[r]-t;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Re{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var o;null==(o=this.target)||o.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function je(e,t){const n=Math.abs(e.x),o=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+o**2)>t:"x"in t&&"y"in t?n>t.x&&o>t.y:"x"in t?n>t.x:"y"in t&&o>t.y}var Ne,De,Pe,Le;function Me(e){e.preventDefault()}function Te(e){e.stopPropagation()}(De=Ne||(Ne={})).Click="click",De.DragStart="dragstart",De.Keydown="keydown",De.ContextMenu="contextmenu",De.Resize="resize",De.SelectionChange="selectionchange",De.VisibilityChange="visibilitychange",(Le=Pe||(Pe={})).Space="Space",Le.Down="ArrowDown",Le.Right="ArrowRight",Le.Left="ArrowLeft",Le.Up="ArrowUp",Le.Esc="Escape",Le.Enter="Enter",Le.Tab="Tab";const Ae={start:[Pe.Space,Pe.Enter],cancel:[Pe.Esc],end:[Pe.Space,Pe.Enter,Pe.Tab]},$e=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Pe.Right:return{...n,x:n.x+25};case Pe.Left:return{...n,x:n.x-25};case Pe.Down:return{...n,y:n.y+25};case Pe.Up:return{...n,y:n.y-25}}};class Be{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new Re(S(t)),this.windowListeners=new Re(w(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Ne.Resize,this.handleCancel),this.windowListeners.add(Ne.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Ne.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&function(e,t){if(void 0===t&&(t=ce),!e)return;const{top:n,left:o,bottom:r,right:a}=t(e);pe(e)&&(r<=0||a<=0||n>=window.innerHeight||o>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(n),t(_)}handleKeyDown(e){if(B(e)){const{active:t,context:n,options:o}=this.props,{keyboardCodes:r=Ae,coordinateGetter:a=$e,scrollBehavior:l="smooth"}=o,{code:i}=e;if(r.end.includes(i))return void this.handleEnd(e);if(r.cancel.includes(i))return void this.handleCancel(e);const{collisionRect:s}=n.current,c=s?{x:s.left,y:s.top}:_;this.referenceCoordinates||(this.referenceCoordinates=c);const d=a(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=$(d,c),o={x:0,y:0},{scrollableAncestors:r}=n.current;for(const n of r){const r=e.code,{isTop:a,isRight:i,isLeft:s,isBottom:c,maxScroll:u,minScroll:p}=ye(n),b=Ce(n),h={x:Math.min(r===Pe.Right?b.right-b.width/2:b.right,Math.max(r===Pe.Right?b.left:b.left+b.width/2,d.x)),y:Math.min(r===Pe.Down?b.bottom-b.height/2:b.bottom,Math.max(r===Pe.Down?b.top:b.top+b.height/2,d.y))},f=r===Pe.Right&&!i||r===Pe.Left&&!s,g=r===Pe.Down&&!c||r===Pe.Up&&!a;if(f&&h.x!==d.x){const e=n.scrollLeft+t.x,a=r===Pe.Right&&e<=u.x||r===Pe.Left&&e>=p.x;if(a&&!t.y)return void n.scrollTo({left:e,behavior:l});o.x=a?n.scrollLeft-e:r===Pe.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,o.x&&n.scrollBy({left:-o.x,behavior:l});break}if(g&&h.y!==d.y){const e=n.scrollTop+t.y,a=r===Pe.Down&&e<=u.y||r===Pe.Up&&e>=p.y;if(a&&!t.x)return void n.scrollTo({top:e,behavior:l});o.y=a?n.scrollTop-e:r===Pe.Down?n.scrollTop-u.y:n.scrollTop-p.y,o.y&&n.scrollBy({top:-o.y,behavior:l});break}}this.handleMove(e,A($(d,this.referenceCoordinates),o))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function Oe(e){return Boolean(e&&"distance"in e)}function Fe(e){return Boolean(e&&"delay"in e)}Be.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:o=Ae,onActivation:r}=t,{active:a}=n;const{code:l}=e.nativeEvent;if(o.start.includes(l)){const t=a.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==r||r({event:e.nativeEvent}),!0)}return!1}}];class Ie{constructor(e,t,n){var o;void 0===n&&(n=function(e){const{EventTarget:t}=w(e);return e instanceof t?e:S(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:r}=e,{target:a}=r;this.props=e,this.events=t,this.document=S(a),this.documentListeners=new Re(this.document),this.listeners=new Re(n),this.windowListeners=new Re(w(a)),this.initialCoordinates=null!=(o=O(r))?o:_,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Ne.Resize,this.handleCancel),this.windowListeners.add(Ne.DragStart,Me),this.windowListeners.add(Ne.VisibilityChange,this.handleCancel),this.windowListeners.add(Ne.ContextMenu,Me),this.documentListeners.add(Ne.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Fe(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(Oe(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:o}=this.props;o(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Ne.Click,Te,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Ne.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:o,props:r}=this,{onMove:a,options:{activationConstraint:l}}=r;if(!o)return;const i=null!=(t=O(e))?t:_,s=$(o,i);if(!n&&l){if(Oe(l)){if(null!=l.tolerance&&je(s,l.tolerance))return this.handleCancel();if(je(s,l.distance))return this.handleStart()}return Fe(l)&&je(s,l.tolerance)?this.handleCancel():void this.handlePending(l,s)}e.cancelable&&e.preventDefault(),a(i)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Pe.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const He={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class We extends Ie{constructor(e){const{event:t}=e,n=S(t.target);super(e,He,n)}}We.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return!(!n.isPrimary||0!==n.button)&&(null==o||o({event:n}),!0)}}];const qe={move:{name:"mousemove"},end:{name:"mouseup"}};var Ue,Ke;(Ke=Ue||(Ue={}))[Ke.RightClick=2]="RightClick";(class extends Ie{constructor(e){super(e,qe,S(e.event.target))}}).activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;return n.button!==Ue.RightClick&&(null==o||o({event:n}),!0)}}];const Ye={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Ve,Xe,Ge,Je;function _e(e){let{acceleration:t,activator:o=Ve.Pointer,canScroll:r,draggingRect:a,enabled:l,interval:i=5,order:s=Ge.TreeOrder,pointerCoordinates:c,scrollableAncestors:d,scrollableAncestorRects:u,delta:p,threshold:b}=e;const h=function(e){let{delta:t,disabled:n}=e;const o=P(t);return N(e=>{if(n||!o||!e)return Qe;const r={x:Math.sign(t.x-o.x),y:Math.sign(t.y-o.y)};return{x:{[me.Backward]:e.x[me.Backward]||-1===r.x,[me.Forward]:e.x[me.Forward]||1===r.x},y:{[me.Backward]:e.y[me.Backward]||-1===r.y,[me.Forward]:e.y[me.Forward]||1===r.y}}},[n,t,o])}({delta:p,disabled:!l}),[f,g]=function(){const e=n.useRef(null);return[n.useCallback((t,n)=>{e.current=setInterval(t,n)},[]),n.useCallback(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),m=n.useRef({x:0,y:0}),v=n.useRef({x:0,y:0}),x=n.useMemo(()=>{switch(o){case Ve.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Ve.DraggableRect:return a}},[o,a,c]),y=n.useRef(null),w=n.useCallback(()=>{const e=y.current;if(!e)return;const t=m.current.x*v.current.x,n=m.current.y*v.current.y;e.scrollBy(t,n)},[]),k=n.useMemo(()=>s===Ge.TreeOrder?[...d].reverse():d,[s,d]);n.useEffect(()=>{if(l&&d.length&&x){for(const e of k){if(!1===(null==r?void 0:r(e)))continue;const n=d.indexOf(e),o=u[n];if(!o)continue;const{direction:a,speed:l}=ke(e,o,x,t,b);for(const e of["x","y"])h[e][a[e]]||(l[e]=0,a[e]=0);if(l.x>0||l.y>0)return g(),y.current=e,f(w,i),m.current=l,void(v.current=a)}m.current={x:0,y:0},v.current={x:0,y:0},g()}else g()},[t,w,r,g,l,i,JSON.stringify(x),JSON.stringify(h),f,d,k,u,JSON.stringify(b)])}(class extends Ie{constructor(e){super(e,Ye)}static setup(){return window.addEventListener(Ye.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Ye.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:o}=t;const{touches:r}=n;return!(r.length>1)&&(null==o||o({event:n}),!0)}}],(Xe=Ve||(Ve={}))[Xe.Pointer=0]="Pointer",Xe[Xe.DraggableRect=1]="DraggableRect",(Je=Ge||(Ge={}))[Je.TreeOrder=0]="TreeOrder",Je[Je.ReversedTreeOrder=1]="ReversedTreeOrder";const Qe={x:{[me.Backward]:!1,[me.Forward]:!1},y:{[me.Backward]:!1,[me.Forward]:!1}};var Ze,et,tt;(et=Ze||(Ze={}))[et.Always=0]="Always",et[et.BeforeDragging=1]="BeforeDragging",et[et.WhileDragging=2]="WhileDragging",(tt||(tt={})).Optimized="optimized";const nt=new Map;function ot(e,t){return N(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function rt(e){let{callback:t,disabled:o}=e;const r=R(t),a=n.useMemo(()=>{if(o||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(r)},[o]);return n.useEffect(()=>()=>null==a?void 0:a.disconnect(),[a]),a}function at(e){return new Ee(ce(e),e)}function lt(e,t,o){void 0===t&&(t=at);const[r,a]=n.useState(null);function l(){a(n=>{if(!e)return null;var r;if(!1===e.isConnected)return null!=(r=null!=n?n:o)?r:null;const a=t(e);return JSON.stringify(n)===JSON.stringify(a)?n:a})}const i=function(e){let{callback:t,disabled:o}=e;const r=R(t),a=n.useMemo(()=>{if(o||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(r)},[r,o]);return n.useEffect(()=>()=>null==a?void 0:a.disconnect(),[a]),a}({callback(t){if(e)for(const n of t){const{type:t,target:o}=n;if("childList"===t&&o instanceof HTMLElement&&o.contains(e)){l();break}}}}),s=rt({callback:l});return E(()=>{l(),e?(null==s||s.observe(e),null==i||i.observe(document.body,{childList:!0,subtree:!0})):(null==s||s.disconnect(),null==i||i.disconnect())},[e]),r}const it=[];function st(e,t){void 0===t&&(t=[]);const o=n.useRef(null);return n.useEffect(()=>{o.current=null},t),n.useEffect(()=>{const t=e!==_;t&&!o.current&&(o.current=e),!t&&o.current&&(o.current=null)},[e]),o.current?$(e,o.current):_}function ct(e){return n.useMemo(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const dt=[];function ut(e){let{measure:t}=e;const[o,r]=n.useState(null),a=rt({callback:n.useCallback(e=>{for(const{target:n}of e)if(C(n)){r(e=>{const o=t(n);return e?{...e,width:o.width,height:o.height}:o});break}},[t])}),l=n.useCallback(e=>{const n=function(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return C(t)?t:e}(e);null==a||a.disconnect(),n&&(null==a||a.observe(n)),r(n?t(n):null)},[t,a]),[i,s]=D(l);return n.useMemo(()=>({nodeRef:i,rect:o,setRef:s}),[o,i,s])}const pt=[{sensor:We,options:{}},{sensor:Be,options:{}}],bt={current:{}},ht={draggable:{measure:de},droppable:{measure:de,strategy:Ze.WhileDragging,frequency:tt.Optimized},dragOverlay:{measure:ce}};class ft extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const gt={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ft,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:J},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ht,measureDroppableContainers:J,windowRect:null,measuringScheduled:!1},mt={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:J,draggableNodes:new Map,over:null,measureDroppableContainers:J},vt=n.createContext(mt),xt=n.createContext(gt);function yt(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ft}}}function wt(e,t){switch(t.type){case X.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case X.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case X.DragEnd:case X.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case X.RegisterDroppable:{const{element:n}=t,{id:o}=n,r=new ft(e.droppable.containers);return r.set(o,n),{...e,droppable:{...e.droppable,containers:r}}}case X.SetDroppableDisabled:{const{id:n,key:o,disabled:r}=t,a=e.droppable.containers.get(n);if(!a||o!==a.key)return e;const l=new ft(e.droppable.containers);return l.set(n,{...a,disabled:r}),{...e,droppable:{...e.droppable,containers:l}}}case X.UnregisterDroppable:{const{id:n,key:o}=t,r=e.droppable.containers.get(n);if(!r||o!==r.key)return e;const a=new ft(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function kt(e){let{disabled:t}=e;const{active:o,activatorEvent:r,draggableNodes:a}=n.useContext(vt),l=P(r),i=P(null==o?void 0:o.id);return n.useEffect(()=>{if(!t&&!r&&l&&null!=i){if(!B(l))return;if(document.activeElement===l.target)return;const e=a.get(i);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=I(e);if(t){t.focus();break}}})}},[r,t,a,i,l]),null}const Ct=n.createContext({..._,scaleX:1,scaleY:1});var zt,St;(St=zt||(zt={}))[St.Uninitialized=0]="Uninitialized",St[St.Initializing=1]="Initializing",St[St.Initialized=2]="Initialized";const Et=n.memo(function(e){var t,o,a,l;let{id:i,accessibility:s,autoScroll:c=!0,children:d,sensors:u=pt,collisionDetection:p=re,measuring:b,modifiers:h,...f}=e;const g=n.useReducer(wt,void 0,yt),[m,x]=g,[y,k]=function(){const[e]=n.useState(()=>new Set),t=n.useCallback(t=>(e.add(t),()=>e.delete(t)),[e]);return[n.useCallback(t=>{let{type:n,event:o}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,o)})},[e]),t]}(),[C,z]=n.useState(zt.Uninitialized),S=C===zt.Initialized,{draggable:{active:R,nodes:D,translate:P},droppable:{containers:L}}=m,T=null!=R?D.get(R):null,$=n.useRef({initial:null,translated:null}),B=n.useMemo(()=>{var e;return null!=R?{id:R,data:null!=(e=null==T?void 0:T.data)?e:bt,rect:$}:null},[R,T]),F=n.useRef(null),[I,H]=n.useState(null),[W,q]=n.useState(null),K=j(f,Object.values(f)),Y=M("DndDescribedBy",i),G=n.useMemo(()=>L.getEnabled(),[L]),J=(Q=b,n.useMemo(()=>({draggable:{...ht.draggable,...null==Q?void 0:Q.draggable},droppable:{...ht.droppable,...null==Q?void 0:Q.droppable},dragOverlay:{...ht.dragOverlay,...null==Q?void 0:Q.dragOverlay}}),[null==Q?void 0:Q.draggable,null==Q?void 0:Q.droppable,null==Q?void 0:Q.dragOverlay]));var Q;const{droppableRects:Z,measureDroppableContainers:ee,measuringScheduled:te}=function(e,t){let{dragging:o,dependencies:r,config:a}=t;const[l,i]=n.useState(null),{frequency:s,measure:c,strategy:d}=a,u=n.useRef(e),p=function(){switch(d){case Ze.Always:return!1;case Ze.BeforeDragging:return o;default:return!o}}(),b=j(p),h=n.useCallback(function(e){void 0===e&&(e=[]),b.current||i(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[b]),f=n.useRef(null),g=N(t=>{if(p&&!o)return nt;if(!t||t===nt||u.current!==e||null!=l){const t=new Map;for(let n of e){if(!n)continue;if(l&&l.length>0&&!l.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,o=e?new Ee(c(e),e):null;n.rect.current=o,o&&t.set(n.id,o)}return t}return t},[e,l,o,p,c]);return n.useEffect(()=>{u.current=e},[e]),n.useEffect(()=>{p||h()},[o,p]),n.useEffect(()=>{l&&l.length>0&&i(null)},[JSON.stringify(l)]),n.useEffect(()=>{p||"number"!=typeof s||null!==f.current||(f.current=setTimeout(()=>{h(),f.current=null},s))},[s,p,h,...r]),{droppableRects:g,measureDroppableContainers:h,measuringScheduled:null!=l}}(G,{dragging:S,dependencies:[P.x,P.y],config:J.droppable}),ne=function(e,t){const n=null!=t?e.get(t):void 0,o=n?n.node.current:null;return N(e=>{var n;return null==t?null:null!=(n=null!=o?o:e)?n:null},[o,t])}(D,R),oe=n.useMemo(()=>W?O(W):null,[W]),le=function(){const e=!1===(null==I?void 0:I.autoScrollEnabled),t="object"==typeof c?!1===c.enabled:!1===c,n=S&&!e&&!t;if("object"==typeof c)return{...c,enabled:n};return{enabled:n}}(),se=function(e,t){return ot(e,t)}(ne,J.draggable.measure);!function(e){let{activeNode:t,measure:o,initialRect:r,config:a=!0}=e;const l=n.useRef(!1),{x:i,y:s}="boolean"==typeof a?{x:a,y:a}:a;E(()=>{if(!i&&!s||!t)return void(l.current=!1);if(l.current||!r)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const n=ae(o(e),r);if(i||(n.x=0),s||(n.y=0),l.current=!0,Math.abs(n.x)>0||Math.abs(n.y)>0){const t=pe(e);t&&t.scrollBy({top:n.y,left:n.x})}},[t,i,s,r,o])}({activeNode:null!=R?D.get(R):null,config:le.layoutShiftCompensation,initialRect:se,measure:J.draggable.measure});const de=lt(ne,J.draggable.measure,se),he=lt(ne?ne.parentElement:null),fe=n.useRef({activatorEvent:null,active:null,activeNode:ne,collisionRect:null,collisions:null,droppableRects:Z,draggableNodes:D,draggingNode:null,draggingNodeRect:null,droppableContainers:L,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),me=L.getNodeFor(null==(t=fe.current.over)?void 0:t.id),ve=ut({measure:J.dragOverlay.measure}),ye=null!=(o=ve.nodeRef.current)?o:ne,we=S?null!=(a=ve.rect)?a:de:null,ke=Boolean(ve.nodeRef.current&&ve.rect),Ce=ae(Se=ke?null:de,ot(Se));var Se;const Re=ct(ye?w(ye):null),je=function(e){const t=n.useRef(e),o=N(n=>e?n&&n!==it&&e&&t.current&&e.parentNode===t.current.parentNode?n:ue(e):it,[e]);return n.useEffect(()=>{t.current=e},[e]),o}(S?null!=me?me:ne:null),Ne=function(e,t){void 0===t&&(t=ce);const[o]=e,r=ct(o?w(o):null),[a,l]=n.useState(dt);function i(){l(()=>e.length?e.map(e=>xe(e)?r:new Ee(t(e),e)):dt)}const s=rt({callback:i});return E(()=>{null==s||s.disconnect(),i(),e.forEach(e=>null==s?void 0:s.observe(e))},[e]),a}(je),De=function(e,t){let{transform:n,...o}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...o}),n):n}(h,{transform:{x:P.x-Ce.x,y:P.y-Ce.y,scaleX:1,scaleY:1},activatorEvent:W,active:B,activeNodeRect:de,containerNodeRect:he,draggingNodeRect:we,over:fe.current.over,overlayNodeRect:ve.rect,scrollableAncestors:je,scrollableAncestorRects:Ne,windowRect:Re}),Pe=oe?A(oe,P):null,Le=function(e){const[t,o]=n.useState(null),r=n.useRef(e),a=n.useCallback(e=>{const t=be(e.target);t&&o(e=>e?(e.set(t,ge(t)),new Map(e)):null)},[]);return n.useEffect(()=>{const t=r.current;if(e!==t){n(t);const l=e.map(e=>{const t=be(e);return t?(t.addEventListener("scroll",a,{passive:!0}),[t,ge(t)]):null}).filter(e=>null!=e);o(l.length?new Map(l):null),r.current=e}return()=>{n(e),n(t)};function n(e){e.forEach(e=>{const t=be(e);null==t||t.removeEventListener("scroll",a)})}},[a,e]),n.useMemo(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>A(e,t),_):ze(e):_,[e,t])}(je),Me=st(Le),Te=st(Le,[de]),Ae=A(De,Me),$e=we?ie(we,De):null,Be=B&&$e?p({active:B,collisionRect:$e,droppableRects:Z,droppableContainers:G,pointerCoordinates:Pe}):null,Oe=function(e,t){if(!e||0===e.length)return null;const[n]=e;return n[t]}(Be,"id"),[Fe,Ie]=n.useState(null),He=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(ke?De:A(De,Te),null!=(l=null==Fe?void 0:Fe.rect)?l:null,de),We=n.useRef(null),qe=n.useCallback((e,t)=>{let{sensor:n,options:o}=t;if(null==F.current)return;const a=D.get(F.current);if(!a)return;const l=e.nativeEvent,i=new n({active:F.current,activeNode:a,event:l,options:o,context:fe,onAbort(e){if(!D.get(e))return;const{onDragAbort:t}=K.current,n={id:e};null==t||t(n),y({type:"onDragAbort",event:n})},onPending(e,t,n,o){if(!D.get(e))return;const{onDragPending:r}=K.current,a={id:e,constraint:t,initialCoordinates:n,offset:o};null==r||r(a),y({type:"onDragPending",event:a})},onStart(e){const t=F.current;if(null==t)return;const n=D.get(t);if(!n)return;const{onDragStart:o}=K.current,a={activatorEvent:l,active:{id:t,data:n.data,rect:$}};r.unstable_batchedUpdates(()=>{null==o||o(a),z(zt.Initializing),x({type:X.DragStart,initialCoordinates:e,active:t}),y({type:"onDragStart",event:a}),H(We.current),q(l)})},onMove(e){x({type:X.DragMove,coordinates:e})},onEnd:s(X.DragEnd),onCancel:s(X.DragCancel)});function s(e){return async function(){const{active:t,collisions:n,over:o,scrollAdjustedTranslate:a}=fe.current;let i=null;if(t&&a){const{cancelDrop:r}=K.current;if(i={activatorEvent:l,active:t,collisions:n,delta:a,over:o},e===X.DragEnd&&"function"==typeof r){await Promise.resolve(r(i))&&(e=X.DragCancel)}}F.current=null,r.unstable_batchedUpdates(()=>{x({type:e}),z(zt.Uninitialized),Ie(null),H(null),q(null),We.current=null;const t=e===X.DragEnd?"onDragEnd":"onDragCancel";if(i){const e=K.current[t];null==e||e(i),y({type:t,event:i})}})}}We.current=i},[D]),Ue=function(e,t){return n.useMemo(()=>e.reduce((e,n)=>{const{sensor:o}=n;return[...e,...o.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(u,n.useCallback((e,t)=>(n,o)=>{const r=n.nativeEvent,a=D.get(o);if(null!==F.current||!a||r.dndKit||r.defaultPrevented)return;const l={active:a};!0===e(n,t.options,l)&&(r.dndKit={capturedBy:t.sensor},F.current=o,qe(n,t))},[D,qe]));!function(e){n.useEffect(()=>{if(!v)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(u),E(()=>{de&&C===zt.Initializing&&z(zt.Initialized)},[de,C]),n.useEffect(()=>{const{onDragMove:e}=K.current,{active:t,activatorEvent:n,collisions:o,over:a}=fe.current;if(!t||!n)return;const l={active:t,activatorEvent:n,collisions:o,delta:{x:Ae.x,y:Ae.y},over:a};r.unstable_batchedUpdates(()=>{null==e||e(l),y({type:"onDragMove",event:l})})},[Ae.x,Ae.y]),n.useEffect(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:o,scrollAdjustedTranslate:a}=fe.current;if(!e||null==F.current||!t||!a)return;const{onDragOver:l}=K.current,i=o.get(Oe),s=i&&i.rect.current?{id:i.id,rect:i.rect.current,data:i.data,disabled:i.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:a.x,y:a.y},over:s};r.unstable_batchedUpdates(()=>{Ie(s),null==l||l(c),y({type:"onDragOver",event:c})})},[Oe]),E(()=>{fe.current={activatorEvent:W,active:B,activeNode:ne,collisionRect:$e,collisions:Be,droppableRects:Z,draggableNodes:D,draggingNode:ye,draggingNodeRect:we,droppableContainers:L,over:Fe,scrollableAncestors:je,scrollAdjustedTranslate:Ae},$.current={initial:we,translated:$e}},[B,ne,Be,$e,D,ye,we,Z,L,Fe,je,Ae]),_e({...le,delta:P,draggingRect:$e,pointerCoordinates:Pe,scrollableAncestors:je,scrollableAncestorRects:Ne});const Ke=n.useMemo(()=>({active:B,activeNode:ne,activeNodeRect:de,activatorEvent:W,collisions:Be,containerNodeRect:he,dragOverlay:ve,draggableNodes:D,droppableContainers:L,droppableRects:Z,over:Fe,measureDroppableContainers:ee,scrollableAncestors:je,scrollableAncestorRects:Ne,measuringConfiguration:J,measuringScheduled:te,windowRect:Re}),[B,ne,de,W,Be,he,ve,D,L,Z,Fe,ee,je,Ne,J,te,Re]),Ye=n.useMemo(()=>({activatorEvent:W,activators:Ue,active:B,activeNodeRect:de,ariaDescribedById:{draggable:Y},dispatch:x,draggableNodes:D,over:Fe,measureDroppableContainers:ee}),[W,Ue,B,de,x,Y,D,Fe,ee]);return n.createElement(U.Provider,{value:k},n.createElement(vt.Provider,{value:Ye},n.createElement(xt.Provider,{value:Ke},n.createElement(Ct.Provider,{value:He},d)),n.createElement(kt,{disabled:!1===(null==s?void 0:s.restoreFocus)})),n.createElement(V,{...s,hiddenTextDescribedById:Y}))}),Rt=n.createContext(null),jt="button";function Nt(e){let{id:t,data:o,disabled:r=!1,attributes:a}=e;const l=M("Draggable"),{activators:i,activatorEvent:s,active:c,activeNodeRect:d,ariaDescribedById:u,draggableNodes:p,over:b}=n.useContext(vt),{role:h=jt,roleDescription:f="draggable",tabIndex:g=0}=null!=a?a:{},m=(null==c?void 0:c.id)===t,v=n.useContext(m?Ct:Rt),[x,y]=D(),[w,k]=D(),C=function(e,t){return n.useMemo(()=>e.reduce((e,n)=>{let{eventName:o,handler:r}=n;return e[o]=e=>{r(e,t)},e},{}),[e,t])}(i,t),z=j(o);E(()=>(p.set(t,{id:t,key:l,node:x,activatorNode:w,data:z}),()=>{const e=p.get(t);e&&e.key===l&&p.delete(t)}),[p,t]);return{active:c,activatorEvent:s,activeNodeRect:d,attributes:n.useMemo(()=>({role:h,tabIndex:g,"aria-disabled":r,"aria-pressed":!(!m||h!==jt)||void 0,"aria-roledescription":f,"aria-describedby":u.draggable}),[r,h,g,m,f,u.draggable]),isDragging:m,listeners:r?void 0:C,node:x,over:b,setNodeRef:y,setActivatorNodeRef:k,transform:v}}const Dt={timeout:25};const Pt=({slotPosition:e,isEditing:o,isDragging:r,children:a})=>{const{attributes:l,listeners:i,setNodeRef:s,transform:c}=Nt({id:`slot-${e}`,data:{slotPosition:e},disabled:!o}),{setNodeRef:d,isOver:u}=function(e){let{data:t,disabled:o=!1,id:r,resizeObserverConfig:a}=e;const l=M("Droppable"),{active:i,dispatch:s,over:c,measureDroppableContainers:d}=n.useContext(vt),u=n.useRef({disabled:o}),p=n.useRef(!1),b=n.useRef(null),h=n.useRef(null),{disabled:f,updateMeasurementsFor:g,timeout:m}={...Dt,...a},v=j(null!=g?g:r),x=rt({callback:n.useCallback(()=>{p.current?(null!=h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{d(Array.isArray(v.current)?v.current:[v.current]),h.current=null},m)):p.current=!0},[m]),disabled:f||!i}),y=n.useCallback((e,t)=>{x&&(t&&(x.unobserve(t),p.current=!1),e&&x.observe(e))},[x]),[w,k]=D(y),C=j(t);return n.useEffect(()=>{x&&w.current&&(x.disconnect(),p.current=!1,x.observe(w.current))},[w,x]),n.useEffect(()=>(s({type:X.RegisterDroppable,element:{id:r,key:l,disabled:o,node:w,rect:b,data:C}}),()=>s({type:X.UnregisterDroppable,key:l,id:r})),[r]),n.useEffect(()=>{o!==u.current.disabled&&(s({type:X.SetDroppableDisabled,id:r,key:l,disabled:o}),u.current.disabled=o)},[r,l,o,s]),{active:i,rect:b,isOver:(null==c?void 0:c.id)===r,node:w,over:c,setNodeRef:k}}({id:`drop-${e}`,data:{slotPosition:e}}),p={position:"relative",height:"100%",width:"100%",transform:c?`translate3d(${c.x}px, ${c.y}px, 0)`:void 0},b=n.useCallback(e=>{s(e),d(e)},[s,d]);return t.jsxs("div",{ref:b,style:p,className:`slot-with-overlay ${o?"edit-mode":""} ${r?"dragging":""} ${u?"drag-over":""}`,children:[a,o&&t.jsxs("div",{className:"slot-edit-overlay",...l,...i,children:[t.jsx("div",{className:"drag-indicator",children:"⋮⋮"}),t.jsx("div",{className:"slot-position-label",children:e.toUpperCase()})]})]})},Lt=n.forwardRef(({isEditMode:e,onLayoutChange:o,panels:r,layout:a,...l},i)=>{const[s,c]=n.useState(null),[d,u]=n.useState({x:0,y:0}),p=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return n.useMemo(()=>[...t].filter(e=>null!=e),[...t])}((b=We,h={activationConstraint:{distance:8}},n.useMemo(()=>({sensor:b,options:null!=h?h:{}}),[b,h])));var b,h;const g=n.useCallback(e=>{const t=e.active.id;if(t.startsWith("slot-")){const e=t.replace("slot-","");c(e),u({x:0,y:0})}},[]),m=n.useCallback(e=>{const{delta:t}=e;u({x:t.x,y:t.y})},[]),v=n.useCallback(e=>{const{active:t,over:n}=e;if(c(null),u({x:0,y:0}),!n)return;const r=t.id,l=n.id,i=r.replace("slot-",""),s=l.replace("drop-","");if(i===s)return;const d={...a},p=d[i];d[i]=d[s],d[s]=p,o&&o(d)},[a,o]);n.useEffect(()=>{if(!s||!e)return;const t=document.querySelector(`[data-slot="${s}"]`);return t&&(t.setAttribute("data-dragging","true"),t.style.setProperty("transform",`scale(0.95) translate(${d.x}px, ${d.y}px)`,"important"),t.style.setProperty("z-index","1000","important"),t.style.setProperty("transition","none","important"),t.style.setProperty("opacity","0.95","important"),t.style.setProperty("box-shadow","0 12px 24px rgba(0, 0, 0, 0.25)","important")),()=>{t&&(t.removeAttribute("data-dragging"),t.style.removeProperty("transform"),t.style.removeProperty("z-index"),t.style.removeProperty("transition"),t.style.removeProperty("opacity"),t.style.removeProperty("box-shadow"))}},[s,d,e]);const x={left:{"data-slot":"left","data-edit-mode":e?"true":"false"},middle:{"data-slot":"middle","data-edit-mode":e?"true":"false"},right:{"data-slot":"right","data-edit-mode":e?"true":"false"}};return t.jsx(Et,{sensors:p,collisionDetection:ne,onDragStart:g,onDragMove:m,onDragEnd:v,children:t.jsxs("div",{className:"editable-panel-layout "+(e?"edit-mode-active":""),children:[t.jsx(f,{ref:i,...l,panels:r,layout:a,slotDataAttributes:x}),e&&t.jsx(Mt,{layout:a,activeSlot:s,onDragStart:()=>{},onDragEnd:()=>{}})]})})});Lt.displayName="EditableConfigurablePanelLayout";const Mt=({layout:e,activeSlot:o})=>{const[r,a]=n.useState(new Map);return n.useEffect(()=>{const e=()=>{const e=new Map;["left","middle","right"].forEach(t=>{const n=document.querySelector(`[data-slot="${t}"]`);if(n){const o=n.getBoundingClientRect();e.set(t,o)}}),a(e)};e(),window.addEventListener("resize",e);const t=setInterval(e,100);return()=>{window.removeEventListener("resize",e),clearInterval(t)}},[e]),t.jsx("div",{style:{pointerEvents:"none",position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:999},children:["left","middle","right"].map(n=>{if(!e[n])return null;const a=r.get(n);if(!a)return null;const l=o===n;return t.jsx("div",{style:{position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"auto"},children:t.jsx(Pt,{slotPosition:n,isEditing:!0,isDragging:l,children:t.jsx("div",{style:{height:"100%"}})})},n)})})},Tt=e=>null!=e&&"object"==typeof e&&"type"in e,At=e=>null==e?[]:"string"==typeof e?[e]:Tt(e)?e.panels:[];e.AnimatedResizableLayout=({leftPanel:e,rightPanel:r,collapsibleSide:a="left",defaultSize:l=25,minSize:s=5,className:c="",collapsed:d=!1,style:u,showCollapseButton:p=!1,animationDuration:b=300,animationEasing:h="cubic-bezier(0.4, 0, 0.2, 1)",onCollapseStart:f,onCollapseComplete:g,onExpandStart:m,onExpandComplete:v,theme:x})=>{const[y,w]=n.useState(d),[k,C]=n.useState(!1),[z,S]=n.useState(!1),[E,R]=n.useState(d),[j,N]=n.useState(d?0:l),D=n.useRef(null),P=n.useRef(void 0),L=n.useRef(void 0),M=n.useRef(void 0),T=n.useCallback((e,t,n)=>{if(!D.current)return;P.current&&cancelAnimationFrame(P.current),L.current=performance.now();const o=r=>{if(!L.current||!D.current)return;const a=r-L.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;D.current.resize(s),l<1?P.current=requestAnimationFrame(o):(0===t?D.current.collapse():D.current.resize(t),C(!1),n&&n())};P.current=requestAnimationFrame(o)},[b]),A=n.useCallback(()=>{k||z||(C(!0),w(!0),f&&f(),T(j,0,()=>{N(0),R(!0),g&&g()}))},[k,z,j,T,f,g]),$=n.useCallback(()=>{k||z||(C(!0),w(!1),R(!1),m&&m(),T(0,l,()=>{N(l),v&&v()}))},[k,z,l,T,m,v]),B=n.useCallback(()=>{y?$():A()},[y,A,$]),O=n.useCallback(e=>{if(!k){const t=e.asPercentage;N(t),t>0&&w(!1)}},[k]),F=n.useCallback(()=>{k||S(!0)},[k]),I=n.useCallback(()=>{S(!1)},[]);n.useEffect(()=>{d!==y&&(d?A():$())},[d]),n.useEffect(()=>{d&&!k?R(!0):d||k||R(!1)},[d,k]),n.useEffect(()=>{const e=P.current,t=M.current;return()=>{e&&cancelAnimationFrame(e),t&&clearTimeout(t)}},[]);const H="left"===a,W=y?H?"▸":"◂":H?"◂":"▸",q=i(x),U=k&&!z?{transition:`flex ${b}ms ${h}`}:void 0,K=e=>{let t="hybrid-panel";return e&&(t+=" collapsible-panel",k&&!z&&(t+=" animating"),y&&(t+=" collapsed")),t};return t.jsx("div",{className:`animated-resizable-layout ${c}`,style:{...q,...u},children:t.jsxs(o.Group,{orientation:"horizontal",onLayoutChange:F,onLayoutChanged:I,children:[t.jsx(o.Panel,{panelRef:H?D:void 0,collapsible:H,defaultSize:H?d?"0%":`${l}%`:void 0,minSize:H?`${s}%`:"30%",collapsedSize:"0%",onResize:H?O:void 0,className:K(H),style:H?U:void 0,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:H&&y?0:1,transition:k?`opacity ${.5*b}ms ${h}`:"none"},children:e})}),t.jsx(o.Separator,{className:"resize-handle "+(E?"collapsed":""),style:E?{visibility:"hidden",width:0}:void 0,children:p&&t.jsx("div",{className:"handle-bar",children:t.jsx("button",{onClick:B,className:"collapse-toggle",disabled:k,"aria-label":y?"Expand panel":"Collapse panel",children:W})})}),t.jsx(o.Panel,{panelRef:H?void 0:D,collapsible:!H,defaultSize:H?void 0:d?"0%":`${l}%`,minSize:H?"30%":`${s}%`,collapsedSize:"0%",onResize:H?void 0:O,className:K(!H),style:H?void 0:U,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:!H&&y?0:1,transition:k?`opacity ${.5*b}ms ${h}`:"none"},children:r})})]})})},e.AnimatedVerticalLayout=({topPanel:e,bottomPanel:r,collapsiblePanels:a={top:!0,bottom:!0},defaultSizes:l={top:30,bottom:30},minSizes:s={top:5,bottom:5},className:c="",collapsed:d={top:!1,bottom:!1},style:u,showCollapseButtons:p=!1,animationDuration:b=300,animationEasing:h="cubic-bezier(0.4, 0, 0.2, 1)",theme:f,onTopCollapseStart:g,onTopCollapseComplete:m,onTopExpandStart:v,onTopExpandComplete:x,onBottomCollapseStart:y,onBottomCollapseComplete:w,onBottomExpandStart:k,onBottomExpandComplete:C,onPanelResize:z})=>{const[S,E]=n.useState(d.top||!1),[R,j]=n.useState(!1),[N,D]=n.useState(d.top?0:l.top),P=n.useRef(null),L=n.useRef(void 0),M=n.useRef(void 0),[T,A]=n.useState(d.bottom||!1),[$,B]=n.useState(!1),[O,F]=n.useState(d.bottom?0:l.bottom),I=n.useRef(null),H=n.useRef(void 0),W=n.useRef(void 0),[q,U]=n.useState(!1),K=n.useCallback((e,t,n)=>{if(!P.current)return;L.current&&cancelAnimationFrame(L.current),M.current=performance.now();const o=r=>{if(!M.current||!P.current)return;const a=r-M.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;P.current.resize(s),l<1?L.current=requestAnimationFrame(o):(0===t?P.current.collapse():P.current.resize(t),j(!1),n&&n())};L.current=requestAnimationFrame(o)},[b]),Y=n.useCallback((e,t,n)=>{if(!I.current)return;H.current&&cancelAnimationFrame(H.current),W.current=performance.now();const o=r=>{if(!W.current||!I.current)return;const a=r-W.current,l=Math.min(a/b,1),i=l<.5?4*l*l*l:1-Math.pow(-2*l+2,3)/2,s=e+(t-e)*i;I.current.resize(s),l<1?H.current=requestAnimationFrame(o):(0===t?I.current.collapse():I.current.resize(t),B(!1),n&&n())};H.current=requestAnimationFrame(o)},[b]),V=n.useCallback(()=>{R||q||!a.top||(j(!0),E(!0),g&&g(),K(N,0,()=>{D(0),m&&m()}))},[R,q,N,a.top,K,g,m]),X=n.useCallback(()=>{R||q||!a.top||(j(!0),E(!1),v&&v(),K(0,l.top,()=>{D(l.top),x&&x()}))},[R,q,l.top,a.top,K,v,x]),G=n.useCallback(()=>{S?X():V()},[S,V,X]),J=n.useCallback(()=>{$||q||!a.bottom||(B(!0),A(!0),y&&y(),Y(O,0,()=>{F(0),w&&w()}))},[$,q,O,a.bottom,Y,y,w]),_=n.useCallback(()=>{$||q||!a.bottom||(B(!0),A(!1),k&&k(),Y(0,l.bottom,()=>{F(l.bottom),C&&C()}))},[$,q,l.bottom,a.bottom,Y,k,C]),Q=n.useCallback(()=>{T?_():J()},[T,J,_]),Z=n.useCallback(e=>{if(!R){const t=e.asPercentage;D(t),t>0&&E(!1)}},[R]),ee=n.useCallback(e=>{if(!$){const t=e.asPercentage;F(t),t>0&&A(!1)}},[$]),te=n.useCallback(()=>{R||$||U(!0)},[R,$]),ne=n.useCallback(()=>{U(!1),z&&z({top:N,bottom:O})},[N,O,z]);n.useEffect(()=>{void 0!==d.top&&d.top!==S&&(d.top?V():X())},[d.top]),n.useEffect(()=>{void 0!==d.bottom&&d.bottom!==T&&(d.bottom?J():_())},[d.bottom]),n.useEffect(()=>()=>{L.current&&cancelAnimationFrame(L.current),H.current&&cancelAnimationFrame(H.current)},[]);const oe=i(f),re=R&&!q?{transition:`flex ${b}ms ${h}`}:void 0,ae=$&&!q?{transition:`flex ${b}ms ${h}`}:void 0;return t.jsx("div",{className:`animated-vertical-layout ${c}`,style:{...oe,...u},children:t.jsxs(o.Group,{orientation:"vertical",onLayoutChange:te,onLayoutChanged:ne,children:[t.jsx(o.Panel,{panelRef:P,collapsible:a.top,defaultSize:d.top?"0%":`${l.top}%`,minSize:`${s.top}%`,collapsedSize:"0%",onResize:Z,className:(()=>{let e="vertical-panel collapsible-panel";return R&&!q&&(e+=" animating"),S&&(e+=" collapsed"),e})(),style:re,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:S?0:1,transition:R?`opacity ${.5*b}ms ${h}`:"none"},children:e})}),t.jsx(o.Separator,{className:"vertical-resize-handle",children:p&&t.jsxs("div",{className:"handle-bar",children:[a.top&&t.jsx("button",{onClick:G,className:"collapse-toggle collapse-toggle-top",disabled:R,"aria-label":S?"Expand top panel":"Collapse top panel",children:S?"▾":"▴"}),a.bottom&&t.jsx("button",{onClick:Q,className:"collapse-toggle collapse-toggle-bottom",disabled:$,"aria-label":T?"Expand bottom panel":"Collapse bottom panel",children:T?"▴":"▾"})]})}),t.jsx(o.Panel,{panelRef:I,collapsible:a.bottom,defaultSize:d.bottom?"0%":`${l.bottom}%`,minSize:`${s.bottom}%`,collapsedSize:"0%",onResize:ee,className:(()=>{let e="vertical-panel collapsible-panel";return $&&!q&&(e+=" animating"),T&&(e+=" collapsed"),e})(),style:ae,children:t.jsx("div",{className:"panel-content-wrapper",style:{opacity:T?0:1,transition:$?`opacity ${.5*b}ms ${h}`:"none"},children:r})})]})})},e.CollapsibleSplitPane=({primaryContent:e,secondaryContent:n,collapsedHeader:o,collapsed:r=!0,onCollapsedChange:a,ratio:l=.3,onRatioChange:s,maxRatio:d=.8,collapsedHeight:u=28,hideHeader:p=!0,theme:b,className:h="",style:f,animationDuration:g=200,onCollapseStart:m,onCollapseComplete:v,onExpandStart:x,onExpandComplete:y})=>{const w=i(b);return n?t.jsx(c,{primaryContent:e,secondaryContent:n,collapsedHeader:o??{title:"Content"},collapsed:r,onCollapsedChange:a??(()=>{}),ratio:l,onRatioChange:s??(()=>{}),maxRatio:d,collapsedHeight:u,hideHeader:p,theme:b,className:h,style:f,animationDuration:g,onCollapseStart:m,onCollapseComplete:v,onExpandStart:x,onExpandComplete:y}):t.jsx("div",{className:`collapsible-split-pane ${h}`,style:{...w,...f},children:t.jsx("div",{className:"csp-primary-content-full",children:e})})},e.ConfigurablePanelLayout=f,e.EditableConfigurablePanelLayout=Lt,e.PanelBoundsProvider=b,e.PanelConfigurator=({availablePanels:e,currentLayout:o,onChange:r,className:l="",theme:i})=>{const s=a.useTheme(),c=i||s.theme,[d,u]=n.useState(null),p=n.useCallback(t=>t&&e.find(e=>e.id===t)||null,[e]),b=n.useCallback(()=>[...e].sort((e,t)=>e.label.localeCompare(t.label)),[e]),h=n.useCallback(e=>{const t=At(o.left),n=At(o.middle),r=At(o.right);return t.includes(e)||n.includes(e)||r.includes(e)},[o]),f=n.useCallback((e,t)=>{const n={...e};return["left","middle","right"].forEach(e=>{const o=n[e];if(o===t)n[e]=null;else if(null!=o&&Tt(o)){const r=o.panels.filter(e=>e!==t);0===r.length?n[e]=null:1===r.length?n[e]=r[0]:n[e]={...o,panels:r}}}),n},[]),g=n.useCallback((e,t)=>{const n=o[e];if(!Tt(n)||"tabs"!==n.type)return;const a=n.panels.filter(e=>e!==t),l={...o};l[e]={...n,panels:a},r(l)},[o,r]),m=n.useCallback((e,t)=>{t.stopPropagation();const n=o[e];if(Tt(n)&&"tabs"===n.type){const t={...o};t[e]=n.panels.length>0?n.panels[0]:null,r(t),u(null)}else{const t=n&&"string"==typeof n?[n]:[],a={...o};a[e]={type:"tabs",panels:t,config:{defaultActiveTab:0,tabPosition:"top"}},r(a),u({type:"slot",position:e})}},[o,r]),v=n.useCallback(e=>{if(d)if("slot"===d.type){if(d.position===e)return;const t={...o},n=t[d.position];t[d.position]=t[e],t[e]=n,r(t),u(null)}else{const t=o[e];if(Tt(t)&&"tabs"===t.type){if(t.panels.includes(d.id))return void g(e,d.id);const n=t,a=f(o,d.id);return a[e]={...n,panels:[...n.panels,d.id]},void r(a)}{const t=f(o,d.id);t[e]=d.id,r(t),u(null)}}else u({type:"slot",position:e})},[d,o,r,f,g]),x=n.useCallback(e=>{if(d)if("slot"===d.type){const t=o[d.position];if(Tt(t)&&"tabs"===t.type){if(t.panels.includes(e))return void g(d.position,e);const n=t,a=f(o,e);return a[d.position]={...n,panels:[...n.panels,e]},void r(a)}{const t=f(o,e);t[d.position]=e,r(t),u(null)}}else u({type:"panel",id:e});else u({type:"panel",id:e})},[d,o,r,f,g]),y=n.useCallback((e,t)=>{t.stopPropagation();const n={...o};n[e]=null,r(n),u(null)},[o,r]),w=n.useCallback((e,t,n)=>{n.stopPropagation();const a=o[e];if(!Tt(a)||"tabs"!==a.type)return;const l=a.panels.filter(e=>e!==t),i={...o};i[e]={...a,panels:l},r(i)},[o,r]),k=n.useCallback((e,t)=>{const n=o[e];if(!Tt(n)||"tabs"!==n.type)return;const a={...o};a[e]={...n,config:{...n.config,...t}},r(a)},[o,r]),C=b(),z=e=>{const t=o[e];return Tt(t)&&"tabs"===t.type},S={"--configurator-bg":c.colors.background,"--configurator-title":c.colors.textSecondary,"--slot-bg":c.colors.backgroundSecondary,"--slot-border":c.colors.border,"--slot-border-hover":c.colors.textTertiary,"--slot-border-selected":c.colors.primary,"--slot-bg-selected":c.colors.backgroundLight,"--slot-label":c.colors.textTertiary,"--slot-content-text":c.colors.text,"--slot-preview-bg":c.colors.backgroundTertiary,"--slot-preview-border":c.colors.border,"--slot-preview-text":c.colors.textMuted,"--slot-empty-text":c.colors.textMuted,"--panel-bg":c.colors.backgroundSecondary,"--panel-border":c.colors.border,"--panel-border-hover":c.colors.textSecondary,"--panel-border-selected":c.colors.primary,"--panel-bg-selected":c.colors.backgroundLight,"--panel-label-text":c.colors.text,"--panel-preview-bg":c.colors.backgroundTertiary,"--panel-preview-text":c.colors.textMuted,"--clear-btn-bg":c.colors.error,"--clear-btn-text":c.colors.background,"--clear-btn-hover":c.colors.error,"--hint-bg":c.colors.backgroundLight,"--hint-border":c.colors.primary,"--hint-text":c.colors.text};return t.jsxs("div",{className:`panel-configurator ${l}`,style:S,children:[t.jsxs("div",{className:"configurator-section",children:[t.jsx("h3",{className:"section-title",children:"Panel Layout (3 Slots)"}),t.jsx("div",{className:"slots-container",children:["left","middle","right"].map(e=>{const n=o[e],r=(e=>"slot"===d?.type&&d.position===e)(e),a=Tt(n)&&"tabs"===n.type,l=null!==n;return t.jsxs("div",{"data-position":e,className:`slot ${r?"selected":""} ${l?"filled":"empty"} ${a?"tab-group":""}`,onClick:()=>v(e),children:[t.jsx("button",{className:"tab-mode-toggle "+(a?"active":""),onClick:t=>m(e,t),title:a?"Disable tab mode":"Enable tab mode",children:t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",children:t.jsx("path",{d:"M2 2h4v2H2V2zm5 0h4v2H7V2zm5 0h2v2h-2V2zM2 5h12v9H2V5zm1 1v7h10V6H3z"})})}),null===n?t.jsx("div",{className:"slot-empty-state",children:a?"Click panels to add tabs":"Empty"}):Tt(n)?t.jsxs("div",{className:"slot-content group-content",children:["tabs"===n.type&&n.panels.length>0&&t.jsx("div",{className:"tab-config-controls",children:t.jsxs("label",{className:"tab-config-label",children:["Tabs:",t.jsxs("select",{value:n.config?.tabPosition||"top",onChange:t=>k(e,{tabPosition:t.target.value}),onClick:e=>e.stopPropagation(),children:[t.jsx("option",{value:"top",children:"Top (centered)"}),t.jsx("option",{value:"bottom",children:"Bottom (centered)"}),t.jsx("option",{value:"left",children:"Left"}),t.jsx("option",{value:"right",children:"Right"})]})]})}),t.jsx("div",{className:"group-panels",children:0===n.panels.length?t.jsx("div",{className:"slot-empty-state",children:"Click panels to add tabs"}):n.panels.map((o,r)=>{const a=p(o),l="tabs"===n.type&&(n.config?.defaultActiveTab??0)===r;return a?t.jsxs("div",{className:"group-panel-item",children:[t.jsxs("span",{className:"group-panel-label",children:[a.label,l&&t.jsx("span",{className:"default-badge",children:"★"})]}),t.jsx("button",{className:"remove-from-group-btn",onClick:t=>w(e,o,t),title:`Remove ${a.label}`,children:"×"})]},o):null})})]}):t.jsxs("div",{className:"slot-content",children:["string"==typeof n&&p(n)?.preview&&t.jsx("div",{className:"slot-preview",children:p(n)?.preview}),t.jsx("div",{className:"slot-panel-label",children:"string"==typeof n?p(n)?.label:""}),t.jsx("button",{className:"slot-clear-btn",onClick:t=>y(e,t),"aria-label":`Remove ${"string"==typeof n?p(n)?.label:"panel"} from ${e} slot`,children:"×"})]})]},e)})})]}),t.jsxs("div",{className:"configurator-section",children:[t.jsx("h3",{className:"section-title",children:"Available Panels"}),t.jsx("div",{className:"available-panels",children:C.map(e=>{const n=(o=e.id,"panel"===d?.type&&d.id===o);var o;const r=h(e.id);return t.jsxs("div",{className:`available-panel ${n?"selected":""} ${r?"in-use":""}`,onClick:()=>x(e.id),children:[t.jsx("div",{className:"panel-label",children:e.label}),e.preview&&t.jsx("div",{className:"panel-preview",children:e.preview})]},e.id)})})]}),d&&t.jsx("div",{className:"selection-hint",children:"slot"===d.type?z(d.position)?t.jsxs(t.Fragment,{children:["Selected: ",d.position," slot (Tab Mode). Click panels to add them to the tab group."]}):t.jsxs(t.Fragment,{children:["Selected: ",d.position," slot. Click another slot to swap, or click a panel to assign."]}):t.jsxs(t.Fragment,{children:["Selected: ",p(d.id)?.label,". Click a slot to assign",z("left")||z("middle")||z("right")?" (or add to tab group)":"","."]})}),t.jsxs("div",{className:"usage-hint",children:[t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",style:{verticalAlign:"text-bottom",marginRight:"4px"},children:t.jsx("path",{d:"M8 1a7 7 0 100 14A7 7 0 008 1zm0 1a6 6 0 110 12A6 6 0 018 2zm.5 3.5v3h-1v-3h1zm0 4v1h-1v-1h1z"})}),t.jsx("strong",{children:"Tip:"})," Toggle the tab icon on a slot to enable tab mode, then click panels to add multiple tabs."]})]})},e.ResponsiveConfigurablePanelLayout=({mobileBreakpoint:e="(max-width: 768px)",mobileCarouselProps:o,onMobilePanelChange:r,theme:a,layout:l,panels:i,...c})=>{const u=m(e),p=n.useRef(null),[b,h]=n.useState(0),v=n.useMemo(()=>[l?.left,l?.middle,l?.right],[l]),x=["left","middle","right"],y=n.useMemo(()=>{const e=e=>{if(!e)return null;const t=i.find(t=>t.id===e);return t?.content??null},n=e=>{const t=i.find(t=>t.id===e);return t?.label??e},o=e=>{const t=i.find(t=>t.id===e);return t?.icon??null};return v.map((r,l)=>((r,l)=>{if(null==r)return null;if("object"==typeof r&&"type"in r){const e=r;if("tabs"===e.type){const r=e.panels[0],s=e.panels.length>0?n(r):"Tab Group",c=e.panels.length>0?o(r):null;return{content:t.jsx(d,{panelIds:e.panels,panels:i,config:e.config,theme:a}),label:s,icon:c,slot:l}}return null}return{content:e(r),label:n(r),icon:o(r),slot:l}})(r,x[l])).filter(e=>null!==e)},[v,i,a]),w=e=>{h(e),o?.onPanelChange?.(e);const t=y[e]?.slot;t&&r?.(e,t)},{onPanelChange:k,...C}=o??{},z=s(a);if(u){if(0===y.length)return null;const e=y.map(e=>e.content);return t.jsxs("div",{className:"mobile-tab-layout",style:z,children:[t.jsx("div",{className:"mobile-tab-content",children:t.jsx(g,{ref:p,theme:a,panels:e,minPanelWidth:0,idealPanelWidth:1,disableSwipe:!0,onPanelChange:w,...C})}),t.jsx("nav",{className:"mobile-tab-nav",role:"tablist",children:y.map((e,n)=>t.jsxs("button",{role:"tab","aria-selected":n===b,className:"mobile-tab-button "+(n===b?"active":""),onClick:()=>(e=>{h(e),p.current?.scrollToPanel(e);const t=y[e]?.slot;t&&r?.(e,t)})(n),children:[e.icon&&t.jsx("span",{className:"tab-icon",children:e.icon}),t.jsx("span",{className:"tab-label",children:e.label})]},n))})]})}return t.jsx(f,{theme:a,layout:l,panels:i,...c})},e.SnapCarousel=g,e.TabGroup=d,e.mapThemeToPanelVars=i,e.mapThemeToTabVars=s,e.useMediaQuery=m,e.usePanelBounds=h,e.usePanelOffset=function(){const{bounds:e}=h();return{offsetX:e.x,offsetY:e.y}},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|