@industry-theme/github-panels 0.1.68 → 0.3.0
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.d.ts.map +1 -1
- package/dist/mocks/panelContext.d.ts +2 -1
- package/dist/mocks/panelContext.d.ts.map +1 -1
- package/dist/panels/GitHubIssueDetailPanel.d.ts.map +1 -1
- package/dist/panels/GitHubIssuesPanel.d.ts.map +1 -1
- package/dist/panels/GitHubMessagesPanel.d.ts.map +1 -1
- package/dist/panels/GitHubProjectsPanel.d.ts.map +1 -1
- package/dist/panels/GitHubSearchPanel.d.ts.map +1 -1
- package/dist/panels/OwnerRepositoriesPanel.d.ts.map +1 -1
- package/dist/panels.bundle.css +1 -1
- package/dist/panels.bundle.js +256 -99
- package/dist/panels.bundle.js.map +1 -1
- package/dist/types/github.d.ts.map +1 -1
- package/package.json +15 -13
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,SAAS,CAAC;AAGlE;;;GAGG;AAEH,eAAO,MAAM,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAsG7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,qBAGzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,qBAG3B,CAAC;AAGF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAChH,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAGlE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EAEzB,iBAAiB,EACjB,oBAAoB,EACpB,+BAA+B,EAE/B,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,SAAS,EAET,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,iCAAiC,EACjC,kBAAkB,EAClB,wBAAwB,EAExB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAE3B,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
|
@@ -2,8 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import type { PanelComponentProps, PanelContextValue, PanelActions, PanelEventEmitter } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Mock Panel Context for Storybook
|
|
5
|
+
* Generic type T allows adding panel-specific context properties (e.g., githubIssues, githubMessages)
|
|
5
6
|
*/
|
|
6
|
-
export declare const createMockContext: (overrides?: Partial<PanelContextValue>) => PanelContextValue;
|
|
7
|
+
export declare const createMockContext: <T extends Record<string, unknown> = Record<string, never>>(overrides?: T & Partial<PanelContextValue>) => PanelContextValue & T;
|
|
7
8
|
/**
|
|
8
9
|
* Mock Panel Actions for Storybook
|
|
9
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,
|
|
1
|
+
{"version":3,"file":"panelContext.d.ts","sourceRoot":"","sources":["../../src/mocks/panelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACzF,YAAY,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,KACzC,iBAAiB,GAAG,CAuBtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,OAAO,CAAC,YAAY,CAAC,KAChC,YAkBD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,iBAwCnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1C,CAMA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubIssueDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubIssueDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAe3D,OAAO,KAAK,EAGV,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GitHubIssueDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubIssueDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAe3D,OAAO,KAAK,EAGV,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAsmCzB;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAExE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;CAQ1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubIssuesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubIssuesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAepE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GitHubIssuesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubIssuesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAepE,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAgoBzB;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAE9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubMessagesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubMessagesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAyBxE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GitHubMessagesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubMessagesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAyBxE,OAAO,KAAK,EACV,wBAAwB,EAgBzB,MAAM,iBAAiB,CAAC;AAi7DzB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAElE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;CAQvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubProjectsPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubProjectsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GitHubProjectsPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubProjectsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAyfzB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAElE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;CAQvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubSearchPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubSearchPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GitHubSearchPanel.d.ts","sourceRoot":"","sources":["../../src/panels/GitHubSearchPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,EAIV,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAuWzB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAE9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;CAQrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerRepositoriesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/OwnerRepositoriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAazE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"OwnerRepositoriesPanel.d.ts","sourceRoot":"","sources":["../../src/panels/OwnerRepositoriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAazE,OAAO,KAAK,EAGV,gCAAgC,EACjC,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,2BAA4B,SAAQ,gCAAgC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAqpBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAExE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;CAQ1C,CAAC"}
|
package/dist/panels.bundle.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.animated-resizable-layout{width:100%;height:100%;position:relative;background-color:var(--panel-background)}.hybrid-panel{overflow:auto;height:100%;background-color:var(--panel-background)}.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}.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}.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;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-item.collapsible-panel{will-change:flex}.three-panel-item.collapsible-panel.animating{pointer-events:none}.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}.three-panel-item.middle-panel{flex:1;min-width:200px}.panel-content-wrapper{flex:1;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;top:0;right:-10px;bottom:0;left:-10px;background:transparent}.resize-handle:after{content:"";position:absolute;top:0;right:-10px;bottom:0;left:-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}}.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}@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;top:0;right:0;bottom:0;left: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;top:0;right:0;bottom:0;left: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}
|
|
1
|
+
.animated-resizable-layout{width:100%;height:100%;position:relative;background-color:var(--panel-background)}.hybrid-panel{overflow:auto;height:100%;background-color:var(--panel-background)}.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}.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}.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;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-item.collapsible-panel{will-change:flex}.three-panel-item.collapsible-panel.animating{pointer-events:none}.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}.three-panel-item.middle-panel{flex:1;min-width:200px}.panel-content-wrapper{flex:1;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;top:0;right:-10px;bottom:0;left:-10px;background:transparent}.resize-handle:after{content:"";position:absolute;top:0;right:-10px;bottom:0;left:-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}}.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}@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;top:0;right:0;bottom:0;left: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;top:0;right:0;bottom:0;left: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}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -3760,100 +3760,266 @@ function panelDataHelper$1(panelDataArray, panelData, layout) {
|
|
|
3760
3760
|
pivotIndices
|
|
3761
3761
|
};
|
|
3762
3762
|
}
|
|
3763
|
-
function
|
|
3764
|
-
return {
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3763
|
+
function mapThemeToPanelVars(theme2) {
|
|
3764
|
+
return {
|
|
3765
|
+
"--panel-background": theme2.colors.background,
|
|
3766
|
+
"--panel-border": theme2.colors.border,
|
|
3767
|
+
"--panel-handle": theme2.colors.backgroundSecondary,
|
|
3768
|
+
"--panel-handle-hover": theme2.colors.backgroundHover,
|
|
3769
|
+
"--panel-handle-active": theme2.colors.primary,
|
|
3770
|
+
"--panel-button-bg": theme2.colors.surface,
|
|
3771
|
+
"--panel-button-hover": theme2.colors.backgroundHover,
|
|
3772
|
+
"--panel-button-border": theme2.colors.border,
|
|
3773
|
+
"--panel-button-icon": theme2.colors.textSecondary,
|
|
3774
|
+
"--panel-accent-bg": theme2.colors.primary + "15"
|
|
3775
|
+
// primary color with 15% opacity
|
|
3776
|
+
};
|
|
3777
|
+
}
|
|
3778
|
+
const SnapCarousel = forwardRef(({
|
|
3779
|
+
panels: panels2,
|
|
3780
|
+
className = "",
|
|
3781
|
+
style: style2,
|
|
3782
|
+
theme: theme2,
|
|
3783
|
+
minPanelWidth = 350,
|
|
3784
|
+
idealPanelWidth = 0.333,
|
|
3785
|
+
// 1/3 of container
|
|
3786
|
+
showSeparator = false,
|
|
3787
|
+
onPanelChange,
|
|
3788
|
+
preventKeyboardScroll = true,
|
|
3789
|
+
disableSwipe = false
|
|
3790
|
+
}, ref) => {
|
|
3791
|
+
const containerRef = useRef(null);
|
|
3792
|
+
const isProgrammaticScrollRef = useRef(false);
|
|
3793
|
+
const scrollTimeoutRef = useRef(null);
|
|
3794
|
+
const themeStyles = mapThemeToPanelVars(theme2);
|
|
3795
|
+
useImperativeHandle(ref, () => ({
|
|
3796
|
+
scrollToPanel: (index2) => {
|
|
3797
|
+
if (!containerRef.current) return;
|
|
3798
|
+
const container = containerRef.current;
|
|
3799
|
+
const targetPanel = container.children[index2];
|
|
3800
|
+
if (targetPanel) {
|
|
3801
|
+
isProgrammaticScrollRef.current = true;
|
|
3802
|
+
if (scrollTimeoutRef.current) {
|
|
3803
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
3804
|
+
}
|
|
3805
|
+
const scrollLeft = targetPanel.offsetLeft;
|
|
3806
|
+
container.scrollTo({
|
|
3807
|
+
left: scrollLeft,
|
|
3808
|
+
behavior: "smooth"
|
|
3809
|
+
});
|
|
3810
|
+
scrollTimeoutRef.current = setTimeout(() => {
|
|
3811
|
+
isProgrammaticScrollRef.current = false;
|
|
3812
|
+
}, 500);
|
|
3813
|
+
}
|
|
3814
|
+
},
|
|
3815
|
+
getCurrentPanel: () => {
|
|
3816
|
+
if (!containerRef.current || containerRef.current.children.length === 0) return 0;
|
|
3817
|
+
const container = containerRef.current;
|
|
3818
|
+
const containerRect = container.getBoundingClientRect();
|
|
3819
|
+
const snapPointX = containerRect.left;
|
|
3820
|
+
let closestIndex = 0;
|
|
3821
|
+
let closestDistance = Infinity;
|
|
3822
|
+
for (let i = 0; i < container.children.length; i++) {
|
|
3823
|
+
const panel = container.children[i];
|
|
3824
|
+
const panelRect = panel.getBoundingClientRect();
|
|
3825
|
+
const distance = Math.abs(panelRect.left - snapPointX);
|
|
3826
|
+
if (distance < closestDistance) {
|
|
3827
|
+
closestDistance = distance;
|
|
3828
|
+
closestIndex = i;
|
|
3829
|
+
}
|
|
3830
|
+
}
|
|
3831
|
+
return closestIndex;
|
|
3777
3832
|
}
|
|
3778
|
-
}
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3833
|
+
}));
|
|
3834
|
+
const handleScroll = (_e2) => {
|
|
3835
|
+
if (!onPanelChange || !containerRef.current || containerRef.current.children.length === 0) return;
|
|
3836
|
+
if (isProgrammaticScrollRef.current) return;
|
|
3837
|
+
const container = containerRef.current;
|
|
3838
|
+
const containerRect = container.getBoundingClientRect();
|
|
3839
|
+
const snapPointX = containerRect.left;
|
|
3840
|
+
let closestIndex = 0;
|
|
3841
|
+
let closestDistance = Infinity;
|
|
3842
|
+
for (let i = 0; i < container.children.length; i++) {
|
|
3843
|
+
const panel = container.children[i];
|
|
3844
|
+
const panelRect = panel.getBoundingClientRect();
|
|
3845
|
+
const distance = Math.abs(panelRect.left - snapPointX);
|
|
3846
|
+
if (distance < closestDistance) {
|
|
3847
|
+
closestDistance = distance;
|
|
3848
|
+
closestIndex = i;
|
|
3849
|
+
}
|
|
3850
|
+
}
|
|
3851
|
+
onPanelChange(closestIndex);
|
|
3852
|
+
};
|
|
3788
3853
|
useEffect(() => {
|
|
3789
|
-
if (!
|
|
3790
|
-
const
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3854
|
+
if (!preventKeyboardScroll || !containerRef.current) return;
|
|
3855
|
+
const container = containerRef.current;
|
|
3856
|
+
const handleKeyDown = (e) => {
|
|
3857
|
+
const target = e.target;
|
|
3858
|
+
const isInteractive = target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.tagName === "SELECT" || target.isContentEditable || target.closest(".xterm") !== null || // Terminal elements
|
|
3859
|
+
target.closest('[contenteditable="true"]') !== null;
|
|
3860
|
+
if (isInteractive) {
|
|
3861
|
+
return;
|
|
3862
|
+
}
|
|
3863
|
+
const scrollKeys = [" ", "Space", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "PageUp", "PageDown"];
|
|
3864
|
+
if (scrollKeys.includes(e.key)) {
|
|
3865
|
+
e.preventDefault();
|
|
3866
|
+
}
|
|
3794
3867
|
};
|
|
3795
|
-
|
|
3796
|
-
|
|
3868
|
+
container.addEventListener("keydown", handleKeyDown);
|
|
3869
|
+
return () => {
|
|
3870
|
+
container.removeEventListener("keydown", handleKeyDown);
|
|
3871
|
+
};
|
|
3872
|
+
}, [preventKeyboardScroll]);
|
|
3873
|
+
useEffect(() => {
|
|
3874
|
+
return () => {
|
|
3875
|
+
if (scrollTimeoutRef.current) {
|
|
3876
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
3877
|
+
}
|
|
3797
3878
|
};
|
|
3798
|
-
}, [f]), useEffect(() => () => {
|
|
3799
|
-
w.current && clearTimeout(w.current);
|
|
3800
3879
|
}, []);
|
|
3801
|
-
const
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3880
|
+
const panelCount = panels2.length;
|
|
3881
|
+
const twoPanelThreshold = minPanelWidth * 2;
|
|
3882
|
+
let panelWidth;
|
|
3883
|
+
if (panelCount === 1) {
|
|
3884
|
+
panelWidth = "100%";
|
|
3885
|
+
} else if (panelCount === 2) {
|
|
3886
|
+
panelWidth = "100%";
|
|
3887
|
+
} else {
|
|
3888
|
+
panelWidth = `max(${minPanelWidth}px, ${idealPanelWidth * 100}%)`;
|
|
3889
|
+
}
|
|
3890
|
+
const carouselId = React2__default.useId().replace(/:/g, "_");
|
|
3891
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3892
|
+
panelCount === 2 && /* @__PURE__ */ jsx("style", { children: `
|
|
3893
|
+
.snap-carousel-container[data-carousel-id="${carouselId}"][data-panel-count="2"] .snap-carousel-panel {
|
|
3808
3894
|
width: 100%;
|
|
3809
3895
|
}
|
|
3810
|
-
@container (min-width: ${
|
|
3811
|
-
.snap-carousel-container[data-carousel-id="${
|
|
3896
|
+
@container (min-width: ${twoPanelThreshold}px) {
|
|
3897
|
+
.snap-carousel-container[data-carousel-id="${carouselId}"][data-panel-count="2"] .snap-carousel-panel {
|
|
3812
3898
|
width: 50%;
|
|
3813
3899
|
}
|
|
3814
3900
|
}
|
|
3815
3901
|
` }),
|
|
3816
|
-
/* @__PURE__ */ jsx(
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3902
|
+
/* @__PURE__ */ jsx(
|
|
3903
|
+
"div",
|
|
3904
|
+
{
|
|
3905
|
+
ref: containerRef,
|
|
3906
|
+
className: `snap-carousel-container ${disableSwipe ? "swipe-disabled" : ""} ${className}`,
|
|
3907
|
+
style: {
|
|
3908
|
+
...themeStyles,
|
|
3909
|
+
...style2,
|
|
3910
|
+
"--snap-carousel-min-width": `${minPanelWidth}px`,
|
|
3911
|
+
"--snap-carousel-ideal-width": `${idealPanelWidth * 100}%`,
|
|
3912
|
+
"--snap-carousel-gap": showSeparator ? "1px" : "0px",
|
|
3913
|
+
"--snap-carousel-panel-width": panelWidth,
|
|
3914
|
+
"--snap-carousel-panel-count": panelCount,
|
|
3915
|
+
"--snap-carousel-two-panel-threshold": `${twoPanelThreshold}px`
|
|
3916
|
+
},
|
|
3917
|
+
onScroll: handleScroll,
|
|
3918
|
+
"data-panel-count": panelCount,
|
|
3919
|
+
"data-carousel-id": carouselId,
|
|
3920
|
+
children: panels2.map((panel, index2) => /* @__PURE__ */ jsx("div", { className: "snap-carousel-panel", children: panel }, index2))
|
|
3921
|
+
}
|
|
3922
|
+
)
|
|
3827
3923
|
] });
|
|
3828
3924
|
});
|
|
3829
|
-
|
|
3830
|
-
var
|
|
3831
|
-
(
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3925
|
+
SnapCarousel.displayName = "SnapCarousel";
|
|
3926
|
+
var Action;
|
|
3927
|
+
(function(Action2) {
|
|
3928
|
+
Action2["DragStart"] = "dragStart";
|
|
3929
|
+
Action2["DragMove"] = "dragMove";
|
|
3930
|
+
Action2["DragEnd"] = "dragEnd";
|
|
3931
|
+
Action2["DragCancel"] = "dragCancel";
|
|
3932
|
+
Action2["DragOver"] = "dragOver";
|
|
3933
|
+
Action2["RegisterDroppable"] = "registerDroppable";
|
|
3934
|
+
Action2["SetDroppableDisabled"] = "setDroppableDisabled";
|
|
3935
|
+
Action2["UnregisterDroppable"] = "unregisterDroppable";
|
|
3936
|
+
})(Action || (Action = {}));
|
|
3937
|
+
const defaultCoordinates = /* @__PURE__ */ Object.freeze({
|
|
3938
|
+
x: 0,
|
|
3939
|
+
y: 0
|
|
3940
|
+
});
|
|
3941
|
+
var Direction;
|
|
3942
|
+
(function(Direction2) {
|
|
3943
|
+
Direction2[Direction2["Forward"] = 1] = "Forward";
|
|
3944
|
+
Direction2[Direction2["Backward"] = -1] = "Backward";
|
|
3945
|
+
})(Direction || (Direction = {}));
|
|
3946
|
+
var EventName;
|
|
3947
|
+
(function(EventName2) {
|
|
3948
|
+
EventName2["Click"] = "click";
|
|
3949
|
+
EventName2["DragStart"] = "dragstart";
|
|
3950
|
+
EventName2["Keydown"] = "keydown";
|
|
3951
|
+
EventName2["ContextMenu"] = "contextmenu";
|
|
3952
|
+
EventName2["Resize"] = "resize";
|
|
3953
|
+
EventName2["SelectionChange"] = "selectionchange";
|
|
3954
|
+
EventName2["VisibilityChange"] = "visibilitychange";
|
|
3955
|
+
})(EventName || (EventName = {}));
|
|
3956
|
+
var KeyboardCode;
|
|
3957
|
+
(function(KeyboardCode2) {
|
|
3958
|
+
KeyboardCode2["Space"] = "Space";
|
|
3959
|
+
KeyboardCode2["Down"] = "ArrowDown";
|
|
3960
|
+
KeyboardCode2["Right"] = "ArrowRight";
|
|
3961
|
+
KeyboardCode2["Left"] = "ArrowLeft";
|
|
3962
|
+
KeyboardCode2["Up"] = "ArrowUp";
|
|
3963
|
+
KeyboardCode2["Esc"] = "Escape";
|
|
3964
|
+
KeyboardCode2["Enter"] = "Enter";
|
|
3965
|
+
KeyboardCode2["Tab"] = "Tab";
|
|
3966
|
+
})(KeyboardCode || (KeyboardCode = {}));
|
|
3967
|
+
({
|
|
3968
|
+
start: [KeyboardCode.Space, KeyboardCode.Enter],
|
|
3969
|
+
cancel: [KeyboardCode.Esc],
|
|
3970
|
+
end: [KeyboardCode.Space, KeyboardCode.Enter, KeyboardCode.Tab]
|
|
3971
|
+
});
|
|
3972
|
+
var MouseButton;
|
|
3973
|
+
(function(MouseButton2) {
|
|
3974
|
+
MouseButton2[MouseButton2["RightClick"] = 2] = "RightClick";
|
|
3975
|
+
})(MouseButton || (MouseButton = {}));
|
|
3976
|
+
var AutoScrollActivator;
|
|
3977
|
+
(function(AutoScrollActivator2) {
|
|
3978
|
+
AutoScrollActivator2[AutoScrollActivator2["Pointer"] = 0] = "Pointer";
|
|
3979
|
+
AutoScrollActivator2[AutoScrollActivator2["DraggableRect"] = 1] = "DraggableRect";
|
|
3980
|
+
})(AutoScrollActivator || (AutoScrollActivator = {}));
|
|
3981
|
+
var TraversalOrder;
|
|
3982
|
+
(function(TraversalOrder2) {
|
|
3983
|
+
TraversalOrder2[TraversalOrder2["TreeOrder"] = 0] = "TreeOrder";
|
|
3984
|
+
TraversalOrder2[TraversalOrder2["ReversedTreeOrder"] = 1] = "ReversedTreeOrder";
|
|
3985
|
+
})(TraversalOrder || (TraversalOrder = {}));
|
|
3986
|
+
({
|
|
3987
|
+
x: {
|
|
3988
|
+
[Direction.Backward]: false,
|
|
3989
|
+
[Direction.Forward]: false
|
|
3990
|
+
},
|
|
3991
|
+
y: {
|
|
3992
|
+
[Direction.Backward]: false,
|
|
3993
|
+
[Direction.Forward]: false
|
|
3854
3994
|
}
|
|
3855
|
-
|
|
3856
|
-
|
|
3995
|
+
});
|
|
3996
|
+
var MeasuringStrategy;
|
|
3997
|
+
(function(MeasuringStrategy2) {
|
|
3998
|
+
MeasuringStrategy2[MeasuringStrategy2["Always"] = 0] = "Always";
|
|
3999
|
+
MeasuringStrategy2[MeasuringStrategy2["BeforeDragging"] = 1] = "BeforeDragging";
|
|
4000
|
+
MeasuringStrategy2[MeasuringStrategy2["WhileDragging"] = 2] = "WhileDragging";
|
|
4001
|
+
})(MeasuringStrategy || (MeasuringStrategy = {}));
|
|
4002
|
+
var MeasuringFrequency;
|
|
4003
|
+
(function(MeasuringFrequency2) {
|
|
4004
|
+
MeasuringFrequency2["Optimized"] = "optimized";
|
|
4005
|
+
})(MeasuringFrequency || (MeasuringFrequency = {}));
|
|
4006
|
+
({
|
|
4007
|
+
droppable: {
|
|
4008
|
+
strategy: MeasuringStrategy.WhileDragging,
|
|
4009
|
+
frequency: MeasuringFrequency.Optimized
|
|
4010
|
+
}
|
|
4011
|
+
});
|
|
4012
|
+
/* @__PURE__ */ createContext({
|
|
4013
|
+
...defaultCoordinates,
|
|
4014
|
+
scaleX: 1,
|
|
4015
|
+
scaleY: 1
|
|
4016
|
+
});
|
|
4017
|
+
var Status;
|
|
4018
|
+
(function(Status2) {
|
|
4019
|
+
Status2[Status2["Uninitialized"] = 0] = "Uninitialized";
|
|
4020
|
+
Status2[Status2["Initializing"] = 1] = "Initializing";
|
|
4021
|
+
Status2[Status2["Initialized"] = 2] = "Initialized";
|
|
4022
|
+
})(Status || (Status = {}));
|
|
3857
4023
|
var Ee = Object.defineProperty;
|
|
3858
4024
|
var Re = (o, e, t) => e in o ? Ee(o, e, { enumerable: true, configurable: true, writable: true, value: t }) : o[e] = t;
|
|
3859
4025
|
var le$1 = (o, e, t) => Re(o, typeof e != "symbol" ? e + "" : e, t);
|
|
@@ -49333,6 +49499,7 @@ var DocumentView = ({
|
|
|
49333
49499
|
content: content2,
|
|
49334
49500
|
onCheckboxChange,
|
|
49335
49501
|
maxWidth = "900px",
|
|
49502
|
+
width,
|
|
49336
49503
|
slideIdPrefix = "document",
|
|
49337
49504
|
enableHtmlPopout = true,
|
|
49338
49505
|
enableKeyboardScrolling = true,
|
|
@@ -49377,7 +49544,8 @@ var DocumentView = ({
|
|
|
49377
49544
|
handlePromptCopy,
|
|
49378
49545
|
repositoryInfo,
|
|
49379
49546
|
transparentBackground,
|
|
49380
|
-
editable
|
|
49547
|
+
editable,
|
|
49548
|
+
containerWidth: width
|
|
49381
49549
|
})));
|
|
49382
49550
|
};
|
|
49383
49551
|
const formatDate$1 = (dateString) => {
|
|
@@ -49422,8 +49590,8 @@ const GitHubIssueDetailPanelContent = ({ events }) => {
|
|
|
49422
49590
|
setSelectedTaskType(null);
|
|
49423
49591
|
setAdditionalInstructions("");
|
|
49424
49592
|
};
|
|
49425
|
-
const handleSelectTaskType = (
|
|
49426
|
-
setSelectedTaskType(
|
|
49593
|
+
const handleSelectTaskType = (taskType) => {
|
|
49594
|
+
setSelectedTaskType(taskType);
|
|
49427
49595
|
setModalStep("instructions");
|
|
49428
49596
|
};
|
|
49429
49597
|
const handleSubmitTask = () => {
|
|
@@ -49592,7 +49760,6 @@ const GitHubIssueDetailPanelContent = ({ events }) => {
|
|
|
49592
49760
|
(label) => label.name === "backlog-task:investigate" || label.name === "backlog-task:fix"
|
|
49593
49761
|
);
|
|
49594
49762
|
const hasTask = !!taskLabel;
|
|
49595
|
-
taskLabel == null ? void 0 : taskLabel.name.split(":")[1];
|
|
49596
49763
|
return /* @__PURE__ */ jsxs("div", { ref: panelRef, tabIndex: -1, style: { ...containerStyle, outline: "none" }, children: [
|
|
49597
49764
|
/* @__PURE__ */ jsxs(
|
|
49598
49765
|
"div",
|
|
@@ -52369,7 +52536,7 @@ const OwnerRepositoriesPanelContent = ({
|
|
|
52369
52536
|
selectedRepository,
|
|
52370
52537
|
defaultShowSearch = false
|
|
52371
52538
|
}) => {
|
|
52372
|
-
var _a, _b, _c, _d
|
|
52539
|
+
var _a, _b, _c, _d;
|
|
52373
52540
|
const { theme: theme2 } = useTheme();
|
|
52374
52541
|
const [selectedRepoId, setSelectedRepoId] = useState(null);
|
|
52375
52542
|
const [sortField, setSortField] = useState("updated");
|
|
@@ -52390,10 +52557,8 @@ const OwnerRepositoriesPanelContent = ({
|
|
|
52390
52557
|
const owner = propOwner || ((_b = (_a = context == null ? void 0 : context.currentScope) == null ? void 0 : _a.repository) == null ? void 0 : _b.name);
|
|
52391
52558
|
const { ownerRepositories: ownerSlice } = context;
|
|
52392
52559
|
const isLoading = (ownerSlice == null ? void 0 : ownerSlice.loading) ?? false;
|
|
52393
|
-
((_c = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _c.
|
|
52394
|
-
const
|
|
52395
|
-
const error = ((_e2 = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _e2.error) ?? null;
|
|
52396
|
-
((_f = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _f.isAuthenticated) ?? false;
|
|
52560
|
+
const repositories = ((_c = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _c.repositories) ?? [];
|
|
52561
|
+
const error = ((_d = ownerSlice == null ? void 0 : ownerSlice.data) == null ? void 0 : _d.error) ?? null;
|
|
52397
52562
|
const handleRefresh = useCallback(() => {
|
|
52398
52563
|
events.emit({
|
|
52399
52564
|
type: "owner-repositories:refresh",
|
|
@@ -53876,12 +54041,8 @@ const panels = [
|
|
|
53876
54041
|
// Add tools to panel metadata
|
|
53877
54042
|
},
|
|
53878
54043
|
component: GitHubProjectsPanel,
|
|
53879
|
-
onMount: async (
|
|
54044
|
+
onMount: async (_context) => {
|
|
53880
54045
|
console.log("GitHub Projects Panel mounted");
|
|
53881
|
-
const slice = context.getSlice("githubRepositories");
|
|
53882
|
-
if (slice && !slice.loading) {
|
|
53883
|
-
await slice.refresh();
|
|
53884
|
-
}
|
|
53885
54046
|
},
|
|
53886
54047
|
onUnmount: async (_context) => {
|
|
53887
54048
|
console.log("GitHub Projects Panel unmounting");
|
|
@@ -53900,12 +54061,8 @@ const panels = [
|
|
|
53900
54061
|
{
|
|
53901
54062
|
metadata: GitHubIssuesPanelMetadata,
|
|
53902
54063
|
component: GitHubIssuesPanel,
|
|
53903
|
-
onMount: async (
|
|
54064
|
+
onMount: async (_context) => {
|
|
53904
54065
|
console.log("GitHub Issues Panel mounted");
|
|
53905
|
-
const slice = context.getSlice("githubIssues");
|
|
53906
|
-
if (slice && !slice.loading) {
|
|
53907
|
-
await slice.refresh();
|
|
53908
|
-
}
|
|
53909
54066
|
},
|
|
53910
54067
|
onUnmount: async (_context) => {
|
|
53911
54068
|
console.log("GitHub Issues Panel unmounting");
|