@mathews_cometchat/bubble-builder 1.0.0-alpha5 → 1.0.0-alpha6
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0rolldown/runtime.js
|
|
1
|
+
(function(){var s=document.createElement('style');s.textContent=".tl-container{max-width:860px;margin:0 auto;padding:64px 24px}.tl-header{text-align:center;margin-bottom:44px}.tl-logo{background:var(--accent-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:16px;font-weight:800;display:flex}.tl-title{color:var(--text-primary);font-size:16px;font-weight:700}.tl-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.tl-actions{gap:10px;margin-bottom:36px;display:flex}.tl-search{flex:1}.tl-section{margin-bottom:36px}.tl-section-title{color:#141414;margin-bottom:12px;font-size:14px;font-weight:600}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.tl-card{text-align:left;box-shadow:none;background:#fff;border:1px solid #e9eaeb;border-radius:8px;padding:16px;transition:all .15s}.tl-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.tl-card-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);margin-bottom:6px;font-size:11px;font-weight:700}.tl-card-name{color:#141414;font-size:14px;font-weight:600}.tl-card-desc{color:#727272;margin-top:2px;font-size:12px}.tl-card-date{color:#bfbfbc;margin-top:4px;font-size:11px}.tl-card{position:relative}.tl-card-delete{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.tl-card:hover .tl-card-delete{opacity:1}.tl-card-delete:hover{color:#dc2626;background:#fee2e2}.tl-pagination{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.tl-loading{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:13px}.topbar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:relative}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-back{border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 6px;font-size:18px}.topbar-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.topbar-logo{align-items:center;gap:8px;display:flex}.topbar-logo-icon{background:var(--accent-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:flex}.topbar-logo span{color:var(--text-primary);letter-spacing:-.3px;font-size:16px;font-weight:600}.topbar-sep{background:var(--border-medium);width:1px;height:16px}.topbar-title{color:var(--text-secondary);font-size:14px;font-weight:500}.topbar-name{border-radius:var(--radius-sm);min-width:140px;max-width:200px;color:var(--text-primary);box-shadow:none;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:14px;font-weight:500}.topbar-name:hover{border-color:var(--border-medium)}.topbar-name:focus{border-color:var(--accent-primary)}.topbar-dirty{color:var(--accent-primary);font-size:8px}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-btn{color:#414651;background:#fff;border-radius:8px;outline:1px solid #d5d7da;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:14px;font-weight:600;line-height:1.333;transition:all .15s;display:flex}.topbar-btn:hover{background:#f5f5f5}.topbar-toast{color:#fff;background:var(--success);z-index:2000;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.modal-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 8px;font-size:11px;font-weight:600}.modal-field{margin-bottom:12px}.modal-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.topbar-btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.topbar-btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.topbar-btn-icon:disabled{opacity:.3;cursor:default}.topbar-btn-warn{color:#d97706;background:#fffbeb;border-color:#fcd34d}.topbar-btn-warn:hover{background:#fef3c7}.topbar-errors{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:100;min-width:280px;max-height:200px;box-shadow:var(--shadow-lg);background:#fff;margin-top:8px;padding:8px;font-size:12px;position:absolute;top:100%;right:0;overflow-y:auto}.topbar-error-item{border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.topbar-error-item:hover{background:#fef3c7}.topbar-error-path{font-family:var(--font-mono);color:#d97706;font-size:10px}.topbar-dropdown{position:relative}.topbar-dropdown-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:100;min-width:180px;box-shadow:var(--shadow-lg);margin-top:6px;padding:4px;position:absolute;top:100%;right:0}.topbar-dropdown-item{width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:400;display:flex}.topbar-dropdown-item:hover{background:var(--bg-tertiary)}.left-panel{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.palette-header{border-bottom:1px solid var(--border-subtle);padding:16px}.lp-tabs{background:var(--bg-tertiary);border-radius:var(--radius-md);gap:0;padding:3px;display:flex}.lp-tab{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.lp-tab:hover{color:var(--text-primary)}.lp-tab.active{background:var(--bg-primary);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.lp-tab-icon{font-size:14px}.lp-content{flex:1;padding:12px;overflow-y:auto}.lp-category{margin-bottom:8px}.lp-category-header{width:100%;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;justify-content:space-between;align-items:center;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lp-category-header:hover{background:var(--bg-tertiary)}.lp-category-title{text-transform:none;letter-spacing:0;align-items:center;gap:8px;display:flex}.lp-category-icon{color:var(--text-primary);font-size:18px}.lp-category-arrow{color:var(--text-tertiary);font-size:18px;transition:transform .2s}.lp-category-arrow.closed{transform:rotate(-90deg)}.lp-element-list{flex-direction:column;gap:2px;padding:4px 0 8px;display:flex}.lp-element-btn{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.lp-element-btn:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-element-icon{color:var(--text-primary);font-size:18px}.lp-element-label{font-size:13px;font-weight:500}.lp-component-list{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.lp-component-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.lp-component-card:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-card-icon{background:var(--bg-tertiary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.lp-component-card:hover .lp-card-icon{background:#6852d61a}.lp-card-info{flex-direction:column;gap:1px;min-width:0;display:flex}.lp-card-name{color:var(--text-primary);font-size:12px;font-weight:600}.lp-card-desc{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.lp-footer{border-top:1px solid var(--border-subtle);padding:12px}.lp-footer-hint{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:11px;display:flex}.lp-search{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);padding:6px 10px;font-size:12px}.lp-search:focus{border-color:var(--accent-primary);outline:none}.canvas{background:var(--bg-secondary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.canvas-area{background:radial-gradient(circle at 1px 1px, var(--border-subtle) 1px, transparent 0);background-size:24px 24px;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex;overflow:auto}.phone-frame{background:#fff;border-radius:32px;flex-direction:column;flex-shrink:0;width:375px;height:667px;max-height:667px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 2px 4px #0000000a,0 12px 32px #00000014,0 32px 64px #0000000f}.phone-frame:before{content:\"\";z-index:10;background:#e0e0e0;border-radius:2px;width:80px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-screen{background:#f5f5f5;flex-direction:column;height:100%;margin-top:0;display:flex;overflow:hidden}.chat-header{background:#fff;border-bottom:1px solid #0000000f;align-items:center;padding:20px 16px 14px;display:flex}.chat-back-btn{color:var(--text-secondary);opacity:.6;padding:2px 4px;font-size:20px}.chat-user{flex:1;align-items:center;gap:10px;margin-left:10px;display:flex}.chat-avatar{color:#fff;background:linear-gradient(135deg,#6852d6,#8b7ae8);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-name{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:600}.chat-messages{background:#f5f6f7;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.message-date{text-align:center;color:var(--text-tertiary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.02em;background:#fffc;border-radius:12px;align-self:center;padding:5px 12px;font-size:11px;font-weight:500}.bubble-preview{flex-shrink:0;align-self:flex-start;width:100%;min-height:50px;position:relative;overflow:visible}.canvas-bubble{border-radius:16px 16px 16px 4px;flex-direction:column;gap:2px;display:flex;overflow:visible;box-shadow:0 1px 2px #0000000f,0 1px 3px #0000000a}.canvas-empty{color:var(--text-tertiary);text-align:center;border:2px dashed var(--border-medium);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:8px;padding:40px 20px;font-size:13px;display:flex}.canvas-empty-icon{color:var(--accent-primary);opacity:.4;background:var(--accent-light);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:flex}.chat-input-area{background:#fff;border-top:1px solid #0000000f;align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-input{border:1px solid var(--border-subtle);color:var(--text-primary);background:#f5f6f7;border-radius:20px;flex:1;padding:9px 16px;font-size:13px}.chat-send-btn{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #6852d666}.el-wrapper{cursor:pointer;border-radius:4px;width:100%;transition:all .12s;position:relative;overflow:visible}.el-wrapper:hover{background:#6852d60a}.el-wrapper.selected{outline:2px solid var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-wrapper.multi-selected{outline:2px dashed var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-controls-portal{z-index:9999;background:#fff;border-radius:8px;flex-direction:row;gap:2px;padding:3px;display:flex;box-shadow:0 2px 12px #0000001f,0 0 0 1px #0000000a}.preview-mode .el-controls-portal{display:none}.el-ctrl-btn{width:26px;height:26px;color:var(--text-secondary);border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.el-ctrl-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctrl-btn.danger:hover{color:#dc2626;background:#fee2e2}.el-wrap-menu{border:1px solid var(--border-subtle);z-index:1001;background:#fff;border-radius:10px;min-width:140px;margin-bottom:4px;padding:4px;position:absolute;bottom:100%;right:0;box-shadow:0 8px 24px #0000001f}.el-wrap-option{text-align:left;color:var(--text-secondary);white-space:nowrap;border-radius:6px;width:100%;padding:7px 12px;font-size:12px}.el-wrap-option:hover{background:var(--accent-light);color:var(--accent-primary)}.canvas-breadcrumbs{border-bottom:1px solid var(--border-subtle);background:#fff;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 16px;font-size:12px;display:flex}.canvas-bc-sep{color:var(--text-muted);margin:0 2px;font-size:10px}.canvas-bc-item{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border-radius:4px;padding:2px 8px}.canvas-bc-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-bc-item.active{color:var(--accent-primary);background:var(--accent-light)}.multi-select-bar{border:1px solid var(--border-subtle);z-index:100;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.multi-select-bar span{color:var(--text-secondary);white-space:nowrap}.multi-select-bar button{background:var(--accent-light);color:var(--accent-primary);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.multi-select-bar button:hover{background:var(--accent-primary);color:#fff}.canvas-bubble ::-webkit-scrollbar{height:3px}.canvas-bubble ::-webkit-scrollbar-track{background:0 0}.canvas-bubble ::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.canvas-toolbar{border-top:1px solid var(--border-subtle);background:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:flex}.canvas-tool-btn{width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:flex}.canvas-tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-tool-btn.active{background:var(--accent-light);color:var(--accent-primary)}.canvas-tool-label{color:var(--text-secondary);text-align:center;min-width:36px;font-size:11px}.canvas-tool-sep{background:var(--border-medium);width:1px;height:16px;margin:0 4px}.preview-mode .el-wrapper{cursor:default}.preview-mode .el-wrapper:hover{background:0 0}.preview-mode .el-wrapper.selected,.preview-mode .el-wrapper.multi-selected{background:0 0;outline:none}.preview-mode .canvas-breadcrumbs,.preview-mode .multi-select-bar{display:none}.json-preview-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:60;flex-direction:column;width:380px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0000000f}.json-preview-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);background:var(--bg-secondary);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.json-preview-header span{flex:1}.json-preview-header button{width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.json-preview-header button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.json-preview-code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre;tab-size:2;background:var(--bg-primary);flex:1;margin:0;padding:16px;font-size:12px;line-height:1.6;overflow:auto}.el-context-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:10px;min-width:160px;padding:4px;font-size:12px;box-shadow:0 8px 24px #0000001f}.el-ctx-item{text-align:left;width:100%;color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:6px 12px;display:block}.el-ctx-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctx-item.danger:hover{color:#dc2626;background:#fee2e2}.el-ctx-sep{background:var(--border-subtle);height:1px;margin:4px 0}.tree-root{font-size:13px}.tree-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;min-height:28px;padding:6px 8px;transition:all .15s;display:flex}.tree-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-item.selected{background:var(--accent-light);color:var(--accent-primary)}.tree-item.multi-selected{background:var(--accent-light);color:var(--accent-primary);outline:1px dashed var(--accent-primary);outline-offset:-1px}.tree-item.drop-target{outline:2px dashed var(--accent-primary);outline-offset:-2px}.tree-item.container .tree-type{font-weight:600}.tree-arrow{text-align:center;width:12px;color:var(--text-tertiary);cursor:pointer;font-size:10px;transition:transform .15s}.tree-arrow.collapsed{transform:rotate(-90deg)}.tree-dot{text-align:center;width:12px}.tree-dot:after{content:\"\";background:var(--border-medium);vertical-align:middle;border-radius:50%;width:4px;height:4px;display:inline-block}.tree-type{font-family:var(--font-mono);font-size:12px}.tree-label{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.tree-empty{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.tree-badge{background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:8px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9px}.tree-error-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.tree-badge+.tree-error-dot,.tree-error-dot+.tree-badge{margin-left:4px}.tree-drag-overlay{background:var(--bg-primary);border-radius:var(--radius-sm);opacity:.9;box-shadow:0 4px 12px #00000026}.tree-node{touch-action:none}.tree-drop-gap{height:4px;transition:height .1s;position:relative}.tree-drop-gap.active{height:8px}.tree-drop-gap .tree-drop-line{background:0 0;border-radius:1px;height:2px;transition:background .1s}.tree-drop-gap.active .tree-drop-line{background:var(--accent-primary)}.tree-search-wrap{margin-bottom:8px;position:relative}.tree-search{border:1px solid var(--border-subtle);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;padding:7px 28px 7px 10px;font-size:12px}.tree-search:focus{border-color:var(--accent-primary)}.tree-search::placeholder{color:var(--text-muted)}.tree-search-clear{width:18px;height:18px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.tree-search-clear:hover{color:var(--text-primary)}.right-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.rp-tabs{border-bottom:1px solid var(--border-subtle);display:flex}.rp-tab{color:var(--text-secondary);background:0 0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.rp-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.rp-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.rp-content{flex:1;padding:16px;overflow-y:auto}.rp-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.rp-empty-icon{color:var(--border-medium);font-size:48px}.prop-group{margin-bottom:16px}.prop-group-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:11px;font-weight:600}.prop-field{margin-bottom:12px}.prop-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.prop-row{align-items:center;gap:8px;display:flex}.prop-badge{background:var(--accent-light);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-bottom:16px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.prop-error-summary{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:500}.prop-field-error input,.prop-field-error textarea,.prop-field-error select{box-shadow:0 0 0 1px #fecaca;border-color:#dc2626!important}.prop-field-error-hint{color:#dc2626;margin-left:6px;font-size:11px;font-weight:400}.shortcuts-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-panel{background:#fff;border-radius:16px;width:320px;padding:0;overflow:hidden;box-shadow:0 16px 48px #0003}.shortcuts-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.shortcuts-close{width:24px;height:24px;color:var(--text-tertiary);border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:flex}.shortcuts-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shortcuts-list{padding:12px 20px 16px}.shortcut-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-action{color:var(--text-secondary);font-size:13px}.shortcut-keys{font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.editor-root{background:var(--bg-secondary);flex-direction:column;width:100%;height:100%;display:flex}.editor-panels{flex:1;display:flex;overflow:hidden}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#f5f5f5;--bg-elevated:#fff;--bg-hover:#f5f5f5;--bg-active:#f3f0ff;--accent-primary:#6852d6;--accent-secondary:#7c6be6;--accent-light:#f3f0ff;--accent-gradient:linear-gradient(135deg, #6852d6 0%, #7c6be6 100%);--accent-glow:#6852d633;--text-primary:#141414;--text-secondary:#727272;--text-tertiary:#414651;--text-muted:#bfbfbc;--border-subtle:#e9eaeb;--border-medium:#d5d7da;--border-accent:#6852d64d;--success:#10b981;--warning:#f59e0b;--error:#d92d20;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 25px #0000001a;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:\"Satoshi\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;--font-mono:\"SF Mono\", \"Fira Code\", monospace}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/RVPXLBADJTQXBIMXQMGXVL3RAWQO3GYP/UPQNUQSJHRAZPGIY5EU7VMJMOQHK76OA/SITBAY6OYFA7BNHFJBHWIL6FHWMCOP2Q.woff2)format(\"woff2\");font-weight:300 900;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}input,textarea,select{border:1px solid var(--border-medium);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{appearance:none;cursor:pointer;padding-right:28px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}input[type=color]{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;width:40px;height:36px;padding:2px}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}textarea{resize:vertical;min-height:60px}\n/*$vite$:1*/";document.head.appendChild(s)})();//#region \0rolldown/runtime.js
|
|
2
2
|
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (e && (t = e(e = 0)), t), s = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), c = (e, n) => {
|
|
3
3
|
let r = {};
|
|
4
4
|
for (var i in e) t(r, i, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.BubbleBuilder={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},u=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},d=(e,r,i)=>(i=e==null?{}:t(a(e)),u(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),f=e=>o.call(e,`module.exports`)?e[`module.exports`]:u(n({},`__esModule`,{value:!0}),e),p=c((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,E());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?E():S=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var D=new MessageChannel,O=D.port2;D.port1.onmessage=te,E=function(){O.postMessage(null)}}else E=function(){_(te,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,E()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),m=c(((e,t)=>{t.exports=p()})),h=c((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function ee(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return ee(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function D(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var O=/\/+/g;function ne(e,t){return typeof e==`object`&&e&&e.key!=null?D(``+e.key):t.toString(36)}function re(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ie(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ne(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(O,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(O,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ne(a,u),c+=ie(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ne(a,u++),c+=ie(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ie(re(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ae(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},A={map:ae,forEach:function(e,t,n){ae(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ae(e,function(){t++}),t},toArray:function(e){return ae(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=A,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ee(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ee(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=E,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,k)}catch(e){k(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),g=c(((e,t)=>{t.exports=h()})),_=c((e=>{var t=g();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.4`})),v=c(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=_()})),y=c((e=>{var t=m(),n=g(),r=v();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),h=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),ee=Symbol.for(`react.suspense_list`),te=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case ee:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case te:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,k=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ce=[],j=-1;function M(e){return{current:e}}function le(e){0>j||(e.current=ce[j],ce[j]=null,j--)}function N(e,t){j++,ce[j]=e.current,e.current=t}var ue=M(null),de=M(null),fe=M(null),pe=M(null);function P(e,t){switch(N(fe,t),N(de,e),N(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}le(ue),N(ue,e)}function me(){le(ue),le(de),le(fe)}function he(e){e.memoizedState!==null&&N(pe,e);var t=ue.current,n=Hd(t,e.type);t!==n&&(N(de,e),N(ue,n))}function ge(e){de.current===e&&(le(ue),le(de)),pe.current===e&&(le(pe),Qf._currentValue=se)}var _e,ve;function ye(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1<e.stack.indexOf(`
|
|
1
|
+
(function(){var s=document.createElement('style');s.textContent=".tl-container{max-width:860px;margin:0 auto;padding:64px 24px}.tl-header{text-align:center;margin-bottom:44px}.tl-logo{background:var(--accent-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:16px;font-weight:800;display:flex}.tl-title{color:var(--text-primary);font-size:16px;font-weight:700}.tl-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.tl-actions{gap:10px;margin-bottom:36px;display:flex}.tl-search{flex:1}.tl-section{margin-bottom:36px}.tl-section-title{color:#141414;margin-bottom:12px;font-size:14px;font-weight:600}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.tl-card{text-align:left;box-shadow:none;background:#fff;border:1px solid #e9eaeb;border-radius:8px;padding:16px;transition:all .15s}.tl-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.tl-card-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);margin-bottom:6px;font-size:11px;font-weight:700}.tl-card-name{color:#141414;font-size:14px;font-weight:600}.tl-card-desc{color:#727272;margin-top:2px;font-size:12px}.tl-card-date{color:#bfbfbc;margin-top:4px;font-size:11px}.tl-card{position:relative}.tl-card-delete{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.tl-card:hover .tl-card-delete{opacity:1}.tl-card-delete:hover{color:#dc2626;background:#fee2e2}.tl-pagination{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.tl-loading{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:13px}.topbar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:relative}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-back{border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 6px;font-size:18px}.topbar-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.topbar-logo{align-items:center;gap:8px;display:flex}.topbar-logo-icon{background:var(--accent-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:flex}.topbar-logo span{color:var(--text-primary);letter-spacing:-.3px;font-size:16px;font-weight:600}.topbar-sep{background:var(--border-medium);width:1px;height:16px}.topbar-title{color:var(--text-secondary);font-size:14px;font-weight:500}.topbar-name{border-radius:var(--radius-sm);min-width:140px;max-width:200px;color:var(--text-primary);box-shadow:none;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:14px;font-weight:500}.topbar-name:hover{border-color:var(--border-medium)}.topbar-name:focus{border-color:var(--accent-primary)}.topbar-dirty{color:var(--accent-primary);font-size:8px}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-btn{color:#414651;background:#fff;border-radius:8px;outline:1px solid #d5d7da;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:14px;font-weight:600;line-height:1.333;transition:all .15s;display:flex}.topbar-btn:hover{background:#f5f5f5}.topbar-toast{color:#fff;background:var(--success);z-index:2000;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.modal-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 8px;font-size:11px;font-weight:600}.modal-field{margin-bottom:12px}.modal-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.topbar-btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.topbar-btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.topbar-btn-icon:disabled{opacity:.3;cursor:default}.topbar-btn-warn{color:#d97706;background:#fffbeb;border-color:#fcd34d}.topbar-btn-warn:hover{background:#fef3c7}.topbar-errors{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:100;min-width:280px;max-height:200px;box-shadow:var(--shadow-lg);background:#fff;margin-top:8px;padding:8px;font-size:12px;position:absolute;top:100%;right:0;overflow-y:auto}.topbar-error-item{border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.topbar-error-item:hover{background:#fef3c7}.topbar-error-path{font-family:var(--font-mono);color:#d97706;font-size:10px}.topbar-dropdown{position:relative}.topbar-dropdown-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:100;min-width:180px;box-shadow:var(--shadow-lg);margin-top:6px;padding:4px;position:absolute;top:100%;right:0}.topbar-dropdown-item{width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:400;display:flex}.topbar-dropdown-item:hover{background:var(--bg-tertiary)}.left-panel{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.palette-header{border-bottom:1px solid var(--border-subtle);padding:16px}.lp-tabs{background:var(--bg-tertiary);border-radius:var(--radius-md);gap:0;padding:3px;display:flex}.lp-tab{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.lp-tab:hover{color:var(--text-primary)}.lp-tab.active{background:var(--bg-primary);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.lp-tab-icon{font-size:14px}.lp-content{flex:1;padding:12px;overflow-y:auto}.lp-category{margin-bottom:8px}.lp-category-header{width:100%;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;justify-content:space-between;align-items:center;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lp-category-header:hover{background:var(--bg-tertiary)}.lp-category-title{text-transform:none;letter-spacing:0;align-items:center;gap:8px;display:flex}.lp-category-icon{color:var(--text-primary);font-size:18px}.lp-category-arrow{color:var(--text-tertiary);font-size:18px;transition:transform .2s}.lp-category-arrow.closed{transform:rotate(-90deg)}.lp-element-list{flex-direction:column;gap:2px;padding:4px 0 8px;display:flex}.lp-element-btn{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.lp-element-btn:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-element-icon{color:var(--text-primary);font-size:18px}.lp-element-label{font-size:13px;font-weight:500}.lp-component-list{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.lp-component-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.lp-component-card:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-card-icon{background:var(--bg-tertiary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.lp-component-card:hover .lp-card-icon{background:#6852d61a}.lp-card-info{flex-direction:column;gap:1px;min-width:0;display:flex}.lp-card-name{color:var(--text-primary);font-size:12px;font-weight:600}.lp-card-desc{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.lp-footer{border-top:1px solid var(--border-subtle);padding:12px}.lp-footer-hint{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:11px;display:flex}.lp-search{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);padding:6px 10px;font-size:12px}.lp-search:focus{border-color:var(--accent-primary);outline:none}.canvas{background:var(--bg-secondary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.canvas-area{background:radial-gradient(circle at 1px 1px, var(--border-subtle) 1px, transparent 0);background-size:24px 24px;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex;overflow:auto}.phone-frame{background:#fff;border-radius:32px;flex-direction:column;flex-shrink:0;width:375px;height:667px;max-height:667px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 2px 4px #0000000a,0 12px 32px #00000014,0 32px 64px #0000000f}.phone-frame:before{content:\"\";z-index:10;background:#e0e0e0;border-radius:2px;width:80px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-screen{background:#f5f5f5;flex-direction:column;height:100%;margin-top:0;display:flex;overflow:hidden}.chat-header{background:#fff;border-bottom:1px solid #0000000f;align-items:center;padding:20px 16px 14px;display:flex}.chat-back-btn{color:var(--text-secondary);opacity:.6;padding:2px 4px;font-size:20px}.chat-user{flex:1;align-items:center;gap:10px;margin-left:10px;display:flex}.chat-avatar{color:#fff;background:linear-gradient(135deg,#6852d6,#8b7ae8);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-name{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:600}.chat-messages{background:#f5f6f7;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.message-date{text-align:center;color:var(--text-tertiary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.02em;background:#fffc;border-radius:12px;align-self:center;padding:5px 12px;font-size:11px;font-weight:500}.bubble-preview{flex-shrink:0;align-self:flex-start;width:100%;min-height:50px;position:relative;overflow:visible}.canvas-bubble{border-radius:16px 16px 16px 4px;flex-direction:column;gap:2px;display:flex;overflow:visible;box-shadow:0 1px 2px #0000000f,0 1px 3px #0000000a}.canvas-empty{color:var(--text-tertiary);text-align:center;border:2px dashed var(--border-medium);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:8px;padding:40px 20px;font-size:13px;display:flex}.canvas-empty-icon{color:var(--accent-primary);opacity:.4;background:var(--accent-light);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:flex}.chat-input-area{background:#fff;border-top:1px solid #0000000f;align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-input{border:1px solid var(--border-subtle);color:var(--text-primary);background:#f5f6f7;border-radius:20px;flex:1;padding:9px 16px;font-size:13px}.chat-send-btn{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #6852d666}.el-wrapper{cursor:pointer;border-radius:4px;width:100%;transition:all .12s;position:relative;overflow:visible}.el-wrapper:hover{background:#6852d60a}.el-wrapper.selected{outline:2px solid var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-wrapper.multi-selected{outline:2px dashed var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-controls-portal{z-index:9999;background:#fff;border-radius:8px;flex-direction:row;gap:2px;padding:3px;display:flex;box-shadow:0 2px 12px #0000001f,0 0 0 1px #0000000a}.preview-mode .el-controls-portal{display:none}.el-ctrl-btn{width:26px;height:26px;color:var(--text-secondary);border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.el-ctrl-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctrl-btn.danger:hover{color:#dc2626;background:#fee2e2}.el-wrap-menu{border:1px solid var(--border-subtle);z-index:1001;background:#fff;border-radius:10px;min-width:140px;margin-bottom:4px;padding:4px;position:absolute;bottom:100%;right:0;box-shadow:0 8px 24px #0000001f}.el-wrap-option{text-align:left;color:var(--text-secondary);white-space:nowrap;border-radius:6px;width:100%;padding:7px 12px;font-size:12px}.el-wrap-option:hover{background:var(--accent-light);color:var(--accent-primary)}.canvas-breadcrumbs{border-bottom:1px solid var(--border-subtle);background:#fff;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 16px;font-size:12px;display:flex}.canvas-bc-sep{color:var(--text-muted);margin:0 2px;font-size:10px}.canvas-bc-item{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border-radius:4px;padding:2px 8px}.canvas-bc-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-bc-item.active{color:var(--accent-primary);background:var(--accent-light)}.multi-select-bar{border:1px solid var(--border-subtle);z-index:100;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.multi-select-bar span{color:var(--text-secondary);white-space:nowrap}.multi-select-bar button{background:var(--accent-light);color:var(--accent-primary);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.multi-select-bar button:hover{background:var(--accent-primary);color:#fff}.canvas-bubble ::-webkit-scrollbar{height:3px}.canvas-bubble ::-webkit-scrollbar-track{background:0 0}.canvas-bubble ::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.canvas-toolbar{border-top:1px solid var(--border-subtle);background:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:flex}.canvas-tool-btn{width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:flex}.canvas-tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-tool-btn.active{background:var(--accent-light);color:var(--accent-primary)}.canvas-tool-label{color:var(--text-secondary);text-align:center;min-width:36px;font-size:11px}.canvas-tool-sep{background:var(--border-medium);width:1px;height:16px;margin:0 4px}.preview-mode .el-wrapper{cursor:default}.preview-mode .el-wrapper:hover{background:0 0}.preview-mode .el-wrapper.selected,.preview-mode .el-wrapper.multi-selected{background:0 0;outline:none}.preview-mode .canvas-breadcrumbs,.preview-mode .multi-select-bar{display:none}.json-preview-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:60;flex-direction:column;width:380px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0000000f}.json-preview-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);background:var(--bg-secondary);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.json-preview-header span{flex:1}.json-preview-header button{width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.json-preview-header button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.json-preview-code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre;tab-size:2;background:var(--bg-primary);flex:1;margin:0;padding:16px;font-size:12px;line-height:1.6;overflow:auto}.el-context-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:10px;min-width:160px;padding:4px;font-size:12px;box-shadow:0 8px 24px #0000001f}.el-ctx-item{text-align:left;width:100%;color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:6px 12px;display:block}.el-ctx-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctx-item.danger:hover{color:#dc2626;background:#fee2e2}.el-ctx-sep{background:var(--border-subtle);height:1px;margin:4px 0}.tree-root{font-size:13px}.tree-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;min-height:28px;padding:6px 8px;transition:all .15s;display:flex}.tree-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-item.selected{background:var(--accent-light);color:var(--accent-primary)}.tree-item.multi-selected{background:var(--accent-light);color:var(--accent-primary);outline:1px dashed var(--accent-primary);outline-offset:-1px}.tree-item.drop-target{outline:2px dashed var(--accent-primary);outline-offset:-2px}.tree-item.container .tree-type{font-weight:600}.tree-arrow{text-align:center;width:12px;color:var(--text-tertiary);cursor:pointer;font-size:10px;transition:transform .15s}.tree-arrow.collapsed{transform:rotate(-90deg)}.tree-dot{text-align:center;width:12px}.tree-dot:after{content:\"\";background:var(--border-medium);vertical-align:middle;border-radius:50%;width:4px;height:4px;display:inline-block}.tree-type{font-family:var(--font-mono);font-size:12px}.tree-label{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.tree-empty{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.tree-badge{background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:8px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9px}.tree-error-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.tree-badge+.tree-error-dot,.tree-error-dot+.tree-badge{margin-left:4px}.tree-drag-overlay{background:var(--bg-primary);border-radius:var(--radius-sm);opacity:.9;box-shadow:0 4px 12px #00000026}.tree-node{touch-action:none}.tree-drop-gap{height:4px;transition:height .1s;position:relative}.tree-drop-gap.active{height:8px}.tree-drop-gap .tree-drop-line{background:0 0;border-radius:1px;height:2px;transition:background .1s}.tree-drop-gap.active .tree-drop-line{background:var(--accent-primary)}.tree-search-wrap{margin-bottom:8px;position:relative}.tree-search{border:1px solid var(--border-subtle);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;padding:7px 28px 7px 10px;font-size:12px}.tree-search:focus{border-color:var(--accent-primary)}.tree-search::placeholder{color:var(--text-muted)}.tree-search-clear{width:18px;height:18px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.tree-search-clear:hover{color:var(--text-primary)}.right-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.rp-tabs{border-bottom:1px solid var(--border-subtle);display:flex}.rp-tab{color:var(--text-secondary);background:0 0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.rp-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.rp-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.rp-content{flex:1;padding:16px;overflow-y:auto}.rp-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.rp-empty-icon{color:var(--border-medium);font-size:48px}.prop-group{margin-bottom:16px}.prop-group-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:11px;font-weight:600}.prop-field{margin-bottom:12px}.prop-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.prop-row{align-items:center;gap:8px;display:flex}.prop-badge{background:var(--accent-light);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-bottom:16px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.prop-error-summary{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:500}.prop-field-error input,.prop-field-error textarea,.prop-field-error select{box-shadow:0 0 0 1px #fecaca;border-color:#dc2626!important}.prop-field-error-hint{color:#dc2626;margin-left:6px;font-size:11px;font-weight:400}.shortcuts-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-panel{background:#fff;border-radius:16px;width:320px;padding:0;overflow:hidden;box-shadow:0 16px 48px #0003}.shortcuts-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.shortcuts-close{width:24px;height:24px;color:var(--text-tertiary);border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:flex}.shortcuts-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shortcuts-list{padding:12px 20px 16px}.shortcut-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-action{color:var(--text-secondary);font-size:13px}.shortcut-keys{font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.editor-root{background:var(--bg-secondary);flex-direction:column;width:100%;height:100%;display:flex}.editor-panels{flex:1;display:flex;overflow:hidden}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#f5f5f5;--bg-elevated:#fff;--bg-hover:#f5f5f5;--bg-active:#f3f0ff;--accent-primary:#6852d6;--accent-secondary:#7c6be6;--accent-light:#f3f0ff;--accent-gradient:linear-gradient(135deg, #6852d6 0%, #7c6be6 100%);--accent-glow:#6852d633;--text-primary:#141414;--text-secondary:#727272;--text-tertiary:#414651;--text-muted:#bfbfbc;--border-subtle:#e9eaeb;--border-medium:#d5d7da;--border-accent:#6852d64d;--success:#10b981;--warning:#f59e0b;--error:#d92d20;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 25px #0000001a;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:\"Satoshi\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;--font-mono:\"SF Mono\", \"Fira Code\", monospace}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/RVPXLBADJTQXBIMXQMGXVL3RAWQO3GYP/UPQNUQSJHRAZPGIY5EU7VMJMOQHK76OA/SITBAY6OYFA7BNHFJBHWIL6FHWMCOP2Q.woff2)format(\"woff2\");font-weight:300 900;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}input,textarea,select{border:1px solid var(--border-medium);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{appearance:none;cursor:pointer;padding-right:28px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}input[type=color]{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;width:40px;height:36px;padding:2px}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}textarea{resize:vertical;min-height:60px}\n/*$vite$:1*/";document.head.appendChild(s)})();(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.BubbleBuilder={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),l=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},u=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},d=(e,r,i)=>(i=e==null?{}:t(a(e)),u(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),f=e=>o.call(e,`module.exports`)?e[`module.exports`]:u(n({},`__esModule`,{value:!0}),e),p=c((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,E());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function te(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?E():S=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var D=new MessageChannel,O=D.port2;D.port1.onmessage=te,E=function(){O.postMessage(null)}}else E=function(){_(te,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,E()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),m=c(((e,t)=>{t.exports=p()})),h=c((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function ee(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return ee(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function D(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var O=/\/+/g;function ne(e,t){return typeof e==`object`&&e&&e.key!=null?D(``+e.key):t.toString(36)}function re(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ie(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ne(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(O,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(O,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ne(a,u),c+=ie(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ne(a,u++),c+=ie(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ie(re(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ae(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},A={map:ae,forEach:function(e,t,n){ae(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ae(e,function(){t++}),t},toArray:function(e){return ae(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=A,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return ee(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return ee(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=E,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,k)}catch(e){k(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),g=c(((e,t)=>{t.exports=h()})),_=c((e=>{var t=g();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.4`})),v=c(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=_()})),y=c((e=>{var t=m(),n=g(),r=v();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),h=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),ee=Symbol.for(`react.suspense_list`),te=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case ee:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case te:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,k=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ce=[],j=-1;function M(e){return{current:e}}function le(e){0>j||(e.current=ce[j],ce[j]=null,j--)}function N(e,t){j++,ce[j]=e.current,e.current=t}var ue=M(null),de=M(null),fe=M(null),pe=M(null);function P(e,t){switch(N(fe,t),N(de,e),N(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}le(ue),N(ue,e)}function me(){le(ue),le(de),le(fe)}function he(e){e.memoizedState!==null&&N(pe,e);var t=ue.current,n=Hd(t,e.type);t!==n&&(N(de,e),N(ue,n))}function ge(e){de.current===e&&(le(ue),le(de)),pe.current===e&&(le(pe),Qf._currentValue=se)}var _e,ve;function ye(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1<e.stack.indexOf(`
|
|
2
2
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
3
3
|
`+_e+e+ve}var F=!1;function be(e,t){if(!e||F)return``;F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
4
4
|
`),l=s.split(`
|
package/package.json
CHANGED
package/dist/bubble-builder.css
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.tl-container{max-width:860px;margin:0 auto;padding:64px 24px}.tl-header{text-align:center;margin-bottom:44px}.tl-logo{background:var(--accent-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-size:16px;font-weight:800;display:flex}.tl-title{color:var(--text-primary);font-size:16px;font-weight:700}.tl-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.tl-actions{gap:10px;margin-bottom:36px;display:flex}.tl-search{flex:1}.tl-section{margin-bottom:36px}.tl-section-title{color:#141414;margin-bottom:12px;font-size:14px;font-weight:600}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.tl-card{text-align:left;box-shadow:none;background:#fff;border:1px solid #e9eaeb;border-radius:8px;padding:16px;transition:all .15s}.tl-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.tl-card-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-primary);margin-bottom:6px;font-size:11px;font-weight:700}.tl-card-name{color:#141414;font-size:14px;font-weight:600}.tl-card-desc{color:#727272;margin-top:2px;font-size:12px}.tl-card-date{color:#bfbfbc;margin-top:4px;font-size:11px}.tl-card{position:relative}.tl-card-delete{width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.tl-card:hover .tl-card-delete{opacity:1}.tl-card-delete:hover{color:#dc2626;background:#fee2e2}.tl-pagination{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.tl-loading{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:13px}.topbar{background:var(--bg-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex;position:relative}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-back{border-radius:var(--radius-sm);color:var(--text-secondary);padding:4px 6px;font-size:18px}.topbar-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.topbar-logo{align-items:center;gap:8px;display:flex}.topbar-logo-icon{background:var(--accent-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:flex}.topbar-logo span{color:var(--text-primary);letter-spacing:-.3px;font-size:16px;font-weight:600}.topbar-sep{background:var(--border-medium);width:1px;height:16px}.topbar-title{color:var(--text-secondary);font-size:14px;font-weight:500}.topbar-name{border-radius:var(--radius-sm);min-width:140px;max-width:200px;color:var(--text-primary);box-shadow:none;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:14px;font-weight:500}.topbar-name:hover{border-color:var(--border-medium)}.topbar-name:focus{border-color:var(--accent-primary)}.topbar-dirty{color:var(--accent-primary);font-size:8px}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-btn{color:#414651;background:#fff;border-radius:8px;outline:1px solid #d5d7da;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:14px;font-weight:600;line-height:1.333;transition:all .15s;display:flex}.topbar-btn:hover{background:#f5f5f5}.topbar-toast{color:#fff;background:var(--success);z-index:2000;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.modal-subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 8px;font-size:11px;font-weight:600}.modal-field{margin-bottom:12px}.modal-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.topbar-btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.topbar-btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.topbar-btn-icon:disabled{opacity:.3;cursor:default}.topbar-btn-warn{color:#d97706;background:#fffbeb;border-color:#fcd34d}.topbar-btn-warn:hover{background:#fef3c7}.topbar-errors{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);z-index:100;min-width:280px;max-height:200px;box-shadow:var(--shadow-lg);background:#fff;margin-top:8px;padding:8px;font-size:12px;position:absolute;top:100%;right:0;overflow-y:auto}.topbar-error-item{border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.topbar-error-item:hover{background:#fef3c7}.topbar-error-path{font-family:var(--font-mono);color:#d97706;font-size:10px}.topbar-dropdown{position:relative}.topbar-dropdown-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:100;min-width:180px;box-shadow:var(--shadow-lg);margin-top:6px;padding:4px;position:absolute;top:100%;right:0}.topbar-dropdown-item{width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:400;display:flex}.topbar-dropdown-item:hover{background:var(--bg-tertiary)}.left-panel{background:var(--bg-primary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow:hidden}.palette-header{border-bottom:1px solid var(--border-subtle);padding:16px}.lp-tabs{background:var(--bg-tertiary);border-radius:var(--radius-md);gap:0;padding:3px;display:flex}.lp-tab{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.lp-tab:hover{color:var(--text-primary)}.lp-tab.active{background:var(--bg-primary);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.lp-tab-icon{font-size:14px}.lp-content{flex:1;padding:12px;overflow-y:auto}.lp-category{margin-bottom:8px}.lp-category-header{width:100%;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;justify-content:space-between;align-items:center;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lp-category-header:hover{background:var(--bg-tertiary)}.lp-category-title{text-transform:none;letter-spacing:0;align-items:center;gap:8px;display:flex}.lp-category-icon{color:var(--text-primary);font-size:18px}.lp-category-arrow{color:var(--text-tertiary);font-size:18px;transition:transform .2s}.lp-category-arrow.closed{transform:rotate(-90deg)}.lp-element-list{flex-direction:column;gap:2px;padding:4px 0 8px;display:flex}.lp-element-btn{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.lp-element-btn:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-element-icon{color:var(--text-primary);font-size:18px}.lp-element-label{font-size:13px;font-weight:500}.lp-component-list{flex-direction:column;gap:6px;padding:4px 0 8px;display:flex}.lp-component-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.lp-component-card:hover{background:var(--accent-light);border-color:var(--border-accent)}.lp-card-icon{background:var(--bg-tertiary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.lp-component-card:hover .lp-card-icon{background:#6852d61a}.lp-card-info{flex-direction:column;gap:1px;min-width:0;display:flex}.lp-card-name{color:var(--text-primary);font-size:12px;font-weight:600}.lp-card-desc{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;overflow:hidden}.lp-footer{border-top:1px solid var(--border-subtle);padding:12px}.lp-footer-hint{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:11px;display:flex}.lp-search{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);padding:6px 10px;font-size:12px}.lp-search:focus{border-color:var(--accent-primary);outline:none}.canvas{background:var(--bg-secondary);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.canvas-area{background:radial-gradient(circle at 1px 1px, var(--border-subtle) 1px, transparent 0);background-size:24px 24px;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex;overflow:auto}.phone-frame{background:#fff;border-radius:32px;flex-direction:column;flex-shrink:0;width:375px;height:667px;max-height:667px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 2px 4px #0000000a,0 12px 32px #00000014,0 32px 64px #0000000f}.phone-frame:before{content:"";z-index:10;background:#e0e0e0;border-radius:2px;width:80px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-screen{background:#f5f5f5;flex-direction:column;height:100%;margin-top:0;display:flex;overflow:hidden}.chat-header{background:#fff;border-bottom:1px solid #0000000f;align-items:center;padding:20px 16px 14px;display:flex}.chat-back-btn{color:var(--text-secondary);opacity:.6;padding:2px 4px;font-size:20px}.chat-user{flex:1;align-items:center;gap:10px;margin-left:10px;display:flex}.chat-avatar{color:#fff;background:linear-gradient(135deg,#6852d6,#8b7ae8);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-name{color:var(--text-primary);letter-spacing:-.01em;font-size:14px;font-weight:600}.chat-messages{background:#f5f6f7;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.message-date{text-align:center;color:var(--text-tertiary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.02em;background:#fffc;border-radius:12px;align-self:center;padding:5px 12px;font-size:11px;font-weight:500}.bubble-preview{flex-shrink:0;align-self:flex-start;width:100%;min-height:50px;position:relative;overflow:visible}.canvas-bubble{border-radius:16px 16px 16px 4px;flex-direction:column;gap:2px;display:flex;overflow:visible;box-shadow:0 1px 2px #0000000f,0 1px 3px #0000000a}.canvas-empty{color:var(--text-tertiary);text-align:center;border:2px dashed var(--border-medium);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:8px;padding:40px 20px;font-size:13px;display:flex}.canvas-empty-icon{color:var(--accent-primary);opacity:.4;background:var(--accent-light);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:flex}.chat-input-area{background:#fff;border-top:1px solid #0000000f;align-items:center;gap:10px;padding:10px 14px;display:flex}.chat-input{border:1px solid var(--border-subtle);color:var(--text-primary);background:#f5f6f7;border-radius:20px;flex:1;padding:9px 16px;font-size:13px}.chat-send-btn{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #6852d64d}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #6852d666}.el-wrapper{cursor:pointer;border-radius:4px;width:100%;transition:all .12s;position:relative;overflow:visible}.el-wrapper:hover{background:#6852d60a}.el-wrapper.selected{outline:2px solid var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-wrapper.multi-selected{outline:2px dashed var(--accent-primary);outline-offset:-2px;background:#6852d60a}.el-controls-portal{z-index:9999;background:#fff;border-radius:8px;flex-direction:row;gap:2px;padding:3px;display:flex;box-shadow:0 2px 12px #0000001f,0 0 0 1px #0000000a}.preview-mode .el-controls-portal{display:none}.el-ctrl-btn{width:26px;height:26px;color:var(--text-secondary);border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.el-ctrl-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctrl-btn.danger:hover{color:#dc2626;background:#fee2e2}.el-wrap-menu{border:1px solid var(--border-subtle);z-index:1001;background:#fff;border-radius:10px;min-width:140px;margin-bottom:4px;padding:4px;position:absolute;bottom:100%;right:0;box-shadow:0 8px 24px #0000001f}.el-wrap-option{text-align:left;color:var(--text-secondary);white-space:nowrap;border-radius:6px;width:100%;padding:7px 12px;font-size:12px}.el-wrap-option:hover{background:var(--accent-light);color:var(--accent-primary)}.canvas-breadcrumbs{border-bottom:1px solid var(--border-subtle);background:#fff;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 16px;font-size:12px;display:flex}.canvas-bc-sep{color:var(--text-muted);margin:0 2px;font-size:10px}.canvas-bc-item{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);border-radius:4px;padding:2px 8px}.canvas-bc-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-bc-item.active{color:var(--accent-primary);background:var(--accent-light)}.multi-select-bar{border:1px solid var(--border-subtle);z-index:100;background:#fff;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex;position:absolute;bottom:60px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.multi-select-bar span{color:var(--text-secondary);white-space:nowrap}.multi-select-bar button{background:var(--accent-light);color:var(--accent-primary);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.multi-select-bar button:hover{background:var(--accent-primary);color:#fff}.canvas-bubble ::-webkit-scrollbar{height:3px}.canvas-bubble ::-webkit-scrollbar-track{background:0 0}.canvas-bubble ::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.canvas-toolbar{border-top:1px solid var(--border-subtle);background:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;display:flex}.canvas-tool-btn{width:28px;height:28px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:flex}.canvas-tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.canvas-tool-btn.active{background:var(--accent-light);color:var(--accent-primary)}.canvas-tool-label{color:var(--text-secondary);text-align:center;min-width:36px;font-size:11px}.canvas-tool-sep{background:var(--border-medium);width:1px;height:16px;margin:0 4px}.preview-mode .el-wrapper{cursor:default}.preview-mode .el-wrapper:hover{background:0 0}.preview-mode .el-wrapper.selected,.preview-mode .el-wrapper.multi-selected{background:0 0;outline:none}.preview-mode .canvas-breadcrumbs,.preview-mode .multi-select-bar{display:none}.json-preview-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:60;flex-direction:column;width:380px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0000000f}.json-preview-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);background:var(--bg-secondary);align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.json-preview-header span{flex:1}.json-preview-header button{width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex}.json-preview-header button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.json-preview-code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre;tab-size:2;background:var(--bg-primary);flex:1;margin:0;padding:16px;font-size:12px;line-height:1.6;overflow:auto}.el-context-menu{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:10px;min-width:160px;padding:4px;font-size:12px;box-shadow:0 8px 24px #0000001f}.el-ctx-item{text-align:left;width:100%;color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:6px 12px;display:block}.el-ctx-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.el-ctx-item.danger:hover{color:#dc2626;background:#fee2e2}.el-ctx-sep{background:var(--border-subtle);height:1px;margin:4px 0}.tree-root{font-size:13px}.tree-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;min-height:28px;padding:6px 8px;transition:all .15s;display:flex}.tree-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tree-item.selected{background:var(--accent-light);color:var(--accent-primary)}.tree-item.multi-selected{background:var(--accent-light);color:var(--accent-primary);outline:1px dashed var(--accent-primary);outline-offset:-1px}.tree-item.drop-target{outline:2px dashed var(--accent-primary);outline-offset:-2px}.tree-item.container .tree-type{font-weight:600}.tree-arrow{text-align:center;width:12px;color:var(--text-tertiary);cursor:pointer;font-size:10px;transition:transform .15s}.tree-arrow.collapsed{transform:rotate(-90deg)}.tree-dot{text-align:center;width:12px}.tree-dot:after{content:"";background:var(--border-medium);vertical-align:middle;border-radius:50%;width:4px;height:4px;display:inline-block}.tree-type{font-family:var(--font-mono);font-size:12px}.tree-label{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.tree-empty{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.tree-badge{background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:8px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9px}.tree-error-dot{background:#dc2626;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto}.tree-badge+.tree-error-dot,.tree-error-dot+.tree-badge{margin-left:4px}.tree-drag-overlay{background:var(--bg-primary);border-radius:var(--radius-sm);opacity:.9;box-shadow:0 4px 12px #00000026}.tree-node{touch-action:none}.tree-drop-gap{height:4px;transition:height .1s;position:relative}.tree-drop-gap.active{height:8px}.tree-drop-gap .tree-drop-line{background:0 0;border-radius:1px;height:2px;transition:background .1s}.tree-drop-gap.active .tree-drop-line{background:var(--accent-primary)}.tree-search-wrap{margin-bottom:8px;position:relative}.tree-search{border:1px solid var(--border-subtle);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:6px;padding:7px 28px 7px 10px;font-size:12px}.tree-search:focus{border-color:var(--accent-primary)}.tree-search::placeholder{color:var(--text-muted)}.tree-search-clear{width:18px;height:18px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.tree-search-clear:hover{color:var(--text-primary)}.right-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.rp-tabs{border-bottom:1px solid var(--border-subtle);display:flex}.rp-tab{color:var(--text-secondary);background:0 0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.rp-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.rp-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.rp-content{flex:1;padding:16px;overflow-y:auto}.rp-empty{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.rp-empty-icon{color:var(--border-medium);font-size:48px}.prop-group{margin-bottom:16px}.prop-group-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:11px;font-weight:600}.prop-field{margin-bottom:12px}.prop-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.prop-row{align-items:center;gap:8px;display:flex}.prop-badge{background:var(--accent-light);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;margin-bottom:16px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.prop-error-summary{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:500}.prop-field-error input,.prop-field-error textarea,.prop-field-error select{box-shadow:0 0 0 1px #fecaca;border-color:#dc2626!important}.prop-field-error-hint{color:#dc2626;margin-left:6px;font-size:11px;font-weight:400}.shortcuts-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-panel{background:#fff;border-radius:16px;width:320px;padding:0;overflow:hidden;box-shadow:0 16px 48px #0003}.shortcuts-header{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.shortcuts-close{width:24px;height:24px;color:var(--text-tertiary);border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:flex}.shortcuts-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shortcuts-list{padding:12px 20px 16px}.shortcut-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-action{color:var(--text-secondary);font-size:13px}.shortcut-keys{font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.editor-root{background:var(--bg-secondary);flex-direction:column;width:100%;height:100%;display:flex}.editor-panels{flex:1;display:flex;overflow:hidden}:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#f5f5f5;--bg-elevated:#fff;--bg-hover:#f5f5f5;--bg-active:#f3f0ff;--accent-primary:#6852d6;--accent-secondary:#7c6be6;--accent-light:#f3f0ff;--accent-gradient:linear-gradient(135deg, #6852d6 0%, #7c6be6 100%);--accent-glow:#6852d633;--text-primary:#141414;--text-secondary:#727272;--text-tertiary:#414651;--text-muted:#bfbfbc;--border-subtle:#e9eaeb;--border-medium:#d5d7da;--border-accent:#6852d64d;--success:#10b981;--warning:#f59e0b;--error:#d92d20;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 25px #0000001a;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:"Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Fira Code", monospace}@font-face{font-family:Satoshi;src:url(https://cdn.fontshare.com/wf/RVPXLBADJTQXBIMXQMGXVL3RAWQO3GYP/UPQNUQSJHRAZPGIY5EU7VMJMOQHK76OA/SITBAY6OYFA7BNHFJBHWIL6FHWMCOP2Q.woff2)format("woff2");font-weight:300 900;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}input,textarea,select{border:1px solid var(--border-medium);width:100%;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{appearance:none;cursor:pointer;padding-right:28px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}input[type=color]{border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;width:40px;height:36px;padding:2px}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}textarea{resize:vertical;min-height:60px}
|
|
2
|
-
/*$vite$:1*/
|