@dickpy/dsh-imagegen 1.5.9 → 1.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +1319 -804
- package/lib/client.js.map +1 -1
- package/lib/index.js +1 -1
- package/package.json +82 -82
- package/src/client/CanvasBackgrounds.tsx +1 -19
- package/src/client/CanvasWorkspace.tsx +141 -53
- package/src/client/GooeyNav.module.css +224 -0
- package/src/client/GooeyNav.tsx +185 -0
- package/src/client/ImageGenPanel.tsx +203 -100
- package/src/client/canvas-workspace.module.css +63 -24
- package/src/client/locales.ts +1578 -1542
- package/src/client/panel.module.css +86 -11
- package/src/client/surface-theme.ts +20 -0
- package/src/protocol.ts +583 -580
package/lib/client.js
CHANGED
|
@@ -466,7 +466,7 @@ window.__ModuleLoader__.load({
|
|
|
466
466
|
"entry.newSession": "新会话",
|
|
467
467
|
"entry.newSessionTooltip": "创建一个新的 DSH 会话",
|
|
468
468
|
"entry.image": "生图",
|
|
469
|
-
"panel.title": "
|
|
469
|
+
"panel.title": "VisioWork",
|
|
470
470
|
"panel.githubTip": "觉得好用或有建议?欢迎来 GitHub 提 issues、点个 star 支持一下!",
|
|
471
471
|
"conversation.add": "加入对话",
|
|
472
472
|
"conversation.adding": "加入中…",
|
|
@@ -590,7 +590,7 @@ window.__ModuleLoader__.load({
|
|
|
590
590
|
"ecommerce.productName": "商品名称(必填)",
|
|
591
591
|
"ecommerce.projectName": "项目名称(可选)",
|
|
592
592
|
"ecommerce.constraints": "卖点与约束",
|
|
593
|
-
"ecommerce.sellingPoints": "
|
|
593
|
+
"ecommerce.sellingPoints": "参考信息:品牌型号、规格(容量/尺寸/克重)、材质工艺、核心卖点、安全认证、配件清单等",
|
|
594
594
|
"ecommerce.protectedFeatures": "必须保留的特征,例如:颜色、Logo、包装文字、结构",
|
|
595
595
|
"ecommerce.styleHint": "风格补充,例如:高级感 / 写实 / 自然光",
|
|
596
596
|
"ecommerce.setStructure": "套图结构",
|
|
@@ -598,7 +598,7 @@ window.__ModuleLoader__.load({
|
|
|
598
598
|
"ecommerce.planTitle": "预计生成 {count} 张图片",
|
|
599
599
|
"ecommerce.planSlot": "{count} 张 · {description}",
|
|
600
600
|
"ecommerce.confirm": "确认生成整套图片",
|
|
601
|
-
"ecommerce.uploadRef": "
|
|
601
|
+
"ecommerce.uploadRef": "上传商品图(必选,最多 4 张:主体 / 包装 / 细节)",
|
|
602
602
|
"ecommerce.uploadShort": "上传素材",
|
|
603
603
|
"ecommerce.sellingTitle": "商品卖点",
|
|
604
604
|
"ecommerce.advanced": "高级选项(平台 / 约束)",
|
|
@@ -615,7 +615,19 @@ window.__ModuleLoader__.load({
|
|
|
615
615
|
"ecommerce.refSettings": "参考图设置(可选)",
|
|
616
616
|
"ecommerce.styleTitle": "风格 / 补充提示",
|
|
617
617
|
"ecommerce.protectedLabel": "必须保留的特征(可选)",
|
|
618
|
-
"ecommerce.assetsFull": "最多上传 4
|
|
618
|
+
"ecommerce.assetsFull": "最多上传 4 张商品图",
|
|
619
|
+
"ecommerce.productRefTitle": "主图参考图",
|
|
620
|
+
"ecommerce.productRefHint": "必选 · 商品主体图,最多 4 张",
|
|
621
|
+
"ecommerce.styleRefTitle": "风格参考图",
|
|
622
|
+
"ecommerce.styleRefBadge": "可选,最多 1 张",
|
|
623
|
+
"ecommerce.styleRefHint": "只传风格、光影、构图、氛围,不能更换商品主体。",
|
|
624
|
+
"ecommerce.styleRefUpload": "上传风格参考图",
|
|
625
|
+
"ecommerce.refInfoTitle": "参数信息",
|
|
626
|
+
"ecommerce.aiWrite": "AI 帮写",
|
|
627
|
+
"ecommerce.aiWriting": "AI 整理中…",
|
|
628
|
+
"ecommerce.aiWriteHint": "根据商品名称与类目自动整理参数信息(提示词)",
|
|
629
|
+
"ecommerce.promptInfoPlaceholder": "选填:品牌型号、规格(容量/尺寸/克重)、材质工艺、核心卖点、安全认证、配件清单、画面要求等,也可以点右上角 AI 帮写",
|
|
630
|
+
"ecommerce.optional": "可选",
|
|
619
631
|
"ecommerce.refSelect": "该用途使用的参考图",
|
|
620
632
|
"ecommerce.refNone": "不使用参考图",
|
|
621
633
|
"ecommerce.role.product": "商品主体",
|
|
@@ -968,7 +980,7 @@ window.__ModuleLoader__.load({
|
|
|
968
980
|
"entry.newSession": "New session",
|
|
969
981
|
"entry.newSessionTooltip": "Create a new DSH session",
|
|
970
982
|
"entry.image": "Image",
|
|
971
|
-
"panel.title": "
|
|
983
|
+
"panel.title": "VisioWork",
|
|
972
984
|
"panel.githubTip": "Like it or have suggestions? Head to GitHub to open issues and star us!",
|
|
973
985
|
"conversation.add": "Add to chat",
|
|
974
986
|
"conversation.adding": "Adding…",
|
|
@@ -1092,7 +1104,7 @@ window.__ModuleLoader__.load({
|
|
|
1092
1104
|
"ecommerce.productName": "Product name (required)",
|
|
1093
1105
|
"ecommerce.projectName": "Project name (optional)",
|
|
1094
1106
|
"ecommerce.constraints": "Selling points & constraints",
|
|
1095
|
-
"ecommerce.sellingPoints": "
|
|
1107
|
+
"ecommerce.sellingPoints": "Reference info: brand & model, specs (capacity/size/weight), materials, key selling points, certifications, accessories…",
|
|
1096
1108
|
"ecommerce.protectedFeatures": "Features to preserve: color, logo, packaging text, structure",
|
|
1097
1109
|
"ecommerce.styleHint": "Style hint, e.g. premium / realistic / natural light",
|
|
1098
1110
|
"ecommerce.setStructure": "Image set structure",
|
|
@@ -1100,7 +1112,7 @@ window.__ModuleLoader__.load({
|
|
|
1100
1112
|
"ecommerce.planTitle": "Plan to generate {count} images",
|
|
1101
1113
|
"ecommerce.planSlot": "{count} images · {description}",
|
|
1102
1114
|
"ecommerce.confirm": "Confirm and generate set",
|
|
1103
|
-
"ecommerce.uploadRef": "Upload product
|
|
1115
|
+
"ecommerce.uploadRef": "Upload product images (required, up to 4: product / packaging / detail)",
|
|
1104
1116
|
"ecommerce.uploadShort": "Upload",
|
|
1105
1117
|
"ecommerce.sellingTitle": "Selling points",
|
|
1106
1118
|
"ecommerce.advanced": "Advanced (platform / constraints)",
|
|
@@ -1117,7 +1129,19 @@ window.__ModuleLoader__.load({
|
|
|
1117
1129
|
"ecommerce.refSettings": "Reference images (optional)",
|
|
1118
1130
|
"ecommerce.styleTitle": "Style / extra hints",
|
|
1119
1131
|
"ecommerce.protectedLabel": "Features to preserve (optional)",
|
|
1120
|
-
"ecommerce.assetsFull": "Up to 4
|
|
1132
|
+
"ecommerce.assetsFull": "Up to 4 product images",
|
|
1133
|
+
"ecommerce.productRefTitle": "Product images",
|
|
1134
|
+
"ecommerce.productRefHint": "Required · product shots, up to 4",
|
|
1135
|
+
"ecommerce.styleRefTitle": "Style reference",
|
|
1136
|
+
"ecommerce.styleRefBadge": "optional, 1 max",
|
|
1137
|
+
"ecommerce.styleRefHint": "Style, lighting, composition and mood only — the product itself cannot change.",
|
|
1138
|
+
"ecommerce.styleRefUpload": "Upload style reference",
|
|
1139
|
+
"ecommerce.refInfoTitle": "Product info",
|
|
1140
|
+
"ecommerce.aiWrite": "AI write",
|
|
1141
|
+
"ecommerce.aiWriting": "AI drafting…",
|
|
1142
|
+
"ecommerce.aiWriteHint": "Draft the product info prompt from name and category",
|
|
1143
|
+
"ecommerce.promptInfoPlaceholder": "Optional: brand & model, specs, materials, selling points, certifications, accessories, framing… or use AI write",
|
|
1144
|
+
"ecommerce.optional": "optional",
|
|
1121
1145
|
"ecommerce.refSelect": "Reference image for this slot",
|
|
1122
1146
|
"ecommerce.refNone": "No reference",
|
|
1123
1147
|
"ecommerce.role.product": "Product",
|
|
@@ -1471,7 +1495,7 @@ window.__ModuleLoader__.load({
|
|
|
1471
1495
|
"entry.newSession": "Новая сессия",
|
|
1472
1496
|
"entry.newSessionTooltip": "Создать новую сессию DSH",
|
|
1473
1497
|
"entry.image": "Генерация",
|
|
1474
|
-
"panel.title": "
|
|
1498
|
+
"panel.title": "VisioWork",
|
|
1475
1499
|
"panel.githubTip": "Понравился плагин или есть идеи? Поставьте звезду или откройте issue на GitHub!",
|
|
1476
1500
|
"conversation.add": "В диалог",
|
|
1477
1501
|
"conversation.adding": "Добавляем…",
|
|
@@ -1595,7 +1619,7 @@ window.__ModuleLoader__.load({
|
|
|
1595
1619
|
"ecommerce.productName": "Название товара (обязательно)",
|
|
1596
1620
|
"ecommerce.projectName": "Название проекта (необязательно)",
|
|
1597
1621
|
"ecommerce.constraints": "Преимущества и ограничения",
|
|
1598
|
-
"ecommerce.sellingPoints": "
|
|
1622
|
+
"ecommerce.sellingPoints": "Доп. информация: бренд и модель, характеристики (объём/размер/вес), материалы, преимущества, сертификация, комплектация…",
|
|
1599
1623
|
"ecommerce.protectedFeatures": "Что обязательно сохранить: цвет, логотип, текст упаковки, конструкцию",
|
|
1600
1624
|
"ecommerce.styleHint": "Стиль, например: премиальный / реалистичный / естественный свет",
|
|
1601
1625
|
"ecommerce.setStructure": "Структура комплекта",
|
|
@@ -1603,7 +1627,7 @@ window.__ModuleLoader__.load({
|
|
|
1603
1627
|
"ecommerce.planTitle": "Будет сгенерировано изображений: {count}",
|
|
1604
1628
|
"ecommerce.planSlot": "{count} шт. · {description}",
|
|
1605
1629
|
"ecommerce.confirm": "Сгенерировать весь комплект",
|
|
1606
|
-
"ecommerce.uploadRef": "
|
|
1630
|
+
"ecommerce.uploadRef": "Фото товара (обязательно, до 4 шт.: товар / упаковка / детали)",
|
|
1607
1631
|
"ecommerce.uploadShort": "Загрузить материалы",
|
|
1608
1632
|
"ecommerce.sellingTitle": "Преимущества товара",
|
|
1609
1633
|
"ecommerce.advanced": "Дополнительно (площадка / ограничения)",
|
|
@@ -1620,7 +1644,19 @@ window.__ModuleLoader__.load({
|
|
|
1620
1644
|
"ecommerce.refSettings": "Настройки референсов (необязательно)",
|
|
1621
1645
|
"ecommerce.styleTitle": "Стиль / дополнения",
|
|
1622
1646
|
"ecommerce.protectedLabel": "Обязательно сохранить (необязательно)",
|
|
1623
|
-
"ecommerce.assetsFull": "Не более 4
|
|
1647
|
+
"ecommerce.assetsFull": "Не более 4 фото товара",
|
|
1648
|
+
"ecommerce.productRefTitle": "Референсы товара",
|
|
1649
|
+
"ecommerce.productRefHint": "Обязательно · фото товара, до 4 шт.",
|
|
1650
|
+
"ecommerce.styleRefTitle": "Референс стиля",
|
|
1651
|
+
"ecommerce.styleRefBadge": "опционально, 1 шт.",
|
|
1652
|
+
"ecommerce.styleRefHint": "Только стиль, свет, композиция и настроение — сам товар заменить нельзя.",
|
|
1653
|
+
"ecommerce.styleRefUpload": "Загрузить референс стиля",
|
|
1654
|
+
"ecommerce.refInfoTitle": "Параметры товара",
|
|
1655
|
+
"ecommerce.aiWrite": "ИИ-заполнить",
|
|
1656
|
+
"ecommerce.aiWriting": "ИИ составляет…",
|
|
1657
|
+
"ecommerce.aiWriteHint": "Составить параметры товара из названия и категории",
|
|
1658
|
+
"ecommerce.promptInfoPlaceholder": "Опционально: бренд и модель, характеристики, материалы, преимущества, сертификация, комплектация… или ИИ-заполнить",
|
|
1659
|
+
"ecommerce.optional": "опционально",
|
|
1624
1660
|
"ecommerce.refSelect": "Референс для этого назначения",
|
|
1625
1661
|
"ecommerce.refNone": "Без референса",
|
|
1626
1662
|
"ecommerce.role.product": "Товар",
|
|
@@ -2028,61 +2064,61 @@ window.__ModuleLoader__.load({
|
|
|
2028
2064
|
}
|
|
2029
2065
|
//#endregion
|
|
2030
2066
|
//#region \0dsh-css:E:\dsh-plugin\src\client\templates.module.css.mjs
|
|
2031
|
-
const css$
|
|
2032
|
-
const tagId$
|
|
2033
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
2067
|
+
const css$6 = ".o0mAxG_overlay,.o0mAxG_overlay *,.o0mAxG_overlay :before,.o0mAxG_overlay :after{box-sizing:border-box}.o0mAxG_overlay{z-index:130;background:var(--dsw-alias-bg-mask-1);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.o0mAxG_shell{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);border-radius:14px;flex-direction:column;width:min(1180px,100%);height:100%;max-height:100%;display:flex;overflow:hidden;box-shadow:0 18px 60px #00000047}.o0mAxG_header{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px 10px;display:flex}.o0mAxG_heading{align-items:baseline;gap:10px;min-width:0;display:flex}.o0mAxG_title{margin:0;font-size:15px;font-weight:650}.o0mAxG_meta{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px}.o0mAxG_headerActions{flex:none;align-items:center;gap:8px;display:inline-flex}.o0mAxG_close{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.o0mAxG_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.o0mAxG_sourceTabs{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:0 18px 10px;display:flex}.o0mAxG_sourceTab{height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:9px 9px 0 0;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.o0mAxG_sourceTab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.o0mAxG_sourceTab[data-active]{border-color:var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-brand-primary);border-radius:9px}.o0mAxG_sourceTabCount{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-tertiary);border-radius:999px;padding:0 6px;font-size:11px;font-weight:500}.o0mAxG_sourceTab[data-active] .o0mAxG_sourceTabCount{color:var(--dsw-alias-label-secondary)}.o0mAxG_toolbar{flex-direction:column;flex:none;gap:10px;padding:0 18px 12px;display:flex}.o0mAxG_search{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:100%;height:34px;color:var(--dsw-alias-label-primary);border-radius:9px;outline:none;padding:0 12px;font-family:inherit;font-size:13px}.o0mAxG_search:focus{border-color:var(--dsw-alias-brand-primary)}.o0mAxG_search::placeholder{color:var(--dsw-alias-label-dimmed)}.o0mAxG_categoryRow{flex-wrap:wrap;gap:6px;max-height:64px;display:flex;overflow-y:auto}.o0mAxG_categoryPill{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;padding:0 11px;font-family:inherit;font-size:12px}.o0mAxG_categoryPill:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.o0mAxG_categoryPill[data-active]{border-color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-brand-primary);color:var(--dsw-alias-bg-base)}.o0mAxG_notice{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);border-radius:9px;flex:none;margin:0 18px 10px;padding:8px 12px;font-size:12px}.o0mAxG_body{flex:1;min-height:0;padding:2px 18px 14px;overflow-y:auto}.o0mAxG_state{height:100%;min-height:220px;color:var(--dsw-alias-label-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.o0mAxG_spinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-brand-primary);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite o0mAxG_dsh-imagegen-templates-spin}@keyframes o0mAxG_dsh-imagegen-templates-spin{to{transform:rotate(360deg)}}.o0mAxG_grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.o0mAxG_card{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);cursor:pointer;text-align:left;color:var(--dsw-alias-label-primary);border-radius:11px;flex-direction:column;gap:0;padding:0;font-family:inherit;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.o0mAxG_card:hover{border-color:var(--dsw-alias-brand-primary);transform:translateY(-1px)}.o0mAxG_thumbWrap{aspect-ratio:1;background:var(--dsw-alias-bg-layer-2);width:100%;display:block;position:relative}.o0mAxG_thumb{object-fit:cover;width:100%;height:100%;display:block}.o0mAxG_thumbPlaceholder{width:100%;height:100%;color:var(--dsw-alias-label-dimmed);justify-content:center;align-items:center;display:flex}.o0mAxG_featuredBadge{background:var(--dsw-alias-brand-primary);color:var(--dsw-alias-bg-base);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px}.o0mAxG_favStar{color:#ffffffd9;cursor:pointer;opacity:0;background:#00000059;border:none;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:opacity .15s;display:inline-flex;position:absolute;top:6px;right:6px}.o0mAxG_card:hover .o0mAxG_favStar,.o0mAxG_favStar:focus-visible,.o0mAxG_favStar[data-active]{opacity:1}.o0mAxG_favStar:hover{color:#fff;background:#0000008c}.o0mAxG_favStar[data-active]{color:#ffb020}@media (hover:none){.o0mAxG_favStar{opacity:1}}.o0mAxG_cardBody{flex-direction:column;gap:4px;min-width:0;padding:9px 11px 10px;display:flex}.o0mAxG_cardTitle{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.o0mAxG_cardMeta{min-width:0;color:var(--dsw-alias-label-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.o0mAxG_cardCategory{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 7px}.o0mAxG_cardSource{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.o0mAxG_footer{border-top:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 18px;display:flex}.o0mAxG_attribution{color:var(--dsw-alias-label-dimmed);min-width:0;font-size:11.5px}.o0mAxG_sourceLink{color:var(--dsw-alias-brand-primary);white-space:nowrap;flex:none;font-size:11.5px;font-weight:600;text-decoration:none}.o0mAxG_sourceLink:hover{text-decoration:underline}.o0mAxG_detailOverlay{background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;padding:34px;display:flex;position:absolute;inset:0}.o0mAxG_detail{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);border-radius:14px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:0;width:min(980px,100%);max-height:100%;display:grid;overflow:hidden;box-shadow:0 18px 60px #00000052}.o0mAxG_detailMedia{background:var(--dsw-alias-bg-layer-2);justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.o0mAxG_detailImage{object-fit:contain;width:100%;height:100%;display:block}.o0mAxG_detailInfo{flex-direction:column;gap:10px;min-height:0;padding:18px;display:flex;overflow-y:auto}.o0mAxG_detailTitle{margin:0;font-size:15px;font-weight:650;line-height:1.4}.o0mAxG_detailMeta{color:var(--dsw-alias-label-tertiary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.o0mAxG_detailLink{color:var(--dsw-alias-brand-primary);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.o0mAxG_detailLink:hover{text-decoration:underline}.o0mAxG_detailPrompt{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-height:0;color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;user-select:text;border-radius:10px;flex:1;margin:0;padding:12px;font-family:inherit;font-size:12.5px;line-height:1.6;overflow-y:auto}.o0mAxG_detailActions{background:var(--dsw-alias-bg-base);border-top:1px solid var(--dsw-alias-border-l1);flex:none;gap:8px;margin:0 -18px -18px;padding:12px 18px;display:flex;position:sticky;bottom:0}@media (width<=760px){.o0mAxG_detail{grid-template-rows:minmax(0,3fr) minmax(0,4fr);grid-template-columns:1fr}}";
|
|
2068
|
+
const tagId$6 = "@dickpy/dsh-imagegen/templates.module.css";
|
|
2069
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
|
|
2034
2070
|
const tag = document.createElement("style");
|
|
2035
2071
|
tag.dataset.plugin = "@dickpy/dsh-imagegen";
|
|
2036
|
-
tag.dataset.pluginCss = tagId$
|
|
2037
|
-
tag.textContent = css$
|
|
2072
|
+
tag.dataset.pluginCss = tagId$6;
|
|
2073
|
+
tag.textContent = css$6;
|
|
2038
2074
|
document.head.appendChild(tag);
|
|
2039
2075
|
}
|
|
2040
2076
|
var templates_module_css_default = {
|
|
2041
|
-
"
|
|
2042
|
-
"
|
|
2043
|
-
"
|
|
2044
|
-
"
|
|
2077
|
+
"search": "o0mAxG_search",
|
|
2078
|
+
"shell": "o0mAxG_shell",
|
|
2079
|
+
"toolbar": "o0mAxG_toolbar",
|
|
2080
|
+
"thumbPlaceholder": "o0mAxG_thumbPlaceholder",
|
|
2081
|
+
"cardBody": "o0mAxG_cardBody",
|
|
2045
2082
|
"cardTitle": "o0mAxG_cardTitle",
|
|
2046
|
-
"
|
|
2047
|
-
"
|
|
2048
|
-
"
|
|
2049
|
-
"headerActions": "o0mAxG_headerActions",
|
|
2050
|
-
"spinner": "o0mAxG_spinner",
|
|
2051
|
-
"dsh-imagegen-templates-spin": "o0mAxG_dsh-imagegen-templates-spin",
|
|
2052
|
-
"attribution": "o0mAxG_attribution",
|
|
2053
|
-
"sourceLink": "o0mAxG_sourceLink",
|
|
2054
|
-
"detailMeta": "o0mAxG_detailMeta",
|
|
2055
|
-
"cardCategory": "o0mAxG_cardCategory",
|
|
2056
|
-
"close": "o0mAxG_close",
|
|
2057
|
-
"body": "o0mAxG_body",
|
|
2058
|
-
"cardMeta": "o0mAxG_cardMeta",
|
|
2059
|
-
"grid": "o0mAxG_grid",
|
|
2083
|
+
"header": "o0mAxG_header",
|
|
2084
|
+
"thumb": "o0mAxG_thumb",
|
|
2085
|
+
"detailOverlay": "o0mAxG_detailOverlay",
|
|
2060
2086
|
"detailMedia": "o0mAxG_detailMedia",
|
|
2087
|
+
"detailMeta": "o0mAxG_detailMeta",
|
|
2061
2088
|
"detailLink": "o0mAxG_detailLink",
|
|
2089
|
+
"detailPrompt": "o0mAxG_detailPrompt",
|
|
2090
|
+
"body": "o0mAxG_body",
|
|
2062
2091
|
"sourceTabCount": "o0mAxG_sourceTabCount",
|
|
2092
|
+
"dsh-imagegen-templates-spin": "o0mAxG_dsh-imagegen-templates-spin",
|
|
2093
|
+
"sourceTabs": "o0mAxG_sourceTabs",
|
|
2094
|
+
"thumbWrap": "o0mAxG_thumbWrap",
|
|
2095
|
+
"cardCategory": "o0mAxG_cardCategory",
|
|
2063
2096
|
"cardSource": "o0mAxG_cardSource",
|
|
2097
|
+
"heading": "o0mAxG_heading",
|
|
2098
|
+
"title": "o0mAxG_title",
|
|
2064
2099
|
"detailImage": "o0mAxG_detailImage",
|
|
2065
|
-
"
|
|
2066
|
-
"
|
|
2067
|
-
"categoryPill": "o0mAxG_categoryPill",
|
|
2068
|
-
"featuredBadge": "o0mAxG_featuredBadge",
|
|
2069
|
-
"shell": "o0mAxG_shell",
|
|
2100
|
+
"state": "o0mAxG_state",
|
|
2101
|
+
"detailInfo": "o0mAxG_detailInfo",
|
|
2070
2102
|
"card": "o0mAxG_card",
|
|
2071
|
-
"
|
|
2072
|
-
"
|
|
2103
|
+
"overlay": "o0mAxG_overlay",
|
|
2104
|
+
"close": "o0mAxG_close",
|
|
2073
2105
|
"sourceTab": "o0mAxG_sourceTab",
|
|
2074
|
-
"
|
|
2075
|
-
"
|
|
2106
|
+
"spinner": "o0mAxG_spinner",
|
|
2107
|
+
"notice": "o0mAxG_notice",
|
|
2108
|
+
"categoryRow": "o0mAxG_categoryRow",
|
|
2109
|
+
"featuredBadge": "o0mAxG_featuredBadge",
|
|
2110
|
+
"cardMeta": "o0mAxG_cardMeta",
|
|
2111
|
+
"headerActions": "o0mAxG_headerActions",
|
|
2112
|
+
"footer": "o0mAxG_footer",
|
|
2113
|
+
"attribution": "o0mAxG_attribution",
|
|
2114
|
+
"meta": "o0mAxG_meta",
|
|
2115
|
+
"sourceLink": "o0mAxG_sourceLink",
|
|
2076
2116
|
"detail": "o0mAxG_detail",
|
|
2117
|
+
"detailTitle": "o0mAxG_detailTitle",
|
|
2077
2118
|
"detailActions": "o0mAxG_detailActions",
|
|
2078
|
-
"
|
|
2079
|
-
"
|
|
2080
|
-
"
|
|
2081
|
-
"thumbPlaceholder": "o0mAxG_thumbPlaceholder",
|
|
2082
|
-
"toolbar": "o0mAxG_toolbar",
|
|
2083
|
-
"cardBody": "o0mAxG_cardBody",
|
|
2084
|
-
"title": "o0mAxG_title",
|
|
2085
|
-
"heading": "o0mAxG_heading"
|
|
2119
|
+
"grid": "o0mAxG_grid",
|
|
2120
|
+
"categoryPill": "o0mAxG_categoryPill",
|
|
2121
|
+
"favStar": "o0mAxG_favStar"
|
|
2086
2122
|
};
|
|
2087
2123
|
//#endregion
|
|
2088
2124
|
//#region src/client/TemplateLibrary.tsx
|
|
@@ -2699,6 +2735,238 @@ window.__ModuleLoader__.load({
|
|
|
2699
2735
|
}), document.body);
|
|
2700
2736
|
}
|
|
2701
2737
|
//#endregion
|
|
2738
|
+
//#region src/client/surface-theme.ts
|
|
2739
|
+
/** Walk up from an element to the first opaque surface and decide
|
|
2740
|
+
* light vs dark, so ported reactbits visuals can pick their ink. Non-browser
|
|
2741
|
+
* environments (jsdom smoke) have no computed styles and default to dark. */
|
|
2742
|
+
function detectLightSurface(element) {
|
|
2743
|
+
if (typeof globalThis.getComputedStyle !== "function") return false;
|
|
2744
|
+
let node = element;
|
|
2745
|
+
while (node !== null) {
|
|
2746
|
+
const match = getComputedStyle(node).backgroundColor.match(/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,]+([\d.]+))?\s*\)/);
|
|
2747
|
+
if (match !== null) {
|
|
2748
|
+
if ((match[4] !== void 0 ? Number(match[4]) : 1) >= .5) return (.2126 * Number(match[1]) + .7152 * Number(match[2]) + .0722 * Number(match[3])) / 255 > .55;
|
|
2749
|
+
}
|
|
2750
|
+
node = node.parentElement;
|
|
2751
|
+
}
|
|
2752
|
+
return false;
|
|
2753
|
+
}
|
|
2754
|
+
//#endregion
|
|
2755
|
+
//#region \0dsh-css:E:\dsh-plugin\src\client\GooeyNav.module.css.mjs
|
|
2756
|
+
const css$5 = ".n1YSHG_container{--gooey-time:1.5s;--gooey-color-1:#5227ff;--gooey-color-2:#ff9ffc;--gooey-color-3:#b19eef;--gooey-color-4:#22d3ee;--gooey-pill:#17171c;--gooey-pill-ink:#fff;--gooey-ink:#5b5e6b;font-size:13px;position:relative}.n1YSHG_container[data-theme=dark]{--gooey-pill:#fff;--gooey-pill-ink:#17171c;--gooey-ink:#fff}.n1YSHG_gooSvg{width:0;height:0;position:absolute}.n1YSHG_container nav{display:flex;position:relative;transform:translateZ(.01px)}.n1YSHG_container nav ul{z-index:3;gap:6px;margin:0;padding:0 4px;list-style:none;display:flex;position:relative}.n1YSHG_container nav li{color:var(--gooey-ink);border-radius:100vw;transition:background-color .3s,color .3s,box-shadow .3s;position:relative}.n1YSHG_container nav li button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 13px;display:inline-block}.n1YSHG_container nav li.n1YSHG_active{color:var(--gooey-pill-ink)}.n1YSHG_container nav li:after{content:\"\";background:var(--gooey-pill);opacity:0;z-index:-1;border-radius:10px;transition:all .3s;position:absolute;inset:0;transform:scale(0)}.n1YSHG_container nav li.n1YSHG_active:after{opacity:1;transform:scale(1)}.n1YSHG_effect{opacity:1;pointer-events:none;z-index:1;place-items:center;width:0;height:0;display:grid;position:absolute;top:0;left:0}.n1YSHG_effectText{color:var(--gooey-ink);font-size:13px;transition:color .3s}.n1YSHG_effectText.n1YSHG_active{color:var(--gooey-pill-ink)}.n1YSHG_effectFilter{filter:url(#dsh-gooey-nav-goo)}.n1YSHG_effectFilter:after{content:\"\";background:var(--gooey-pill);opacity:0;z-index:-1;border-radius:100vw;position:absolute;inset:0;transform:scale(0)}.n1YSHG_effectFilter.n1YSHG_active:after{animation:.3s both n1YSHG_gooeyPill}@keyframes n1YSHG_gooeyPill{to{opacity:1;transform:scale(1)}}.n1YSHG_particle,.n1YSHG_point{opacity:0;transform-origin:50%;border-radius:100%;width:14px;height:14px;display:block}.n1YSHG_particle{--time:1.5s;animation:n1YSHG_gooeyParticle calc(var(--time)) ease 1 -350ms;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px)}.n1YSHG_point{background:var(--color);opacity:1;animation:n1YSHG_gooeyPoint calc(var(--time)) ease 1 -350ms}@keyframes n1YSHG_gooeyParticle{0%{transform:rotate(0deg) translate(calc(var(--start-x)), calc(var(--start-y)));opacity:1;animation-timing-function:cubic-bezier(.55,0,1,.45)}70%{transform:rotate(calc(var(--rotate) * .5)) translate(calc(var(--end-x) * 1.2), calc(var(--end-y) * 1.2));opacity:1;animation-timing-function:ease}85%{transform:rotate(calc(var(--rotate) * .66)) translate(calc(var(--end-x)), calc(var(--end-y)));opacity:1}to{transform:rotate(calc(var(--rotate) * 1.2)) translate(calc(var(--end-x) * .5), calc(var(--end-y) * .5));opacity:1}}@keyframes n1YSHG_gooeyPoint{0%{opacity:0;animation-timing-function:cubic-bezier(.55,0,1,.45);transform:scale(0)}25%{transform:scale(calc(var(--scale) * .25))}38%{opacity:1}65%{transform:scale(var(--scale));opacity:1;animation-timing-function:ease}85%{transform:scale(var(--scale));opacity:1}to{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:reduce){.n1YSHG_particle,.n1YSHG_point{animation:none}}";
|
|
2757
|
+
const tagId$5 = "@dickpy/dsh-imagegen/GooeyNav.module.css";
|
|
2758
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
|
|
2759
|
+
const tag = document.createElement("style");
|
|
2760
|
+
tag.dataset.plugin = "@dickpy/dsh-imagegen";
|
|
2761
|
+
tag.dataset.pluginCss = tagId$5;
|
|
2762
|
+
tag.textContent = css$5;
|
|
2763
|
+
document.head.appendChild(tag);
|
|
2764
|
+
}
|
|
2765
|
+
var GooeyNav_module_css_default = {
|
|
2766
|
+
"gooeyPoint": "n1YSHG_gooeyPoint",
|
|
2767
|
+
"effectText": "n1YSHG_effectText",
|
|
2768
|
+
"gooeyParticle": "n1YSHG_gooeyParticle",
|
|
2769
|
+
"effectFilter": "n1YSHG_effectFilter",
|
|
2770
|
+
"particle": "n1YSHG_particle",
|
|
2771
|
+
"active": "n1YSHG_active",
|
|
2772
|
+
"gooSvg": "n1YSHG_gooSvg",
|
|
2773
|
+
"container": "n1YSHG_container",
|
|
2774
|
+
"effect": "n1YSHG_effect",
|
|
2775
|
+
"gooeyPill": "n1YSHG_gooeyPill",
|
|
2776
|
+
"point": "n1YSHG_point"
|
|
2777
|
+
};
|
|
2778
|
+
//#endregion
|
|
2779
|
+
//#region src/client/GooeyNav.tsx
|
|
2780
|
+
/** reactbits.dev "GooeyNav" port (controlled, dependency-free): the active
|
|
2781
|
+
* pill merges with a radial burst of gooey particles through a
|
|
2782
|
+
* blur+contrast filter. The original renders white ink on dark surfaces,
|
|
2783
|
+
* so the palette flips per detected surface to stay readable in the host
|
|
2784
|
+
* theme. */
|
|
2785
|
+
const ANIMATION_TIME = 600;
|
|
2786
|
+
const PARTICLE_COUNT = 15;
|
|
2787
|
+
const PARTICLE_DISTANCES = [90, 10];
|
|
2788
|
+
const PARTICLE_R = 100;
|
|
2789
|
+
const TIME_VARIANCE = 300;
|
|
2790
|
+
const COLORS = [
|
|
2791
|
+
1,
|
|
2792
|
+
2,
|
|
2793
|
+
3,
|
|
2794
|
+
1,
|
|
2795
|
+
2,
|
|
2796
|
+
3,
|
|
2797
|
+
1,
|
|
2798
|
+
4
|
|
2799
|
+
];
|
|
2800
|
+
function GooeyNav(props) {
|
|
2801
|
+
const { items, activeIndex, onSelect, ariaLabel } = props;
|
|
2802
|
+
const containerRef = (0, react.useRef)(null);
|
|
2803
|
+
const navRef = (0, react.useRef)(null);
|
|
2804
|
+
const filterRef = (0, react.useRef)(null);
|
|
2805
|
+
const textRef = (0, react.useRef)(null);
|
|
2806
|
+
const burstRef = (0, react.useRef)(() => {});
|
|
2807
|
+
const timersRef = (0, react.useRef)([]);
|
|
2808
|
+
const activeIndexRef = (0, react.useRef)(activeIndex);
|
|
2809
|
+
activeIndexRef.current = activeIndex;
|
|
2810
|
+
const updateEffectPosition = (element) => {
|
|
2811
|
+
const container = containerRef.current;
|
|
2812
|
+
const filter = filterRef.current;
|
|
2813
|
+
const text = textRef.current;
|
|
2814
|
+
if (container === null || filter === null || text === null) return;
|
|
2815
|
+
const containerRect = container.getBoundingClientRect();
|
|
2816
|
+
const pos = element.getBoundingClientRect();
|
|
2817
|
+
const styles = {
|
|
2818
|
+
left: `${pos.x - containerRect.x}px`,
|
|
2819
|
+
top: `${pos.y - containerRect.y}px`,
|
|
2820
|
+
width: `${pos.width}px`,
|
|
2821
|
+
height: `${pos.height}px`
|
|
2822
|
+
};
|
|
2823
|
+
Object.assign(filter.style, styles);
|
|
2824
|
+
Object.assign(text.style, styles);
|
|
2825
|
+
text.textContent = element.textContent;
|
|
2826
|
+
};
|
|
2827
|
+
(0, react.useEffect)(() => {
|
|
2828
|
+
const container = containerRef.current;
|
|
2829
|
+
const filter = filterRef.current;
|
|
2830
|
+
const text = textRef.current;
|
|
2831
|
+
if (container === null || filter === null || text === null) return;
|
|
2832
|
+
container.dataset.theme = detectLightSurface(container) ? "light" : "dark";
|
|
2833
|
+
let disposed = false;
|
|
2834
|
+
const noise = (amount) => amount / 2 - Math.random() * amount;
|
|
2835
|
+
const getXY = (distance, pointIndex, totalPoints) => {
|
|
2836
|
+
const angle = (360 + noise(8)) / totalPoints * pointIndex * (Math.PI / 180);
|
|
2837
|
+
return [distance * Math.cos(angle), distance * Math.sin(angle)];
|
|
2838
|
+
};
|
|
2839
|
+
const makeParticles = (element) => {
|
|
2840
|
+
element.style.setProperty("--time", `1500ms`);
|
|
2841
|
+
for (let i = 0; i < PARTICLE_COUNT; i++) {
|
|
2842
|
+
const time = ANIMATION_TIME * 2 + noise(TIME_VARIANCE * 2);
|
|
2843
|
+
const rotateSeed = noise(PARTICLE_R / 10);
|
|
2844
|
+
const start = getXY(PARTICLE_DISTANCES[0], PARTICLE_COUNT - i, PARTICLE_COUNT);
|
|
2845
|
+
const end = getXY(PARTICLE_DISTANCES[1] + noise(7), PARTICLE_COUNT - i, PARTICLE_COUNT);
|
|
2846
|
+
const scale = 1 + noise(.2);
|
|
2847
|
+
const color = COLORS[Math.floor(Math.random() * COLORS.length)] ?? 1;
|
|
2848
|
+
const rotate = rotateSeed > 0 ? (rotateSeed + PARTICLE_R / 20) * 10 : (rotateSeed - PARTICLE_R / 20) * 10;
|
|
2849
|
+
const timer = window.setTimeout(() => {
|
|
2850
|
+
if (disposed) return;
|
|
2851
|
+
const particle = document.createElement("span");
|
|
2852
|
+
const point = document.createElement("span");
|
|
2853
|
+
particle.className = GooeyNav_module_css_default.particle;
|
|
2854
|
+
point.className = GooeyNav_module_css_default.point;
|
|
2855
|
+
particle.style.setProperty("--start-x", `${start[0]}px`);
|
|
2856
|
+
particle.style.setProperty("--start-y", `${start[1]}px`);
|
|
2857
|
+
particle.style.setProperty("--end-x", `${end[0]}px`);
|
|
2858
|
+
particle.style.setProperty("--end-y", `${end[1]}px`);
|
|
2859
|
+
particle.style.setProperty("--time", `${time}ms`);
|
|
2860
|
+
particle.style.setProperty("--scale", `${scale}`);
|
|
2861
|
+
particle.style.setProperty("--color", `var(--gooey-color-${color}, currentColor)`);
|
|
2862
|
+
particle.style.setProperty("--rotate", `${rotate}deg`);
|
|
2863
|
+
particle.appendChild(point);
|
|
2864
|
+
element.appendChild(particle);
|
|
2865
|
+
if (typeof window.requestAnimationFrame === "function") window.requestAnimationFrame(() => {
|
|
2866
|
+
element.classList.add(GooeyNav_module_css_default.active);
|
|
2867
|
+
});
|
|
2868
|
+
else element.classList.add(GooeyNav_module_css_default.active);
|
|
2869
|
+
const removeTimer = window.setTimeout(() => {
|
|
2870
|
+
particle.remove();
|
|
2871
|
+
}, time);
|
|
2872
|
+
timersRef.current.push(removeTimer);
|
|
2873
|
+
}, 30);
|
|
2874
|
+
timersRef.current.push(timer);
|
|
2875
|
+
}
|
|
2876
|
+
};
|
|
2877
|
+
burstRef.current = (li) => {
|
|
2878
|
+
updateEffectPosition(li);
|
|
2879
|
+
for (const particle of [...filter.querySelectorAll(`.${GooeyNav_module_css_default.particle}`)]) particle.remove();
|
|
2880
|
+
text.classList.remove(GooeyNav_module_css_default.active);
|
|
2881
|
+
text.offsetWidth;
|
|
2882
|
+
text.classList.add(GooeyNav_module_css_default.active);
|
|
2883
|
+
makeParticles(filter);
|
|
2884
|
+
};
|
|
2885
|
+
const positionActive = () => {
|
|
2886
|
+
const activeLi = navRef.current?.querySelectorAll("li")[activeIndexRef.current];
|
|
2887
|
+
if (activeLi) {
|
|
2888
|
+
updateEffectPosition(activeLi);
|
|
2889
|
+
text.classList.add(GooeyNav_module_css_default.active);
|
|
2890
|
+
}
|
|
2891
|
+
};
|
|
2892
|
+
positionActive();
|
|
2893
|
+
const observer = new ResizeObserver(positionActive);
|
|
2894
|
+
observer.observe(container);
|
|
2895
|
+
return () => {
|
|
2896
|
+
disposed = true;
|
|
2897
|
+
for (const timer of timersRef.current) window.clearTimeout(timer);
|
|
2898
|
+
timersRef.current = [];
|
|
2899
|
+
observer.disconnect();
|
|
2900
|
+
};
|
|
2901
|
+
}, []);
|
|
2902
|
+
(0, react.useEffect)(() => {
|
|
2903
|
+
const nav = navRef.current;
|
|
2904
|
+
const text = textRef.current;
|
|
2905
|
+
const activeLi = nav?.querySelectorAll("li")[activeIndex];
|
|
2906
|
+
if (activeLi) {
|
|
2907
|
+
updateEffectPosition(activeLi);
|
|
2908
|
+
text?.classList.add(GooeyNav_module_css_default.active);
|
|
2909
|
+
}
|
|
2910
|
+
}, [activeIndex]);
|
|
2911
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
2912
|
+
className: GooeyNav_module_css_default.container,
|
|
2913
|
+
ref: containerRef,
|
|
2914
|
+
children: [
|
|
2915
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
2916
|
+
className: GooeyNav_module_css_default.gooSvg,
|
|
2917
|
+
"aria-hidden": "true",
|
|
2918
|
+
focusable: "false",
|
|
2919
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("filter", {
|
|
2920
|
+
id: "dsh-gooey-nav-goo",
|
|
2921
|
+
x: "-150%",
|
|
2922
|
+
y: "-150%",
|
|
2923
|
+
width: "400%",
|
|
2924
|
+
height: "400%",
|
|
2925
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("feGaussianBlur", {
|
|
2926
|
+
in: "SourceGraphic",
|
|
2927
|
+
stdDeviation: "6",
|
|
2928
|
+
result: "blur"
|
|
2929
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("feColorMatrix", {
|
|
2930
|
+
in: "blur",
|
|
2931
|
+
mode: "matrix",
|
|
2932
|
+
values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9"
|
|
2933
|
+
})]
|
|
2934
|
+
}) })
|
|
2935
|
+
}),
|
|
2936
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
|
|
2937
|
+
"aria-label": ariaLabel,
|
|
2938
|
+
role: "tablist",
|
|
2939
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
|
|
2940
|
+
ref: navRef,
|
|
2941
|
+
children: items.map((item, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
|
|
2942
|
+
className: activeIndex === index ? GooeyNav_module_css_default.active : void 0,
|
|
2943
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
2944
|
+
type: "button",
|
|
2945
|
+
role: "tab",
|
|
2946
|
+
"aria-selected": activeIndex === index,
|
|
2947
|
+
onClick: (event) => {
|
|
2948
|
+
if (index === activeIndex) return;
|
|
2949
|
+
const li = event.currentTarget.closest("li");
|
|
2950
|
+
if (li !== null) burstRef.current(li);
|
|
2951
|
+
onSelect(index);
|
|
2952
|
+
},
|
|
2953
|
+
children: item.label
|
|
2954
|
+
})
|
|
2955
|
+
}, item.key))
|
|
2956
|
+
})
|
|
2957
|
+
}),
|
|
2958
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2959
|
+
className: `${GooeyNav_module_css_default.effect} ${GooeyNav_module_css_default.effectFilter}`,
|
|
2960
|
+
ref: filterRef
|
|
2961
|
+
}),
|
|
2962
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
2963
|
+
className: `${GooeyNav_module_css_default.effect} ${GooeyNav_module_css_default.effectText}`,
|
|
2964
|
+
ref: textRef
|
|
2965
|
+
})
|
|
2966
|
+
]
|
|
2967
|
+
});
|
|
2968
|
+
}
|
|
2969
|
+
//#endregion
|
|
2702
2970
|
//#region \0dsh-css:E:\dsh-plugin\src\client\inspiration.module.css.mjs
|
|
2703
2971
|
const css$4 = ".IgRnJG_wrap{width:min(880px,100%);font-family:var(--dsw-font-family);flex-direction:column;align-items:center;gap:16px;margin:auto;padding:24px;display:flex}.IgRnJG_title{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:650}.IgRnJG_emptyIcon{color:var(--dsw-alias-label-dimmed);display:inline-flex}.IgRnJG_emptyTitle{color:var(--dsw-alias-label-primary);margin-top:-6px;font-size:15px;font-weight:650}.IgRnJG_emptyHint{color:var(--dsw-alias-label-tertiary);font-size:12.5px}.IgRnJG_grid{grid-template-columns:repeat(4,1fr);gap:12px;width:100%;display:grid}@media (width<=900px){.IgRnJG_grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.IgRnJG_grid{grid-template-columns:repeat(2,1fr)}}.IgRnJG_tile{aspect-ratio:1;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);cursor:pointer;border-radius:12px;width:100%;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.IgRnJG_tile:hover{border-color:var(--dsw-alias-brand-primary);transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.IgRnJG_thumbWrap{display:block;position:absolute;inset:0}.IgRnJG_thumb{object-fit:cover;width:100%;height:100%;display:block}.IgRnJG_thumbFallback{background:var(--dsw-alias-bg-layer-2);width:100%;height:100%;color:var(--dsw-alias-label-tertiary);text-align:center;justify-content:center;align-items:center;padding:6px;font-size:11px;line-height:1.4;display:flex;overflow:hidden}.IgRnJG_thumbTitle{text-overflow:ellipsis;white-space:nowrap;color:#fff;text-align:center;opacity:0;pointer-events:none;background:linear-gradient(#0000,#0000008c);padding:14px 8px 6px;font-size:10.5px;transition:opacity .15s;position:absolute;inset:auto 0 0;overflow:hidden}.IgRnJG_tile:hover .IgRnJG_thumbTitle{opacity:1}.IgRnJG_spinner{border:2px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-brand-primary);border-radius:50%;width:20px;height:20px;animation:.9s linear infinite IgRnJG_dsh-imagegen-inspiration-spin}@keyframes IgRnJG_dsh-imagegen-inspiration-spin{to{transform:rotate(360deg)}}@media (hover:none){.IgRnJG_thumbTitle{opacity:1}}";
|
|
2704
2972
|
const tagId$4 = "@dickpy/dsh-imagegen/inspiration.module.css";
|
|
@@ -2711,18 +2979,18 @@ window.__ModuleLoader__.load({
|
|
|
2711
2979
|
}
|
|
2712
2980
|
var inspiration_module_css_default = {
|
|
2713
2981
|
"emptyHint": "IgRnJG_emptyHint",
|
|
2982
|
+
"title": "IgRnJG_title",
|
|
2714
2983
|
"emptyTitle": "IgRnJG_emptyTitle",
|
|
2715
2984
|
"grid": "IgRnJG_grid",
|
|
2716
|
-
"
|
|
2985
|
+
"thumbWrap": "IgRnJG_thumbWrap",
|
|
2717
2986
|
"thumb": "IgRnJG_thumb",
|
|
2718
|
-
"thumbFallback": "IgRnJG_thumbFallback",
|
|
2719
2987
|
"spinner": "IgRnJG_spinner",
|
|
2988
|
+
"tile": "IgRnJG_tile",
|
|
2720
2989
|
"dsh-imagegen-inspiration-spin": "IgRnJG_dsh-imagegen-inspiration-spin",
|
|
2721
|
-
"thumbTitle": "IgRnJG_thumbTitle",
|
|
2722
|
-
"thumbWrap": "IgRnJG_thumbWrap",
|
|
2723
|
-
"title": "IgRnJG_title",
|
|
2724
2990
|
"wrap": "IgRnJG_wrap",
|
|
2725
|
-
"
|
|
2991
|
+
"emptyIcon": "IgRnJG_emptyIcon",
|
|
2992
|
+
"thumbFallback": "IgRnJG_thumbFallback",
|
|
2993
|
+
"thumbTitle": "IgRnJG_thumbTitle"
|
|
2726
2994
|
};
|
|
2727
2995
|
//#endregion
|
|
2728
2996
|
//#region src/client/InspirationGallery.tsx
|
|
@@ -37993,7 +38261,7 @@ window.__ModuleLoader__.load({
|
|
|
37993
38261
|
exports.Wallpaper = Wallpaper;
|
|
37994
38262
|
exports.X = X;
|
|
37995
38263
|
})))();
|
|
37996
|
-
const css$3 = "._0yZr2a_root{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family,inherit);user-select:none;border-radius:10px;flex-direction:column;flex:auto;display:flex;position:relative;overflow:hidden}._0yZr2a_selectCursor{cursor:default}._0yZr2a_panCursor{cursor:grab}._0yZr2a_panCursor:active{cursor:grabbing}._0yZr2a_topBar{border-bottom:1px solid var(--dsw-alias-border-l1);z-index:40;background:var(--dsw-alias-bg-layer-1);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}._0yZr2a_projectSelect{border:1px solid var(--dsw-alias-border-l1);max-width:180px;height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;padding:0 8px;font-size:12.5px}._0yZr2a_titleButton{height:30px;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;max-width:260px;padding:0 10px;font-size:13px;font-weight:600;overflow:hidden}._0yZr2a_titleButton:hover{border-color:var(--dsw-alias-border-l1)}._0yZr2a_titleInput{border:1px solid var(--dsw-alias-brand-primary);height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;outline:none;width:240px;padding:0 10px;font-size:13px;font-weight:600}._0yZr2a_topBarSpacer{flex:1}._0yZr2a_saveState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11.5px}._0yZr2a_saveState[data-state=error]{color:var(--dsw-alias-label-error)}._0yZr2a_saveState[data-state=saving]{color:var(--dsw-alias-state-warn-primary,var(--dsw-alias-label-secondary))}._0yZr2a_iconButton{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex}._0yZr2a_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._0yZr2a_iconButton[data-active]{background:color-mix(in srgb, var(--dsw-alias-brand-primary) 16%, transparent);color:var(--dsw-alias-brand-primary)}._0yZr2a_iconButton:disabled{opacity:.35;cursor:not-allowed}._0yZr2a_iconButton:disabled:hover{color:var(--dsw-alias-label-secondary);background:0 0}._0yZr2a_viewport{touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}._0yZr2a_grid{pointer-events:none;opacity:.5;position:absolute;inset:0}._0yZr2a_flowCanvas,._0yZr2a_liquidCanvas,._0yZr2a_sceneCanvas{width:100%;height:100%;position:absolute;inset:0}._0yZr2a_grid[data-mode=flow],._0yZr2a_grid[data-mode=liquid],._0yZr2a_grid[data-mode=floatingLines],._0yZr2a_grid[data-mode=galaxy],._0yZr2a_grid[data-mode=silk],._0yZr2a_grid[data-mode=waves],._0yZr2a_grid[data-mode=faultyTerminal],._0yZr2a_grid[data-mode=dotField],._0yZr2a_grid[data-mode=dotGrid],._0yZr2a_grid[data-mode=shapeGrid]{opacity:1}._0yZr2a_grid[data-mode=dots]{background-image:radial-gradient(circle, color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent) 1.1px, transparent 1.4px)}._0yZr2a_grid[data-mode=lines]{background-image:linear-gradient(color-mix(in srgb, var(--dsw-alias-label-primary) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 9%, transparent) 1px, transparent 1px)}._0yZr2a_grid[data-mode=blank],._0yZr2a_grid[data-mode=image]{background-image:none}._0yZr2a_gridScrim{background:var(--dsw-alias-bg-layer-1);opacity:.6;position:absolute;inset:0}._0yZr2a_backgroundMenu{z-index:45;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);border-radius:11px;flex-direction:column;min-width:168px;padding:5px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 16px 40px #0f172a33}._0yZr2a_backgroundMenu button{color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:flex-start;align-items:center;padding:7px 10px;font-size:12.5px;display:flex}._0yZr2a_backgroundMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_backgroundMenu button[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 12%, transparent)}._0yZr2a_backgroundMenuDivider{background:var(--dsw-alias-border-l1);height:1px;margin:4px 6px}._0yZr2a_world{transform-origin:0 0;position:absolute;top:0;left:0}._0yZr2a_marquee{z-index:20;border:1px solid var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent);pointer-events:none;border-radius:4px;position:absolute}._0yZr2a_node{border:1.5px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);cursor:grab;touch-action:none;border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:visible;box-shadow:0 8px 24px #0f172a1f}._0yZr2a_node:active{cursor:grabbing}._0yZr2a_nodeGlow{pointer-events:none;opacity:0;border-radius:18px;transition:opacity .15s;position:absolute;inset:-6px}._0yZr2a_nodeSelected{border-color:var(--dsw-alias-brand-primary);z-index:2}._0yZr2a_nodeSelected ._0yZr2a_nodeGlow{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-brand-primary) 22%, transparent)}._0yZr2a_nodeRelated{border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent)}._0yZr2a_nodeConnectTarget{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--dsw-alias-brand-primary) 26%, transparent)}._0yZr2a_nodeHeader{color:var(--dsw-alias-label-secondary);cursor:inherit;flex:none;align-items:center;gap:6px;padding:7px 12px 5px;font-size:11.5px;display:flex}._0yZr2a_nodeTitle{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}._0yZr2a_nodeSize{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}._0yZr2a_nodeSpinner{border:1.5px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 30%, transparent);border-top-color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite _0yZr2a_canvasSpin}._0yZr2a_nodeBody{background:color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent);pointer-events:none;border-radius:9px;flex:1;justify-content:center;align-items:center;min-height:0;margin:0 8px 8px;display:flex;overflow:hidden}._0yZr2a_nodeBody img{object-fit:contain;width:100%;height:100%;display:block}._0yZr2a_imageInfo{z-index:2;background:color-mix(in srgb, var(--dsw-alias-label-primary) 62%, transparent);color:var(--dsw-alias-bg-layer-1);pointer-events:none;backdrop-filter:blur(3px);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:calc(100% - 90px);padding:3px 8px;font-size:10.5px;line-height:1.4;position:absolute;top:6px;overflow:hidden}._0yZr2a_imageInfoLeft{font-weight:600;left:6px}._0yZr2a_imageInfoRight{font-variant-numeric:tabular-nums;opacity:.85;left:auto;right:6px}._0yZr2a_nodeState,._0yZr2a_nodeStateError{color:var(--dsw-alias-label-secondary);text-align:center;pointer-events:auto;flex-direction:column;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}._0yZr2a_nodeStateError{color:var(--dsw-alias-label-error)}._0yZr2a_nodeStateError button{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:7px;padding:4px 12px;font-size:12px}._0yZr2a_nodeEmpty{border:1.5px dashed color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);color:var(--dsw-alias-label-tertiary);cursor:pointer;pointer-events:auto;background:0 0;border-radius:9px;flex-direction:column;align-items:center;gap:8px;margin:6px;padding:14px;font-size:12px;display:flex}._0yZr2a_nodeEmpty:hover{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary)}._0yZr2a_textNode{cursor:default}._0yZr2a_imageNode ._0yZr2a_nodeBody{margin:6px}._0yZr2a_textArea{resize:none;min-height:0;color:var(--dsw-alias-label-primary);cursor:text;pointer-events:auto;background:0 0;border:none;outline:none;flex:1;margin:0 8px 8px;padding:4px 6px;font-size:13px;line-height:1.55}._0yZr2a_textArea::placeholder{color:var(--dsw-alias-label-tertiary)}._0yZr2a_dock{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);backdrop-filter:blur(10px);border-radius:13px;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0f172a24}._0yZr2a_dock ._0yZr2a_iconButton{width:40px;height:40px;transform:translateY(var(--dock-lift,0px)) scale(var(--dock-scale,1));transform-origin:50% 100%;border-radius:11px;transition:transform .16s cubic-bezier(.33,1,.68,1),background .15s,color .15s,box-shadow .18s;position:relative}._0yZr2a_dock ._0yZr2a_iconButton:not(:disabled):hover{z-index:2;box-shadow:0 6px 14px color-mix(in srgb, var(--dsw-alias-label-primary) 20%, transparent)}._0yZr2a_dock ._0yZr2a_iconButton:not(:disabled):active{transform:translateY(var(--dock-lift,0px)) scale(.94)}._0yZr2a_dock ._0yZr2a_iconButton[data-active],._0yZr2a_dock ._0yZr2a_iconButton[data-active]:hover{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1)}._0yZr2a_dockDivider{background:var(--dsw-alias-border-l1);width:1px;height:18px;margin:0 4px}._0yZr2a_composer{z-index:35;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;gap:8px;width:560px;padding:10px;display:flex;position:absolute;box-shadow:0 16px 44px #0f172a2e}._0yZr2a_composerPrompt{resize:none;width:100%;min-height:38px;max-height:120px;color:var(--dsw-alias-label-primary);cursor:text;background:0 0;border:none;outline:none;padding:2px 4px;font-size:13px;line-height:1.5}._0yZr2a_composerPrompt::placeholder{color:var(--dsw-alias-label-tertiary)}._0yZr2a_composerMeta{display:flex}._0yZr2a_composerChip{border:1px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent);color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11px;display:inline-flex}._0yZr2a_composerControls{align-items:center;gap:6px;display:flex}._0yZr2a_composerControls select{border:1px solid var(--dsw-alias-border-l1);height:28px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:999px;min-width:0;max-width:128px;padding:0 8px;font-size:11.5px}._0yZr2a_composerSelect{border:1px solid var(--dsw-alias-border-l1);height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:138px;padding:0 8px 0 11px;font-size:11.5px;transition:background .15s,border-color .15s;display:inline-flex}._0yZr2a_composerSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_composerSelect[data-open]{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary)}._0yZr2a_composerSelect svg{opacity:.65;flex:none}._0yZr2a_composerSelect[data-open] svg{opacity:.9}._0yZr2a_composerSelectValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._0yZr2a_composerSelectMenu{z-index:95;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 97%, transparent);backdrop-filter:blur(10px);border-radius:11px;max-height:264px;padding:5px;position:fixed;overflow:auto;box-shadow:0 14px 38px #0f172a2e}._0yZr2a_composerSelectMenu button{width:100%;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:7px 10px;font-size:12.5px;line-height:1.45;display:block}._0yZr2a_composerSelectMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_composerSelectMenu button[data-selected]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 12%, transparent)}._0yZr2a_composerSend{background:var(--dsw-alias-label-primary);width:34px;height:34px;color:var(--dsw-alias-bg-layer-1);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}._0yZr2a_composerSend:hover{opacity:.88}._0yZr2a_composerSend:disabled{opacity:.35;cursor:not-allowed}._0yZr2a_configNode{cursor:grab;padding:0 14px 14px}._0yZr2a_configNode ._0yZr2a_nodeHeader{padding:10px 2px 6px;font-size:12px}._0yZr2a_configLinks{flex:none;align-items:center;margin:4px 0 10px;display:flex}._0yZr2a_configLinks ._0yZr2a_composerChip{padding:3px 10px;font-size:11px}._0yZr2a_configHint{min-height:0;color:var(--dsw-alias-label-tertiary);flex:1;margin:0;font-size:11.5px;line-height:1.7;overflow:auto}._0yZr2a_handle{background:var(--dsw-alias-bg-layer-1);border:2px solid var(--dsw-alias-brand-primary);opacity:0;cursor:crosshair;z-index:3;border-radius:50%;width:12px;height:12px;transition:opacity .12s,transform .12s;position:absolute;top:50%;transform:translateY(-50%)scale(.6)}._0yZr2a_handleLeft{left:-7px}._0yZr2a_handleRight{right:-7px}._0yZr2a_node:hover ._0yZr2a_handle,._0yZr2a_nodeSelected ._0yZr2a_handle,._0yZr2a_nodeConnectTarget ._0yZr2a_handle{opacity:1;transform:translateY(-50%)scale(1)}._0yZr2a_handle:hover{background:var(--dsw-alias-brand-primary)}._0yZr2a_handleRight{width:20px;height:20px;color:var(--dsw-alias-brand-primary);justify-content:center;align-items:center;font-size:13px;font-weight:600;line-height:1;display:flex;right:-10px}._0yZr2a_handleRight:after{content:\"+\"}._0yZr2a_handleRight:hover{color:var(--dsw-alias-bg-layer-1);transform:translateY(-50%)scale(1.12)}._0yZr2a_resizeHandle{background:var(--dsw-alias-brand-primary);border:2px solid var(--dsw-alias-bg-layer-1);cursor:nwse-resize;z-index:3;border-radius:4px;width:14px;height:14px;position:absolute;bottom:-5px;right:-5px}._0yZr2a_hoverToolbar{border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);opacity:0;pointer-events:none;z-index:4;border-radius:10px;gap:2px;padding:4px;transition:opacity .12s;display:flex;position:absolute;top:-36px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0f172a24}._0yZr2a_node:hover ._0yZr2a_hoverToolbar,._0yZr2a_nodeSelected ._0yZr2a_hoverToolbar{opacity:1;pointer-events:auto}._0yZr2a_connectionLayer{pointer-events:none;z-index:0;position:absolute;overflow:visible}._0yZr2a_connectionPath{fill:none;stroke-width:1.8px;stroke-opacity:.9;pointer-events:none}._0yZr2a_connectionActive{stroke-width:2.6px;stroke-opacity:1;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent))}._0yZr2a_connectionPreview{fill:none;stroke:var(--dsw-alias-brand-primary);stroke-width:2px;stroke-dasharray:5 5;pointer-events:none}._0yZr2a_connectionFlow{fill:none;stroke:var(--dsw-alias-brand-primary);stroke-width:2px;stroke-linecap:round;stroke-dasharray:30 90;opacity:.4;pointer-events:none;animation:1.6s linear infinite _0yZr2a_connectionFlow}._0yZr2a_connectionFlowActive{stroke:var(--dsw-alias-brand-primary);opacity:.85}@keyframes _0yZr2a_connectionFlow{to{stroke-dashoffset:-120px}}@media (prefers-reduced-motion:reduce){._0yZr2a_connectionFlow{opacity:.35;animation:none}}._0yZr2a_emptyHint{text-align:center;color:var(--dsw-alias-label-tertiary);pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}._0yZr2a_emptyHint strong{color:var(--dsw-alias-label-secondary);font-size:16px}._0yZr2a_emptyHint span{max-width:320px;font-size:12.5px;line-height:1.6}._0yZr2a_zoomDock{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 88%, transparent);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 10px 30px #0f172a1f}._0yZr2a_zoomDock input[type=range]{width:96px;accent-color:var(--dsw-alias-brand-primary)}._0yZr2a_zoomValue{text-align:right;width:40px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:11.5px}._0yZr2a_minimap{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 88%, transparent);backdrop-filter:blur(10px);border-radius:12px;width:220px;height:150px;position:absolute;bottom:62px;left:14px;overflow:hidden;box-shadow:0 10px 30px #0f172a1f}._0yZr2a_minimapCanvas{cursor:crosshair;width:100%;height:100%;position:relative}._0yZr2a_minimapNode{opacity:.8;border-radius:2px;position:absolute}._0yZr2a_minimapImage{background:var(--dsw-alias-brand-primary)}._0yZr2a_minimapText{background:color-mix(in srgb, var(--dsw-alias-label-primary) 40%, transparent)}._0yZr2a_minimapSelected{outline:1.5px solid var(--dsw-alias-brand-primary)}._0yZr2a_minimapViewport{border:1.5px solid var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent);pointer-events:none;border-radius:2px;position:absolute}._0yZr2a_inspectorRow{gap:8px;display:flex}._0yZr2a_inspectorRow>*{flex:1;min-width:0}._0yZr2a_contextMenu{z-index:90;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);border-radius:11px;flex-direction:column;min-width:176px;padding:5px;display:flex;position:fixed;box-shadow:0 16px 40px #0f172a33}._0yZr2a_contextMenu button{color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}._0yZr2a_contextMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_contextMenu button[data-danger]{color:var(--dsw-alias-label-error)}._0yZr2a_errorToast{z-index:60;border:1px solid color-mix(in srgb, var(--dsw-alias-label-error) 35%, transparent);background:color-mix(in srgb, var(--dsw-alias-label-error) 12%, var(--dsw-alias-bg-layer-1));max-width:min(560px,80%);color:var(--dsw-alias-label-error);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a2e}._0yZr2a_errorToast button{color:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:2px;display:inline-flex}._0yZr2a_modalBackdrop{z-index:70;background:color-mix(in srgb, var(--dsw-alias-label-primary) 32%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._0yZr2a_picker{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:14px;flex-direction:column;width:min(720px,92%);max-height:84%;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a42}._0yZr2a_pickerHeader{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}._0yZr2a_pickerHeader button{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}._0yZr2a_pickerTabs{gap:4px;padding:10px 14px 0;display:flex}._0yZr2a_pickerTabs button{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;padding:7px 12px;font-size:12.5px}._0yZr2a_pickerTabs button[data-active]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary)}._0yZr2a_pickerBody{flex:1;min-height:0;padding:14px;overflow:auto}._0yZr2a_pickerGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}._0yZr2a_pickerCard{border:1.5px solid var(--dsw-alias-border-l1);cursor:pointer;text-align:left;color:var(--dsw-alias-label-primary);background:0 0;border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex}._0yZr2a_pickerCard[data-selected]{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-brand-primary) 25%, transparent)}._0yZr2a_pickerCard img{object-fit:cover;border-radius:7px;width:100%;height:110px}._0yZr2a_pickerCardPrompt{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}._0yZr2a_pickerCard small{color:var(--dsw-alias-label-tertiary);font-size:10.5px}._0yZr2a_pickerFooter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;padding-top:12px;font-size:12.5px;display:flex}._0yZr2a_pickerFooter button,._0yZr2a_generateForm button{background:var(--dsw-alias-brand-primary);height:32px;color:var(--dsw-alias-bg-base,#fff);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 16px;font-size:12.5px;font-weight:600;display:inline-flex}._0yZr2a_pickerFooter button:disabled,._0yZr2a_generateForm button:disabled{opacity:.45;cursor:not-allowed}._0yZr2a_uploadBox{border:1.5px dashed color-mix(in srgb, var(--dsw-alias-label-primary) 22%, transparent);min-height:220px;color:var(--dsw-alias-label-secondary);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}._0yZr2a_uploadBox:hover{border-color:var(--dsw-alias-brand-primary)}._0yZr2a_uploadBox input{display:none}._0yZr2a_uploadBox small{color:var(--dsw-alias-label-tertiary);font-size:11px}._0yZr2a_uploadIcon{color:var(--dsw-alias-brand-primary)}._0yZr2a_generateForm{flex-direction:column;gap:10px;display:flex}._0yZr2a_generateForm textarea{resize:vertical;border:1px solid var(--dsw-alias-border-l1);min-height:110px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:9px;outline:none;padding:8px 10px;font-size:12.5px}._0yZr2a_generateForm select{border:1px solid var(--dsw-alias-border-l1);height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;padding:0 8px;font-size:12.5px}@keyframes _0yZr2a_canvasSpin{to{transform:rotate(360deg)}}";
|
|
38264
|
+
const css$3 = "._0yZr2a_root{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family,inherit);user-select:none;border-radius:10px;flex-direction:column;flex:auto;display:flex;position:relative;overflow:hidden}._0yZr2a_selectCursor{cursor:default}._0yZr2a_panCursor{cursor:grab}._0yZr2a_panCursor:active{cursor:grabbing}._0yZr2a_topBar{border-bottom:1px solid var(--dsw-alias-border-l1);z-index:40;background:var(--dsw-alias-bg-layer-1);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}._0yZr2a_projectSelect{border:1px solid var(--dsw-alias-border-l1);max-width:180px;height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;padding:0 8px;font-size:12.5px}._0yZr2a_titleButton{height:30px;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;max-width:260px;padding:0 10px;font-size:13px;font-weight:600;overflow:hidden}._0yZr2a_titleButton:hover{border-color:var(--dsw-alias-border-l1)}._0yZr2a_titleInput{border:1px solid var(--dsw-alias-brand-primary);height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;outline:none;width:240px;padding:0 10px;font-size:13px;font-weight:600}._0yZr2a_topBarSpacer{flex:1}._0yZr2a_saveState{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11.5px}._0yZr2a_saveState[data-state=error]{color:var(--dsw-alias-label-error)}._0yZr2a_saveState[data-state=saving]{color:var(--dsw-alias-state-warn-primary,var(--dsw-alias-label-secondary))}._0yZr2a_iconButton{width:30px;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0;display:inline-flex}._0yZr2a_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._0yZr2a_iconButton[data-active]{background:color-mix(in srgb, var(--dsw-alias-brand-primary) 16%, transparent);color:var(--dsw-alias-brand-primary)}._0yZr2a_iconButton:disabled{opacity:.35;cursor:not-allowed}._0yZr2a_iconButton:disabled:hover{color:var(--dsw-alias-label-secondary);background:0 0}._0yZr2a_viewport{touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}._0yZr2a_grid{pointer-events:none;opacity:.5;position:absolute;inset:0}._0yZr2a_flowCanvas,._0yZr2a_liquidCanvas,._0yZr2a_sceneCanvas{width:100%;height:100%;position:absolute;inset:0}._0yZr2a_grid[data-mode=flow],._0yZr2a_grid[data-mode=liquid],._0yZr2a_grid[data-mode=floatingLines],._0yZr2a_grid[data-mode=galaxy],._0yZr2a_grid[data-mode=silk],._0yZr2a_grid[data-mode=waves],._0yZr2a_grid[data-mode=faultyTerminal],._0yZr2a_grid[data-mode=dotField],._0yZr2a_grid[data-mode=dotGrid],._0yZr2a_grid[data-mode=shapeGrid]{opacity:1}._0yZr2a_grid[data-mode=dots]{background-image:radial-gradient(circle, color-mix(in srgb, var(--dsw-alias-label-primary) 30%, transparent) 1.1px, transparent 1.4px)}._0yZr2a_grid[data-mode=lines]{background-image:linear-gradient(color-mix(in srgb, var(--dsw-alias-label-primary) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--dsw-alias-label-primary) 9%, transparent) 1px, transparent 1px)}._0yZr2a_grid[data-mode=blank],._0yZr2a_grid[data-mode=image]{background-image:none}._0yZr2a_gridScrim{background:var(--dsw-alias-bg-layer-1);opacity:.6;position:absolute;inset:0}._0yZr2a_backgroundMenu{z-index:45;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);border-radius:11px;flex-direction:column;min-width:168px;padding:5px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 16px 40px #0f172a33}._0yZr2a_backgroundMenu button{color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:flex-start;align-items:center;padding:7px 10px;font-size:12.5px;display:flex}._0yZr2a_backgroundMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_backgroundMenu button[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 12%, transparent)}._0yZr2a_backgroundMenuDivider{background:var(--dsw-alias-border-l1);height:1px;margin:4px 6px}._0yZr2a_world{transform-origin:0 0;position:absolute;top:0;left:0}._0yZr2a_marquee{z-index:20;border:1px solid var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent);pointer-events:none;border-radius:4px;position:absolute}._0yZr2a_node{border:1.5px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);cursor:grab;touch-action:none;border-radius:14px;flex-direction:column;display:flex;position:absolute;overflow:visible;box-shadow:0 8px 24px #0f172a1f}._0yZr2a_node:active{cursor:grabbing}._0yZr2a_nodeGlow{pointer-events:none;opacity:0;border-radius:18px;transition:opacity .15s;position:absolute;inset:-6px}._0yZr2a_nodeSelected{border-color:var(--dsw-alias-brand-primary);z-index:2}._0yZr2a_nodeSelected ._0yZr2a_nodeGlow{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-brand-primary) 22%, transparent)}._0yZr2a_nodeRelated{border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent)}._0yZr2a_nodeConnectTarget{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--dsw-alias-brand-primary) 26%, transparent)}._0yZr2a_nodeHeader{color:var(--dsw-alias-label-secondary);cursor:inherit;flex:none;align-items:center;gap:6px;padding:7px 12px 5px;font-size:11.5px;display:flex}._0yZr2a_nodeTitle{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}._0yZr2a_nodeSize{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10.5px}._0yZr2a_nodeSpinner{border:1.5px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 30%, transparent);border-top-color:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite _0yZr2a_canvasSpin}._0yZr2a_nodeBody{background:color-mix(in srgb, var(--dsw-alias-label-primary) 6%, transparent);pointer-events:none;border-radius:9px;flex:1;justify-content:center;align-items:center;min-height:0;margin:0 8px 8px;display:flex;overflow:hidden}._0yZr2a_nodeBody img{object-fit:contain;width:100%;height:100%;display:block}._0yZr2a_imageInfo{z-index:2;background:color-mix(in srgb, var(--dsw-alias-label-primary) 62%, transparent);color:var(--dsw-alias-bg-layer-1);pointer-events:none;backdrop-filter:blur(3px);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:calc(100% - 90px);padding:3px 8px;font-size:10.5px;line-height:1.4;position:absolute;top:6px;overflow:hidden}._0yZr2a_imageInfoLeft{font-weight:600;left:6px}._0yZr2a_imageInfoRight{font-variant-numeric:tabular-nums;opacity:.85;left:auto;right:6px}._0yZr2a_nodeState,._0yZr2a_nodeStateError{color:var(--dsw-alias-label-secondary);text-align:center;pointer-events:auto;flex-direction:column;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}._0yZr2a_nodeStateError{color:var(--dsw-alias-label-error)}._0yZr2a_nodeStateError button{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:7px;padding:4px 12px;font-size:12px}._0yZr2a_nodeEmpty{border:1.5px dashed color-mix(in srgb, var(--dsw-alias-label-primary) 24%, transparent);color:var(--dsw-alias-label-tertiary);cursor:pointer;pointer-events:auto;background:0 0;border-radius:9px;flex-direction:column;align-items:center;gap:8px;margin:6px;padding:14px;font-size:12px;display:flex}._0yZr2a_nodeEmpty:hover{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary)}._0yZr2a_textNode{cursor:default}._0yZr2a_imageNode ._0yZr2a_nodeBody{margin:6px}._0yZr2a_textArea{resize:none;min-height:0;color:var(--dsw-alias-label-primary);cursor:text;pointer-events:auto;background:0 0;border:none;outline:none;flex:1;margin:0 8px 8px;padding:4px 6px;font-size:13px;line-height:1.55}._0yZr2a_textArea::placeholder{color:var(--dsw-alias-label-tertiary)}._0yZr2a_dockOuter{z-index:30;pointer-events:none;justify-content:center;align-items:flex-end;height:42px;display:flex;position:absolute;bottom:14px;left:0;right:0}._0yZr2a_dock{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);backdrop-filter:blur(10px);border-radius:15px;align-items:flex-end;gap:6px;padding:0 7px 7px;display:flex;position:relative;box-shadow:0 14px 34px #0f172a29}._0yZr2a_dockItem{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:relative}._0yZr2a_dockItem:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_dockItem:after{content:attr(data-label);border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:2px 8px;font-size:11px;line-height:16px;transition:opacity .15s;position:absolute;top:-26px;left:50%;transform:translate(-50%)}._0yZr2a_dockItem:hover:after{opacity:1}._0yZr2a_dock ._0yZr2a_iconButton{border-radius:10px;width:100%;height:100%}._0yZr2a_dock ._0yZr2a_iconButton:not(:disabled):hover{background:0 0}._0yZr2a_dock ._0yZr2a_iconButton[data-active],._0yZr2a_dock ._0yZr2a_iconButton[data-active]:hover{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1)}._0yZr2a_dock ._0yZr2a_iconButton:disabled{opacity:.3;cursor:not-allowed}._0yZr2a_dock ._0yZr2a_iconButton:disabled:hover{color:var(--dsw-alias-label-secondary);background:0 0}._0yZr2a_dockDivider{background:var(--dsw-alias-border-l1);align-self:center;width:1px;height:18px}._0yZr2a_composer{z-index:35;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);backdrop-filter:blur(10px);border-radius:14px;flex-direction:column;gap:8px;width:560px;padding:10px;display:flex;position:absolute;box-shadow:0 16px 44px #0f172a2e}._0yZr2a_composerPrompt{resize:none;width:100%;min-height:38px;max-height:120px;color:var(--dsw-alias-label-primary);cursor:text;background:0 0;border:none;outline:none;padding:2px 4px;font-size:13px;line-height:1.5}._0yZr2a_composerPrompt::placeholder{color:var(--dsw-alias-label-tertiary)}._0yZr2a_composerMeta{display:flex}._0yZr2a_composerChip{border:1px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent);color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11px;display:inline-flex}._0yZr2a_composerControls{align-items:center;gap:6px;display:flex}._0yZr2a_composerControls select{border:1px solid var(--dsw-alias-border-l1);height:28px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:999px;min-width:0;max-width:128px;padding:0 8px;font-size:11.5px}._0yZr2a_composerSelect{border:1px solid var(--dsw-alias-border-l1);height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:138px;padding:0 8px 0 11px;font-size:11.5px;transition:background .15s,border-color .15s;display:inline-flex}._0yZr2a_composerSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_composerSelect[data-open]{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary)}._0yZr2a_composerSelect svg{opacity:.65;flex:none}._0yZr2a_composerSelect[data-open] svg{opacity:.9}._0yZr2a_composerSelectValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._0yZr2a_composerSelectMenu{z-index:95;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 97%, transparent);backdrop-filter:blur(10px);border-radius:11px;max-height:264px;padding:5px;position:fixed;overflow:auto;box-shadow:0 14px 38px #0f172a2e}._0yZr2a_composerSelectMenu button{width:100%;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:7px 10px;font-size:12.5px;line-height:1.45;display:block}._0yZr2a_composerSelectMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_composerSelectMenu button[data-selected]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 12%, transparent)}._0yZr2a_composerSend{background:var(--dsw-alias-label-primary);width:34px;height:34px;color:var(--dsw-alias-bg-layer-1);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}._0yZr2a_composerSend:hover{opacity:.88}._0yZr2a_composerSend:disabled{opacity:.35;cursor:not-allowed}._0yZr2a_configNode{cursor:grab;padding:0 14px 14px}._0yZr2a_configNode ._0yZr2a_nodeHeader{padding:10px 2px 6px;font-size:12px}._0yZr2a_configLinks{flex:none;align-items:center;margin:4px 0 10px;display:flex}._0yZr2a_configLinks ._0yZr2a_composerChip{padding:3px 10px;font-size:11px}._0yZr2a_configHint{min-height:0;color:var(--dsw-alias-label-tertiary);flex:1;margin:0;font-size:11.5px;line-height:1.7;overflow:auto}._0yZr2a_handle{background:var(--dsw-alias-bg-layer-1);border:2px solid var(--dsw-alias-brand-primary);opacity:0;cursor:crosshair;z-index:3;border-radius:50%;width:12px;height:12px;transition:opacity .12s,transform .12s;position:absolute;top:50%;transform:translateY(-50%)scale(.6)}._0yZr2a_handleLeft{left:-7px}._0yZr2a_handleRight{right:-7px}._0yZr2a_node:hover ._0yZr2a_handle,._0yZr2a_nodeSelected ._0yZr2a_handle,._0yZr2a_nodeConnectTarget ._0yZr2a_handle{opacity:1;transform:translateY(-50%)scale(1)}._0yZr2a_handle:hover{background:var(--dsw-alias-brand-primary)}._0yZr2a_handleRight{width:20px;height:20px;color:var(--dsw-alias-brand-primary);justify-content:center;align-items:center;font-size:13px;font-weight:600;line-height:1;display:flex;right:-10px}._0yZr2a_handleRight:after{content:\"+\"}._0yZr2a_handleRight:hover{color:var(--dsw-alias-bg-layer-1);transform:translateY(-50%)scale(1.12)}._0yZr2a_resizeHandle{background:var(--dsw-alias-brand-primary);border:2px solid var(--dsw-alias-bg-layer-1);cursor:nwse-resize;z-index:3;border-radius:4px;width:14px;height:14px;position:absolute;bottom:-5px;right:-5px}._0yZr2a_hoverToolbar{border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);opacity:0;pointer-events:none;z-index:4;border-radius:10px;gap:2px;padding:4px;transition:opacity .12s;display:flex;position:absolute;top:-36px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0f172a24}._0yZr2a_node:hover ._0yZr2a_hoverToolbar,._0yZr2a_nodeSelected ._0yZr2a_hoverToolbar{opacity:1;pointer-events:auto}._0yZr2a_connectionLayer{pointer-events:none;z-index:0;position:absolute;overflow:visible}._0yZr2a_connectionPath{fill:none;stroke-width:1.8px;stroke-opacity:.9;pointer-events:none}._0yZr2a_connectionActive{stroke-width:2.6px;stroke-opacity:1;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent))}._0yZr2a_connectionPreview{fill:none;stroke:var(--dsw-alias-brand-primary);stroke-width:2px;stroke-dasharray:5 5;pointer-events:none}._0yZr2a_connectionFlow{fill:none;stroke:var(--dsw-alias-brand-primary);stroke-width:2px;stroke-linecap:round;stroke-dasharray:30 90;opacity:.4;pointer-events:none;animation:1.6s linear infinite _0yZr2a_connectionFlow}._0yZr2a_connectionFlowActive{stroke:var(--dsw-alias-brand-primary);opacity:.85}@keyframes _0yZr2a_connectionFlow{to{stroke-dashoffset:-120px}}@media (prefers-reduced-motion:reduce){._0yZr2a_connectionFlow{opacity:.35;animation:none}}._0yZr2a_emptyHint{text-align:center;color:var(--dsw-alias-label-tertiary);pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}._0yZr2a_emptyHint strong{color:var(--dsw-alias-label-secondary);font-size:16px}._0yZr2a_emptyHint span{max-width:320px;font-size:12.5px;line-height:1.6}._0yZr2a_zoomDock{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 88%, transparent);backdrop-filter:blur(10px);border-radius:12px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 10px 30px #0f172a1f}._0yZr2a_zoomDock input[type=range]{width:96px;accent-color:var(--dsw-alias-brand-primary)}._0yZr2a_zoomValue{text-align:right;width:40px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:11.5px}._0yZr2a_minimap{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 88%, transparent);backdrop-filter:blur(10px);border-radius:12px;width:220px;height:150px;position:absolute;bottom:62px;left:14px;overflow:hidden;box-shadow:0 10px 30px #0f172a1f}._0yZr2a_minimapCanvas{cursor:crosshair;width:100%;height:100%;position:relative}._0yZr2a_minimapNode{opacity:.8;border-radius:2px;position:absolute}._0yZr2a_minimapImage{background:var(--dsw-alias-brand-primary)}._0yZr2a_minimapText{background:color-mix(in srgb, var(--dsw-alias-label-primary) 40%, transparent)}._0yZr2a_minimapSelected{outline:1.5px solid var(--dsw-alias-brand-primary)}._0yZr2a_minimapViewport{border:1.5px solid var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent);pointer-events:none;border-radius:2px;position:absolute}._0yZr2a_inspectorRow{gap:8px;display:flex}._0yZr2a_inspectorRow>*{flex:1;min-width:0}._0yZr2a_contextMenu{z-index:90;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 96%, transparent);border-radius:11px;flex-direction:column;min-width:176px;padding:5px;display:flex;position:fixed;box-shadow:0 16px 40px #0f172a33}._0yZr2a_contextMenu button{color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}._0yZr2a_contextMenu button:hover{background:var(--dsw-alias-interactive-bg-hover)}._0yZr2a_contextMenu button[data-danger]{color:var(--dsw-alias-label-error)}._0yZr2a_errorToast{z-index:60;border:1px solid color-mix(in srgb, var(--dsw-alias-label-error) 35%, transparent);background:color-mix(in srgb, var(--dsw-alias-label-error) 12%, var(--dsw-alias-bg-layer-1));max-width:min(560px,80%);color:var(--dsw-alias-label-error);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a2e}._0yZr2a_errorToast button{color:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:2px;display:inline-flex}._0yZr2a_modalBackdrop{z-index:70;background:color-mix(in srgb, var(--dsw-alias-label-primary) 32%, transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._0yZr2a_picker{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:14px;flex-direction:column;width:min(720px,92%);max-height:84%;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a42}._0yZr2a_pickerHeader{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;display:flex}._0yZr2a_pickerHeader button{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}._0yZr2a_pickerTabs{gap:4px;padding:10px 14px 0;display:flex}._0yZr2a_pickerTabs button{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;padding:7px 12px;font-size:12.5px}._0yZr2a_pickerTabs button[data-active]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary)}._0yZr2a_pickerBody{flex:1;min-height:0;padding:14px;overflow:auto}._0yZr2a_pickerGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}._0yZr2a_pickerCard{border:1.5px solid var(--dsw-alias-border-l1);cursor:pointer;text-align:left;color:var(--dsw-alias-label-primary);background:0 0;border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex}._0yZr2a_pickerCard[data-selected]{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-brand-primary) 25%, transparent)}._0yZr2a_pickerCard img{object-fit:cover;border-radius:7px;width:100%;height:110px}._0yZr2a_pickerCardPrompt{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}._0yZr2a_pickerCard small{color:var(--dsw-alias-label-tertiary);font-size:10.5px}._0yZr2a_pickerFooter{color:var(--dsw-alias-label-secondary);justify-content:space-between;align-items:center;padding-top:12px;font-size:12.5px;display:flex}._0yZr2a_pickerFooter button,._0yZr2a_generateForm button{background:var(--dsw-alias-brand-primary);height:32px;color:var(--dsw-alias-bg-base,#fff);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 16px;font-size:12.5px;font-weight:600;display:inline-flex}._0yZr2a_pickerFooter button:disabled,._0yZr2a_generateForm button:disabled{opacity:.45;cursor:not-allowed}._0yZr2a_uploadBox{border:1.5px dashed color-mix(in srgb, var(--dsw-alias-label-primary) 22%, transparent);min-height:220px;color:var(--dsw-alias-label-secondary);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}._0yZr2a_uploadBox:hover{border-color:var(--dsw-alias-brand-primary)}._0yZr2a_uploadBox input{display:none}._0yZr2a_uploadBox small{color:var(--dsw-alias-label-tertiary);font-size:11px}._0yZr2a_uploadIcon{color:var(--dsw-alias-brand-primary)}._0yZr2a_generateForm{flex-direction:column;gap:10px;display:flex}._0yZr2a_generateForm textarea{resize:vertical;border:1px solid var(--dsw-alias-border-l1);min-height:110px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:9px;outline:none;padding:8px 10px;font-size:12.5px}._0yZr2a_generateForm select{border:1px solid var(--dsw-alias-border-l1);height:30px;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;padding:0 8px;font-size:12.5px}@keyframes _0yZr2a_canvasSpin{to{transform:rotate(360deg)}}";
|
|
37997
38265
|
const tagId$3 = "@dickpy/dsh-imagegen/canvas-workspace.module.css";
|
|
37998
38266
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
37999
38267
|
const tag = document.createElement("style");
|
|
@@ -38003,96 +38271,98 @@ window.__ModuleLoader__.load({
|
|
|
38003
38271
|
document.head.appendChild(tag);
|
|
38004
38272
|
}
|
|
38005
38273
|
var canvas_workspace_module_css_default = {
|
|
38006
|
-
"
|
|
38007
|
-
"dockDivider": "_0yZr2a_dockDivider",
|
|
38008
|
-
"composerSend": "_0yZr2a_composerSend",
|
|
38009
|
-
"pickerCardPrompt": "_0yZr2a_pickerCardPrompt",
|
|
38010
|
-
"nodeRelated": "_0yZr2a_nodeRelated",
|
|
38011
|
-
"liquidCanvas": "_0yZr2a_liquidCanvas",
|
|
38012
|
-
"textArea": "_0yZr2a_textArea",
|
|
38013
|
-
"topBar": "_0yZr2a_topBar",
|
|
38014
|
-
"titleButton": "_0yZr2a_titleButton",
|
|
38015
|
-
"backgroundMenu": "_0yZr2a_backgroundMenu",
|
|
38016
|
-
"nodeBody": "_0yZr2a_nodeBody",
|
|
38017
|
-
"handleRight": "_0yZr2a_handleRight",
|
|
38018
|
-
"connectionPreview": "_0yZr2a_connectionPreview",
|
|
38019
|
-
"handle": "_0yZr2a_handle",
|
|
38020
|
-
"contextMenu": "_0yZr2a_contextMenu",
|
|
38274
|
+
"composerChip": "_0yZr2a_composerChip",
|
|
38021
38275
|
"canvasSpin": "_0yZr2a_canvasSpin",
|
|
38022
|
-
"
|
|
38276
|
+
"nodeBody": "_0yZr2a_nodeBody",
|
|
38277
|
+
"nodeState": "_0yZr2a_nodeState",
|
|
38023
38278
|
"minimapViewport": "_0yZr2a_minimapViewport",
|
|
38024
|
-
"
|
|
38025
|
-
"
|
|
38026
|
-
"
|
|
38027
|
-
"
|
|
38028
|
-
"panCursor": "_0yZr2a_panCursor",
|
|
38279
|
+
"flowCanvas": "_0yZr2a_flowCanvas",
|
|
38280
|
+
"configLinks": "_0yZr2a_configLinks",
|
|
38281
|
+
"inspectorRow": "_0yZr2a_inspectorRow",
|
|
38282
|
+
"minimapImage": "_0yZr2a_minimapImage",
|
|
38029
38283
|
"marquee": "_0yZr2a_marquee",
|
|
38030
|
-
"
|
|
38284
|
+
"composerControls": "_0yZr2a_composerControls",
|
|
38285
|
+
"imageInfoRight": "_0yZr2a_imageInfoRight",
|
|
38286
|
+
"viewport": "_0yZr2a_viewport",
|
|
38287
|
+
"connectionPreview": "_0yZr2a_connectionPreview",
|
|
38288
|
+
"topBar": "_0yZr2a_topBar",
|
|
38031
38289
|
"grid": "_0yZr2a_grid",
|
|
38032
|
-
"nodeGlow": "_0yZr2a_nodeGlow",
|
|
38033
|
-
"iconButton": "_0yZr2a_iconButton",
|
|
38034
|
-
"composerPrompt": "_0yZr2a_composerPrompt",
|
|
38035
|
-
"composerMeta": "_0yZr2a_composerMeta",
|
|
38036
|
-
"nodeConnectTarget": "_0yZr2a_nodeConnectTarget",
|
|
38037
38290
|
"dock": "_0yZr2a_dock",
|
|
38038
|
-
"
|
|
38039
|
-
"world": "_0yZr2a_world",
|
|
38040
|
-
"hoverToolbar": "_0yZr2a_hoverToolbar",
|
|
38041
|
-
"connectionActive": "_0yZr2a_connectionActive",
|
|
38042
|
-
"nodeEmpty": "_0yZr2a_nodeEmpty",
|
|
38043
|
-
"configHint": "_0yZr2a_configHint",
|
|
38044
|
-
"composerSelect": "_0yZr2a_composerSelect",
|
|
38045
|
-
"emptyHint": "_0yZr2a_emptyHint",
|
|
38046
|
-
"zoomDock": "_0yZr2a_zoomDock",
|
|
38047
|
-
"pickerTabs": "_0yZr2a_pickerTabs",
|
|
38048
|
-
"topBarSpacer": "_0yZr2a_topBarSpacer",
|
|
38049
|
-
"uploadIcon": "_0yZr2a_uploadIcon",
|
|
38050
|
-
"composer": "_0yZr2a_composer",
|
|
38051
|
-
"pickerFooter": "_0yZr2a_pickerFooter",
|
|
38052
|
-
"picker": "_0yZr2a_picker",
|
|
38291
|
+
"sceneCanvas": "_0yZr2a_sceneCanvas",
|
|
38053
38292
|
"nodeStateError": "_0yZr2a_nodeStateError",
|
|
38054
|
-
"
|
|
38055
|
-
"
|
|
38056
|
-
"
|
|
38057
|
-
"
|
|
38058
|
-
"
|
|
38059
|
-
"
|
|
38060
|
-
"connectionLayer": "_0yZr2a_connectionLayer",
|
|
38061
|
-
"configLinks": "_0yZr2a_configLinks",
|
|
38293
|
+
"projectSelect": "_0yZr2a_projectSelect",
|
|
38294
|
+
"topBarSpacer": "_0yZr2a_topBarSpacer",
|
|
38295
|
+
"composerSend": "_0yZr2a_composerSend",
|
|
38296
|
+
"nodeConnectTarget": "_0yZr2a_nodeConnectTarget",
|
|
38297
|
+
"handleRight": "_0yZr2a_handleRight",
|
|
38298
|
+
"selectCursor": "_0yZr2a_selectCursor",
|
|
38062
38299
|
"gridScrim": "_0yZr2a_gridScrim",
|
|
38300
|
+
"backgroundMenu": "_0yZr2a_backgroundMenu",
|
|
38301
|
+
"composerSelectValue": "_0yZr2a_composerSelectValue",
|
|
38302
|
+
"titleButton": "_0yZr2a_titleButton",
|
|
38303
|
+
"imageNode": "_0yZr2a_imageNode",
|
|
38063
38304
|
"connectionFlow": "_0yZr2a_connectionFlow",
|
|
38064
|
-
"
|
|
38305
|
+
"nodeSize": "_0yZr2a_nodeSize",
|
|
38065
38306
|
"zoomValue": "_0yZr2a_zoomValue",
|
|
38066
|
-
"
|
|
38067
|
-
"
|
|
38068
|
-
"resizeHandle": "_0yZr2a_resizeHandle",
|
|
38069
|
-
"titleInput": "_0yZr2a_titleInput",
|
|
38070
|
-
"minimap": "_0yZr2a_minimap",
|
|
38307
|
+
"errorToast": "_0yZr2a_errorToast",
|
|
38308
|
+
"textArea": "_0yZr2a_textArea",
|
|
38071
38309
|
"pickerGrid": "_0yZr2a_pickerGrid",
|
|
38072
|
-
"
|
|
38073
|
-
"
|
|
38074
|
-
"
|
|
38075
|
-
"
|
|
38076
|
-
"generateForm": "_0yZr2a_generateForm",
|
|
38077
|
-
"nodeHeader": "_0yZr2a_nodeHeader",
|
|
38310
|
+
"pickerCardPrompt": "_0yZr2a_pickerCardPrompt",
|
|
38311
|
+
"uploadIcon": "_0yZr2a_uploadIcon",
|
|
38312
|
+
"minimap": "_0yZr2a_minimap",
|
|
38313
|
+
"pickerHeader": "_0yZr2a_pickerHeader",
|
|
38078
38314
|
"composerSelectMenu": "_0yZr2a_composerSelectMenu",
|
|
38079
|
-
"
|
|
38315
|
+
"pickerFooter": "_0yZr2a_pickerFooter",
|
|
38316
|
+
"world": "_0yZr2a_world",
|
|
38317
|
+
"titleInput": "_0yZr2a_titleInput",
|
|
38318
|
+
"generateForm": "_0yZr2a_generateForm",
|
|
38319
|
+
"uploadBox": "_0yZr2a_uploadBox",
|
|
38320
|
+
"zoomDock": "_0yZr2a_zoomDock",
|
|
38321
|
+
"composerPrompt": "_0yZr2a_composerPrompt",
|
|
38322
|
+
"node": "_0yZr2a_node",
|
|
38323
|
+
"nodeSelected": "_0yZr2a_nodeSelected",
|
|
38324
|
+
"nodeRelated": "_0yZr2a_nodeRelated",
|
|
38325
|
+
"backgroundMenuDivider": "_0yZr2a_backgroundMenuDivider",
|
|
38326
|
+
"composer": "_0yZr2a_composer",
|
|
38327
|
+
"handle": "_0yZr2a_handle",
|
|
38328
|
+
"minimapText": "_0yZr2a_minimapText",
|
|
38329
|
+
"imageInfoLeft": "_0yZr2a_imageInfoLeft",
|
|
38080
38330
|
"handleLeft": "_0yZr2a_handleLeft",
|
|
38081
|
-
"
|
|
38082
|
-
"
|
|
38083
|
-
"
|
|
38084
|
-
"
|
|
38331
|
+
"pickerCard": "_0yZr2a_pickerCard",
|
|
38332
|
+
"nodeGlow": "_0yZr2a_nodeGlow",
|
|
38333
|
+
"panCursor": "_0yZr2a_panCursor",
|
|
38334
|
+
"composerSelect": "_0yZr2a_composerSelect",
|
|
38335
|
+
"nodeEmpty": "_0yZr2a_nodeEmpty",
|
|
38336
|
+
"composerMeta": "_0yZr2a_composerMeta",
|
|
38337
|
+
"dockOuter": "_0yZr2a_dockOuter",
|
|
38338
|
+
"saveState": "_0yZr2a_saveState",
|
|
38339
|
+
"hoverToolbar": "_0yZr2a_hoverToolbar",
|
|
38340
|
+
"connectionFlowActive": "_0yZr2a_connectionFlowActive",
|
|
38085
38341
|
"minimapNode": "_0yZr2a_minimapNode",
|
|
38342
|
+
"minimapSelected": "_0yZr2a_minimapSelected",
|
|
38343
|
+
"pickerTabs": "_0yZr2a_pickerTabs",
|
|
38344
|
+
"nodeTitle": "_0yZr2a_nodeTitle",
|
|
38345
|
+
"nodeSpinner": "_0yZr2a_nodeSpinner",
|
|
38346
|
+
"minimapCanvas": "_0yZr2a_minimapCanvas",
|
|
38347
|
+
"dockItem": "_0yZr2a_dockItem",
|
|
38348
|
+
"connectionActive": "_0yZr2a_connectionActive",
|
|
38349
|
+
"connectionLayer": "_0yZr2a_connectionLayer",
|
|
38350
|
+
"imageInfo": "_0yZr2a_imageInfo",
|
|
38351
|
+
"emptyHint": "_0yZr2a_emptyHint",
|
|
38352
|
+
"resizeHandle": "_0yZr2a_resizeHandle",
|
|
38353
|
+
"configHint": "_0yZr2a_configHint",
|
|
38354
|
+
"textNode": "_0yZr2a_textNode",
|
|
38086
38355
|
"modalBackdrop": "_0yZr2a_modalBackdrop",
|
|
38087
|
-
"
|
|
38088
|
-
"
|
|
38356
|
+
"nodeHeader": "_0yZr2a_nodeHeader",
|
|
38357
|
+
"iconButton": "_0yZr2a_iconButton",
|
|
38358
|
+
"liquidCanvas": "_0yZr2a_liquidCanvas",
|
|
38359
|
+
"dockDivider": "_0yZr2a_dockDivider",
|
|
38089
38360
|
"configNode": "_0yZr2a_configNode",
|
|
38090
|
-
"
|
|
38091
|
-
"
|
|
38092
|
-
"
|
|
38093
|
-
"
|
|
38094
|
-
"
|
|
38095
|
-
"projectSelect": "_0yZr2a_projectSelect"
|
|
38361
|
+
"connectionPath": "_0yZr2a_connectionPath",
|
|
38362
|
+
"picker": "_0yZr2a_picker",
|
|
38363
|
+
"contextMenu": "_0yZr2a_contextMenu",
|
|
38364
|
+
"pickerBody": "_0yZr2a_pickerBody",
|
|
38365
|
+
"root": "_0yZr2a_root"
|
|
38096
38366
|
};
|
|
38097
38367
|
//#endregion
|
|
38098
38368
|
//#region src/client/CanvasBackgrounds.tsx
|
|
@@ -38768,19 +39038,6 @@ window.__ModuleLoader__.load({
|
|
|
38768
39038
|
gl_Position = vec4(position, 1.0);
|
|
38769
39039
|
}
|
|
38770
39040
|
`;
|
|
38771
|
-
/** Walk up from the grid layer to the first opaque surface and decide
|
|
38772
|
-
* light vs dark, so the shader backdrops can pick their lightMode ink. */
|
|
38773
|
-
function detectLightSurface(element) {
|
|
38774
|
-
let node = element;
|
|
38775
|
-
while (node !== null) {
|
|
38776
|
-
const match = getComputedStyle(node).backgroundColor.match(/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,]+([\d.]+))?\s*\)/);
|
|
38777
|
-
if (match !== null) {
|
|
38778
|
-
if ((match[4] !== void 0 ? Number(match[4]) : 1) >= .5) return (.2126 * Number(match[1]) + .7152 * Number(match[2]) + .0722 * Number(match[3])) / 255 > .55;
|
|
38779
|
-
}
|
|
38780
|
-
node = node.parentElement;
|
|
38781
|
-
}
|
|
38782
|
-
return false;
|
|
38783
|
-
}
|
|
38784
39041
|
/** Shared engine for the fullscreen-shader backdrops: compiles one program,
|
|
38785
39042
|
* owns the DPR-sized canvas, the rAF loop, viewport resize and smoothed
|
|
38786
39043
|
* pointer tracking. `frame` sets uniforms and calls draw(). WebGL2 is
|
|
@@ -40560,6 +40817,98 @@ window.__ModuleLoader__.load({
|
|
|
40560
40817
|
const [libraryOpen, setLibraryOpen] = (0, react.useState)(false);
|
|
40561
40818
|
const [pickerTab, setPickerTab] = (0, react.useState)("upload");
|
|
40562
40819
|
const backgroundFileRef = (0, react.useRef)(null);
|
|
40820
|
+
/** reactbits.dev "Dock" port: each tile spring-scales by its distance to the
|
|
40821
|
+
* pointer (width/height, so neighbours part like the macOS dock) and the
|
|
40822
|
+
* panel breathes taller while hovered to make room for the labels. */
|
|
40823
|
+
const dockOuterRef = (0, react.useRef)(null);
|
|
40824
|
+
const dockRef = (0, react.useRef)(null);
|
|
40825
|
+
(0, react.useEffect)(() => {
|
|
40826
|
+
const outer = dockOuterRef.current;
|
|
40827
|
+
const dock = dockRef.current;
|
|
40828
|
+
if (outer === null || dock === null) return;
|
|
40829
|
+
if (typeof window.requestAnimationFrame !== "function") return;
|
|
40830
|
+
const clockNow = () => typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
40831
|
+
const BASE = 34;
|
|
40832
|
+
const MAGNIFIED = 50;
|
|
40833
|
+
const DISTANCE = 150;
|
|
40834
|
+
const REST_HEIGHT = 42;
|
|
40835
|
+
const HOVER_HEIGHT = 79;
|
|
40836
|
+
const STIFFNESS = 170;
|
|
40837
|
+
const DAMPING = 16;
|
|
40838
|
+
const MASS = .5;
|
|
40839
|
+
const tiles = [...dock.querySelectorAll("[data-dock-item]")].map((el) => ({
|
|
40840
|
+
el,
|
|
40841
|
+
size: BASE,
|
|
40842
|
+
velocity: 0
|
|
40843
|
+
}));
|
|
40844
|
+
let outerSize = REST_HEIGHT;
|
|
40845
|
+
let outerVelocity = 0;
|
|
40846
|
+
let mouseX = Number.POSITIVE_INFINITY;
|
|
40847
|
+
let hovered = false;
|
|
40848
|
+
let raf = 0;
|
|
40849
|
+
let running = false;
|
|
40850
|
+
let last = clockNow();
|
|
40851
|
+
const step = (now) => {
|
|
40852
|
+
const dt = Math.min(.05, (now - last) / 1e3);
|
|
40853
|
+
last = now;
|
|
40854
|
+
let settled = true;
|
|
40855
|
+
for (const tile of tiles) {
|
|
40856
|
+
let target = BASE;
|
|
40857
|
+
if (hovered) {
|
|
40858
|
+
const rect = tile.el.getBoundingClientRect();
|
|
40859
|
+
const distance = Math.abs(mouseX - (rect.left + rect.width / 2));
|
|
40860
|
+
target = BASE + (MAGNIFIED - BASE) * Math.max(0, 1 - distance / DISTANCE);
|
|
40861
|
+
}
|
|
40862
|
+
tile.velocity += (STIFFNESS * (target - tile.size) - DAMPING * tile.velocity) / MASS * dt;
|
|
40863
|
+
tile.size += tile.velocity * dt;
|
|
40864
|
+
if (Math.abs(target - tile.size) > .15 || Math.abs(tile.velocity) > 2) settled = false;
|
|
40865
|
+
else {
|
|
40866
|
+
tile.size = target;
|
|
40867
|
+
tile.velocity = 0;
|
|
40868
|
+
}
|
|
40869
|
+
tile.el.style.width = `${tile.size.toFixed(2)}px`;
|
|
40870
|
+
tile.el.style.height = `${tile.size.toFixed(2)}px`;
|
|
40871
|
+
}
|
|
40872
|
+
const outerTarget = hovered ? HOVER_HEIGHT : REST_HEIGHT;
|
|
40873
|
+
outerVelocity += (STIFFNESS * (outerTarget - outerSize) - DAMPING * outerVelocity) / MASS * dt;
|
|
40874
|
+
outerSize += outerVelocity * dt;
|
|
40875
|
+
if (Math.abs(outerTarget - outerSize) > .25 || Math.abs(outerVelocity) > 3) settled = false;
|
|
40876
|
+
else {
|
|
40877
|
+
outerSize = outerTarget;
|
|
40878
|
+
outerVelocity = 0;
|
|
40879
|
+
}
|
|
40880
|
+
outer.style.height = `${outerSize.toFixed(2)}px`;
|
|
40881
|
+
if (settled) {
|
|
40882
|
+
running = false;
|
|
40883
|
+
return;
|
|
40884
|
+
}
|
|
40885
|
+
raf = window.requestAnimationFrame(step);
|
|
40886
|
+
};
|
|
40887
|
+
const wake = () => {
|
|
40888
|
+
if (running) return;
|
|
40889
|
+
running = true;
|
|
40890
|
+
last = clockNow();
|
|
40891
|
+
raf = window.requestAnimationFrame(step);
|
|
40892
|
+
};
|
|
40893
|
+
const onPointerMove = (event) => {
|
|
40894
|
+
mouseX = event.clientX;
|
|
40895
|
+
hovered = true;
|
|
40896
|
+
wake();
|
|
40897
|
+
};
|
|
40898
|
+
const onPointerLeave = () => {
|
|
40899
|
+
hovered = false;
|
|
40900
|
+
mouseX = Number.POSITIVE_INFINITY;
|
|
40901
|
+
wake();
|
|
40902
|
+
};
|
|
40903
|
+
dock.addEventListener("pointermove", onPointerMove);
|
|
40904
|
+
dock.addEventListener("pointerleave", onPointerLeave);
|
|
40905
|
+
wake();
|
|
40906
|
+
return () => {
|
|
40907
|
+
window.cancelAnimationFrame(raf);
|
|
40908
|
+
dock.removeEventListener("pointermove", onPointerMove);
|
|
40909
|
+
dock.removeEventListener("pointerleave", onPointerLeave);
|
|
40910
|
+
};
|
|
40911
|
+
}, []);
|
|
40563
40912
|
const imageFileRef = (0, react.useRef)(null);
|
|
40564
40913
|
const [renamingTitle, setRenamingTitle] = (0, react.useState)(false);
|
|
40565
40914
|
const [confirmDeleteProject, setConfirmDeleteProject] = (0, react.useState)(false);
|
|
@@ -42844,103 +43193,152 @@ window.__ModuleLoader__.load({
|
|
|
42844
43193
|
emptyState
|
|
42845
43194
|
]
|
|
42846
43195
|
}),
|
|
42847
|
-
/* @__PURE__ */ (0, react_jsx_runtime.
|
|
42848
|
-
className:
|
|
43196
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43197
|
+
className: canvas_workspace_module_css_default.dockOuter,
|
|
42849
43198
|
"data-canvas-no-zoom": "",
|
|
42850
|
-
|
|
42851
|
-
|
|
42852
|
-
|
|
42853
|
-
|
|
42854
|
-
|
|
42855
|
-
|
|
42856
|
-
|
|
42857
|
-
|
|
42858
|
-
|
|
42859
|
-
|
|
42860
|
-
|
|
42861
|
-
|
|
42862
|
-
|
|
42863
|
-
|
|
42864
|
-
|
|
42865
|
-
|
|
42866
|
-
|
|
42867
|
-
|
|
42868
|
-
|
|
42869
|
-
|
|
42870
|
-
|
|
42871
|
-
|
|
42872
|
-
|
|
42873
|
-
|
|
42874
|
-
|
|
42875
|
-
|
|
42876
|
-
|
|
42877
|
-
|
|
42878
|
-
|
|
42879
|
-
|
|
42880
|
-
|
|
42881
|
-
|
|
42882
|
-
|
|
42883
|
-
|
|
42884
|
-
|
|
42885
|
-
|
|
42886
|
-
|
|
42887
|
-
|
|
42888
|
-
|
|
42889
|
-
|
|
42890
|
-
|
|
42891
|
-
|
|
42892
|
-
|
|
42893
|
-
|
|
42894
|
-
|
|
42895
|
-
|
|
42896
|
-
|
|
42897
|
-
|
|
42898
|
-
|
|
42899
|
-
|
|
42900
|
-
|
|
42901
|
-
|
|
42902
|
-
|
|
42903
|
-
|
|
42904
|
-
|
|
42905
|
-
|
|
42906
|
-
|
|
42907
|
-
|
|
42908
|
-
|
|
42909
|
-
|
|
42910
|
-
|
|
42911
|
-
|
|
42912
|
-
|
|
42913
|
-
|
|
42914
|
-
|
|
42915
|
-
|
|
42916
|
-
|
|
42917
|
-
|
|
42918
|
-
|
|
42919
|
-
|
|
42920
|
-
|
|
42921
|
-
|
|
42922
|
-
|
|
42923
|
-
|
|
42924
|
-
|
|
42925
|
-
|
|
42926
|
-
|
|
42927
|
-
|
|
42928
|
-
|
|
42929
|
-
|
|
42930
|
-
|
|
42931
|
-
|
|
42932
|
-
|
|
42933
|
-
|
|
42934
|
-
|
|
42935
|
-
|
|
42936
|
-
|
|
42937
|
-
|
|
42938
|
-
|
|
42939
|
-
|
|
42940
|
-
|
|
42941
|
-
|
|
42942
|
-
|
|
42943
|
-
|
|
43199
|
+
ref: dockOuterRef,
|
|
43200
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
43201
|
+
className: `${canvas_workspace_module_css_default.dock} ${cursorClass}`,
|
|
43202
|
+
ref: dockRef,
|
|
43203
|
+
"data-canvas-no-zoom": "",
|
|
43204
|
+
role: "toolbar",
|
|
43205
|
+
children: [
|
|
43206
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43207
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43208
|
+
"data-dock-item": "",
|
|
43209
|
+
"data-label": tt("canvas.toolSelect"),
|
|
43210
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43211
|
+
name: "select",
|
|
43212
|
+
size: 18,
|
|
43213
|
+
label: tt("canvas.toolSelect"),
|
|
43214
|
+
active: tool === "select",
|
|
43215
|
+
onClick: () => setTool("select")
|
|
43216
|
+
})
|
|
43217
|
+
}),
|
|
43218
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43219
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43220
|
+
"data-dock-item": "",
|
|
43221
|
+
"data-label": tt("canvas.toolPan"),
|
|
43222
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43223
|
+
name: "pan",
|
|
43224
|
+
size: 18,
|
|
43225
|
+
label: tt("canvas.toolPan"),
|
|
43226
|
+
active: tool === "pan",
|
|
43227
|
+
onClick: () => setTool("pan")
|
|
43228
|
+
})
|
|
43229
|
+
}),
|
|
43230
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43231
|
+
className: canvas_workspace_module_css_default.dockDivider,
|
|
43232
|
+
"aria-hidden": "true"
|
|
43233
|
+
}),
|
|
43234
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43235
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43236
|
+
"data-dock-item": "",
|
|
43237
|
+
"data-label": tt("canvas.addImage"),
|
|
43238
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43239
|
+
name: "image",
|
|
43240
|
+
size: 18,
|
|
43241
|
+
label: tt("canvas.addImage"),
|
|
43242
|
+
active: imageMenu !== null,
|
|
43243
|
+
onClick: (event) => openDockMenu("image", event.currentTarget),
|
|
43244
|
+
onMouseEnter: (event) => openDockMenu("image", event.currentTarget),
|
|
43245
|
+
onMouseLeave: scheduleMenuClose
|
|
43246
|
+
})
|
|
43247
|
+
}),
|
|
43248
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43249
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43250
|
+
"data-dock-item": "",
|
|
43251
|
+
"data-label": tt("canvas.addText"),
|
|
43252
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43253
|
+
name: "text",
|
|
43254
|
+
size: 18,
|
|
43255
|
+
label: tt("canvas.addText"),
|
|
43256
|
+
onClick: () => placeNewNode(createTextNode())
|
|
43257
|
+
})
|
|
43258
|
+
}),
|
|
43259
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43260
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43261
|
+
"data-dock-item": "",
|
|
43262
|
+
"data-label": tt("canvas.addConfigNode"),
|
|
43263
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43264
|
+
name: "sparkle",
|
|
43265
|
+
size: 18,
|
|
43266
|
+
label: tt("canvas.addConfigNode"),
|
|
43267
|
+
onClick: () => placeNewNode(createConfigNode())
|
|
43268
|
+
})
|
|
43269
|
+
}),
|
|
43270
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43271
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43272
|
+
"data-dock-item": "",
|
|
43273
|
+
"data-label": tt("canvas.templateLibrary"),
|
|
43274
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43275
|
+
name: "template",
|
|
43276
|
+
size: 18,
|
|
43277
|
+
label: tt("canvas.templateLibrary"),
|
|
43278
|
+
active: libraryOpen,
|
|
43279
|
+
onClick: () => setLibraryOpen((previous) => !previous)
|
|
43280
|
+
})
|
|
43281
|
+
}),
|
|
43282
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43283
|
+
className: canvas_workspace_module_css_default.dockDivider,
|
|
43284
|
+
"aria-hidden": "true"
|
|
43285
|
+
}),
|
|
43286
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43287
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43288
|
+
"data-dock-item": "",
|
|
43289
|
+
"data-label": tt("canvas.background"),
|
|
43290
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43291
|
+
name: "background",
|
|
43292
|
+
size: 18,
|
|
43293
|
+
label: tt("canvas.background"),
|
|
43294
|
+
active: backgroundMenu !== null,
|
|
43295
|
+
onClick: (event) => openDockMenu("background", event.currentTarget),
|
|
43296
|
+
onMouseEnter: (event) => openDockMenu("background", event.currentTarget),
|
|
43297
|
+
onMouseLeave: scheduleMenuClose
|
|
43298
|
+
})
|
|
43299
|
+
}),
|
|
43300
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43301
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43302
|
+
"data-dock-item": "",
|
|
43303
|
+
"data-label": tt("canvas.undo"),
|
|
43304
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43305
|
+
name: "undo",
|
|
43306
|
+
size: 18,
|
|
43307
|
+
label: tt("canvas.undo"),
|
|
43308
|
+
disabled: pastRef.current.length === 0,
|
|
43309
|
+
onClick: undo
|
|
43310
|
+
})
|
|
43311
|
+
}),
|
|
43312
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43313
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43314
|
+
"data-dock-item": "",
|
|
43315
|
+
"data-label": tt("canvas.redo"),
|
|
43316
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43317
|
+
name: "redo",
|
|
43318
|
+
size: 18,
|
|
43319
|
+
label: tt("canvas.redo"),
|
|
43320
|
+
disabled: futureRef.current.length === 0,
|
|
43321
|
+
onClick: redo
|
|
43322
|
+
})
|
|
43323
|
+
}),
|
|
43324
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
43325
|
+
className: canvas_workspace_module_css_default.dockDivider,
|
|
43326
|
+
"aria-hidden": "true"
|
|
43327
|
+
}),
|
|
43328
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
43329
|
+
className: canvas_workspace_module_css_default.dockItem,
|
|
43330
|
+
"data-dock-item": "",
|
|
43331
|
+
"data-label": tt("canvas.delete"),
|
|
43332
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconButton, {
|
|
43333
|
+
name: "trash",
|
|
43334
|
+
size: 18,
|
|
43335
|
+
label: tt("canvas.delete"),
|
|
43336
|
+
disabled: selectedIds.size === 0 && selectedConnectionId === null,
|
|
43337
|
+
onClick: deleteSelection
|
|
43338
|
+
})
|
|
43339
|
+
})
|
|
43340
|
+
]
|
|
43341
|
+
})
|
|
42944
43342
|
}),
|
|
42945
43343
|
imageMenu !== null ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
42946
43344
|
className: canvas_workspace_module_css_default.backgroundMenu,
|
|
@@ -43943,7 +44341,7 @@ window.__ModuleLoader__.load({
|
|
|
43943
44341
|
const CHAT_IMAGE_EVENT = "dsh-imagegen:chat-images";
|
|
43944
44342
|
//#endregion
|
|
43945
44343
|
//#region \0dsh-css:E:\dsh-plugin\src\client\panel.module.css.mjs
|
|
43946
|
-
const css$2 = "[data-pane=conversation],[class*=centerCol]{min-width:0;min-height:0;position:relative}[data-dsh-imagegen-view]{z-index:60;background:var(--dsw-alias-bg-base);grid-area:1/1;min-width:0;min-height:0;display:none;position:relative}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-columns:minmax(0, 1fr) 8px minmax(320px, clamp(320px, var(--dsh-imagegen-chat-width,36%), 70%));background:var(--dsw-alias-border-l1);grid-template-rows:minmax(0,1fr);gap:1px;overflow:hidden;display:grid!important}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-imagegen-view]{display:block}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation]{background:var(--dsw-alias-bg-base);grid-area:1/3;align-items:stretch;width:auto;min-width:0;min-height:0;overflow:hidden;display:flex!important}html[data-dsh-imagegen-active] [data-slot=conversation]>[data-phase]{flex:auto;align-self:stretch;width:100%;min-width:0;max-width:none}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-imagegen-chat-resizer]{grid-area:1/2}.Yvqh9W_chatResizer{z-index:70;width:8px;min-width:8px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-border-l1);cursor:col-resize;touch-action:none;justify-content:center;align-items:center;display:none;position:relative}.Yvqh9W_chatResizer:before{content:\"\";opacity:.55;background:currentColor;border-radius:3px;width:3px;height:36px}.Yvqh9W_chatResizer:hover,.Yvqh9W_chatResizer:focus-visible{color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);outline:none}html[data-dsh-imagegen-active] [data-dsh-imagegen-chat-resizer]{display:flex!important}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation]>:not([data-dsh-imagegen-view]):not([data-slot=conversation]):not([data-dsh-imagegen-chat-resizer]),html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]>:not([data-dsh-imagegen-view]):not([data-slot=conversation]):not([data-dsh-imagegen-chat-resizer]),html[data-dsh-imagegen-active] [data-dsh-imagegen-sidebar-root]>:not([data-dsh-imagegen-session-tabs]):not([class*=logoRow]):not([class*=regionArea]):not([class*=footArea]){display:none!important}@media (width<=760px){html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-rows:minmax(0,1fr) minmax(340px,.9fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation]{grid-area:2/1}html[data-dsh-imagegen-active] [data-dsh-imagegen-chat-resizer]{display:none!important}}.Yvqh9W_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.Yvqh9W_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.Yvqh9W_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.Yvqh9W_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_entryLabel{text-overflow:ellipsis;overflow:hidden}.Yvqh9W_sessionTabs{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;width:100%;min-width:0;padding:3px;display:grid}.Yvqh9W_sessionTab{min-width:0;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}[data-sidebar-collapsed] .Yvqh9W_sessionTabs{background:0 0;border:none;border-radius:0;flex-direction:column;gap:6px;width:auto;padding:0;display:flex}[data-sidebar-collapsed] .Yvqh9W_sessionTab{border-radius:9px;width:34px;height:34px;padding:0;font-size:0}[data-sidebar-collapsed] .Yvqh9W_sessionTabLabel{display:none}.Yvqh9W_sessionTab:hover,.Yvqh9W_sessionTab[data-active]{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-sidebar-nav-item-active)}.Yvqh9W_sessionTabIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_sessionTabLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}[class*=regionArea]{min-height:0;position:relative}.Yvqh9W_sidebarHistoryHost{z-index:30;background:var(--dsw-alias-bg-base);min-width:0;min-height:0;padding:6px 4px;display:none;position:absolute;inset:0;overflow:hidden}html[data-dsh-imagegen-active] .Yvqh9W_sidebarHistoryHost{display:flex}.Yvqh9W_sidebarHistoryHost .Yvqh9W_history{background:0 0;border:0;border-radius:8px;width:100%;height:100%}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_sidebarHistoryHost{display:none}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_entryLabel{display:none}.Yvqh9W_view{width:100%;min-width:0;min-height:0;overflow:hidden}.Yvqh9W_panel,.Yvqh9W_panel *,.Yvqh9W_panel :before,.Yvqh9W_panel :after{box-sizing:border-box}.Yvqh9W_panel{background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.Yvqh9W_panelHeader{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.Yvqh9W_panelHeading{align-items:baseline;gap:10px;min-width:0;display:flex}.Yvqh9W_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:16px;font-weight:700}.Yvqh9W_githubLink{width:22px;height:22px;color:var(--dsw-alias-label-secondary);border-radius:6px;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.Yvqh9W_githubLink:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_connectionStatus{border:1px solid var(--dsw-alias-label-error);height:28px;color:var(--dsw-alias-label-error);font:inherit;white-space:nowrap;background:0 0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.Yvqh9W_connectionStatus[data-connected=true]{border-color:var(--dsw-alias-state-success-primary);color:var(--dsw-alias-state-success-primary)}.Yvqh9W_connectionDot{background:currentColor;border-radius:50%;width:6px;height:6px}.Yvqh9W_updateBanner{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-primary);overflow-wrap:anywhere;border-radius:10px;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px 7px 12px;font-size:12px;line-height:1.5;display:flex}.Yvqh9W_updateBanner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.Yvqh9W_updateText{min-width:0}.Yvqh9W_updateActions{flex:none;align-items:center;gap:10px;display:inline-flex}.Yvqh9W_updateRelease{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline}@media (width<=700px){.Yvqh9W_panelHeader{align-items:flex-start}.Yvqh9W_panelHeading{flex-direction:column;align-items:flex-start;gap:2px}.Yvqh9W_updateBanner{flex-direction:column;align-items:flex-start}.Yvqh9W_updateActions{justify-content:space-between;width:100%}}.Yvqh9W_studio{flex:1;min-width:0;min-height:0;display:flex}.Yvqh9W_generation{gap:14px;width:100%;min-width:0;min-height:0;display:flex}.Yvqh9W_generation[data-workspace=canvas]{height:100%;display:flex}.Yvqh9W_generation[data-workspace=canvas]>.Yvqh9W_config,.Yvqh9W_generation[data-workspace=canvas]>.Yvqh9W_canvas{display:none!important}.Yvqh9W_config{width:clamp(240px, var(--dsh-imagegen-config-width,300px), 480px);flex-direction:column;flex:none;gap:12px;min-width:240px;max-width:480px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_configHeader{flex:none;justify-content:flex-end;min-height:28px;display:flex}.Yvqh9W_configToggle{border:1px solid var(--dsw-alias-border-l1);width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_configToggle:hover,.Yvqh9W_configToggle:focus-visible{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary);outline:none}.Yvqh9W_config[data-collapsed=true]{gap:0;width:38px;min-width:38px;max-width:38px}.Yvqh9W_config[data-collapsed=true] .Yvqh9W_configHeader{justify-content:center}.Yvqh9W_config[data-collapsed=true]>:not(.Yvqh9W_configHeader){display:none}.Yvqh9W_configScroll{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.Yvqh9W_configScroll::-webkit-scrollbar{width:8px}.Yvqh9W_configScroll::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_canvas{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_taskTray{z-index:6;border:1px solid var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);backdrop-filter:blur(10px);border-radius:9px;flex-direction:column;width:min(360px,100% - 24px);max-height:calc(100% - 24px);display:flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.Yvqh9W_taskTray[data-open=false]{width:auto;max-width:calc(100% - 24px)}.Yvqh9W_taskTrayHeader{min-height:34px;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:stretch;font-size:12px;font-weight:600;display:flex}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskTrayHeader{border-bottom:0}.Yvqh9W_taskTrayToggle{min-width:0;color:inherit;cursor:pointer;font:inherit;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.Yvqh9W_taskTrayToggle:hover{background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_taskTrayCount{min-width:18px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:999px;padding:1px 5px;font-size:11px;font-weight:500}.Yvqh9W_taskTrayChevron{color:var(--dsw-alias-label-tertiary);margin-left:auto;font-size:12px;font-weight:400}.Yvqh9W_taskTrayClose{border:0;border-left:1px solid var(--dsw-alias-border-l1);width:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;font-size:17px}.Yvqh9W_taskTrayClose:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskTrayToggle{min-height:34px}.Yvqh9W_taskRows{min-height:0;overflow-y:auto}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskRows{display:none}.Yvqh9W_taskRow{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 10px;display:grid}.Yvqh9W_taskRow:first-of-type{border-top:0}.Yvqh9W_taskStatus{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px}.Yvqh9W_taskRow[data-status=running] .Yvqh9W_taskStatus{color:var(--dsw-alias-brand-primary)}.Yvqh9W_taskRow[data-status=failed] .Yvqh9W_taskStatus{color:var(--dsw-alias-label-error)}.Yvqh9W_taskPrompt{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.Yvqh9W_taskRow button{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border:0;border-radius:5px;padding:2px 7px;font-size:11px}.Yvqh9W_taskRow button:hover{color:var(--dsw-alias-brand-primary)}.Yvqh9W_configGuide{z-index:1100;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.Yvqh9W_configGuideBody{border:1px solid var(--dsw-alias-border-l2);width:min(360px,100%);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 14px 40px #0003}.Yvqh9W_configGuideBody span{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:1.55}.Yvqh9W_configGuideBody button{min-height:30px;color:var(--dsw-alias-bg-layer-1);background:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;border:0;border-radius:7px;align-self:flex-end;padding:0 12px;font-size:12px}.Yvqh9W_history{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;flex-direction:column;width:auto;min-width:0;max-width:none;min-height:0;display:flex;overflow:hidden}.Yvqh9W_historyHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.Yvqh9W_historyHeaderActions{flex:none;align-items:center;gap:6px;display:flex}.Yvqh9W_historyFilters{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;display:grid}.Yvqh9W_historySearch,.Yvqh9W_historyFilters select,.Yvqh9W_gallerySearch{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);min-width:0;min-height:29px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_historySearch{grid-column:1/-1}.Yvqh9W_gallerySearch{width:156px}.Yvqh9W_galleryTagInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:130px;min-height:29px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_galleryBulkButton{border:1px solid var(--dsw-alias-border-l2);min-height:29px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_galleryBulkButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryBulkButton:disabled{opacity:.45;cursor:default}.Yvqh9W_historyTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600}.Yvqh9W_historyNew{width:26px;height:26px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_historyNew:hover{color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_historyClear{font:inherit;color:var(--dsw-alias-label-tertiary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px;font-size:11.5px}.Yvqh9W_historyClear:hover{color:var(--dsw-alias-label-error);border-color:var(--dsw-alias-label-error)}.Yvqh9W_historyList{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.Yvqh9W_historyList::-webkit-scrollbar{width:8px}.Yvqh9W_historyList::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_historyEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;font-size:12px;line-height:1.6;display:flex}.Yvqh9W_historyItem{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:10px;flex-direction:column;flex:none;gap:6px;padding:8px;display:flex}.Yvqh9W_historyItem:hover{border-color:var(--dsw-alias-border-l2)}.Yvqh9W_historyItem[data-active]{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_historyMain{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;min-width:0;padding:0;display:flex}.Yvqh9W_historyThumb{object-fit:cover;background:var(--dsw-alias-bg-base);border-radius:8px;flex:none;width:52px;height:52px}.Yvqh9W_historyThumbPlaceholder{background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex:none;width:52px;height:52px}.Yvqh9W_historyInfo{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.Yvqh9W_historyPrompt{color:var(--dsw-alias-label-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.Yvqh9W_historyMeta{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.Yvqh9W_historyActions{justify-content:flex-end;gap:4px;display:flex}.Yvqh9W_historyIconAction{width:26px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_historyIconAction:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_historyIconAction:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_historyIconAction:disabled{opacity:.5;cursor:default}.Yvqh9W_historyIconAction[data-danger]:hover{color:var(--dsw-alias-state-error);background:color-mix(in srgb, var(--dsw-alias-state-error) 10%, transparent)}.Yvqh9W_card{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}.Yvqh9W_ecommerceWorkspace{flex-direction:column;gap:18px;max-width:760px;margin:0 auto;padding:10px 8px 18px;display:flex}.Yvqh9W_ecommerceSection{border:none;border-bottom:1px solid var(--dsw-alias-border-l1);background:0 0;border-radius:0;flex-direction:column;gap:10px;padding:0 0 16px;display:flex}.Yvqh9W_ecommerceSection:last-of-type{border-bottom:none;padding-bottom:4px}.Yvqh9W_ecommerceSection h3{align-items:baseline;gap:7px;margin:0 0 2px;font-size:14px;font-weight:650;display:flex}.Yvqh9W_ecommerceSectionHint{color:var(--dsw-alias-label-tertiary);font-size:11px;font-weight:400}.Yvqh9W_ecommerceSection input:not([type=checkbox]),.Yvqh9W_ecommerceSection select,.Yvqh9W_ecommerceSection textarea{box-sizing:border-box;width:100%;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);font:inherit;border-radius:9px;padding:9px 11px}.Yvqh9W_ecommerceSection input:not([type=checkbox]):focus-visible,.Yvqh9W_ecommerceSection select:focus-visible,.Yvqh9W_ecommerceSection textarea:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_ecommerceSection textarea{resize:vertical;min-height:68px;line-height:1.5}.Yvqh9W_ecommerceField{flex-direction:column;gap:5px;min-width:0;display:flex}.Yvqh9W_ecommerceFieldLabel{color:var(--dsw-alias-label-secondary);font-size:11.5px}.Yvqh9W_ecommerceParamGrid{grid-template-columns:1fr 1fr;gap:12px 10px;display:grid}.Yvqh9W_ecommerceUploadHero{border:1.5px dashed var(--dsw-alias-border-l2);min-height:78px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;text-align:center;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex}.Yvqh9W_ecommerceUploadHero:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_ecommerceUploadHero:focus-visible,.Yvqh9W_ecommerceAssetAdd:focus-visible,.Yvqh9W_ecommerceSlotCard:focus-visible,.Yvqh9W_ecommerceAdvancedToggle:focus-visible,.Yvqh9W_ecommerceAsset button:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.Yvqh9W_ecommerceUploadHero span{font-size:12px}.Yvqh9W_ecommerceUploadHero small{color:var(--dsw-alias-label-tertiary);font-size:10.5px}.Yvqh9W_ecommerceStructureGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_ecommerceSlotCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.Yvqh9W_ecommerceSlotCard:hover{border-color:var(--dsw-alias-label-dimmed)}.Yvqh9W_ecommerceSlotCard[data-active]{background:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-base);font-weight:600}.Yvqh9W_ecommerceSlotCount{background:var(--dsw-alias-brand-primary);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-6px;right:-6px}.Yvqh9W_ecommerceRefRow{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.Yvqh9W_ecommerceRefRow>span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommercePrimaryAction{border-radius:999px;width:100%;height:38px;font-size:13.5px}.Yvqh9W_previewBadge{background:var(--dsw-alias-brand-primary);color:#fff;letter-spacing:.02em;border-radius:4px;margin-left:5px;padding:0 4px;font-size:9px;font-weight:700;line-height:13px}.Yvqh9W_ecommercePlanNote{color:var(--dsw-alias-label-secondary);font-size:11.5px;line-height:1.5}.Yvqh9W_ecommercePlanWarn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-radius:6px;padding:6px 8px;font-size:11.5px;line-height:1.5}.Yvqh9W_ecommerceAssets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_ecommerceAsset{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex-direction:column;gap:3px;padding:4px;display:flex;position:relative}.Yvqh9W_ecommerceAsset img{object-fit:cover;border-radius:5px;width:100%;height:44px}.Yvqh9W_ecommerceAsset select{width:100%;min-width:0;padding:2px;font-size:10px}.Yvqh9W_ecommerceAsset button{color:#fff;cursor:pointer;text-align:center;background:#0000008c;border:none;border-radius:50%;width:16px;height:16px;padding:0;font-size:11px;line-height:15px;position:absolute;top:7px;right:7px}.Yvqh9W_ecommerceAsset button:hover{background:#000c}.Yvqh9W_ecommerceAssetAdd{border:1.5px dashed var(--dsw-alias-border-l2);min-height:78px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.Yvqh9W_ecommerceAssetAdd:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.Yvqh9W_ecommerceAssetAdd span{font-size:16px;line-height:1}.Yvqh9W_ecommerceAssetAdd small{font-size:10px}.Yvqh9W_ecommerceAdvancedToggle{width:100%;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:12.5px;display:flex}.Yvqh9W_ecommerceAdvancedToggle:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_ecommerceAdvancedChevron{font-size:11px}.Yvqh9W_ecommerceAdvancedBody{flex-direction:column;gap:8px;margin-top:8px;display:flex}.Yvqh9W_ecommerceFooterBody{flex-direction:column;gap:8px;display:flex}.Yvqh9W_ecommercePlanMini{border:1px solid var(--dsw-alias-brand-primary);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.Yvqh9W_ecommercePlanMini>strong{font-size:12.5px}.Yvqh9W_ecommercePlanList{flex-direction:column;gap:3px;max-height:116px;display:flex;overflow-y:auto}.Yvqh9W_ecommercePlanList>div{color:var(--dsw-alias-label-secondary);justify-content:space-between;gap:12px;font-size:11.5px;display:flex}.Yvqh9W_ecommercePlanBack{color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.Yvqh9W_ecommercePlanBack:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_ecommerceFooterHint{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceResults{flex-direction:column;gap:14px;width:100%;margin:0 auto;padding:16px 18px;display:flex;overflow-y:auto}.Yvqh9W_ecommerceResultsHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.Yvqh9W_ecommerceResultsHeader h3{margin:0;font-size:15px}.Yvqh9W_ecommerceResultsHeader>div:first-child{align-items:baseline;gap:10px;display:flex}.Yvqh9W_ecommerceResultsHeader span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceResultsActions{gap:8px;display:flex}.Yvqh9W_ecommerceResultsEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;border:1.5px dashed var(--dsw-alias-border-l2);border-radius:12px;padding:32px 16px;font-size:13px}.Yvqh9W_ecommerceGroups{flex-direction:column;gap:16px;display:flex}.Yvqh9W_ecommerceGroup{background:0 0;border:none;border-radius:0;flex-direction:column;gap:8px;padding:0;display:flex}.Yvqh9W_ecommerceGroup>header{align-items:center;gap:10px;font-size:13px;display:flex}.Yvqh9W_ecommerceGroup>header strong{font-size:13px}.Yvqh9W_ecommerceGroup>header span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceGroup>header button{margin-left:auto}.Yvqh9W_ecommerceGroupGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.Yvqh9W_ecommerceTaskCard{aspect-ratio:1;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-3);border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_ecommerceTaskCard[data-status=failed],.Yvqh9W_ecommerceTaskCard[data-status=cancelled]{color:var(--dsw-alias-label-tertiary);font-size:12px}.Yvqh9W_ecommerceTaskCard .Yvqh9W_imageCard{border:none;border-radius:0;width:100%;height:100%;margin:0}.Yvqh9W_ecommerceTaskCard .Yvqh9W_image{object-fit:cover;width:100%;height:100%}.Yvqh9W_ecommerceResultBadge{color:#fff;pointer-events:none;background:#0000008c;border-radius:999px;padding:0 7px;font-size:10px;line-height:16px;position:absolute;top:6px;left:6px}.Yvqh9W_ecommerceTaskActions{opacity:0;background:linear-gradient(#0000,#0000008c);justify-content:center;gap:4px;padding:10px 4px 5px;transition:opacity .12s;display:flex;position:absolute;bottom:0;left:0;right:0}.Yvqh9W_ecommerceTaskCard:hover .Yvqh9W_ecommerceTaskActions{opacity:1}.Yvqh9W_ecommerceActionChip{color:#111;cursor:pointer;white-space:nowrap;background:#ffffffeb;border:none;border-radius:6px;padding:0 6px;font-size:10px;font-weight:500;line-height:18px;text-decoration:none}.Yvqh9W_ecommerceActionChip:hover{background:#fff}.Yvqh9W_ecommerceActionChip:disabled{opacity:.5;cursor:default}.Yvqh9W_ecommerceTaskState{color:var(--dsw-alias-label-secondary);text-align:center;word-break:break-all;flex-direction:column;gap:3px;padding:10px 8px;font-size:11px;display:flex}.Yvqh9W_ecommerceTaskState b{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_topNav{flex:none;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.Yvqh9W_topNavItem{height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:0 14px;font-size:13px;display:inline-flex}.Yvqh9W_topNavItem,.Yvqh9W_topNavItem span{white-space:nowrap}.Yvqh9W_topNavItem:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_topNavItem[data-active]{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-base);font-weight:600}.Yvqh9W_topNavDivider{background:var(--dsw-alias-border-l2);width:1px;height:16px;margin:0 8px}.Yvqh9W_panelHeaderActions{align-items:center;gap:10px;display:inline-flex}.Yvqh9W_chatToggle{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.Yvqh9W_chatToggle:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_chatToggle[data-open=true]{color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-columns:minmax(0,1fr)}html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation],html[data-dsh-imagegen-chat-collapsed] [data-dsh-imagegen-chat-resizer]{display:none!important}.Yvqh9W_configResizer{cursor:col-resize;z-index:6;width:6px;height:100%;position:absolute;top:0;right:0}.Yvqh9W_configResizer:hover{background:linear-gradient(90deg, transparent, var(--dsw-alias-border-l2))}.Yvqh9W_config[data-collapsed=true] .Yvqh9W_configResizer{display:none}.Yvqh9W_modeRow{align-items:center;gap:8px;display:flex}.Yvqh9W_modePill{flex:1;justify-content:center;height:28px;font-size:12.5px}.Yvqh9W_modePill,.Yvqh9W_modePill span,.Yvqh9W_modePill div{white-space:nowrap;min-width:0}.Yvqh9W_uploadBox{min-height:128px;color:var(--dsw-alias-label-secondary);border:1.5px dashed var(--dsw-alias-border-l2);cursor:pointer;font:inherit;text-align:center;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;font-size:12.5px;display:flex}.Yvqh9W_uploadBox:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_uploadBox:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_uploadIcon{color:var(--dsw-alias-label-tertiary);display:inline-flex}.Yvqh9W_uploadHint{color:var(--dsw-alias-label-tertiary);font-size:11px}.Yvqh9W_reference{flex-direction:column;gap:8px;display:flex}.Yvqh9W_referenceImage{object-fit:contain;background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;width:100%;max-height:176px}.Yvqh9W_referenceActions{gap:8px;display:flex}.Yvqh9W_hiddenFile{display:none}.Yvqh9W_prompt{width:100%;min-height:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);resize:vertical;box-sizing:border-box;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.Yvqh9W_prompt:focus-visible{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_prompt::placeholder{color:var(--dsw-alias-label-tertiary)}.Yvqh9W_promptFooter{justify-content:space-between;align-items:center;gap:8px;margin-top:-6px;display:flex}.Yvqh9W_templatesButton{border:1px solid var(--dsw-alias-brand-primary);background:linear-gradient(135deg, color-mix(in srgb, var(--dsw-alias-brand-primary) 14%, transparent), color-mix(in srgb, var(--dsw-alias-brand-primary) 5%, transparent));height:26px;color:var(--dsw-alias-brand-primary);cursor:pointer;box-shadow:0 1px 0 color-mix(in srgb, var(--dsw-alias-brand-primary) 22%, transparent);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.Yvqh9W_templatesButton svg{flex:none}.Yvqh9W_templatesButton:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--dsw-alias-brand-primary) 24%, transparent), color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent));color:var(--dsw-alias-brand-primary);box-shadow:0 2px 6px color-mix(in srgb, var(--dsw-alias-brand-primary) 30%, transparent);transform:translateY(-1px)}.Yvqh9W_templatesButton:active{transform:translateY(0)}.Yvqh9W_enhanceButton{border:1px solid var(--dsw-alias-border-l2);height:26px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);font:inherit;cursor:pointer;border-radius:999px;margin-left:auto;padding:0 11px;font-size:12px}.Yvqh9W_enhanceButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_enhanceButton:disabled{opacity:.5;cursor:default}.Yvqh9W_promptCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:11px}.Yvqh9W_promptCount[data-over]{color:var(--dsw-alias-status-danger,#e5484d);font-weight:600}.Yvqh9W_paramGroup{flex-direction:column;gap:8px;display:flex}.Yvqh9W_paramLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.Yvqh9W_optionRow{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_optionGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_optionPill{justify-content:center}.Yvqh9W_paramHint{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:1.45}.Yvqh9W_footer{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:10px 2px 0 0;display:flex}.Yvqh9W_modelWrap{flex-direction:column;gap:5px;min-width:0;display:flex}.Yvqh9W_modelLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.Yvqh9W_modelSelect{width:100%;height:36px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;text-align:left;border-radius:18px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:13px;display:flex}.Yvqh9W_modelSelect:focus-visible{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_modelSelect:disabled{opacity:.55;cursor:default}.Yvqh9W_modelMenu{min-width:0;display:block;position:relative}.Yvqh9W_modelMenuList{z-index:40;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 -8px 24px #0000002e}.Yvqh9W_modelMenuItem{width:100%;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:8px;padding:7px 10px;font-size:13px;display:block;overflow:hidden}.Yvqh9W_modelMenuItem:hover{background:var(--dsw-alias-bg-hover)}.Yvqh9W_modelMenuItem[data-selected]{color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-1);font-weight:600}.Yvqh9W_generateButton{width:100%}.Yvqh9W_generateInner{align-items:center;gap:7px;display:inline-flex}.Yvqh9W_canvasState{text-align:center;color:var(--dsw-alias-label-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.Yvqh9W_canvasStateTitle{color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:600}.Yvqh9W_canvasStateHint{max-width:380px;font-size:12px;line-height:1.6}.Yvqh9W_canvasEmptyIcon{color:var(--dsw-alias-label-tertiary);margin-bottom:4px;display:inline-flex}.Yvqh9W_canvasError{color:var(--dsw-alias-label-error);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-label-error);overflow-wrap:anywhere;border-radius:10px;flex:none;margin:14px;padding:10px 14px;font-size:12.5px;line-height:1.6}.Yvqh9W_canvasBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.Yvqh9W_canvasBody::-webkit-scrollbar{width:8px}.Yvqh9W_canvasBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_canvasMeta{color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:8px;font-size:12px;display:flex}.Yvqh9W_canvasHistoryTag{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.Yvqh9W_grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.Yvqh9W_grid[data-count=\"1\"] .Yvqh9W_imageCard{grid-area:1/1/3/3}.Yvqh9W_imageCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:zoom-in;border-radius:12px;flex-direction:column;min-height:0;margin:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_imageCard:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_image{object-fit:cover;background:var(--dsw-alias-bg-base);flex:1;width:100%;min-height:0;display:block}.Yvqh9W_imageCaption{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;border-top:1px solid var(--dsw-alias-border-l1);padding:7px 10px;font-size:11px;line-height:1.5;overflow:hidden}.Yvqh9W_download{color:#fff;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;text-decoration:none;transition:opacity .12s;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_download{opacity:1}.Yvqh9W_download:hover{background:#0f1218f0}.Yvqh9W_download:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_galleryAdd{font:inherit;color:#fff;cursor:pointer;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_galleryAdd{opacity:1}.Yvqh9W_galleryAdd:hover{background:#0f1218f0}.Yvqh9W_galleryAdd:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_galleryAdd:disabled{opacity:.4;cursor:default}.Yvqh9W_conversationAdd{color:#fff;cursor:pointer;font:inherit;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;top:38px;left:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_conversationAdd,.Yvqh9W_conversationAdd:focus-visible{opacity:1}.Yvqh9W_conversationAdd:hover{background:#0f1218f0}.Yvqh9W_conversationAdd:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_conversationAdd:disabled{opacity:.4;cursor:default}.Yvqh9W_zoomHint{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);border:1px solid var(--dsw-alias-border-l2);opacity:0;backdrop-filter:blur(4px);pointer-events:none;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;bottom:8px;left:8px}.Yvqh9W_imageCard:hover .Yvqh9W_zoomHint{opacity:1}.Yvqh9W_spinner,.Yvqh9W_bigSpinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;animation:.8s linear infinite Yvqh9W_dshImageGenSpin;display:inline-block}.Yvqh9W_spinner{width:11px;height:11px}.Yvqh9W_bigSpinner{width:30px;height:30px;color:var(--dsw-alias-state-business-primary);border-width:3px;margin-bottom:6px}.Yvqh9W_lightbox{z-index:1000;backdrop-filter:blur(6px);background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.Yvqh9W_lightboxClose{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:16px;right:16px}.Yvqh9W_lightboxClose:hover{background:#ffffff42}.Yvqh9W_lightboxNav{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.Yvqh9W_lightboxNav:hover{background:#ffffff42}.Yvqh9W_lightboxNav[data-dir=prev]{left:max(20px,50% - 640px)}.Yvqh9W_lightboxNav[data-dir=next]{right:max(20px,50% - 640px)}.Yvqh9W_lightboxFigure{flex-direction:column;gap:10px;width:min(1100px,100vw - 160px);max-width:min(1100px,100vw - 160px);height:min(820px,100vh - 48px);min-height:0;margin:0;display:flex}.Yvqh9W_lightboxStage{background:#ffffff0a;border-radius:10px;flex:1;min-height:0;position:relative;overflow:auto}.Yvqh9W_lightboxScaleFrame{justify-content:center;align-items:center;min-width:100%;min-height:100%;display:flex}.Yvqh9W_lightboxImage{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%;display:block;box-shadow:0 24px 80px #00000080}.Yvqh9W_lightboxTools{justify-content:center;align-items:center;gap:6px;display:flex}.Yvqh9W_lightboxTool,.Yvqh9W_lightboxZoomLevel,.Yvqh9W_lightboxCopy{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_lightboxTool,.Yvqh9W_lightboxZoomLevel{height:32px}.Yvqh9W_lightboxTool{border-radius:50%;width:32px}.Yvqh9W_lightboxZoomLevel{min-width:58px;font:inherit;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 9px;font-size:12px}.Yvqh9W_lightboxTool:hover,.Yvqh9W_lightboxZoomLevel:hover,.Yvqh9W_lightboxCopy:hover{background:#ffffff42}.Yvqh9W_lightboxCaptionRow{align-items:flex-start;gap:8px;min-width:0;display:flex}.Yvqh9W_lightboxCaption{color:#ffffffe6;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.Yvqh9W_lightboxCopy{min-height:28px;font:inherit;white-space:nowrap;border-radius:999px;flex:none;gap:5px;padding:4px 9px;font-size:12px}.Yvqh9W_lightboxMeta{justify-content:space-between;align-items:center;gap:12px;display:flex}.Yvqh9W_lightboxIndex{color:#fffc;font-variant-numeric:tabular-nums;font-size:12px}.Yvqh9W_lightboxActions{align-items:center;gap:8px;display:inline-flex}.Yvqh9W_lightboxDownload,.Yvqh9W_lightboxEdit{font:inherit;color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:500;text-decoration:none}.Yvqh9W_lightboxDownload:hover,.Yvqh9W_lightboxEdit:hover{background:#ffffff42}.Yvqh9W_lightboxEdit{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px}@media (width<=720px){.Yvqh9W_lightbox{padding:16px}.Yvqh9W_lightboxFigure{width:calc(100vw - 32px);max-width:none}.Yvqh9W_lightboxNav[data-dir=prev]{left:20px}.Yvqh9W_lightboxNav[data-dir=next]{right:20px}.Yvqh9W_lightboxCaptionRow,.Yvqh9W_lightboxMeta{flex-direction:column;align-items:stretch}.Yvqh9W_lightboxCopy,.Yvqh9W_lightboxActions{align-self:flex-end}}@keyframes Yvqh9W_dshImageGenSpin{to{transform:rotate(360deg)}}.Yvqh9W_galleryToast{z-index:30;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);border:1px solid var(--dsw-alias-border-l2);backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-size:13px;font-weight:500;animation:.16s ease-out Yvqh9W_dshImageGenToastIn;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}@keyframes Yvqh9W_dshImageGenToastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.Yvqh9W_conversationToast{z-index:30;border:1px solid var(--dsw-alias-border-l2);max-width:calc(100% - 32px);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);pointer-events:none;backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-size:13px;font-weight:500;animation:.16s ease-out Yvqh9W_dshImageGenToastIn;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}@media (prefers-reduced-motion:reduce){.Yvqh9W_download,.Yvqh9W_spinner,.Yvqh9W_bigSpinner{transition:none;animation-duration:1.5s}}.Yvqh9W_config[data-gallery=true] .Yvqh9W_configScroll{flex:none;order:1;display:flex;overflow:visible}.Yvqh9W_config[data-gallery=true] .Yvqh9W_galleryFilters{flex:1;order:2;min-height:0}.Yvqh9W_galleryFilters{padding:18px 14px;overflow:hidden auto}.Yvqh9W_galleryFilterHeading{color:var(--dsw-alias-label-tertiary);margin:0 4px 10px;font-size:12px;font-weight:600}.Yvqh9W_galleryFilter{width:100%;min-height:34px;color:var(--dsw-alias-label-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.Yvqh9W_galleryFilter:hover,.Yvqh9W_galleryFilter[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent)}.Yvqh9W_galleryFilterCount{min-width:20px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:999px;padding:1px 6px;font-size:11px}.Yvqh9W_galleryFilterDivider{background:var(--dsw-alias-border-l1);height:1px;margin:18px 4px}.Yvqh9W_galleryRatioList{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_galleryRatio{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border:0;border-radius:999px;padding:6px 10px;font-size:12px}.Yvqh9W_galleryRatio[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 13%, transparent)}.Yvqh9W_galleryTagFilterList{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_galleryTagFilter{border:1px solid var(--dsw-alias-border-l1);min-width:0;max-width:100%;min-height:27px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.Yvqh9W_galleryTagFilter span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.Yvqh9W_galleryTagFilter span:last-child{color:var(--dsw-alias-label-tertiary);font-size:10px}.Yvqh9W_galleryTagFilter:hover,.Yvqh9W_galleryTagFilter[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent)}.Yvqh9W_galleryFilterNote{color:var(--dsw-alias-label-quaternary);margin:20px 4px 0;font-size:11px;line-height:1.5}.Yvqh9W_galleryWorkspace{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;padding:22px 24px 26px;display:flex;position:absolute;inset:0;overflow:hidden}.Yvqh9W_galleryToolbar{flex:none;justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:18px;display:flex}.Yvqh9W_galleryHeading{color:var(--dsw-alias-label-primary);margin:0;font-size:20px;font-weight:700;display:inline}.Yvqh9W_galleryCount{color:var(--dsw-alias-label-tertiary);margin-left:8px;font-size:13px}.Yvqh9W_galleryToolbarActions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.Yvqh9W_gallerySelectMode,.Yvqh9W_galleryBulkButton,.Yvqh9W_gallerySelectionClear{border:1px solid var(--dsw-alias-border-l1);min-height:30px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:7px;padding:0 10px;font-size:12px}.Yvqh9W_gallerySelectMode:hover,.Yvqh9W_gallerySelectMode[data-active],.Yvqh9W_galleryBulkButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 38%, var(--dsw-alias-border-l1));background:color-mix(in srgb, var(--dsw-alias-brand-primary) 11%, transparent)}.Yvqh9W_galleryBulkButton:disabled{cursor:not-allowed;opacity:.45}.Yvqh9W_gallerySelectionBar{border:1px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 35%, var(--dsw-alias-border-l1));background:color-mix(in srgb, var(--dsw-alias-brand-primary) 7%, var(--dsw-alias-bg-layer-1));border-radius:9px;flex:none;align-items:center;gap:10px;min-width:0;margin:-4px 0 16px;padding:10px 12px;display:flex}.Yvqh9W_gallerySelectionBar strong{color:var(--dsw-alias-brand-primary);flex:none;font-size:12px}.Yvqh9W_gallerySelectionClear{margin-left:auto}.Yvqh9W_gallerySelectionClear:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_galleryTagInput,.Yvqh9W_gallerySearch{border:1px solid var(--dsw-alias-border-l1);min-width:0;height:30px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:inherit;border-radius:7px;outline:none;padding:0 10px;font-size:12px}.Yvqh9W_galleryTagInput{flex:190px}.Yvqh9W_galleryTagInput:focus,.Yvqh9W_gallerySearch:focus{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryViewToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;padding:3px;display:flex}.Yvqh9W_galleryViewToggle button,.Yvqh9W_gallerySort,.Yvqh9W_galleryClear{min-height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12px}.Yvqh9W_galleryViewToggle button[data-active],.Yvqh9W_galleryViewToggle button:hover,.Yvqh9W_gallerySort:hover,.Yvqh9W_galleryClear:hover{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 11%, transparent)}.Yvqh9W_gallerySort{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1)}.Yvqh9W_galleryClear{border:1px solid var(--dsw-alias-border-l1)}.Yvqh9W_compareControl{flex-direction:column;gap:6px;margin:0 0 10px;display:flex}.Yvqh9W_compareToggle,.Yvqh9W_compareModelChoices label{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.Yvqh9W_compareToggle input,.Yvqh9W_compareModelChoices input{accent-color:var(--dsw-alias-brand-primary)}.Yvqh9W_compareModelChoices{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_compareModelChoices label{border:1px solid var(--dsw-alias-border-l1);border-radius:5px;padding:4px 6px;font-size:10px}.Yvqh9W_comparisonBoard{z-index:4;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:8px;flex-direction:column;display:flex;position:absolute;inset:14px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.Yvqh9W_comparisonBoard>header{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.Yvqh9W_comparisonBoard>header div{align-items:baseline;gap:7px;display:flex}.Yvqh9W_comparisonBoard>header strong{color:var(--dsw-alias-label-primary);font-size:13px}.Yvqh9W_comparisonBoard>header span{color:var(--dsw-alias-label-tertiary);font-size:11px}.Yvqh9W_comparisonBoard>header button{border:1px solid var(--dsw-alias-border-l1);min-height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border-radius:5px;padding:0 9px;font-size:11px}.Yvqh9W_comparisonGrid{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;min-height:0;padding:12px;display:grid;overflow:auto}.Yvqh9W_comparisonGrid article{flex-direction:column;gap:7px;min-width:0;height:100%;min-height:0;display:flex}.Yvqh9W_comparisonGrid article>strong{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_comparisonImageButton{cursor:zoom-in;background:var(--dsw-alias-bg-base);border:0;flex:1;width:100%;min-height:0;padding:0;display:flex;overflow:hidden}.Yvqh9W_comparisonImageButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.Yvqh9W_comparisonGrid article>span{min-height:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);flex:1;place-items:center;font-size:12px;display:grid}.Yvqh9W_comparisonGrid img{object-fit:contain;background:var(--dsw-alias-bg-base);flex:1;width:100%;height:100%;min-height:0;max-height:none;display:block}.Yvqh9W_comparisonFullscreen{z-index:1200;background:#000000eb;padding:54px 24px 24px;position:fixed;inset:0;overflow:auto}.Yvqh9W_comparisonFullscreenGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;min-height:100%;display:grid}.Yvqh9W_comparisonFullscreen figure{min-width:0;margin:0}.Yvqh9W_comparisonFullscreen figcaption{color:#fff;margin-bottom:8px;font-size:13px;font-weight:600}.Yvqh9W_comparisonFullscreen img{background:#111;width:100%;margin-bottom:10px;display:block}.Yvqh9W_historyItem[data-comparison]{border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 55%, var(--dsw-alias-border-l1))}.Yvqh9W_galleryMasonry{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:16px;width:100%;min-width:0;max-width:100%;height:0;min-height:0;padding:2px 8px 16px 2px;display:grid;overflow:hidden scroll}.Yvqh9W_galleryMasonry::-webkit-scrollbar{width:8px}.Yvqh9W_galleryMasonry::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_galleryCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:14px;width:100%;margin:0;display:block;position:relative;overflow:hidden;box-shadow:0 5px 18px #18203612}.Yvqh9W_galleryCard[data-selected]{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-brand-primary) 26%, transparent), 0 5px 18px #18203612}.Yvqh9W_gallerySelect{z-index:2;cursor:pointer;background:#00000094;border:1px solid #ffffffbf;border-radius:7px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:9px;right:9px}.Yvqh9W_gallerySelect input{width:16px;height:16px;accent-color:var(--dsw-alias-brand-primary);cursor:pointer;margin:0}.Yvqh9W_galleryImageButton{background:var(--dsw-alias-bg-base);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative}.Yvqh9W_galleryImageButton[data-selecting]{cursor:pointer}.Yvqh9W_galleryImage{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n+1) .Yvqh9W_galleryImage{aspect-ratio:4/5}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n+2) .Yvqh9W_galleryImage{aspect-ratio:4/3}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n) .Yvqh9W_galleryImage{aspect-ratio:3/4}.Yvqh9W_galleryBadge{color:#fff;backdrop-filter:blur(4px);background:#121724c2;border-radius:999px;padding:4px 9px;font-size:11px;position:absolute;top:10px;left:10px}.Yvqh9W_galleryCardActions{padding:8px 12px 0;display:flex}.Yvqh9W_galleryCardAction{border:1px solid var(--dsw-alias-border-l2);width:100%;min-width:0;min-height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:10px;font-weight:500;display:inline-flex}.Yvqh9W_galleryCardAction:hover,.Yvqh9W_galleryCardAction:focus-visible{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary);outline:none}.Yvqh9W_galleryCardAction:disabled{cursor:wait;opacity:.55}.Yvqh9W_galleryCardFooter{align-items:center;gap:9px;min-width:0;padding:10px 12px;display:flex}.Yvqh9W_galleryAvatar{color:#fff;background:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:grid}.Yvqh9W_galleryCardInfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.Yvqh9W_galleryCardInfo strong,.Yvqh9W_galleryCardInfo small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Yvqh9W_galleryCardInfo strong{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_galleryCardInfo small{color:var(--dsw-alias-label-tertiary);font-size:10px}.Yvqh9W_galleryTags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.Yvqh9W_galleryTags button{max-width:96px;min-height:19px;color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;padding:1px 6px;font-size:10px;line-height:1.35;overflow:hidden}.Yvqh9W_galleryTags button:hover{background:color-mix(in srgb, var(--dsw-alias-brand-primary) 17%, transparent)}.Yvqh9W_galleryTags .Yvqh9W_galleryTagEdit{color:var(--dsw-alias-label-tertiary);background:0 0;flex:none}.Yvqh9W_galleryTagEditor{align-items:center;gap:6px;padding:0 12px 10px 48px;display:flex}.Yvqh9W_galleryTagEditor input{border:1px solid var(--dsw-alias-border-l2);min-width:0;height:27px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:6px;outline:none;flex:1;padding:0 8px;font-size:11px}.Yvqh9W_galleryTagEditor input:focus{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryTagEditor button{border:1px solid var(--dsw-alias-border-l2);height:27px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:6px;padding:0 8px;font-size:11px}.Yvqh9W_galleryTagEditor button[type=submit]{color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryRemove{width:24px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;font-size:18px}.Yvqh9W_galleryRemove:hover{color:var(--dsw-alias-state-error);background:var(--dsw-alias-bg-layer-2)}@media (width<=760px){.Yvqh9W_ecommerceParamGrid{grid-template-columns:1fr}.Yvqh9W_ecommerceStructureGrid,.Yvqh9W_ecommerceAssets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.Yvqh9W_ecommerceWorkspace{padding-inline:2px}.Yvqh9W_ecommerceStructureGrid,.Yvqh9W_ecommerceAssets{grid-template-columns:1fr}}@media (width<=1100px){.Yvqh9W_galleryMasonry{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.Yvqh9W_studio{grid-template-rows:minmax(220px,36%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}.Yvqh9W_history{grid-area:1/1;min-height:220px}.Yvqh9W_generation{flex-direction:column;grid-area:2/1;min-height:0}.Yvqh9W_config{width:auto;max-width:none;height:auto;min-height:0}.Yvqh9W_config[data-gallery=true]{flex:none}.Yvqh9W_canvas{min-height:560px}.Yvqh9W_galleryToolbar{flex-direction:column;align-items:flex-start}.Yvqh9W_galleryToolbarActions{flex-wrap:wrap;width:100%}.Yvqh9W_galleryMasonry{grid-template-columns:1fr}}";
|
|
44344
|
+
const css$2 = "[data-pane=conversation],[class*=centerCol]{min-width:0;min-height:0;position:relative}[data-dsh-imagegen-view]{z-index:60;background:var(--dsw-alias-bg-base);grid-area:1/1;min-width:0;min-height:0;display:none;position:relative}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-columns:minmax(0, 1fr) 8px minmax(320px, clamp(320px, var(--dsh-imagegen-chat-width,36%), 70%));background:var(--dsw-alias-border-l1);grid-template-rows:minmax(0,1fr);gap:1px;overflow:hidden;display:grid!important}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-imagegen-view]{display:block}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation]{background:var(--dsw-alias-bg-base);grid-area:1/3;align-items:stretch;width:auto;min-width:0;min-height:0;overflow:hidden;display:flex!important}html[data-dsh-imagegen-active] [data-slot=conversation]>[data-phase]{flex:auto;align-self:stretch;width:100%;min-width:0;max-width:none}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-imagegen-chat-resizer]{grid-area:1/2}.Yvqh9W_chatResizer{z-index:70;width:8px;min-width:8px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-border-l1);cursor:col-resize;touch-action:none;justify-content:center;align-items:center;display:none;position:relative}.Yvqh9W_chatResizer:before{content:\"\";opacity:.55;background:currentColor;border-radius:3px;width:3px;height:36px}.Yvqh9W_chatResizer:hover,.Yvqh9W_chatResizer:focus-visible{color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2);outline:none}html[data-dsh-imagegen-active] [data-dsh-imagegen-chat-resizer]{display:flex!important}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation]>:not([data-dsh-imagegen-view]):not([data-slot=conversation]):not([data-dsh-imagegen-chat-resizer]),html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]>:not([data-dsh-imagegen-view]):not([data-slot=conversation]):not([data-dsh-imagegen-chat-resizer]),html[data-dsh-imagegen-active] [data-dsh-imagegen-sidebar-root]>:not([data-dsh-imagegen-session-tabs]):not([class*=logoRow]):not([class*=regionArea]):not([class*=footArea]){display:none!important}@media (width<=760px){html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-rows:minmax(0,1fr) minmax(340px,.9fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}html[data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation]{grid-area:2/1}html[data-dsh-imagegen-active] [data-dsh-imagegen-chat-resizer]{display:none!important}}.Yvqh9W_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.Yvqh9W_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.Yvqh9W_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.Yvqh9W_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_entryLabel{text-overflow:ellipsis;overflow:hidden}.Yvqh9W_sessionTabs{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;width:100%;min-width:0;padding:3px;display:grid}.Yvqh9W_sessionTab{min-width:0;height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}[data-sidebar-collapsed] .Yvqh9W_sessionTabs{background:0 0;border:none;border-radius:0;flex-direction:column;gap:6px;width:auto;padding:0;display:flex}[data-sidebar-collapsed] .Yvqh9W_sessionTab{border-radius:9px;width:34px;height:34px;padding:0;font-size:0}[data-sidebar-collapsed] .Yvqh9W_sessionTabLabel{display:none}.Yvqh9W_sessionTab:hover,.Yvqh9W_sessionTab[data-active]{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-sidebar-nav-item-active)}.Yvqh9W_sessionTabIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_sessionTabLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}[class*=regionArea]{min-height:0;position:relative}.Yvqh9W_sidebarHistoryHost{z-index:30;background:var(--dsw-alias-bg-base);min-width:0;min-height:0;padding:6px 4px;display:none;position:absolute;inset:0;overflow:hidden}html[data-dsh-imagegen-active] .Yvqh9W_sidebarHistoryHost{display:flex}.Yvqh9W_sidebarHistoryHost .Yvqh9W_history{background:0 0;border:0;border-radius:8px;width:100%;height:100%}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_sidebarHistoryHost{display:none}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .Yvqh9W_entryLabel{display:none}.Yvqh9W_view{width:100%;min-width:0;min-height:0;overflow:hidden}.Yvqh9W_panel,.Yvqh9W_panel *,.Yvqh9W_panel :before,.Yvqh9W_panel :after{box-sizing:border-box}.Yvqh9W_panel{background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.Yvqh9W_panelHeader{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.Yvqh9W_panelHeading{align-items:baseline;gap:10px;min-width:0;display:flex}.Yvqh9W_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:16px;font-weight:700}.Yvqh9W_githubLink{width:22px;height:22px;color:var(--dsw-alias-label-secondary);border-radius:6px;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.Yvqh9W_githubLink:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_connectionStatus{border:1px solid var(--dsw-alias-label-error);height:28px;color:var(--dsw-alias-label-error);font:inherit;white-space:nowrap;background:0 0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.Yvqh9W_connectionStatus[data-connected=true]{border-color:var(--dsw-alias-state-success-primary);color:var(--dsw-alias-state-success-primary)}.Yvqh9W_connectionDot{background:currentColor;border-radius:50%;width:6px;height:6px}.Yvqh9W_updateBanner{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-primary);overflow-wrap:anywhere;border-radius:10px;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px 7px 12px;font-size:12px;line-height:1.5;display:flex}.Yvqh9W_updateBanner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.Yvqh9W_updateText{min-width:0}.Yvqh9W_updateActions{flex:none;align-items:center;gap:10px;display:inline-flex}.Yvqh9W_updateRelease{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline}@media (width<=700px){.Yvqh9W_panelHeader{align-items:flex-start}.Yvqh9W_panelHeading{flex-direction:column;align-items:flex-start;gap:2px}.Yvqh9W_updateBanner{flex-direction:column;align-items:flex-start}.Yvqh9W_updateActions{justify-content:space-between;width:100%}}.Yvqh9W_studio{flex:1;min-width:0;min-height:0;display:flex}.Yvqh9W_generation{gap:14px;width:100%;min-width:0;min-height:0;display:flex}.Yvqh9W_generation[data-workspace=canvas]{height:100%;display:flex}.Yvqh9W_generation[data-workspace=canvas]>.Yvqh9W_config,.Yvqh9W_generation[data-workspace=canvas]>.Yvqh9W_canvas{display:none!important}.Yvqh9W_config{width:clamp(240px, var(--dsh-imagegen-config-width,300px), 480px);flex-direction:column;flex:none;gap:12px;min-width:240px;max-width:480px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_configHeader{flex:none;justify-content:flex-end;min-height:28px;display:flex}.Yvqh9W_configToggle{border:1px solid var(--dsw-alias-border-l1);width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_configToggle:hover,.Yvqh9W_configToggle:focus-visible{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary);outline:none}.Yvqh9W_config[data-collapsed=true]{gap:0;width:38px;min-width:38px;max-width:38px}.Yvqh9W_config[data-collapsed=true] .Yvqh9W_configHeader{justify-content:center}.Yvqh9W_config[data-collapsed=true]>:not(.Yvqh9W_configHeader){display:none}.Yvqh9W_configScroll{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.Yvqh9W_configScroll::-webkit-scrollbar{width:8px}.Yvqh9W_configScroll::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_canvas{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_taskTray{z-index:6;border:1px solid var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-bg-layer-1) 92%, transparent);backdrop-filter:blur(10px);border-radius:9px;flex-direction:column;width:min(360px,100% - 24px);max-height:calc(100% - 24px);display:flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.Yvqh9W_taskTray[data-open=false]{width:auto;max-width:calc(100% - 24px)}.Yvqh9W_taskTrayHeader{min-height:34px;color:var(--dsw-alias-label-primary);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:stretch;font-size:12px;font-weight:600;display:flex}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskTrayHeader{border-bottom:0}.Yvqh9W_taskTrayToggle{min-width:0;color:inherit;cursor:pointer;font:inherit;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.Yvqh9W_taskTrayToggle:hover{background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_taskTrayCount{min-width:18px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:999px;padding:1px 5px;font-size:11px;font-weight:500}.Yvqh9W_taskTrayChevron{color:var(--dsw-alias-label-tertiary);margin-left:auto;font-size:12px;font-weight:400}.Yvqh9W_taskTrayClose{border:0;border-left:1px solid var(--dsw-alias-border-l1);width:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;font-size:17px}.Yvqh9W_taskTrayClose:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskTrayToggle{min-height:34px}.Yvqh9W_taskRows{min-height:0;overflow-y:auto}.Yvqh9W_taskTray[data-open=false] .Yvqh9W_taskRows{display:none}.Yvqh9W_taskRow{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 10px;display:grid}.Yvqh9W_taskRow:first-of-type{border-top:0}.Yvqh9W_taskStatus{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px}.Yvqh9W_taskRow[data-status=running] .Yvqh9W_taskStatus{color:var(--dsw-alias-brand-primary)}.Yvqh9W_taskRow[data-status=failed] .Yvqh9W_taskStatus{color:var(--dsw-alias-label-error)}.Yvqh9W_taskPrompt{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.Yvqh9W_taskRow button{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border:0;border-radius:5px;padding:2px 7px;font-size:11px}.Yvqh9W_taskRow button:hover{color:var(--dsw-alias-brand-primary)}.Yvqh9W_configGuide{z-index:1100;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.Yvqh9W_configGuideBody{border:1px solid var(--dsw-alias-border-l2);width:min(360px,100%);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 14px 40px #0003}.Yvqh9W_configGuideBody span{color:var(--dsw-alias-label-secondary);font-size:13px;line-height:1.55}.Yvqh9W_configGuideBody button{min-height:30px;color:var(--dsw-alias-bg-layer-1);background:var(--dsw-alias-brand-primary);cursor:pointer;font:inherit;border:0;border-radius:7px;align-self:flex-end;padding:0 12px;font-size:12px}.Yvqh9W_history{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;flex-direction:column;width:auto;min-width:0;max-width:none;min-height:0;display:flex;overflow:hidden}.Yvqh9W_historyHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.Yvqh9W_historyHeaderActions{flex:none;align-items:center;gap:6px;display:flex}.Yvqh9W_historyFilters{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px;display:grid}.Yvqh9W_historySearch,.Yvqh9W_historyFilters select,.Yvqh9W_gallerySearch{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);min-width:0;min-height:29px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_historySearch{grid-column:1/-1}.Yvqh9W_gallerySearch{width:156px}.Yvqh9W_galleryTagInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:130px;min-height:29px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_galleryBulkButton{border:1px solid var(--dsw-alias-border-l2);min-height:29px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:7px;padding:0 8px;font-size:11px}.Yvqh9W_galleryBulkButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryBulkButton:disabled{opacity:.45;cursor:default}.Yvqh9W_historyTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600}.Yvqh9W_historyNew{width:26px;height:26px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_historyNew:hover{color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_historyClear{font:inherit;color:var(--dsw-alias-label-tertiary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px;font-size:11.5px}.Yvqh9W_historyClear:hover{color:var(--dsw-alias-label-error);border-color:var(--dsw-alias-label-error)}.Yvqh9W_historyList{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.Yvqh9W_historyList::-webkit-scrollbar{width:8px}.Yvqh9W_historyList::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_historyEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;font-size:12px;line-height:1.6;display:flex}.Yvqh9W_historyItem{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:10px;flex-direction:column;flex:none;gap:6px;padding:8px;display:flex}.Yvqh9W_historyItem:hover{border-color:var(--dsw-alias-border-l2)}.Yvqh9W_historyItem[data-active]{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_historyMain{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:8px;min-width:0;padding:0;display:flex}.Yvqh9W_historyThumb{object-fit:cover;background:var(--dsw-alias-bg-base);border-radius:8px;flex:none;width:52px;height:52px}.Yvqh9W_historyThumbPlaceholder{background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex:none;width:52px;height:52px}.Yvqh9W_historyInfo{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.Yvqh9W_historyPrompt{color:var(--dsw-alias-label-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.Yvqh9W_historyMeta{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.Yvqh9W_historyActions{justify-content:flex-end;gap:4px;display:flex}.Yvqh9W_historyIconAction{width:26px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Yvqh9W_historyIconAction:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_historyIconAction:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_historyIconAction:disabled{opacity:.5;cursor:default}.Yvqh9W_historyIconAction[data-danger]:hover{color:var(--dsw-alias-state-error);background:color-mix(in srgb, var(--dsw-alias-state-error) 10%, transparent)}.Yvqh9W_card{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}.Yvqh9W_ecommerceWorkspace{flex-direction:column;gap:18px;max-width:760px;margin:0 auto;padding:10px 8px 18px;display:flex}.Yvqh9W_ecommerceSection{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:14px;flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex;box-shadow:0 1px 2px #0f172a0a}.Yvqh9W_ecommerceSection h3{align-items:baseline;gap:7px;min-width:0;margin:0 0 2px;font-size:14px;font-weight:650;display:flex}.Yvqh9W_ecommerceSectionHint{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:400;overflow:hidden}.Yvqh9W_ecommerceCardHead{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.Yvqh9W_ecommerceCardHead h3{flex:1;min-width:0}.Yvqh9W_ecommerceCardCount{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;line-height:16px}.Yvqh9W_ecommerceCardHint{color:var(--dsw-alias-label-tertiary);margin:-4px 0 0;font-size:11.5px;line-height:1.5}.Yvqh9W_ecommerceSection input:not([type=checkbox]),.Yvqh9W_ecommerceSection select,.Yvqh9W_ecommerceSection textarea{box-sizing:border-box;width:100%;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);font:inherit;border-radius:9px;padding:9px 11px}.Yvqh9W_ecommerceSection input:not([type=checkbox]):focus-visible,.Yvqh9W_ecommerceSection select:focus-visible,.Yvqh9W_ecommerceSection textarea:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_ecommerceSection textarea{resize:vertical;min-height:68px;line-height:1.5}.Yvqh9W_ecommerceField{flex-direction:column;gap:5px;min-width:0;display:flex}.Yvqh9W_ecommerceFieldLabel{color:var(--dsw-alias-label-secondary);font-size:11.5px}.Yvqh9W_ecommerceParamGrid{grid-template-columns:1fr 1fr;gap:12px 10px;display:grid}.Yvqh9W_ecommerceUploadHero{border:1.5px dashed var(--dsw-alias-border-l2);min-height:78px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;text-align:center;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px;display:flex}.Yvqh9W_ecommerceUploadHero:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_ecommerceUploadHero:focus-visible,.Yvqh9W_ecommerceAssetAdd:focus-visible,.Yvqh9W_ecommerceSlotCard:focus-visible,.Yvqh9W_ecommerceAdvancedToggle:focus-visible,.Yvqh9W_ecommerceAsset button:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.Yvqh9W_ecommerceUploadHero span{font-size:12px}.Yvqh9W_ecommerceUploadHero small{color:var(--dsw-alias-label-tertiary);font-size:10.5px}.Yvqh9W_ecommerceStructureGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_ecommerceSlotCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);height:34px;color:var(--dsw-alias-label-primary);cursor:pointer;font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.Yvqh9W_ecommerceSlotCard:hover{border-color:var(--dsw-alias-label-dimmed)}.Yvqh9W_ecommerceSlotCard[data-active]{background:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-base);font-weight:600}.Yvqh9W_ecommerceSlotCount{background:var(--dsw-alias-brand-primary);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-6px;right:-6px}.Yvqh9W_ecommerceRefRow{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.Yvqh9W_ecommerceRefRow>span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommercePrimaryAction{border-radius:999px;width:100%;height:38px;font-size:13.5px}.Yvqh9W_previewBadge{background:var(--dsw-alias-brand-primary);color:#fff;letter-spacing:.02em;border-radius:4px;margin-left:5px;padding:0 4px;font-size:9px;font-weight:700;line-height:13px}.Yvqh9W_ecommercePlanNote{color:var(--dsw-alias-label-secondary);font-size:11.5px;line-height:1.5}.Yvqh9W_ecommercePlanWarn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-radius:6px;padding:6px 8px;font-size:11.5px;line-height:1.5}.Yvqh9W_ecommerceAssets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_ecommerceAsset{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-3);border-radius:8px;flex-direction:column;gap:3px;padding:4px;display:flex;position:relative}.Yvqh9W_ecommerceAsset img{object-fit:cover;border-radius:5px;width:100%;height:44px}.Yvqh9W_ecommerceAsset select{width:100%;min-width:0;padding:2px;font-size:10px}.Yvqh9W_ecommerceAsset button{color:#fff;cursor:pointer;text-align:center;background:#0000008c;border:none;border-radius:50%;width:16px;height:16px;padding:0;font-size:11px;line-height:15px;position:absolute;top:7px;right:7px}.Yvqh9W_ecommerceAsset button:hover{background:#000c}.Yvqh9W_ecommerceAssetAdd{border:1.5px dashed var(--dsw-alias-border-l2);min-height:78px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.Yvqh9W_ecommerceAssetAdd:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.Yvqh9W_ecommerceAssetAdd span{font-size:16px;line-height:1}.Yvqh9W_ecommerceAssetAdd small{font-size:10px}.Yvqh9W_ecommerceAdvancedToggle{width:100%;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:12.5px;display:flex}.Yvqh9W_ecommerceAdvancedToggle:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_ecommerceAdvancedChevron{font-size:11px}.Yvqh9W_ecommerceAdvancedBody{flex-direction:column;gap:8px;margin-top:8px;display:flex}.Yvqh9W_ecommerceFooterBody{flex-direction:column;gap:8px;display:flex}.Yvqh9W_ecommercePlanMini{border:1px solid var(--dsw-alias-brand-primary);border-radius:10px;flex-direction:column;gap:6px;padding:10px;display:flex}.Yvqh9W_ecommercePlanMini>strong{font-size:12.5px}.Yvqh9W_ecommercePlanList{flex-direction:column;gap:3px;max-height:116px;display:flex;overflow-y:auto}.Yvqh9W_ecommercePlanList>div{color:var(--dsw-alias-label-secondary);justify-content:space-between;gap:12px;font-size:11.5px;display:flex}.Yvqh9W_ecommercePlanBack{color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.Yvqh9W_ecommercePlanBack:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_ecommerceFooterHint{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceResults{flex-direction:column;gap:14px;width:100%;margin:0 auto;padding:16px 18px;display:flex;overflow-y:auto}.Yvqh9W_ecommerceResultsHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.Yvqh9W_ecommerceResultsHeader h3{margin:0;font-size:15px}.Yvqh9W_ecommerceResultsHeader>div:first-child{align-items:baseline;gap:10px;display:flex}.Yvqh9W_ecommerceResultsHeader span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceResultsActions{gap:8px;display:flex}.Yvqh9W_ecommerceResultsEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;border:1.5px dashed var(--dsw-alias-border-l2);border-radius:12px;padding:32px 16px;font-size:13px}.Yvqh9W_ecommerceGroups{flex-direction:column;gap:16px;display:flex}.Yvqh9W_ecommerceGroups[data-split]{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.Yvqh9W_ecommerceGroupsSide{flex-direction:column;gap:16px;min-width:0;display:flex}.Yvqh9W_ecommerceGroup[data-main] .Yvqh9W_ecommerceGroupGrid{grid-template-columns:1fr}.Yvqh9W_ecommerceGroup{background:0 0;border:none;border-radius:0;flex-direction:column;gap:8px;padding:0;display:flex}.Yvqh9W_ecommerceGroup>header{align-items:center;gap:10px;font-size:13px;display:flex}.Yvqh9W_ecommerceGroup>header strong{font-size:13px}.Yvqh9W_ecommerceGroup>header span{color:var(--dsw-alias-label-secondary);font-size:12px}.Yvqh9W_ecommerceGroup>header button{margin-left:auto}.Yvqh9W_ecommerceGroupGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.Yvqh9W_ecommerceAiButton{border:1px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 45%, transparent);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent);color:var(--dsw-alias-brand-primary);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;line-height:16px;display:inline-flex}.Yvqh9W_ecommerceAiButton:hover{background:color-mix(in srgb, var(--dsw-alias-brand-primary) 20%, transparent)}.Yvqh9W_ecommerceAiButton:disabled{opacity:.55;cursor:default}.Yvqh9W_ecommerceTaskCard{aspect-ratio:1;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-3);border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_ecommerceTaskCard[data-status=failed],.Yvqh9W_ecommerceTaskCard[data-status=cancelled]{color:var(--dsw-alias-label-tertiary);font-size:12px}.Yvqh9W_ecommerceTaskCard .Yvqh9W_imageCard{border:none;border-radius:0;width:100%;height:100%;margin:0}.Yvqh9W_ecommerceTaskCard .Yvqh9W_image{object-fit:cover;width:100%;height:100%}.Yvqh9W_ecommerceResultBadge{color:#fff;pointer-events:none;background:#0000008c;border-radius:999px;padding:0 7px;font-size:10px;line-height:16px;position:absolute;top:6px;left:6px}.Yvqh9W_ecommerceTaskActions{opacity:0;background:linear-gradient(#0000,#0000008c);justify-content:center;gap:4px;padding:10px 4px 5px;transition:opacity .12s;display:flex;position:absolute;bottom:0;left:0;right:0}.Yvqh9W_ecommerceTaskCard:hover .Yvqh9W_ecommerceTaskActions{opacity:1}.Yvqh9W_ecommerceActionChip{color:#111;cursor:pointer;white-space:nowrap;background:#ffffffeb;border:none;border-radius:6px;padding:0 6px;font-size:10px;font-weight:500;line-height:18px;text-decoration:none}.Yvqh9W_ecommerceActionChip:hover{background:#fff}.Yvqh9W_ecommerceActionChip:disabled{opacity:.5;cursor:default}.Yvqh9W_ecommerceTaskState{color:var(--dsw-alias-label-secondary);text-align:center;word-break:break-all;flex-direction:column;gap:3px;padding:10px 8px;font-size:11px;display:flex}.Yvqh9W_ecommerceTaskState b{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_topNav{flex:none;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.Yvqh9W_topNavItem{height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:0 14px;font-size:13px;display:inline-flex}.Yvqh9W_topNavItem,.Yvqh9W_topNavItem span{white-space:nowrap}.Yvqh9W_topNavItem:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_topNavItem[data-active]{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-base);font-weight:600}.Yvqh9W_topNavDivider{background:var(--dsw-alias-border-l2);width:1px;height:16px;margin:0 8px}.Yvqh9W_panelHeaderActions{align-items:center;gap:10px;display:inline-flex}.Yvqh9W_chatToggle{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.Yvqh9W_chatToggle:hover{color:var(--dsw-alias-label-primary)}.Yvqh9W_chatToggle[data-open=true]{color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation],html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]{grid-template-columns:minmax(0,1fr)}html[data-dsh-imagegen-chat-collapsed][data-dsh-imagegen-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-slot=conversation],html[data-dsh-imagegen-chat-collapsed] [data-dsh-imagegen-chat-resizer]{display:none!important}.Yvqh9W_configResizer{cursor:col-resize;z-index:6;width:6px;height:100%;position:absolute;top:0;right:0}.Yvqh9W_configResizer:hover{background:linear-gradient(90deg, transparent, var(--dsw-alias-border-l2))}.Yvqh9W_config[data-collapsed=true] .Yvqh9W_configResizer{display:none}.Yvqh9W_modeRow{align-items:center;gap:8px;display:flex}.Yvqh9W_modePill{flex:1;justify-content:center;height:28px;font-size:12.5px}.Yvqh9W_modePill,.Yvqh9W_modePill span,.Yvqh9W_modePill div{white-space:nowrap;min-width:0}.Yvqh9W_uploadBox{min-height:128px;color:var(--dsw-alias-label-secondary);border:1.5px dashed var(--dsw-alias-border-l2);cursor:pointer;font:inherit;text-align:center;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;font-size:12.5px;display:flex}.Yvqh9W_uploadBox:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed);background:var(--dsw-alias-interactive-bg-hover)}.Yvqh9W_uploadBox:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_uploadIcon{color:var(--dsw-alias-label-tertiary);display:inline-flex}.Yvqh9W_uploadHint{color:var(--dsw-alias-label-tertiary);font-size:11px}.Yvqh9W_reference{flex-direction:column;gap:8px;display:flex}.Yvqh9W_referenceImage{object-fit:contain;background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;width:100%;max-height:176px}.Yvqh9W_referenceActions{gap:8px;display:flex}.Yvqh9W_hiddenFile{display:none}.Yvqh9W_prompt{width:100%;min-height:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-border-l2);resize:vertical;box-sizing:border-box;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.Yvqh9W_prompt:focus-visible{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_prompt::placeholder{color:var(--dsw-alias-label-tertiary)}.Yvqh9W_promptFooter{justify-content:space-between;align-items:center;gap:8px;margin-top:-6px;display:flex}.Yvqh9W_templatesButton{border:1px solid var(--dsw-alias-brand-primary);background:linear-gradient(135deg, color-mix(in srgb, var(--dsw-alias-brand-primary) 14%, transparent), color-mix(in srgb, var(--dsw-alias-brand-primary) 5%, transparent));height:26px;color:var(--dsw-alias-brand-primary);cursor:pointer;box-shadow:0 1px 0 color-mix(in srgb, var(--dsw-alias-brand-primary) 22%, transparent);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:600;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.Yvqh9W_templatesButton svg{flex:none}.Yvqh9W_templatesButton:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--dsw-alias-brand-primary) 24%, transparent), color-mix(in srgb, var(--dsw-alias-brand-primary) 8%, transparent));color:var(--dsw-alias-brand-primary);box-shadow:0 2px 6px color-mix(in srgb, var(--dsw-alias-brand-primary) 30%, transparent);transform:translateY(-1px)}.Yvqh9W_templatesButton:active{transform:translateY(0)}.Yvqh9W_enhanceButton{border:1px solid var(--dsw-alias-border-l2);height:26px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);font:inherit;cursor:pointer;border-radius:999px;margin-left:auto;padding:0 11px;font-size:12px}.Yvqh9W_enhanceButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_enhanceButton:disabled{opacity:.5;cursor:default}.Yvqh9W_promptCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:11px}.Yvqh9W_promptCount[data-over]{color:var(--dsw-alias-status-danger,#e5484d);font-weight:600}.Yvqh9W_paramGroup{flex-direction:column;gap:8px;display:flex}.Yvqh9W_paramLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.Yvqh9W_optionRow{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_optionGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.Yvqh9W_optionPill{justify-content:center}.Yvqh9W_paramHint{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:1.45}.Yvqh9W_footer{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:10px 2px 0 0;display:flex}.Yvqh9W_modelWrap{flex-direction:column;gap:5px;min-width:0;display:flex}.Yvqh9W_modelLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.Yvqh9W_modelSelect{width:100%;height:36px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;text-align:left;border-radius:18px;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-family:inherit;font-size:13px;display:flex}.Yvqh9W_modelSelect:focus-visible{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_modelSelect:disabled{opacity:.55;cursor:default}.Yvqh9W_modelMenu{min-width:0;display:block;position:relative}.Yvqh9W_modelMenuList{z-index:40;background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 -8px 24px #0000002e}.Yvqh9W_modelMenuItem{width:100%;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:8px;padding:7px 10px;font-size:13px;display:block;overflow:hidden}.Yvqh9W_modelMenuItem:hover{background:var(--dsw-alias-bg-hover)}.Yvqh9W_modelMenuItem[data-selected]{color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-1);font-weight:600}.Yvqh9W_generateButton{width:100%}.Yvqh9W_generateInner{align-items:center;gap:7px;display:inline-flex}.Yvqh9W_canvasState{text-align:center;color:var(--dsw-alias-label-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.Yvqh9W_canvasStateTitle{color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:600}.Yvqh9W_canvasStateHint{max-width:380px;font-size:12px;line-height:1.6}.Yvqh9W_canvasEmptyIcon{color:var(--dsw-alias-label-tertiary);margin-bottom:4px;display:inline-flex}.Yvqh9W_canvasError{color:var(--dsw-alias-label-error);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-label-error);overflow-wrap:anywhere;border-radius:10px;flex:none;margin:14px;padding:10px 14px;font-size:12.5px;line-height:1.6}.Yvqh9W_canvasBody{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.Yvqh9W_canvasBody::-webkit-scrollbar{width:8px}.Yvqh9W_canvasBody::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_canvasMeta{color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:8px;font-size:12px;display:flex}.Yvqh9W_canvasHistoryTag{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.Yvqh9W_grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.Yvqh9W_grid[data-count=\"1\"] .Yvqh9W_imageCard{grid-area:1/1/3/3}.Yvqh9W_imageCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:zoom-in;border-radius:12px;flex-direction:column;min-height:0;margin:0;display:flex;position:relative;overflow:hidden}.Yvqh9W_imageCard:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.Yvqh9W_image{object-fit:cover;background:var(--dsw-alias-bg-base);flex:1;width:100%;min-height:0;display:block}.Yvqh9W_imageCaption{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;border-top:1px solid var(--dsw-alias-border-l1);padding:7px 10px;font-size:11px;line-height:1.5;overflow:hidden}.Yvqh9W_download{color:#fff;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;text-decoration:none;transition:opacity .12s;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_download{opacity:1}.Yvqh9W_download:hover{background:#0f1218f0}.Yvqh9W_download:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_galleryAdd{font:inherit;color:#fff;cursor:pointer;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_galleryAdd{opacity:1}.Yvqh9W_galleryAdd:hover{background:#0f1218f0}.Yvqh9W_galleryAdd:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_galleryAdd:disabled{opacity:.4;cursor:default}.Yvqh9W_conversationAdd{color:#fff;cursor:pointer;font:inherit;opacity:0;backdrop-filter:blur(4px);background:#0f1218d1;border:1px solid #ffffff9e;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;top:38px;left:8px;box-shadow:0 2px 8px #00000047}.Yvqh9W_imageCard:hover .Yvqh9W_conversationAdd,.Yvqh9W_conversationAdd:focus-visible{opacity:1}.Yvqh9W_conversationAdd:hover{background:#0f1218f0}.Yvqh9W_conversationAdd:focus-visible{opacity:1;outline-offset:2px;outline:2px solid #fff}.Yvqh9W_conversationAdd:disabled{opacity:.4;cursor:default}.Yvqh9W_zoomHint{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);border:1px solid var(--dsw-alias-border-l2);opacity:0;backdrop-filter:blur(4px);pointer-events:none;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px;transition:opacity .12s;display:inline-flex;position:absolute;bottom:8px;left:8px}.Yvqh9W_imageCard:hover .Yvqh9W_zoomHint{opacity:1}.Yvqh9W_spinner,.Yvqh9W_bigSpinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;animation:.8s linear infinite Yvqh9W_dshImageGenSpin;display:inline-block}.Yvqh9W_spinner{width:11px;height:11px}.Yvqh9W_bigSpinner{width:30px;height:30px;color:var(--dsw-alias-state-business-primary);border-width:3px;margin-bottom:6px}.Yvqh9W_lightbox{z-index:1000;backdrop-filter:blur(6px);background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.Yvqh9W_lightboxClose{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;position:absolute;top:16px;right:16px}.Yvqh9W_lightboxClose:hover{background:#ffffff42}.Yvqh9W_lightboxNav{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.Yvqh9W_lightboxNav:hover{background:#ffffff42}.Yvqh9W_lightboxNav[data-dir=prev]{left:max(20px,50% - 640px)}.Yvqh9W_lightboxNav[data-dir=next]{right:max(20px,50% - 640px)}.Yvqh9W_lightboxFigure{flex-direction:column;gap:10px;width:min(1100px,100vw - 160px);max-width:min(1100px,100vw - 160px);height:min(820px,100vh - 48px);min-height:0;margin:0;display:flex}.Yvqh9W_lightboxStage{background:#ffffff0a;border-radius:10px;flex:1;min-height:0;position:relative;overflow:auto}.Yvqh9W_lightboxScaleFrame{justify-content:center;align-items:center;min-width:100%;min-height:100%;display:flex}.Yvqh9W_lightboxImage{object-fit:contain;border-radius:10px;max-width:100%;max-height:100%;display:block;box-shadow:0 24px 80px #00000080}.Yvqh9W_lightboxTools{justify-content:center;align-items:center;gap:6px;display:flex}.Yvqh9W_lightboxTool,.Yvqh9W_lightboxZoomLevel,.Yvqh9W_lightboxCopy{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;justify-content:center;align-items:center;display:inline-flex}.Yvqh9W_lightboxTool,.Yvqh9W_lightboxZoomLevel{height:32px}.Yvqh9W_lightboxTool{border-radius:50%;width:32px}.Yvqh9W_lightboxZoomLevel{min-width:58px;font:inherit;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 9px;font-size:12px}.Yvqh9W_lightboxTool:hover,.Yvqh9W_lightboxZoomLevel:hover,.Yvqh9W_lightboxCopy:hover{background:#ffffff42}.Yvqh9W_lightboxCaptionRow{align-items:flex-start;gap:8px;min-width:0;display:flex}.Yvqh9W_lightboxCaption{color:#ffffffe6;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:12px;line-height:1.6;display:-webkit-box;overflow:hidden}.Yvqh9W_lightboxCopy{min-height:28px;font:inherit;white-space:nowrap;border-radius:999px;flex:none;gap:5px;padding:4px 9px;font-size:12px}.Yvqh9W_lightboxMeta{justify-content:space-between;align-items:center;gap:12px;display:flex}.Yvqh9W_lightboxIndex{color:#fffc;font-variant-numeric:tabular-nums;font-size:12px}.Yvqh9W_lightboxActions{align-items:center;gap:8px;display:inline-flex}.Yvqh9W_lightboxDownload,.Yvqh9W_lightboxEdit{font:inherit;color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;padding:4px 14px;font-size:12.5px;font-weight:500;text-decoration:none}.Yvqh9W_lightboxDownload:hover,.Yvqh9W_lightboxEdit:hover{background:#ffffff42}.Yvqh9W_lightboxEdit{color:#fff;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px}@media (width<=720px){.Yvqh9W_lightbox{padding:16px}.Yvqh9W_lightboxFigure{width:calc(100vw - 32px);max-width:none}.Yvqh9W_lightboxNav[data-dir=prev]{left:20px}.Yvqh9W_lightboxNav[data-dir=next]{right:20px}.Yvqh9W_lightboxCaptionRow,.Yvqh9W_lightboxMeta{flex-direction:column;align-items:stretch}.Yvqh9W_lightboxCopy,.Yvqh9W_lightboxActions{align-self:flex-end}}@keyframes Yvqh9W_dshImageGenSpin{to{transform:rotate(360deg)}}.Yvqh9W_galleryToast{z-index:30;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);border:1px solid var(--dsw-alias-border-l2);backdrop-filter:blur(6px);pointer-events:none;border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-size:13px;font-weight:500;animation:.16s ease-out Yvqh9W_dshImageGenToastIn;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}@keyframes Yvqh9W_dshImageGenToastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.Yvqh9W_conversationToast{z-index:30;border:1px solid var(--dsw-alias-border-l2);max-width:calc(100% - 32px);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-mask-1);pointer-events:none;backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:7px;padding:6px 16px;font-size:13px;font-weight:500;animation:.16s ease-out Yvqh9W_dshImageGenToastIn;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}@media (prefers-reduced-motion:reduce){.Yvqh9W_download,.Yvqh9W_spinner,.Yvqh9W_bigSpinner{transition:none;animation-duration:1.5s}}.Yvqh9W_config[data-gallery=true] .Yvqh9W_configScroll{flex:none;order:1;display:flex;overflow:visible}.Yvqh9W_config[data-gallery=true] .Yvqh9W_galleryFilters{flex:1;order:2;min-height:0}.Yvqh9W_galleryFilters{padding:18px 14px;overflow:hidden auto}.Yvqh9W_galleryFilterHeading{color:var(--dsw-alias-label-tertiary);margin:0 4px 10px;font-size:12px;font-weight:600}.Yvqh9W_galleryFilter{width:100%;min-height:34px;color:var(--dsw-alias-label-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.Yvqh9W_galleryFilter:hover,.Yvqh9W_galleryFilter[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent)}.Yvqh9W_galleryFilterCount{min-width:20px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);text-align:center;border-radius:999px;padding:1px 6px;font-size:11px}.Yvqh9W_galleryFilterDivider{background:var(--dsw-alias-border-l1);height:1px;margin:18px 4px}.Yvqh9W_galleryRatioList{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_galleryRatio{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border:0;border-radius:999px;padding:6px 10px;font-size:12px}.Yvqh9W_galleryRatio[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 13%, transparent)}.Yvqh9W_galleryTagFilterList{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_galleryTagFilter{border:1px solid var(--dsw-alias-border-l1);min-width:0;max-width:100%;min-height:27px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11px;display:inline-flex}.Yvqh9W_galleryTagFilter span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:112px;overflow:hidden}.Yvqh9W_galleryTagFilter span:last-child{color:var(--dsw-alias-label-tertiary);font-size:10px}.Yvqh9W_galleryTagFilter:hover,.Yvqh9W_galleryTagFilter[data-active]{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent)}.Yvqh9W_galleryFilterNote{color:var(--dsw-alias-label-quaternary);margin:20px 4px 0;font-size:11px;line-height:1.5}.Yvqh9W_galleryWorkspace{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;padding:22px 24px 26px;display:flex;position:absolute;inset:0;overflow:hidden}.Yvqh9W_galleryToolbar{flex:none;justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:18px;display:flex}.Yvqh9W_galleryHeading{color:var(--dsw-alias-label-primary);margin:0;font-size:20px;font-weight:700;display:inline}.Yvqh9W_galleryCount{color:var(--dsw-alias-label-tertiary);margin-left:8px;font-size:13px}.Yvqh9W_galleryToolbarActions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.Yvqh9W_gallerySelectMode,.Yvqh9W_galleryBulkButton,.Yvqh9W_gallerySelectionClear{border:1px solid var(--dsw-alias-border-l1);min-height:30px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:7px;padding:0 10px;font-size:12px}.Yvqh9W_gallerySelectMode:hover,.Yvqh9W_gallerySelectMode[data-active],.Yvqh9W_galleryBulkButton:hover:not(:disabled){color:var(--dsw-alias-brand-primary);border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 38%, var(--dsw-alias-border-l1));background:color-mix(in srgb, var(--dsw-alias-brand-primary) 11%, transparent)}.Yvqh9W_galleryBulkButton:disabled{cursor:not-allowed;opacity:.45}.Yvqh9W_gallerySelectionBar{border:1px solid color-mix(in srgb, var(--dsw-alias-brand-primary) 35%, var(--dsw-alias-border-l1));background:color-mix(in srgb, var(--dsw-alias-brand-primary) 7%, var(--dsw-alias-bg-layer-1));border-radius:9px;flex:none;align-items:center;gap:10px;min-width:0;margin:-4px 0 16px;padding:10px 12px;display:flex}.Yvqh9W_gallerySelectionBar strong{color:var(--dsw-alias-brand-primary);flex:none;font-size:12px}.Yvqh9W_gallerySelectionClear{margin-left:auto}.Yvqh9W_gallerySelectionClear:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.Yvqh9W_galleryTagInput,.Yvqh9W_gallerySearch{border:1px solid var(--dsw-alias-border-l1);min-width:0;height:30px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:inherit;border-radius:7px;outline:none;padding:0 10px;font-size:12px}.Yvqh9W_galleryTagInput{flex:190px}.Yvqh9W_galleryTagInput:focus,.Yvqh9W_gallerySearch:focus{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryViewToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:9px;padding:3px;display:flex}.Yvqh9W_galleryViewToggle button,.Yvqh9W_gallerySort,.Yvqh9W_galleryClear{min-height:30px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12px}.Yvqh9W_galleryViewToggle button[data-active],.Yvqh9W_galleryViewToggle button:hover,.Yvqh9W_gallerySort:hover,.Yvqh9W_galleryClear:hover{color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 11%, transparent)}.Yvqh9W_gallerySort{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1)}.Yvqh9W_galleryClear{border:1px solid var(--dsw-alias-border-l1)}.Yvqh9W_compareControl{flex-direction:column;gap:6px;margin:0 0 10px;display:flex}.Yvqh9W_compareToggle,.Yvqh9W_compareModelChoices label{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.Yvqh9W_compareToggle input,.Yvqh9W_compareModelChoices input{accent-color:var(--dsw-alias-brand-primary)}.Yvqh9W_compareModelChoices{flex-wrap:wrap;gap:6px;display:flex}.Yvqh9W_compareModelChoices label{border:1px solid var(--dsw-alias-border-l1);border-radius:5px;padding:4px 6px;font-size:10px}.Yvqh9W_comparisonBoard{z-index:4;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:8px;flex-direction:column;display:flex;position:absolute;inset:14px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.Yvqh9W_comparisonBoard>header{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.Yvqh9W_comparisonBoard>header div{align-items:baseline;gap:7px;display:flex}.Yvqh9W_comparisonBoard>header strong{color:var(--dsw-alias-label-primary);font-size:13px}.Yvqh9W_comparisonBoard>header span{color:var(--dsw-alias-label-tertiary);font-size:11px}.Yvqh9W_comparisonBoard>header button{border:1px solid var(--dsw-alias-border-l1);min-height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;border-radius:5px;padding:0 9px;font-size:11px}.Yvqh9W_comparisonGrid{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;min-height:0;padding:12px;display:grid;overflow:auto}.Yvqh9W_comparisonGrid article{flex-direction:column;gap:7px;min-width:0;height:100%;min-height:0;display:flex}.Yvqh9W_comparisonGrid article>strong{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_comparisonImageButton{cursor:zoom-in;background:var(--dsw-alias-bg-base);border:0;flex:1;width:100%;min-height:0;padding:0;display:flex;overflow:hidden}.Yvqh9W_comparisonImageButton:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.Yvqh9W_comparisonGrid article>span{min-height:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);flex:1;place-items:center;font-size:12px;display:grid}.Yvqh9W_comparisonGrid img{object-fit:contain;background:var(--dsw-alias-bg-base);flex:1;width:100%;height:100%;min-height:0;max-height:none;display:block}.Yvqh9W_comparisonFullscreen{z-index:1200;background:#000000eb;padding:54px 24px 24px;position:fixed;inset:0;overflow:auto}.Yvqh9W_comparisonFullscreenGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:18px;min-height:100%;display:grid}.Yvqh9W_comparisonFullscreen figure{min-width:0;margin:0}.Yvqh9W_comparisonFullscreen figcaption{color:#fff;margin-bottom:8px;font-size:13px;font-weight:600}.Yvqh9W_comparisonFullscreen img{background:#111;width:100%;margin-bottom:10px;display:block}.Yvqh9W_historyItem[data-comparison]{border-color:color-mix(in srgb, var(--dsw-alias-brand-primary) 55%, var(--dsw-alias-border-l1))}.Yvqh9W_galleryMasonry{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dsw-alias-border-l2) transparent;flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:16px;width:100%;min-width:0;max-width:100%;height:0;min-height:0;padding:2px 8px 16px 2px;display:grid;overflow:hidden scroll}.Yvqh9W_galleryMasonry::-webkit-scrollbar{width:8px}.Yvqh9W_galleryMasonry::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l2);border-radius:999px}.Yvqh9W_galleryCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:14px;width:100%;margin:0;display:block;position:relative;overflow:hidden;box-shadow:0 5px 18px #18203612}.Yvqh9W_galleryCard[data-selected]{border-color:var(--dsw-alias-brand-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-brand-primary) 26%, transparent), 0 5px 18px #18203612}.Yvqh9W_gallerySelect{z-index:2;cursor:pointer;background:#00000094;border:1px solid #ffffffbf;border-radius:7px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:9px;right:9px}.Yvqh9W_gallerySelect input{width:16px;height:16px;accent-color:var(--dsw-alias-brand-primary);cursor:pointer;margin:0}.Yvqh9W_galleryImageButton{background:var(--dsw-alias-bg-base);cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative}.Yvqh9W_galleryImageButton[data-selecting]{cursor:pointer}.Yvqh9W_galleryImage{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n+1) .Yvqh9W_galleryImage{aspect-ratio:4/5}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n+2) .Yvqh9W_galleryImage{aspect-ratio:4/3}.Yvqh9W_galleryMasonry[data-view=masonry] .Yvqh9W_galleryCard:nth-child(3n) .Yvqh9W_galleryImage{aspect-ratio:3/4}.Yvqh9W_galleryBadge{color:#fff;backdrop-filter:blur(4px);background:#121724c2;border-radius:999px;padding:4px 9px;font-size:11px;position:absolute;top:10px;left:10px}.Yvqh9W_galleryCardActions{padding:8px 12px 0;display:flex}.Yvqh9W_galleryCardAction{border:1px solid var(--dsw-alias-border-l2);width:100%;min-width:0;min-height:28px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2);cursor:pointer;font:inherit;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:10px;font-weight:500;display:inline-flex}.Yvqh9W_galleryCardAction:hover,.Yvqh9W_galleryCardAction:focus-visible{border-color:var(--dsw-alias-brand-primary);color:var(--dsw-alias-brand-primary);outline:none}.Yvqh9W_galleryCardAction:disabled{cursor:wait;opacity:.55}.Yvqh9W_galleryCardFooter{align-items:center;gap:9px;min-width:0;padding:10px 12px;display:flex}.Yvqh9W_galleryAvatar{color:#fff;background:var(--dsw-alias-brand-primary);border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:grid}.Yvqh9W_galleryCardInfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.Yvqh9W_galleryCardInfo strong,.Yvqh9W_galleryCardInfo small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Yvqh9W_galleryCardInfo strong{color:var(--dsw-alias-label-primary);font-size:12px}.Yvqh9W_galleryCardInfo small{color:var(--dsw-alias-label-tertiary);font-size:10px}.Yvqh9W_galleryTags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.Yvqh9W_galleryTags button{max-width:96px;min-height:19px;color:var(--dsw-alias-brand-primary);background:color-mix(in srgb, var(--dsw-alias-brand-primary) 10%, transparent);cursor:pointer;font:inherit;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;padding:1px 6px;font-size:10px;line-height:1.35;overflow:hidden}.Yvqh9W_galleryTags button:hover{background:color-mix(in srgb, var(--dsw-alias-brand-primary) 17%, transparent)}.Yvqh9W_galleryTags .Yvqh9W_galleryTagEdit{color:var(--dsw-alias-label-tertiary);background:0 0;flex:none}.Yvqh9W_galleryTagEditor{align-items:center;gap:6px;padding:0 12px 10px 48px;display:flex}.Yvqh9W_galleryTagEditor input{border:1px solid var(--dsw-alias-border-l2);min-width:0;height:27px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2);font:inherit;border-radius:6px;outline:none;flex:1;padding:0 8px;font-size:11px}.Yvqh9W_galleryTagEditor input:focus{border-color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryTagEditor button{border:1px solid var(--dsw-alias-border-l2);height:27px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);cursor:pointer;font:inherit;border-radius:6px;padding:0 8px;font-size:11px}.Yvqh9W_galleryTagEditor button[type=submit]{color:var(--dsw-alias-brand-primary)}.Yvqh9W_galleryRemove{width:24px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;font-size:18px}.Yvqh9W_galleryRemove:hover{color:var(--dsw-alias-state-error);background:var(--dsw-alias-bg-layer-2)}@media (width<=760px){.Yvqh9W_ecommerceParamGrid{grid-template-columns:1fr}.Yvqh9W_ecommerceStructureGrid,.Yvqh9W_ecommerceAssets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=420px){.Yvqh9W_ecommerceWorkspace{padding-inline:2px}.Yvqh9W_ecommerceStructureGrid,.Yvqh9W_ecommerceAssets{grid-template-columns:1fr}}@media (width<=1100px){.Yvqh9W_galleryMasonry{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.Yvqh9W_studio{grid-template-rows:minmax(220px,36%) minmax(0,1fr);grid-template-columns:minmax(0,1fr);overflow-y:auto}.Yvqh9W_history{grid-area:1/1;min-height:220px}.Yvqh9W_generation{flex-direction:column;grid-area:2/1;min-height:0}.Yvqh9W_config{width:auto;max-width:none;height:auto;min-height:0}.Yvqh9W_config[data-gallery=true]{flex:none}.Yvqh9W_canvas{min-height:560px}.Yvqh9W_galleryToolbar{flex-direction:column;align-items:flex-start}.Yvqh9W_galleryToolbarActions{flex-wrap:wrap;width:100%}.Yvqh9W_galleryMasonry{grid-template-columns:1fr}}";
|
|
43947
44345
|
const tagId$2 = "@dickpy/dsh-imagegen/panel.module.css";
|
|
43948
44346
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
43949
44347
|
const tag = document.createElement("style");
|
|
@@ -43953,226 +44351,231 @@ window.__ModuleLoader__.load({
|
|
|
43953
44351
|
document.head.appendChild(tag);
|
|
43954
44352
|
}
|
|
43955
44353
|
var panel_module_css_default = {
|
|
43956
|
-
"
|
|
43957
|
-
"
|
|
43958
|
-
"gallerySelectionClear": "Yvqh9W_gallerySelectionClear",
|
|
43959
|
-
"lightboxZoomLevel": "Yvqh9W_lightboxZoomLevel",
|
|
43960
|
-
"lightboxMeta": "Yvqh9W_lightboxMeta",
|
|
43961
|
-
"galleryCardAction": "Yvqh9W_galleryCardAction",
|
|
43962
|
-
"panelHeader": "Yvqh9W_panelHeader",
|
|
43963
|
-
"historyFilters": "Yvqh9W_historyFilters",
|
|
43964
|
-
"taskRow": "Yvqh9W_taskRow",
|
|
43965
|
-
"sessionTabLabel": "Yvqh9W_sessionTabLabel",
|
|
43966
|
-
"galleryRatio": "Yvqh9W_galleryRatio",
|
|
43967
|
-
"topNav": "Yvqh9W_topNav",
|
|
43968
|
-
"ecommerceSlotCount": "Yvqh9W_ecommerceSlotCount",
|
|
43969
|
-
"optionGrid": "Yvqh9W_optionGrid",
|
|
43970
|
-
"ecommerceSection": "Yvqh9W_ecommerceSection",
|
|
43971
|
-
"modePill": "Yvqh9W_modePill",
|
|
43972
|
-
"compareControl": "Yvqh9W_compareControl",
|
|
43973
|
-
"galleryImageButton": "Yvqh9W_galleryImageButton",
|
|
44354
|
+
"connectionDot": "Yvqh9W_connectionDot",
|
|
44355
|
+
"ecommercePlanWarn": "Yvqh9W_ecommercePlanWarn",
|
|
43974
44356
|
"studio": "Yvqh9W_studio",
|
|
43975
|
-
"
|
|
43976
|
-
"
|
|
43977
|
-
"
|
|
43978
|
-
"
|
|
43979
|
-
"galleryViewToggle": "Yvqh9W_galleryViewToggle",
|
|
43980
|
-
"comparisonFullscreenGrid": "Yvqh9W_comparisonFullscreenGrid",
|
|
43981
|
-
"galleryToast": "Yvqh9W_galleryToast",
|
|
43982
|
-
"enhanceButton": "Yvqh9W_enhanceButton",
|
|
43983
|
-
"lightboxCaptionRow": "Yvqh9W_lightboxCaptionRow",
|
|
43984
|
-
"gallerySort": "Yvqh9W_gallerySort",
|
|
43985
|
-
"panelHeaderActions": "Yvqh9W_panelHeaderActions",
|
|
43986
|
-
"galleryFilterHeading": "Yvqh9W_galleryFilterHeading",
|
|
43987
|
-
"conversationAdd": "Yvqh9W_conversationAdd",
|
|
43988
|
-
"canvasMeta": "Yvqh9W_canvasMeta",
|
|
43989
|
-
"comparisonBoard": "Yvqh9W_comparisonBoard",
|
|
43990
|
-
"galleryAvatar": "Yvqh9W_galleryAvatar",
|
|
43991
|
-
"canvas": "Yvqh9W_canvas",
|
|
43992
|
-
"historySearch": "Yvqh9W_historySearch",
|
|
43993
|
-
"historyInfo": "Yvqh9W_historyInfo",
|
|
43994
|
-
"optionPill": "Yvqh9W_optionPill",
|
|
43995
|
-
"galleryTagInput": "Yvqh9W_galleryTagInput",
|
|
43996
|
-
"config": "Yvqh9W_config",
|
|
43997
|
-
"generateInner": "Yvqh9W_generateInner",
|
|
43998
|
-
"galleryCardInfo": "Yvqh9W_galleryCardInfo",
|
|
43999
|
-
"galleryCardActions": "Yvqh9W_galleryCardActions",
|
|
44000
|
-
"galleryAdd": "Yvqh9W_galleryAdd",
|
|
44001
|
-
"lightboxCaption": "Yvqh9W_lightboxCaption",
|
|
44002
|
-
"ecommerceGroup": "Yvqh9W_ecommerceGroup",
|
|
44003
|
-
"ecommerceActionChip": "Yvqh9W_ecommerceActionChip",
|
|
44004
|
-
"galleryTagFilterList": "Yvqh9W_galleryTagFilterList",
|
|
44357
|
+
"historyIconAction": "Yvqh9W_historyIconAction",
|
|
44358
|
+
"chatToggle": "Yvqh9W_chatToggle",
|
|
44359
|
+
"historyHeaderActions": "Yvqh9W_historyHeaderActions",
|
|
44360
|
+
"lightboxTool": "Yvqh9W_lightboxTool",
|
|
44005
44361
|
"galleryImage": "Yvqh9W_galleryImage",
|
|
44006
|
-
"galleryFilterNote": "Yvqh9W_galleryFilterNote",
|
|
44007
|
-
"configToggle": "Yvqh9W_configToggle",
|
|
44008
|
-
"lightboxTools": "Yvqh9W_lightboxTools",
|
|
44009
|
-
"paramLabel": "Yvqh9W_paramLabel",
|
|
44010
|
-
"referenceImage": "Yvqh9W_referenceImage",
|
|
44011
|
-
"ecommerceAsset": "Yvqh9W_ecommerceAsset",
|
|
44012
|
-
"panel": "Yvqh9W_panel",
|
|
44013
44362
|
"generation": "Yvqh9W_generation",
|
|
44014
|
-
"
|
|
44015
|
-
"ecommerceAdvancedChevron": "Yvqh9W_ecommerceAdvancedChevron",
|
|
44016
|
-
"lightboxClose": "Yvqh9W_lightboxClose",
|
|
44017
|
-
"githubLink": "Yvqh9W_githubLink",
|
|
44018
|
-
"ecommerceFieldLabel": "Yvqh9W_ecommerceFieldLabel",
|
|
44019
|
-
"dshImageGenToastIn": "Yvqh9W_dshImageGenToastIn",
|
|
44020
|
-
"card": "Yvqh9W_card",
|
|
44021
|
-
"ecommercePlanBack": "Yvqh9W_ecommercePlanBack",
|
|
44022
|
-
"ecommercePrimaryAction": "Yvqh9W_ecommercePrimaryAction",
|
|
44023
|
-
"compareModelChoices": "Yvqh9W_compareModelChoices",
|
|
44024
|
-
"generateButton": "Yvqh9W_generateButton",
|
|
44025
|
-
"lightboxIndex": "Yvqh9W_lightboxIndex",
|
|
44363
|
+
"lightboxEdit": "Yvqh9W_lightboxEdit",
|
|
44026
44364
|
"ecommerceFooterBody": "Yvqh9W_ecommerceFooterBody",
|
|
44027
|
-
"
|
|
44028
|
-
"
|
|
44029
|
-
"
|
|
44030
|
-
"
|
|
44031
|
-
"
|
|
44032
|
-
"
|
|
44033
|
-
"history": "Yvqh9W_history",
|
|
44034
|
-
"historyEmpty": "Yvqh9W_historyEmpty",
|
|
44035
|
-
"comparisonFullscreen": "Yvqh9W_comparisonFullscreen",
|
|
44365
|
+
"galleryHeading": "Yvqh9W_galleryHeading",
|
|
44366
|
+
"ecommerceCardCount": "Yvqh9W_ecommerceCardCount",
|
|
44367
|
+
"lightboxStage": "Yvqh9W_lightboxStage",
|
|
44368
|
+
"referenceActions": "Yvqh9W_referenceActions",
|
|
44369
|
+
"optionPill": "Yvqh9W_optionPill",
|
|
44370
|
+
"canvasStateHint": "Yvqh9W_canvasStateHint",
|
|
44036
44371
|
"updateText": "Yvqh9W_updateText",
|
|
44037
|
-
"
|
|
44038
|
-
"
|
|
44039
|
-
"
|
|
44040
|
-
"
|
|
44372
|
+
"lightboxIndex": "Yvqh9W_lightboxIndex",
|
|
44373
|
+
"comparisonGrid": "Yvqh9W_comparisonGrid",
|
|
44374
|
+
"comparisonFullscreenGrid": "Yvqh9W_comparisonFullscreenGrid",
|
|
44375
|
+
"modeRow": "Yvqh9W_modeRow",
|
|
44041
44376
|
"ecommerceAssets": "Yvqh9W_ecommerceAssets",
|
|
44042
|
-
"
|
|
44043
|
-
"zoomHint": "Yvqh9W_zoomHint",
|
|
44044
|
-
"historyTitle": "Yvqh9W_historyTitle",
|
|
44045
|
-
"connectionStatus": "Yvqh9W_connectionStatus",
|
|
44046
|
-
"lightboxScaleFrame": "Yvqh9W_lightboxScaleFrame",
|
|
44047
|
-
"ecommercePlanNote": "Yvqh9W_ecommercePlanNote",
|
|
44048
|
-
"ecommerceRefRow": "Yvqh9W_ecommerceRefRow",
|
|
44049
|
-
"ecommerceSlotCard": "Yvqh9W_ecommerceSlotCard",
|
|
44050
|
-
"historyHeader": "Yvqh9W_historyHeader",
|
|
44051
|
-
"prompt": "Yvqh9W_prompt",
|
|
44052
|
-
"configGuide": "Yvqh9W_configGuide",
|
|
44053
|
-
"taskStatus": "Yvqh9W_taskStatus",
|
|
44054
|
-
"previewBadge": "Yvqh9W_previewBadge",
|
|
44055
|
-
"lightboxImage": "Yvqh9W_lightboxImage",
|
|
44056
|
-
"reference": "Yvqh9W_reference",
|
|
44377
|
+
"lightboxClose": "Yvqh9W_lightboxClose",
|
|
44057
44378
|
"templatesButton": "Yvqh9W_templatesButton",
|
|
44058
|
-
"
|
|
44379
|
+
"historyThumb": "Yvqh9W_historyThumb",
|
|
44380
|
+
"lightboxZoomLevel": "Yvqh9W_lightboxZoomLevel",
|
|
44381
|
+
"galleryCount": "Yvqh9W_galleryCount",
|
|
44382
|
+
"galleryTagInput": "Yvqh9W_galleryTagInput",
|
|
44383
|
+
"updateActions": "Yvqh9W_updateActions",
|
|
44384
|
+
"dshImageGenSpin": "Yvqh9W_dshImageGenSpin",
|
|
44385
|
+
"configGuideBody": "Yvqh9W_configGuideBody",
|
|
44386
|
+
"galleryAvatar": "Yvqh9W_galleryAvatar",
|
|
44387
|
+
"ecommercePrimaryAction": "Yvqh9W_ecommercePrimaryAction",
|
|
44388
|
+
"ecommerceTaskActions": "Yvqh9W_ecommerceTaskActions",
|
|
44389
|
+
"ecommerceAsset": "Yvqh9W_ecommerceAsset",
|
|
44390
|
+
"optionGrid": "Yvqh9W_optionGrid",
|
|
44391
|
+
"ecommercePlanMini": "Yvqh9W_ecommercePlanMini",
|
|
44392
|
+
"configHeader": "Yvqh9W_configHeader",
|
|
44393
|
+
"ecommerceResultBadge": "Yvqh9W_ecommerceResultBadge",
|
|
44394
|
+
"uploadBox": "Yvqh9W_uploadBox",
|
|
44395
|
+
"imageCaption": "Yvqh9W_imageCaption",
|
|
44396
|
+
"ecommerceParamGrid": "Yvqh9W_ecommerceParamGrid",
|
|
44397
|
+
"prompt": "Yvqh9W_prompt",
|
|
44398
|
+
"lightboxNav": "Yvqh9W_lightboxNav",
|
|
44399
|
+
"comparisonImageButton": "Yvqh9W_comparisonImageButton",
|
|
44400
|
+
"taskRow": "Yvqh9W_taskRow",
|
|
44401
|
+
"taskTrayToggle": "Yvqh9W_taskTrayToggle",
|
|
44402
|
+
"ecommerceFooterHint": "Yvqh9W_ecommerceFooterHint",
|
|
44403
|
+
"generateButton": "Yvqh9W_generateButton",
|
|
44404
|
+
"canvasBody": "Yvqh9W_canvasBody",
|
|
44059
44405
|
"configResizer": "Yvqh9W_configResizer",
|
|
44060
|
-
"
|
|
44061
|
-
"lightboxCopy": "Yvqh9W_lightboxCopy",
|
|
44062
|
-
"ecommerceResults": "Yvqh9W_ecommerceResults",
|
|
44063
|
-
"ecommerceResultsActions": "Yvqh9W_ecommerceResultsActions",
|
|
44406
|
+
"galleryCardAction": "Yvqh9W_galleryCardAction",
|
|
44064
44407
|
"entryIcon": "Yvqh9W_entryIcon",
|
|
44065
|
-
"
|
|
44408
|
+
"galleryTags": "Yvqh9W_galleryTags",
|
|
44409
|
+
"galleryToolbar": "Yvqh9W_galleryToolbar",
|
|
44410
|
+
"historyInfo": "Yvqh9W_historyInfo",
|
|
44066
44411
|
"uploadIcon": "Yvqh9W_uploadIcon",
|
|
44412
|
+
"galleryTagEdit": "Yvqh9W_galleryTagEdit",
|
|
44413
|
+
"panelHeaderActions": "Yvqh9W_panelHeaderActions",
|
|
44414
|
+
"ecommerceFieldLabel": "Yvqh9W_ecommerceFieldLabel",
|
|
44415
|
+
"ecommerceSlotCard": "Yvqh9W_ecommerceSlotCard",
|
|
44416
|
+
"view": "Yvqh9W_view",
|
|
44417
|
+
"ecommerceGroupsSide": "Yvqh9W_ecommerceGroupsSide",
|
|
44418
|
+
"paramLabel": "Yvqh9W_paramLabel",
|
|
44419
|
+
"canvasError": "Yvqh9W_canvasError",
|
|
44420
|
+
"historyEmpty": "Yvqh9W_historyEmpty",
|
|
44421
|
+
"githubLink": "Yvqh9W_githubLink",
|
|
44422
|
+
"lightboxCaptionRow": "Yvqh9W_lightboxCaptionRow",
|
|
44423
|
+
"panel": "Yvqh9W_panel",
|
|
44424
|
+
"promptFooter": "Yvqh9W_promptFooter",
|
|
44425
|
+
"galleryFilterNote": "Yvqh9W_galleryFilterNote",
|
|
44426
|
+
"modelMenuList": "Yvqh9W_modelMenuList",
|
|
44427
|
+
"galleryBulkButton": "Yvqh9W_galleryBulkButton",
|
|
44428
|
+
"panelTitle": "Yvqh9W_panelTitle",
|
|
44429
|
+
"taskTrayClose": "Yvqh9W_taskTrayClose",
|
|
44430
|
+
"generateInner": "Yvqh9W_generateInner",
|
|
44431
|
+
"chatResizer": "Yvqh9W_chatResizer",
|
|
44432
|
+
"updateRelease": "Yvqh9W_updateRelease",
|
|
44433
|
+
"referenceImage": "Yvqh9W_referenceImage",
|
|
44434
|
+
"ecommerceTaskCard": "Yvqh9W_ecommerceTaskCard",
|
|
44067
44435
|
"imageCard": "Yvqh9W_imageCard",
|
|
44068
|
-
"
|
|
44069
|
-
"
|
|
44436
|
+
"optionRow": "Yvqh9W_optionRow",
|
|
44437
|
+
"panelHeader": "Yvqh9W_panelHeader",
|
|
44438
|
+
"ecommerceResultsActions": "Yvqh9W_ecommerceResultsActions",
|
|
44439
|
+
"ecommerceSectionHint": "Yvqh9W_ecommerceSectionHint",
|
|
44440
|
+
"promptCount": "Yvqh9W_promptCount",
|
|
44441
|
+
"download": "Yvqh9W_download",
|
|
44442
|
+
"ecommercePlanBack": "Yvqh9W_ecommercePlanBack",
|
|
44443
|
+
"galleryViewToggle": "Yvqh9W_galleryViewToggle",
|
|
44444
|
+
"galleryTagEditor": "Yvqh9W_galleryTagEditor",
|
|
44445
|
+
"topNav": "Yvqh9W_topNav",
|
|
44446
|
+
"ecommerceStructureGrid": "Yvqh9W_ecommerceStructureGrid",
|
|
44447
|
+
"spinner": "Yvqh9W_spinner",
|
|
44448
|
+
"image": "Yvqh9W_image",
|
|
44449
|
+
"taskRows": "Yvqh9W_taskRows",
|
|
44450
|
+
"config": "Yvqh9W_config",
|
|
44451
|
+
"card": "Yvqh9W_card",
|
|
44452
|
+
"galleryCardInfo": "Yvqh9W_galleryCardInfo",
|
|
44453
|
+
"lightboxImage": "Yvqh9W_lightboxImage",
|
|
44454
|
+
"historyTitle": "Yvqh9W_historyTitle",
|
|
44455
|
+
"entry": "Yvqh9W_entry",
|
|
44456
|
+
"lightboxTools": "Yvqh9W_lightboxTools",
|
|
44457
|
+
"configGuide": "Yvqh9W_configGuide",
|
|
44458
|
+
"historyClear": "Yvqh9W_historyClear",
|
|
44459
|
+
"comparisonFullscreen": "Yvqh9W_comparisonFullscreen",
|
|
44460
|
+
"ecommerceField": "Yvqh9W_ecommerceField",
|
|
44461
|
+
"conversationToast": "Yvqh9W_conversationToast",
|
|
44070
44462
|
"uploadHint": "Yvqh9W_uploadHint",
|
|
44071
|
-
"
|
|
44463
|
+
"grid": "Yvqh9W_grid",
|
|
44464
|
+
"taskTray": "Yvqh9W_taskTray",
|
|
44465
|
+
"modelSelect": "Yvqh9W_modelSelect",
|
|
44466
|
+
"gallerySelectMode": "Yvqh9W_gallerySelectMode",
|
|
44467
|
+
"lightboxFigure": "Yvqh9W_lightboxFigure",
|
|
44468
|
+
"galleryCardActions": "Yvqh9W_galleryCardActions",
|
|
44469
|
+
"ecommerceWorkspace": "Yvqh9W_ecommerceWorkspace",
|
|
44470
|
+
"ecommerceResultsHeader": "Yvqh9W_ecommerceResultsHeader",
|
|
44072
44471
|
"lightboxActions": "Yvqh9W_lightboxActions",
|
|
44073
|
-
"
|
|
44074
|
-
"historyMain": "Yvqh9W_historyMain",
|
|
44075
|
-
"historyThumb": "Yvqh9W_historyThumb",
|
|
44076
|
-
"galleryFilter": "Yvqh9W_galleryFilter",
|
|
44077
|
-
"ecommerceTaskCard": "Yvqh9W_ecommerceTaskCard",
|
|
44078
|
-
"updateActions": "Yvqh9W_updateActions",
|
|
44079
|
-
"galleryBulkButton": "Yvqh9W_galleryBulkButton",
|
|
44080
|
-
"ecommerceTaskState": "Yvqh9W_ecommerceTaskState",
|
|
44081
|
-
"historyThumbPlaceholder": "Yvqh9W_historyThumbPlaceholder",
|
|
44082
|
-
"modelLabel": "Yvqh9W_modelLabel",
|
|
44472
|
+
"galleryRemove": "Yvqh9W_galleryRemove",
|
|
44083
44473
|
"bigSpinner": "Yvqh9W_bigSpinner",
|
|
44474
|
+
"modePill": "Yvqh9W_modePill",
|
|
44475
|
+
"footer": "Yvqh9W_footer",
|
|
44476
|
+
"taskTrayCount": "Yvqh9W_taskTrayCount",
|
|
44084
44477
|
"updateBanner": "Yvqh9W_updateBanner",
|
|
44085
|
-
"
|
|
44086
|
-
"galleryWorkspace": "Yvqh9W_galleryWorkspace",
|
|
44087
|
-
"ecommerceSectionHint": "Yvqh9W_ecommerceSectionHint",
|
|
44088
|
-
"historyClear": "Yvqh9W_historyClear",
|
|
44089
|
-
"galleryToolbar": "Yvqh9W_galleryToolbar",
|
|
44090
|
-
"updateRelease": "Yvqh9W_updateRelease",
|
|
44091
|
-
"galleryCount": "Yvqh9W_galleryCount",
|
|
44092
|
-
"gallerySelectionBar": "Yvqh9W_gallerySelectionBar",
|
|
44093
|
-
"taskTrayChevron": "Yvqh9W_taskTrayChevron",
|
|
44094
|
-
"ecommercePlanList": "Yvqh9W_ecommercePlanList",
|
|
44095
|
-
"taskTrayToggle": "Yvqh9W_taskTrayToggle",
|
|
44096
|
-
"historyHeaderActions": "Yvqh9W_historyHeaderActions",
|
|
44097
|
-
"modeRow": "Yvqh9W_modeRow",
|
|
44098
|
-
"canvasBody": "Yvqh9W_canvasBody",
|
|
44099
|
-
"ecommerceAdvancedToggle": "Yvqh9W_ecommerceAdvancedToggle",
|
|
44100
|
-
"entry": "Yvqh9W_entry",
|
|
44101
|
-
"ecommerceGroups": "Yvqh9W_ecommerceGroups",
|
|
44102
|
-
"referenceActions": "Yvqh9W_referenceActions",
|
|
44103
|
-
"configScroll": "Yvqh9W_configScroll",
|
|
44478
|
+
"ecommerceActionChip": "Yvqh9W_ecommerceActionChip",
|
|
44104
44479
|
"canvasStateTitle": "Yvqh9W_canvasStateTitle",
|
|
44105
|
-
"
|
|
44106
|
-
"
|
|
44107
|
-
"
|
|
44480
|
+
"ecommerceUploadHero": "Yvqh9W_ecommerceUploadHero",
|
|
44481
|
+
"canvasHistoryTag": "Yvqh9W_canvasHistoryTag",
|
|
44482
|
+
"ecommerceCardHint": "Yvqh9W_ecommerceCardHint",
|
|
44483
|
+
"galleryTagFilterList": "Yvqh9W_galleryTagFilterList",
|
|
44484
|
+
"galleryBadge": "Yvqh9W_galleryBadge",
|
|
44485
|
+
"ecommerceAiButton": "Yvqh9W_ecommerceAiButton",
|
|
44486
|
+
"sidebarHistoryHost": "Yvqh9W_sidebarHistoryHost",
|
|
44487
|
+
"ecommerceResults": "Yvqh9W_ecommerceResults",
|
|
44108
44488
|
"modelMenuItem": "Yvqh9W_modelMenuItem",
|
|
44109
|
-
"
|
|
44110
|
-
"
|
|
44489
|
+
"gallerySelectionClear": "Yvqh9W_gallerySelectionClear",
|
|
44490
|
+
"ecommerceAssetAdd": "Yvqh9W_ecommerceAssetAdd",
|
|
44491
|
+
"galleryCard": "Yvqh9W_galleryCard",
|
|
44492
|
+
"historyFilters": "Yvqh9W_historyFilters",
|
|
44493
|
+
"lightboxMeta": "Yvqh9W_lightboxMeta",
|
|
44494
|
+
"canvas": "Yvqh9W_canvas",
|
|
44495
|
+
"ecommerceAdvancedToggle": "Yvqh9W_ecommerceAdvancedToggle",
|
|
44496
|
+
"dshImageGenToastIn": "Yvqh9W_dshImageGenToastIn",
|
|
44497
|
+
"galleryWorkspace": "Yvqh9W_galleryWorkspace",
|
|
44498
|
+
"history": "Yvqh9W_history",
|
|
44499
|
+
"sessionTab": "Yvqh9W_sessionTab",
|
|
44500
|
+
"gallerySearch": "Yvqh9W_gallerySearch",
|
|
44501
|
+
"taskStatus": "Yvqh9W_taskStatus",
|
|
44502
|
+
"ecommerceAdvancedChevron": "Yvqh9W_ecommerceAdvancedChevron",
|
|
44503
|
+
"taskTrayHeader": "Yvqh9W_taskTrayHeader",
|
|
44111
44504
|
"galleryMasonry": "Yvqh9W_galleryMasonry",
|
|
44112
|
-
"
|
|
44505
|
+
"galleryImageButton": "Yvqh9W_galleryImageButton",
|
|
44506
|
+
"lightboxDownload": "Yvqh9W_lightboxDownload",
|
|
44113
44507
|
"sessionTabs": "Yvqh9W_sessionTabs",
|
|
44114
|
-
"
|
|
44115
|
-
"
|
|
44116
|
-
"
|
|
44508
|
+
"ecommerceSlotCount": "Yvqh9W_ecommerceSlotCount",
|
|
44509
|
+
"ecommerceAdvancedBody": "Yvqh9W_ecommerceAdvancedBody",
|
|
44510
|
+
"modelMenu": "Yvqh9W_modelMenu",
|
|
44511
|
+
"galleryFilterHeading": "Yvqh9W_galleryFilterHeading",
|
|
44512
|
+
"galleryFilterDivider": "Yvqh9W_galleryFilterDivider",
|
|
44117
44513
|
"canvasState": "Yvqh9W_canvasState",
|
|
44118
|
-
"
|
|
44119
|
-
"
|
|
44120
|
-
"hiddenFile": "Yvqh9W_hiddenFile",
|
|
44121
|
-
"galleryCard": "Yvqh9W_galleryCard",
|
|
44122
|
-
"modelSelect": "Yvqh9W_modelSelect",
|
|
44123
|
-
"canvasStateHint": "Yvqh9W_canvasStateHint",
|
|
44124
|
-
"imageCaption": "Yvqh9W_imageCaption",
|
|
44125
|
-
"galleryBadge": "Yvqh9W_galleryBadge",
|
|
44514
|
+
"galleryAdd": "Yvqh9W_galleryAdd",
|
|
44515
|
+
"lightboxScaleFrame": "Yvqh9W_lightboxScaleFrame",
|
|
44126
44516
|
"compareToggle": "Yvqh9W_compareToggle",
|
|
44127
|
-
"
|
|
44128
|
-
"
|
|
44129
|
-
"
|
|
44130
|
-
"
|
|
44131
|
-
"
|
|
44517
|
+
"historyList": "Yvqh9W_historyList",
|
|
44518
|
+
"configToggle": "Yvqh9W_configToggle",
|
|
44519
|
+
"ecommerceSection": "Yvqh9W_ecommerceSection",
|
|
44520
|
+
"galleryFilter": "Yvqh9W_galleryFilter",
|
|
44521
|
+
"taskPrompt": "Yvqh9W_taskPrompt",
|
|
44522
|
+
"galleryRatio": "Yvqh9W_galleryRatio",
|
|
44132
44523
|
"galleryRatioList": "Yvqh9W_galleryRatioList",
|
|
44133
|
-
"
|
|
44134
|
-
"
|
|
44135
|
-
"paramHint": "Yvqh9W_paramHint",
|
|
44136
|
-
"ecommerceParamGrid": "Yvqh9W_ecommerceParamGrid",
|
|
44137
|
-
"lightboxNav": "Yvqh9W_lightboxNav",
|
|
44138
|
-
"configHeader": "Yvqh9W_configHeader",
|
|
44139
|
-
"galleryHeading": "Yvqh9W_galleryHeading",
|
|
44140
|
-
"lightboxEdit": "Yvqh9W_lightboxEdit",
|
|
44141
|
-
"taskTrayCount": "Yvqh9W_taskTrayCount",
|
|
44524
|
+
"modelWrap": "Yvqh9W_modelWrap",
|
|
44525
|
+
"galleryClear": "Yvqh9W_galleryClear",
|
|
44142
44526
|
"entryLabel": "Yvqh9W_entryLabel",
|
|
44143
|
-
"
|
|
44144
|
-
"
|
|
44145
|
-
"
|
|
44146
|
-
"lightboxTool": "Yvqh9W_lightboxTool",
|
|
44147
|
-
"topNavItem": "Yvqh9W_topNavItem",
|
|
44148
|
-
"ecommerceResultsHeader": "Yvqh9W_ecommerceResultsHeader",
|
|
44149
|
-
"topNavDivider": "Yvqh9W_topNavDivider",
|
|
44150
|
-
"ecommercePlanWarn": "Yvqh9W_ecommercePlanWarn",
|
|
44151
|
-
"grid": "Yvqh9W_grid",
|
|
44152
|
-
"galleryToolbarActions": "Yvqh9W_galleryToolbarActions",
|
|
44153
|
-
"chatToggle": "Yvqh9W_chatToggle",
|
|
44154
|
-
"spinner": "Yvqh9W_spinner",
|
|
44155
|
-
"ecommerceResultBadge": "Yvqh9W_ecommerceResultBadge",
|
|
44527
|
+
"canvasEmptyIcon": "Yvqh9W_canvasEmptyIcon",
|
|
44528
|
+
"comparisonBoard": "Yvqh9W_comparisonBoard",
|
|
44529
|
+
"previewBadge": "Yvqh9W_previewBadge",
|
|
44156
44530
|
"ecommerceGroupGrid": "Yvqh9W_ecommerceGroupGrid",
|
|
44157
|
-
"
|
|
44531
|
+
"compareModelChoices": "Yvqh9W_compareModelChoices",
|
|
44532
|
+
"lightbox": "Yvqh9W_lightbox",
|
|
44533
|
+
"historySearch": "Yvqh9W_historySearch",
|
|
44534
|
+
"galleryToast": "Yvqh9W_galleryToast",
|
|
44535
|
+
"sessionTabLabel": "Yvqh9W_sessionTabLabel",
|
|
44536
|
+
"enhanceButton": "Yvqh9W_enhanceButton",
|
|
44537
|
+
"canvasMeta": "Yvqh9W_canvasMeta",
|
|
44158
44538
|
"historyItem": "Yvqh9W_historyItem",
|
|
44159
|
-
"
|
|
44160
|
-
"
|
|
44161
|
-
"download": "Yvqh9W_download",
|
|
44162
|
-
"galleryTagEditor": "Yvqh9W_galleryTagEditor",
|
|
44163
|
-
"dshImageGenSpin": "Yvqh9W_dshImageGenSpin",
|
|
44164
|
-
"sessionTabIcon": "Yvqh9W_sessionTabIcon",
|
|
44165
|
-
"connectionDot": "Yvqh9W_connectionDot",
|
|
44166
|
-
"sessionTab": "Yvqh9W_sessionTab",
|
|
44167
|
-
"taskRows": "Yvqh9W_taskRows",
|
|
44168
|
-
"ecommercePlanMini": "Yvqh9W_ecommercePlanMini",
|
|
44539
|
+
"historyHeader": "Yvqh9W_historyHeader",
|
|
44540
|
+
"configScroll": "Yvqh9W_configScroll",
|
|
44169
44541
|
"historyPrompt": "Yvqh9W_historyPrompt",
|
|
44542
|
+
"lightboxCopy": "Yvqh9W_lightboxCopy",
|
|
44543
|
+
"topNavItem": "Yvqh9W_topNavItem",
|
|
44544
|
+
"gallerySort": "Yvqh9W_gallerySort",
|
|
44545
|
+
"historyNew": "Yvqh9W_historyNew",
|
|
44546
|
+
"panelHeading": "Yvqh9W_panelHeading",
|
|
44547
|
+
"connectionStatus": "Yvqh9W_connectionStatus",
|
|
44548
|
+
"reference": "Yvqh9W_reference",
|
|
44549
|
+
"ecommerceTaskState": "Yvqh9W_ecommerceTaskState",
|
|
44550
|
+
"ecommercePlanList": "Yvqh9W_ecommercePlanList",
|
|
44551
|
+
"galleryCardFooter": "Yvqh9W_galleryCardFooter",
|
|
44552
|
+
"taskTrayChevron": "Yvqh9W_taskTrayChevron",
|
|
44553
|
+
"ecommerceGroup": "Yvqh9W_ecommerceGroup",
|
|
44554
|
+
"paramHint": "Yvqh9W_paramHint",
|
|
44555
|
+
"historyMain": "Yvqh9W_historyMain",
|
|
44556
|
+
"sessionTabIcon": "Yvqh9W_sessionTabIcon",
|
|
44557
|
+
"historyThumbPlaceholder": "Yvqh9W_historyThumbPlaceholder",
|
|
44558
|
+
"historyMeta": "Yvqh9W_historyMeta",
|
|
44170
44559
|
"historyActions": "Yvqh9W_historyActions",
|
|
44171
|
-
"
|
|
44172
|
-
"
|
|
44173
|
-
"
|
|
44174
|
-
"
|
|
44175
|
-
"
|
|
44560
|
+
"ecommercePlanNote": "Yvqh9W_ecommercePlanNote",
|
|
44561
|
+
"conversationAdd": "Yvqh9W_conversationAdd",
|
|
44562
|
+
"zoomHint": "Yvqh9W_zoomHint",
|
|
44563
|
+
"galleryTagFilter": "Yvqh9W_galleryTagFilter",
|
|
44564
|
+
"gallerySelect": "Yvqh9W_gallerySelect",
|
|
44565
|
+
"galleryToolbarActions": "Yvqh9W_galleryToolbarActions",
|
|
44566
|
+
"ecommerceGroups": "Yvqh9W_ecommerceGroups",
|
|
44567
|
+
"ecommerceCardHead": "Yvqh9W_ecommerceCardHead",
|
|
44568
|
+
"topNavDivider": "Yvqh9W_topNavDivider",
|
|
44569
|
+
"compareControl": "Yvqh9W_compareControl",
|
|
44570
|
+
"lightboxCaption": "Yvqh9W_lightboxCaption",
|
|
44571
|
+
"ecommerceRefRow": "Yvqh9W_ecommerceRefRow",
|
|
44572
|
+
"modelLabel": "Yvqh9W_modelLabel",
|
|
44573
|
+
"galleryFilterCount": "Yvqh9W_galleryFilterCount",
|
|
44574
|
+
"hiddenFile": "Yvqh9W_hiddenFile",
|
|
44575
|
+
"galleryFilters": "Yvqh9W_galleryFilters",
|
|
44576
|
+
"paramGroup": "Yvqh9W_paramGroup",
|
|
44577
|
+
"gallerySelectionBar": "Yvqh9W_gallerySelectionBar",
|
|
44578
|
+
"ecommerceResultsEmpty": "Yvqh9W_ecommerceResultsEmpty"
|
|
44176
44579
|
};
|
|
44177
44580
|
//#endregion
|
|
44178
44581
|
//#region src/client/ImageGenPanel.tsx
|
|
@@ -44544,9 +44947,7 @@ window.__ModuleLoader__.load({
|
|
|
44544
44947
|
customLanguage: "",
|
|
44545
44948
|
size: "1:1",
|
|
44546
44949
|
productName: "",
|
|
44547
|
-
|
|
44548
|
-
protectedFeatures: "",
|
|
44549
|
-
styleHint: "",
|
|
44950
|
+
promptInfo: "",
|
|
44550
44951
|
slots: PRODUCT_SET_SLOTS.map((slot) => ({ ...slot }))
|
|
44551
44952
|
};
|
|
44552
44953
|
}
|
|
@@ -44567,11 +44968,10 @@ window.__ModuleLoader__.load({
|
|
|
44567
44968
|
return draft.language === "custom" ? draft.customLanguage?.trim() ?? "" : draft.language;
|
|
44568
44969
|
}
|
|
44569
44970
|
function ecommercePrompt(draft, slot) {
|
|
44570
|
-
const
|
|
44571
|
-
const protectedFeatures = draft.protectedFeatures.trim() || "保持商品颜色、形状、Logo、包装文字和结构真实,不添加不存在的配件";
|
|
44971
|
+
const info = draft.promptInfo.trim() || "突出商品真实材质、结构和核心价值;保持商品颜色、形状、Logo、包装文字和结构真实,不添加不存在的配件";
|
|
44572
44972
|
const language = effectiveEcommerceLanguage(draft) || "中文";
|
|
44573
44973
|
const refClause = slot.refRole !== void 0 && slot.refRole !== "none" ? `本图以上传的${ECOMMERCE_ROLE_PROMPT_LABELS[slot.refRole]}图片为参考,商品与风格必须与参考图保持一致;` : "";
|
|
44574
|
-
return `电商${slot.label}:为${draft.productName.trim() || "该商品"}制作${slot.description}。商品品类:${draft.category};平台:${draft.platform};语言:${language}
|
|
44974
|
+
return `电商${slot.label}:为${draft.productName.trim() || "该商品"}制作${slot.description}。商品品类:${draft.category};平台:${draft.platform};语言:${language}。${refClause}商品信息与要求:${info}。整体要求:商品主体清晰、比例真实、光线自然、画面干净、适合电商发布。`;
|
|
44575
44975
|
}
|
|
44576
44976
|
/** Consistency prefix for slots generated after the main image exists. */
|
|
44577
44977
|
function withAnchorNote(prompt) {
|
|
@@ -44705,6 +45105,15 @@ window.__ModuleLoader__.load({
|
|
|
44705
45105
|
...slot,
|
|
44706
45106
|
refRole: slot.refRole ?? "product"
|
|
44707
45107
|
}));
|
|
45108
|
+
merged.promptInfo = typeof merged.promptInfo === "string" ? merged.promptInfo : "";
|
|
45109
|
+
if (merged.promptInfo.trim() === "") {
|
|
45110
|
+
const legacy = [
|
|
45111
|
+
merged.sellingPoints ?? "",
|
|
45112
|
+
merged.protectedFeatures ?? "",
|
|
45113
|
+
merged.styleHint ?? ""
|
|
45114
|
+
].map((part) => part.trim()).filter((part) => part !== "");
|
|
45115
|
+
if (legacy.length > 0) merged.promptInfo = legacy.join("\n");
|
|
45116
|
+
}
|
|
44708
45117
|
return merged;
|
|
44709
45118
|
}
|
|
44710
45119
|
} catch {}
|
|
@@ -44712,6 +45121,7 @@ window.__ModuleLoader__.load({
|
|
|
44712
45121
|
});
|
|
44713
45122
|
const [ecommercePreview, setEcommercePreview] = (0, react.useState)(false);
|
|
44714
45123
|
const [ecommerceGenerating, setEcommerceGenerating] = (0, react.useState)(false);
|
|
45124
|
+
const [ecommerceEnhancing, setEcommerceEnhancing] = (0, react.useState)(false);
|
|
44715
45125
|
const [ecommerceProjectId, setEcommerceProjectId] = (0, react.useState)(null);
|
|
44716
45126
|
const [ecommerceAssets, setEcommerceAssets] = (0, react.useState)([]);
|
|
44717
45127
|
/** History-restored product set currently shown in the results canvas. */
|
|
@@ -44932,6 +45342,36 @@ window.__ModuleLoader__.load({
|
|
|
44932
45342
|
setEnhancing(false);
|
|
44933
45343
|
}
|
|
44934
45344
|
};
|
|
45345
|
+
/** AI 帮写:整理/补全电商参数信息(提示词),走提示词增强通道。 */
|
|
45346
|
+
const ecommerceEnhanceInfo = async () => {
|
|
45347
|
+
if (ecommerceEnhancing) return;
|
|
45348
|
+
const promptEndpointConfigured = (config?.promptApiUrl ?? "").trim() !== "" || configured;
|
|
45349
|
+
if ((config?.promptModel ?? "").trim() === "" || !promptEndpointConfigured || !promptKeySet && !apiKeySet) {
|
|
45350
|
+
openSettingsGuide("enhancement");
|
|
45351
|
+
return;
|
|
45352
|
+
}
|
|
45353
|
+
setEcommerceEnhancing(true);
|
|
45354
|
+
setError(null);
|
|
45355
|
+
try {
|
|
45356
|
+
const instruction = [
|
|
45357
|
+
"你是电商图文策划。请把下面的商品信息整理成一段可直接用于 AI 生图提示词的中文参数描述(120 字以内),",
|
|
45358
|
+
"涵盖商品主体、规格材质、核心卖点与必须保留的特征;信息缺失处按商品类目合理补全,不要解释,只输出整理结果。",
|
|
45359
|
+
`商品名称:${ecommerce.productName.trim() || "未提供"}`,
|
|
45360
|
+
`商品类目:${ecommerce.category}`,
|
|
45361
|
+
`商品平台:${ecommerce.platform}`,
|
|
45362
|
+
`已有信息:${ecommerce.promptInfo.trim() !== "" ? ecommerce.promptInfo : "无,请根据商品名称与类目合理补全"}`
|
|
45363
|
+
].join("\n");
|
|
45364
|
+
const result = await api.enhancePrompt(instruction);
|
|
45365
|
+
setEcommerce((previous) => ({
|
|
45366
|
+
...previous,
|
|
45367
|
+
promptInfo: result
|
|
45368
|
+
}));
|
|
45369
|
+
} catch (caught) {
|
|
45370
|
+
setError(errorMessage(caught));
|
|
45371
|
+
} finally {
|
|
45372
|
+
setEcommerceEnhancing(false);
|
|
45373
|
+
}
|
|
45374
|
+
};
|
|
44935
45375
|
/** Read an uploaded reference image into a data URL. */
|
|
44936
45376
|
const acceptFile = (file) => {
|
|
44937
45377
|
if (file === void 0) return;
|
|
@@ -44955,9 +45395,10 @@ window.__ModuleLoader__.load({
|
|
|
44955
45395
|
};
|
|
44956
45396
|
reader.readAsDataURL(file);
|
|
44957
45397
|
};
|
|
44958
|
-
/** Read uploaded product assets into session-only data-URL chips
|
|
44959
|
-
*
|
|
44960
|
-
|
|
45398
|
+
/** Read uploaded product assets into session-only data-URL chips. Product
|
|
45399
|
+
* refs cap at MAX_ECOMMERCE_ASSETS; the style group holds a single image
|
|
45400
|
+
* that gets replaced on re-upload. */
|
|
45401
|
+
const acceptEcommerceFiles = (files, role = "product") => {
|
|
44961
45402
|
if (files === void 0) return;
|
|
44962
45403
|
const incoming = Array.from(files).filter((file) => file.type.startsWith("image/") && file.size <= REF_IMAGE_MAX_BYTES);
|
|
44963
45404
|
if (incoming.length === 0) {
|
|
@@ -44970,7 +45411,16 @@ window.__ModuleLoader__.load({
|
|
|
44970
45411
|
if (typeof reader.result !== "string") return;
|
|
44971
45412
|
const dataUrl = reader.result;
|
|
44972
45413
|
setEcommerceAssets((previous) => {
|
|
44973
|
-
if (
|
|
45414
|
+
if (role === "style") {
|
|
45415
|
+
const styleAsset = {
|
|
45416
|
+
id: newComparisonId(),
|
|
45417
|
+
dataUrl,
|
|
45418
|
+
name: file.name,
|
|
45419
|
+
role: "style"
|
|
45420
|
+
};
|
|
45421
|
+
return [...previous.filter((item) => item.role !== "style"), styleAsset];
|
|
45422
|
+
}
|
|
45423
|
+
if (previous.filter((item) => item.role !== "style").length >= MAX_ECOMMERCE_ASSETS) {
|
|
44974
45424
|
setError(tt("ecommerce.assetsFull"));
|
|
44975
45425
|
return previous;
|
|
44976
45426
|
}
|
|
@@ -45195,9 +45645,7 @@ window.__ModuleLoader__.load({
|
|
|
45195
45645
|
platform: ecommerce.platform,
|
|
45196
45646
|
language: ecommerce.language,
|
|
45197
45647
|
size: ecommerce.size,
|
|
45198
|
-
|
|
45199
|
-
protectedFeatures: ecommerce.protectedFeatures,
|
|
45200
|
-
styleHint: ecommerce.styleHint
|
|
45648
|
+
promptInfo: ecommerce.promptInfo
|
|
45201
45649
|
},
|
|
45202
45650
|
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
45203
45651
|
images: ecommerceMergedItems.map((item) => ({
|
|
@@ -45597,6 +46045,8 @@ window.__ModuleLoader__.load({
|
|
|
45597
46045
|
const ecommerceTotal = ecommerceSlots.reduce((total, slot) => total + slot.count, 0);
|
|
45598
46046
|
const ecommerceGenerateDisabled = submitting || ecommerceGenerating || ecommerceSlots.length === 0 || ecommerce.productName.trim() === "" || ecommerce.language === "custom" && effectiveEcommerceLanguage(ecommerce) === "";
|
|
45599
46047
|
const ecommerceFileInput = (0, react.useRef)(null);
|
|
46048
|
+
/** Which group (主图/风格) the shared file input uploads into. */
|
|
46049
|
+
const ecommerceUploadRoleRef = (0, react.useRef)("product");
|
|
45600
46050
|
const ecommerceProjectTasks = ecommerceProjectId === null ? [] : tasks.filter((task) => task.request.workflow === "ecommerce" && task.request.projectId === ecommerceProjectId);
|
|
45601
46051
|
const liveSlotKeys = new Set(ecommerceProjectTasks.map((task) => task.request.slotKey ?? task.id));
|
|
45602
46052
|
const ecommerceMergedItems = [...ecommerceProjectTasks.map((task) => ({
|
|
@@ -45616,6 +46066,93 @@ window.__ModuleLoader__.load({
|
|
|
45616
46066
|
label,
|
|
45617
46067
|
items: ecommerceMergedItems.filter((item) => item.label === label)
|
|
45618
46068
|
}));
|
|
46069
|
+
const ecommerceMainGroup = ecommerceResultGroups.find((group) => group.items.some((item) => item.slotKey === "main" || item.slotKey.startsWith("main-"))) ?? null;
|
|
46070
|
+
const ecommerceSideGroups = ecommerceResultGroups.filter((group) => group !== ecommerceMainGroup);
|
|
46071
|
+
const renderEcommerceGroup = (group, main = false) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
46072
|
+
className: panel_module_css_default.ecommerceGroup,
|
|
46073
|
+
"data-ecommerce-group": group.label,
|
|
46074
|
+
"data-main": main ? "" : void 0,
|
|
46075
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", { children: [
|
|
46076
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: group.label }),
|
|
46077
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [
|
|
46078
|
+
group.items.filter((item) => item.status === "completed").length,
|
|
46079
|
+
"/",
|
|
46080
|
+
group.items.length
|
|
46081
|
+
] }),
|
|
46082
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46083
|
+
type: "button",
|
|
46084
|
+
className: panel_module_css_default.galleryBulkButton,
|
|
46085
|
+
disabled: ecommerceGenerating,
|
|
46086
|
+
onClick: () => {
|
|
46087
|
+
regenerateEcommerceSlot(group.label);
|
|
46088
|
+
},
|
|
46089
|
+
children: tt("ecommerce.results.regenerate")
|
|
46090
|
+
})
|
|
46091
|
+
] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46092
|
+
className: panel_module_css_default.ecommerceGroupGrid,
|
|
46093
|
+
children: group.items.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46094
|
+
className: panel_module_css_default.ecommerceTaskCard,
|
|
46095
|
+
"data-status": item.status,
|
|
46096
|
+
children: item.status === "completed" && item.images.length > 0 ? item.images.map((image, imageIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("figure", {
|
|
46097
|
+
className: panel_module_css_default.imageCard,
|
|
46098
|
+
role: "button",
|
|
46099
|
+
tabIndex: 0,
|
|
46100
|
+
title: tt("preview.open"),
|
|
46101
|
+
onClick: () => {
|
|
46102
|
+
openPreview(item.images, imageIndex);
|
|
46103
|
+
},
|
|
46104
|
+
children: [
|
|
46105
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
46106
|
+
className: panel_module_css_default.image,
|
|
46107
|
+
src: srcOf(image),
|
|
46108
|
+
alt: `${group.label} ${imageIndex + 1}`
|
|
46109
|
+
}),
|
|
46110
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46111
|
+
className: panel_module_css_default.ecommerceResultBadge,
|
|
46112
|
+
children: group.label
|
|
46113
|
+
}),
|
|
46114
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
46115
|
+
className: panel_module_css_default.ecommerceTaskActions,
|
|
46116
|
+
onClick: (event) => event.stopPropagation(),
|
|
46117
|
+
children: [
|
|
46118
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
46119
|
+
className: panel_module_css_default.ecommerceActionChip,
|
|
46120
|
+
href: srcOf(image),
|
|
46121
|
+
download: `product-${item.slotKey || item.id}-${imageIndex + 1}.${extensionOf(image.mime)}`,
|
|
46122
|
+
children: tt("download")
|
|
46123
|
+
}),
|
|
46124
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46125
|
+
type: "button",
|
|
46126
|
+
className: panel_module_css_default.ecommerceActionChip,
|
|
46127
|
+
disabled: galleryAdding,
|
|
46128
|
+
onClick: () => {
|
|
46129
|
+
addToGallery(image);
|
|
46130
|
+
},
|
|
46131
|
+
children: tt("gallery.add")
|
|
46132
|
+
}),
|
|
46133
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46134
|
+
type: "button",
|
|
46135
|
+
className: panel_module_css_default.ecommerceActionChip,
|
|
46136
|
+
disabled: conversationBusy,
|
|
46137
|
+
onClick: () => {
|
|
46138
|
+
addImageToConversation(image, imageIndex, `${item.id}:${imageIndex}`);
|
|
46139
|
+
},
|
|
46140
|
+
children: addingToConversation === `${item.id}:${imageIndex}` ? tt("conversation.adding") : tt("conversation.add")
|
|
46141
|
+
})
|
|
46142
|
+
]
|
|
46143
|
+
})
|
|
46144
|
+
]
|
|
46145
|
+
}, imageIndex)) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
46146
|
+
className: panel_module_css_default.ecommerceTaskState,
|
|
46147
|
+
children: [
|
|
46148
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("b", { children: group.label }),
|
|
46149
|
+
tt(`tasks.${item.status}`),
|
|
46150
|
+
item.error !== void 0 ? ` · ${item.error}` : ""
|
|
46151
|
+
]
|
|
46152
|
+
})
|
|
46153
|
+
}, item.id))
|
|
46154
|
+
})]
|
|
46155
|
+
}, group.label);
|
|
45619
46156
|
const conversationBusy = addingToConversation !== null || galleryConversationAddingId !== null || historyConversationAddingId !== null;
|
|
45620
46157
|
const viewingEntry = viewingHistoryId === null ? null : history.find((entry) => entry.id === viewingHistoryId) ?? null;
|
|
45621
46158
|
const viewingGalleryEntry = galleryViewingId === null ? null : gallery.find((entry) => entry.id === galleryViewingId) ?? null;
|
|
@@ -45987,54 +46524,35 @@ window.__ModuleLoader__.load({
|
|
|
45987
46524
|
})
|
|
45988
46525
|
})]
|
|
45989
46526
|
}),
|
|
45990
|
-
/* @__PURE__ */ (0, react_jsx_runtime.
|
|
45991
|
-
|
|
45992
|
-
|
|
45993
|
-
|
|
45994
|
-
|
|
45995
|
-
|
|
45996
|
-
|
|
45997
|
-
|
|
45998
|
-
|
|
45999
|
-
|
|
46000
|
-
|
|
46001
|
-
|
|
46002
|
-
|
|
46003
|
-
}
|
|
46004
|
-
|
|
46005
|
-
|
|
46006
|
-
|
|
46007
|
-
|
|
46008
|
-
|
|
46009
|
-
|
|
46010
|
-
|
|
46011
|
-
|
|
46012
|
-
|
|
46013
|
-
|
|
46014
|
-
|
|
46015
|
-
"aria-hidden": "true"
|
|
46016
|
-
}),
|
|
46017
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46018
|
-
type: "button",
|
|
46019
|
-
className: panel_module_css_default.topNavItem,
|
|
46020
|
-
"data-active": workspace === "canvas" ? "" : void 0,
|
|
46021
|
-
onClick: () => {
|
|
46022
|
-
setWorkspace("canvas");
|
|
46023
|
-
},
|
|
46024
|
-
children: tt("workspace.canvas")
|
|
46025
|
-
}),
|
|
46026
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
46027
|
-
type: "button",
|
|
46028
|
-
className: panel_module_css_default.topNavItem,
|
|
46029
|
-
"data-active": workspace === "ecommerce" ? "" : void 0,
|
|
46030
|
-
onClick: () => {
|
|
46031
|
-
setWorkspace("ecommerce");
|
|
46032
|
-
},
|
|
46033
|
-
children: [tt("workspace.ecommerce"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46527
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(GooeyNav, {
|
|
46528
|
+
ariaLabel: tt("workspace.label"),
|
|
46529
|
+
activeIndex: workspace === "normal" ? tab === "gallery" ? 1 : 0 : workspace === "canvas" ? 2 : 3,
|
|
46530
|
+
onSelect: (index) => {
|
|
46531
|
+
if (index === 0) openTab("text");
|
|
46532
|
+
else if (index === 1) openTab("gallery");
|
|
46533
|
+
else if (index === 2) setWorkspace("canvas");
|
|
46534
|
+
else setWorkspace("ecommerce");
|
|
46535
|
+
},
|
|
46536
|
+
items: [
|
|
46537
|
+
{
|
|
46538
|
+
key: "normal",
|
|
46539
|
+
label: tt("workspace.normal")
|
|
46540
|
+
},
|
|
46541
|
+
{
|
|
46542
|
+
key: "gallery",
|
|
46543
|
+
label: tt("gallery.title")
|
|
46544
|
+
},
|
|
46545
|
+
{
|
|
46546
|
+
key: "canvas",
|
|
46547
|
+
label: tt("workspace.canvas")
|
|
46548
|
+
},
|
|
46549
|
+
{
|
|
46550
|
+
key: "ecommerce",
|
|
46551
|
+
label: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [tt("workspace.ecommerce"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46034
46552
|
className: panel_module_css_default.previewBadge,
|
|
46035
46553
|
children: tt("ecommerce.badge")
|
|
46036
|
-
})]
|
|
46037
|
-
}
|
|
46554
|
+
})] })
|
|
46555
|
+
}
|
|
46038
46556
|
]
|
|
46039
46557
|
}),
|
|
46040
46558
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -46245,27 +46763,58 @@ window.__ModuleLoader__.load({
|
|
|
46245
46763
|
children: [
|
|
46246
46764
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46247
46765
|
className: panel_module_css_default.ecommerceSection,
|
|
46248
|
-
children: [
|
|
46249
|
-
|
|
46250
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("
|
|
46251
|
-
className: panel_module_css_default.
|
|
46252
|
-
children:
|
|
46253
|
-
|
|
46254
|
-
|
|
46255
|
-
|
|
46256
|
-
|
|
46257
|
-
|
|
46258
|
-
|
|
46259
|
-
|
|
46260
|
-
|
|
46261
|
-
|
|
46262
|
-
|
|
46263
|
-
|
|
46264
|
-
|
|
46766
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
46767
|
+
className: panel_module_css_default.ecommerceCardHead,
|
|
46768
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("h3", { children: [tt("ecommerce.productRefTitle"), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", {
|
|
46769
|
+
className: panel_module_css_default.ecommerceSectionHint,
|
|
46770
|
+
children: tt("ecommerce.productRefHint")
|
|
46771
|
+
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
46772
|
+
className: panel_module_css_default.ecommerceCardCount,
|
|
46773
|
+
children: [
|
|
46774
|
+
ecommerceAssets.filter((asset) => asset.role !== "style").length,
|
|
46775
|
+
"/",
|
|
46776
|
+
MAX_ECOMMERCE_ASSETS
|
|
46777
|
+
]
|
|
46778
|
+
})]
|
|
46779
|
+
}), ecommerceAssets.some((asset) => asset.role !== "style") ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46780
|
+
className: panel_module_css_default.ecommerceAssets,
|
|
46781
|
+
children: [ecommerceAssets.filter((asset) => asset.role !== "style").map((asset) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46782
|
+
className: panel_module_css_default.ecommerceAsset,
|
|
46783
|
+
"data-ecommerce-asset": "",
|
|
46784
|
+
children: [
|
|
46785
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
46786
|
+
src: asset.dataUrl,
|
|
46787
|
+
alt: asset.name
|
|
46788
|
+
}),
|
|
46789
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
|
|
46790
|
+
value: asset.role,
|
|
46791
|
+
"data-ecommerce-asset-role": "",
|
|
46792
|
+
"aria-label": tt("ecommerce.refSelect"),
|
|
46793
|
+
onChange: (event) => setEcommerceAssets((previous) => previous.map((item) => item.id === asset.id ? {
|
|
46794
|
+
...item,
|
|
46795
|
+
role: event.target.value
|
|
46796
|
+
} : item)),
|
|
46797
|
+
children: ECOMMERCE_ASSET_ROLES.filter((role) => role !== "style").map((role) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
46798
|
+
value: role,
|
|
46799
|
+
children: tt(`ecommerce.role.${role}`)
|
|
46800
|
+
}, role))
|
|
46801
|
+
}),
|
|
46802
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46803
|
+
type: "button",
|
|
46804
|
+
"aria-label": tt("edit.remove"),
|
|
46805
|
+
onClick: () => {
|
|
46806
|
+
setEcommerceAssets((previous) => previous.filter((item) => item.id !== asset.id));
|
|
46807
|
+
},
|
|
46808
|
+
children: "×"
|
|
46809
|
+
})
|
|
46810
|
+
]
|
|
46811
|
+
}, asset.id)), ecommerceAssets.filter((asset) => asset.role !== "style").length < MAX_ECOMMERCE_ASSETS ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
46265
46812
|
type: "button",
|
|
46266
|
-
className: panel_module_css_default.
|
|
46813
|
+
className: panel_module_css_default.ecommerceAssetAdd,
|
|
46267
46814
|
"data-ecommerce-upload": "",
|
|
46815
|
+
title: tt("ecommerce.uploadRef"),
|
|
46268
46816
|
onClick: () => {
|
|
46817
|
+
ecommerceUploadRoleRef.current = "product";
|
|
46269
46818
|
ecommerceFileInput.current?.click();
|
|
46270
46819
|
},
|
|
46271
46820
|
onDragOver: (event) => {
|
|
@@ -46273,83 +46822,165 @@ window.__ModuleLoader__.load({
|
|
|
46273
46822
|
},
|
|
46274
46823
|
onDrop: (event) => {
|
|
46275
46824
|
event.preventDefault();
|
|
46276
|
-
acceptEcommerceFiles(event.dataTransfer.files ?? void 0);
|
|
46825
|
+
acceptEcommerceFiles(event.dataTransfer.files ?? void 0, "product");
|
|
46277
46826
|
},
|
|
46278
|
-
children: [
|
|
46279
|
-
|
|
46280
|
-
|
|
46281
|
-
|
|
46282
|
-
|
|
46283
|
-
|
|
46284
|
-
|
|
46285
|
-
|
|
46286
|
-
|
|
46287
|
-
|
|
46288
|
-
|
|
46289
|
-
|
|
46290
|
-
|
|
46291
|
-
|
|
46292
|
-
|
|
46293
|
-
|
|
46294
|
-
|
|
46295
|
-
|
|
46296
|
-
|
|
46297
|
-
|
|
46298
|
-
|
|
46827
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46828
|
+
"aria-hidden": "true",
|
|
46829
|
+
children: "+"
|
|
46830
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: tt("ecommerce.uploadShort") })]
|
|
46831
|
+
}) : null]
|
|
46832
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
46833
|
+
type: "button",
|
|
46834
|
+
className: panel_module_css_default.ecommerceUploadHero,
|
|
46835
|
+
"data-ecommerce-upload": "",
|
|
46836
|
+
onClick: () => {
|
|
46837
|
+
ecommerceUploadRoleRef.current = "product";
|
|
46838
|
+
ecommerceFileInput.current?.click();
|
|
46839
|
+
},
|
|
46840
|
+
onDragOver: (event) => {
|
|
46841
|
+
event.preventDefault();
|
|
46842
|
+
},
|
|
46843
|
+
onDrop: (event) => {
|
|
46844
|
+
event.preventDefault();
|
|
46845
|
+
acceptEcommerceFiles(event.dataTransfer.files ?? void 0, "product");
|
|
46846
|
+
},
|
|
46847
|
+
children: [
|
|
46848
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
46849
|
+
viewBox: "0 0 16 16",
|
|
46850
|
+
width: "15",
|
|
46851
|
+
height: "15",
|
|
46852
|
+
fill: "none",
|
|
46853
|
+
stroke: "currentColor",
|
|
46854
|
+
strokeWidth: "1.3",
|
|
46855
|
+
strokeLinecap: "round",
|
|
46856
|
+
strokeLinejoin: "round",
|
|
46857
|
+
"aria-hidden": "true",
|
|
46858
|
+
children: [
|
|
46859
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M8 10V3.5" }),
|
|
46860
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M5.5 5.5L8 3l2.5 2.5" }),
|
|
46861
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M3 9.5V12a1.5 1.5 0 001.5 1.5h7A1.5 1.5 0 0013 12V9.5" })
|
|
46862
|
+
]
|
|
46863
|
+
}),
|
|
46864
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: tt("ecommerce.uploadRef") }),
|
|
46865
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: tt("edit.uploadHint") })
|
|
46866
|
+
]
|
|
46867
|
+
})]
|
|
46868
|
+
}),
|
|
46869
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46870
|
+
className: panel_module_css_default.ecommerceSection,
|
|
46871
|
+
children: [
|
|
46872
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
46873
|
+
className: panel_module_css_default.ecommerceCardHead,
|
|
46874
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("h3", { children: [tt("ecommerce.styleRefTitle"), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("small", {
|
|
46875
|
+
className: panel_module_css_default.ecommerceSectionHint,
|
|
46876
|
+
children: [
|
|
46877
|
+
"(",
|
|
46878
|
+
tt("ecommerce.styleRefBadge"),
|
|
46879
|
+
")"
|
|
46880
|
+
]
|
|
46881
|
+
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
46882
|
+
className: panel_module_css_default.ecommerceCardCount,
|
|
46883
|
+
children: [ecommerceAssets.some((asset) => asset.role === "style") ? 1 : 0, "/1"]
|
|
46884
|
+
})]
|
|
46885
|
+
}),
|
|
46886
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
46887
|
+
className: panel_module_css_default.ecommerceCardHint,
|
|
46888
|
+
children: tt("ecommerce.styleRefHint")
|
|
46889
|
+
}),
|
|
46890
|
+
ecommerceAssets.some((asset) => asset.role === "style") ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46299
46891
|
className: panel_module_css_default.ecommerceAssets,
|
|
46300
|
-
children:
|
|
46892
|
+
children: ecommerceAssets.filter((asset) => asset.role === "style").map((asset) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46301
46893
|
className: panel_module_css_default.ecommerceAsset,
|
|
46302
46894
|
"data-ecommerce-asset": "",
|
|
46303
|
-
children: [
|
|
46304
|
-
|
|
46305
|
-
|
|
46306
|
-
|
|
46307
|
-
|
|
46308
|
-
|
|
46309
|
-
|
|
46310
|
-
|
|
46311
|
-
|
|
46312
|
-
|
|
46313
|
-
|
|
46314
|
-
|
|
46315
|
-
|
|
46316
|
-
|
|
46317
|
-
|
|
46318
|
-
|
|
46319
|
-
|
|
46320
|
-
|
|
46321
|
-
|
|
46322
|
-
|
|
46323
|
-
|
|
46324
|
-
|
|
46325
|
-
|
|
46326
|
-
|
|
46327
|
-
|
|
46328
|
-
|
|
46329
|
-
|
|
46330
|
-
},
|
|
46331
|
-
|
|
46332
|
-
|
|
46333
|
-
|
|
46334
|
-
|
|
46335
|
-
onClick: () => {
|
|
46336
|
-
ecommerceFileInput.current?.click();
|
|
46337
|
-
},
|
|
46338
|
-
onDragOver: (event) => {
|
|
46339
|
-
event.preventDefault();
|
|
46340
|
-
},
|
|
46341
|
-
onDrop: (event) => {
|
|
46342
|
-
event.preventDefault();
|
|
46343
|
-
acceptEcommerceFiles(event.dataTransfer.files ?? void 0);
|
|
46344
|
-
},
|
|
46345
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46346
|
-
"aria-hidden": "true",
|
|
46347
|
-
children: "+"
|
|
46348
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: tt("ecommerce.uploadShort") })]
|
|
46349
|
-
}) : null]
|
|
46895
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
46896
|
+
src: asset.dataUrl,
|
|
46897
|
+
alt: asset.name
|
|
46898
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
46899
|
+
type: "button",
|
|
46900
|
+
"aria-label": tt("edit.remove"),
|
|
46901
|
+
onClick: () => {
|
|
46902
|
+
setEcommerceAssets((previous) => previous.filter((item) => item.id !== asset.id));
|
|
46903
|
+
},
|
|
46904
|
+
children: "×"
|
|
46905
|
+
})]
|
|
46906
|
+
}, asset.id))
|
|
46907
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
46908
|
+
type: "button",
|
|
46909
|
+
className: panel_module_css_default.ecommerceAssetAdd,
|
|
46910
|
+
"data-ecommerce-upload": "",
|
|
46911
|
+
title: tt("ecommerce.styleRefUpload"),
|
|
46912
|
+
onClick: () => {
|
|
46913
|
+
ecommerceUploadRoleRef.current = "style";
|
|
46914
|
+
ecommerceFileInput.current?.click();
|
|
46915
|
+
},
|
|
46916
|
+
onDragOver: (event) => {
|
|
46917
|
+
event.preventDefault();
|
|
46918
|
+
},
|
|
46919
|
+
onDrop: (event) => {
|
|
46920
|
+
event.preventDefault();
|
|
46921
|
+
acceptEcommerceFiles(event.dataTransfer.files ?? void 0, "style");
|
|
46922
|
+
},
|
|
46923
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46924
|
+
"aria-hidden": "true",
|
|
46925
|
+
children: "+"
|
|
46926
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("small", { children: tt("ecommerce.styleRefUpload") })]
|
|
46350
46927
|
})
|
|
46351
46928
|
]
|
|
46352
46929
|
}),
|
|
46930
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
46931
|
+
className: panel_module_css_default.ecommerceSection,
|
|
46932
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
46933
|
+
className: panel_module_css_default.ecommerceField,
|
|
46934
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46935
|
+
className: panel_module_css_default.ecommerceFieldLabel,
|
|
46936
|
+
children: tt("ecommerce.productName")
|
|
46937
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
46938
|
+
value: ecommerce.productName,
|
|
46939
|
+
placeholder: tt("ecommerce.productName"),
|
|
46940
|
+
onChange: (event) => setEcommerce((previous) => ({
|
|
46941
|
+
...previous,
|
|
46942
|
+
productName: event.target.value
|
|
46943
|
+
}))
|
|
46944
|
+
})]
|
|
46945
|
+
})
|
|
46946
|
+
}),
|
|
46947
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46948
|
+
className: panel_module_css_default.ecommerceSection,
|
|
46949
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
46950
|
+
className: panel_module_css_default.ecommerceCardHead,
|
|
46951
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("h3", { children: [tt("ecommerce.refInfoTitle"), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("small", {
|
|
46952
|
+
className: panel_module_css_default.ecommerceSectionHint,
|
|
46953
|
+
children: [
|
|
46954
|
+
"(",
|
|
46955
|
+
tt("ecommerce.optional"),
|
|
46956
|
+
")"
|
|
46957
|
+
]
|
|
46958
|
+
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
46959
|
+
type: "button",
|
|
46960
|
+
className: panel_module_css_default.ecommerceAiButton,
|
|
46961
|
+
disabled: ecommerceEnhancing,
|
|
46962
|
+
title: tt("ecommerce.aiWriteHint"),
|
|
46963
|
+
onClick: () => {
|
|
46964
|
+
ecommerceEnhanceInfo();
|
|
46965
|
+
},
|
|
46966
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
46967
|
+
viewBox: "0 0 16 16",
|
|
46968
|
+
width: "11",
|
|
46969
|
+
height: "11",
|
|
46970
|
+
fill: "currentColor",
|
|
46971
|
+
"aria-hidden": "true",
|
|
46972
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M8 1.5l1.4 3.6L13 6.5l-3.6 1.4L8 11.5 6.6 7.9 3 6.5l3.6-1.4z" })
|
|
46973
|
+
}), ecommerceEnhancing ? tt("ecommerce.aiWriting") : tt("ecommerce.aiWrite")]
|
|
46974
|
+
})]
|
|
46975
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
46976
|
+
value: ecommerce.promptInfo,
|
|
46977
|
+
placeholder: tt("ecommerce.promptInfoPlaceholder"),
|
|
46978
|
+
onChange: (event) => setEcommerce((previous) => ({
|
|
46979
|
+
...previous,
|
|
46980
|
+
promptInfo: event.target.value
|
|
46981
|
+
}))
|
|
46982
|
+
})]
|
|
46983
|
+
}),
|
|
46353
46984
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46354
46985
|
className: panel_module_css_default.ecommerceSection,
|
|
46355
46986
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", { children: tt("ecommerce.params") }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -46404,20 +47035,6 @@ window.__ModuleLoader__.load({
|
|
|
46404
47035
|
}) : null
|
|
46405
47036
|
]
|
|
46406
47037
|
}),
|
|
46407
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
46408
|
-
className: panel_module_css_default.ecommerceField,
|
|
46409
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46410
|
-
className: panel_module_css_default.ecommerceFieldLabel,
|
|
46411
|
-
children: tt("ecommerce.ratioLabel")
|
|
46412
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
|
|
46413
|
-
value: ecommerce.size,
|
|
46414
|
-
onChange: (event) => setEcommerce((previous) => ({
|
|
46415
|
-
...previous,
|
|
46416
|
-
size: event.target.value
|
|
46417
|
-
})),
|
|
46418
|
-
children: SIZES.filter((size) => size !== "auto").map((size) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", { children: size }, size))
|
|
46419
|
-
})]
|
|
46420
|
-
}),
|
|
46421
47038
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
46422
47039
|
className: panel_module_css_default.ecommerceField,
|
|
46423
47040
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -46438,21 +47055,24 @@ window.__ModuleLoader__.load({
|
|
|
46438
47055
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", { children: "3C 数码" })
|
|
46439
47056
|
]
|
|
46440
47057
|
})]
|
|
47058
|
+
}),
|
|
47059
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
47060
|
+
className: panel_module_css_default.ecommerceField,
|
|
47061
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47062
|
+
className: panel_module_css_default.ecommerceFieldLabel,
|
|
47063
|
+
children: tt("ecommerce.ratioLabel")
|
|
47064
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
|
|
47065
|
+
value: ecommerce.size,
|
|
47066
|
+
onChange: (event) => setEcommerce((previous) => ({
|
|
47067
|
+
...previous,
|
|
47068
|
+
size: event.target.value
|
|
47069
|
+
})),
|
|
47070
|
+
children: SIZES.filter((size) => size !== "auto").map((size) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", { children: size }, size))
|
|
47071
|
+
})]
|
|
46441
47072
|
})
|
|
46442
47073
|
]
|
|
46443
47074
|
})]
|
|
46444
47075
|
}),
|
|
46445
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46446
|
-
className: panel_module_css_default.ecommerceSection,
|
|
46447
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", { children: tt("ecommerce.sellingTitle") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
46448
|
-
value: ecommerce.sellingPoints,
|
|
46449
|
-
placeholder: tt("ecommerce.sellingPoints"),
|
|
46450
|
-
onChange: (event) => setEcommerce((previous) => ({
|
|
46451
|
-
...previous,
|
|
46452
|
-
sellingPoints: event.target.value
|
|
46453
|
-
}))
|
|
46454
|
-
})]
|
|
46455
|
-
}),
|
|
46456
47076
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46457
47077
|
className: panel_module_css_default.ecommerceSection,
|
|
46458
47078
|
children: [
|
|
@@ -46558,32 +47178,6 @@ window.__ModuleLoader__.load({
|
|
|
46558
47178
|
})
|
|
46559
47179
|
]
|
|
46560
47180
|
}),
|
|
46561
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
46562
|
-
className: panel_module_css_default.ecommerceSection,
|
|
46563
|
-
children: [
|
|
46564
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", { children: tt("ecommerce.styleTitle") }),
|
|
46565
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
46566
|
-
value: ecommerce.styleHint,
|
|
46567
|
-
placeholder: tt("ecommerce.styleHint"),
|
|
46568
|
-
onChange: (event) => setEcommerce((previous) => ({
|
|
46569
|
-
...previous,
|
|
46570
|
-
styleHint: event.target.value
|
|
46571
|
-
}))
|
|
46572
|
-
}),
|
|
46573
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
46574
|
-
className: panel_module_css_default.ecommerceFieldLabel,
|
|
46575
|
-
children: tt("ecommerce.protectedLabel")
|
|
46576
|
-
}),
|
|
46577
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
46578
|
-
value: ecommerce.protectedFeatures,
|
|
46579
|
-
placeholder: tt("ecommerce.protectedFeatures"),
|
|
46580
|
-
onChange: (event) => setEcommerce((previous) => ({
|
|
46581
|
-
...previous,
|
|
46582
|
-
protectedFeatures: event.target.value
|
|
46583
|
-
}))
|
|
46584
|
-
})
|
|
46585
|
-
]
|
|
46586
|
-
}),
|
|
46587
47181
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
46588
47182
|
ref: ecommerceFileInput,
|
|
46589
47183
|
type: "file",
|
|
@@ -46591,7 +47185,7 @@ window.__ModuleLoader__.load({
|
|
|
46591
47185
|
accept: "image/png,image/jpeg,image/webp,image/gif",
|
|
46592
47186
|
className: panel_module_css_default.hiddenFile,
|
|
46593
47187
|
onChange: (event) => {
|
|
46594
|
-
acceptEcommerceFiles(event.target.files ?? void 0);
|
|
47188
|
+
acceptEcommerceFiles(event.target.files ?? void 0, ecommerceUploadRoleRef.current);
|
|
46595
47189
|
event.target.value = "";
|
|
46596
47190
|
}
|
|
46597
47191
|
})
|
|
@@ -47362,92 +47956,13 @@ window.__ModuleLoader__.load({
|
|
|
47362
47956
|
}), ecommerceMergedItems.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
47363
47957
|
className: panel_module_css_default.ecommerceResultsEmpty,
|
|
47364
47958
|
children: tt("ecommerce.results.empty")
|
|
47365
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.
|
|
47959
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
47366
47960
|
className: panel_module_css_default.ecommerceGroups,
|
|
47367
|
-
|
|
47368
|
-
|
|
47369
|
-
|
|
47370
|
-
children:
|
|
47371
|
-
|
|
47372
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [
|
|
47373
|
-
group.items.filter((item) => item.status === "completed").length,
|
|
47374
|
-
"/",
|
|
47375
|
-
group.items.length
|
|
47376
|
-
] }),
|
|
47377
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
47378
|
-
type: "button",
|
|
47379
|
-
className: panel_module_css_default.galleryBulkButton,
|
|
47380
|
-
disabled: ecommerceGenerating,
|
|
47381
|
-
onClick: () => {
|
|
47382
|
-
regenerateEcommerceSlot(group.label);
|
|
47383
|
-
},
|
|
47384
|
-
children: tt("ecommerce.results.regenerate")
|
|
47385
|
-
})
|
|
47386
|
-
] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
47387
|
-
className: panel_module_css_default.ecommerceGroupGrid,
|
|
47388
|
-
children: group.items.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
47389
|
-
className: panel_module_css_default.ecommerceTaskCard,
|
|
47390
|
-
"data-status": item.status,
|
|
47391
|
-
children: item.status === "completed" && item.images.length > 0 ? item.images.map((image, imageIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("figure", {
|
|
47392
|
-
className: panel_module_css_default.imageCard,
|
|
47393
|
-
role: "button",
|
|
47394
|
-
tabIndex: 0,
|
|
47395
|
-
title: tt("preview.open"),
|
|
47396
|
-
onClick: () => {
|
|
47397
|
-
openPreview(item.images, imageIndex);
|
|
47398
|
-
},
|
|
47399
|
-
children: [
|
|
47400
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
47401
|
-
className: panel_module_css_default.image,
|
|
47402
|
-
src: srcOf(image),
|
|
47403
|
-
alt: `${group.label} ${imageIndex + 1}`
|
|
47404
|
-
}),
|
|
47405
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
47406
|
-
className: panel_module_css_default.ecommerceResultBadge,
|
|
47407
|
-
children: group.label
|
|
47408
|
-
}),
|
|
47409
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
47410
|
-
className: panel_module_css_default.ecommerceTaskActions,
|
|
47411
|
-
onClick: (event) => event.stopPropagation(),
|
|
47412
|
-
children: [
|
|
47413
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
47414
|
-
className: panel_module_css_default.ecommerceActionChip,
|
|
47415
|
-
href: srcOf(image),
|
|
47416
|
-
download: `product-${item.slotKey || item.id}-${imageIndex + 1}.${extensionOf(image.mime)}`,
|
|
47417
|
-
children: tt("download")
|
|
47418
|
-
}),
|
|
47419
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
47420
|
-
type: "button",
|
|
47421
|
-
className: panel_module_css_default.ecommerceActionChip,
|
|
47422
|
-
disabled: galleryAdding,
|
|
47423
|
-
onClick: () => {
|
|
47424
|
-
addToGallery(image);
|
|
47425
|
-
},
|
|
47426
|
-
children: tt("gallery.add")
|
|
47427
|
-
}),
|
|
47428
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
47429
|
-
type: "button",
|
|
47430
|
-
className: panel_module_css_default.ecommerceActionChip,
|
|
47431
|
-
disabled: conversationBusy,
|
|
47432
|
-
onClick: () => {
|
|
47433
|
-
addImageToConversation(image, imageIndex, `${item.id}:${imageIndex}`);
|
|
47434
|
-
},
|
|
47435
|
-
children: addingToConversation === `${item.id}:${imageIndex}` ? tt("conversation.adding") : tt("conversation.add")
|
|
47436
|
-
})
|
|
47437
|
-
]
|
|
47438
|
-
})
|
|
47439
|
-
]
|
|
47440
|
-
}, imageIndex)) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
47441
|
-
className: panel_module_css_default.ecommerceTaskState,
|
|
47442
|
-
children: [
|
|
47443
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("b", { children: group.label }),
|
|
47444
|
-
tt(`tasks.${item.status}`),
|
|
47445
|
-
item.error !== void 0 ? ` · ${item.error}` : ""
|
|
47446
|
-
]
|
|
47447
|
-
})
|
|
47448
|
-
}, item.id))
|
|
47449
|
-
})]
|
|
47450
|
-
}, group.label))
|
|
47961
|
+
"data-split": ecommerceMainGroup !== null ? "true" : void 0,
|
|
47962
|
+
children: [ecommerceMainGroup !== null ? renderEcommerceGroup(ecommerceMainGroup, true) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
47963
|
+
className: panel_module_css_default.ecommerceGroupsSide,
|
|
47964
|
+
children: ecommerceSideGroups.map((group) => renderEcommerceGroup(group))
|
|
47965
|
+
})]
|
|
47451
47966
|
})]
|
|
47452
47967
|
}) : null,
|
|
47453
47968
|
!isGallery && tasks.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
@@ -48879,97 +49394,97 @@ window.__ModuleLoader__.load({
|
|
|
48879
49394
|
document.head.appendChild(tag);
|
|
48880
49395
|
}
|
|
48881
49396
|
var settings_card_module_css_default = {
|
|
48882
|
-
"
|
|
48883
|
-
"
|
|
48884
|
-
"
|
|
48885
|
-
"
|
|
49397
|
+
"detectOk": "i1cc5G_detectOk",
|
|
49398
|
+
"channelMain": "i1cc5G_channelMain",
|
|
49399
|
+
"presetInlineHeader": "i1cc5G_presetInlineHeader",
|
|
49400
|
+
"channelDotReady": "i1cc5G_channelDotReady",
|
|
49401
|
+
"input": "i1cc5G_input",
|
|
49402
|
+
"badges": "i1cc5G_badges",
|
|
49403
|
+
"manualModelRow": "i1cc5G_manualModelRow",
|
|
49404
|
+
"disclosure": "i1cc5G_disclosure",
|
|
49405
|
+
"modelCandidateLabel": "i1cc5G_modelCandidateLabel",
|
|
49406
|
+
"editorDivider": "i1cc5G_editorDivider",
|
|
49407
|
+
"channelName": "i1cc5G_channelName",
|
|
48886
49408
|
"channelAction": "i1cc5G_channelAction",
|
|
48887
|
-
"
|
|
48888
|
-
"
|
|
48889
|
-
"
|
|
48890
|
-
"
|
|
48891
|
-
"
|
|
48892
|
-
"
|
|
49409
|
+
"channelDanger": "i1cc5G_channelDanger",
|
|
49410
|
+
"sectionHint": "i1cc5G_sectionHint",
|
|
49411
|
+
"deleteConfirmText": "i1cc5G_deleteConfirmText",
|
|
49412
|
+
"modelRow": "i1cc5G_modelRow",
|
|
49413
|
+
"save": "i1cc5G_save",
|
|
49414
|
+
"hint": "i1cc5G_hint",
|
|
49415
|
+
"label": "i1cc5G_label",
|
|
48893
49416
|
"modelSummary": "i1cc5G_modelSummary",
|
|
48894
|
-
"channelDotReady": "i1cc5G_channelDotReady",
|
|
48895
49417
|
"description": "i1cc5G_description",
|
|
48896
|
-
"
|
|
48897
|
-
"
|
|
48898
|
-
"channelDotWarn": "i1cc5G_channelDotWarn",
|
|
48899
|
-
"channelRow": "i1cc5G_channelRow",
|
|
48900
|
-
"channelHost": "i1cc5G_channelHost",
|
|
48901
|
-
"modelSection": "i1cc5G_modelSection",
|
|
48902
|
-
"editorClose": "i1cc5G_editorClose",
|
|
48903
|
-
"channelList": "i1cc5G_channelList",
|
|
48904
|
-
"spacer": "i1cc5G_spacer",
|
|
48905
|
-
"name": "i1cc5G_name",
|
|
48906
|
-
"presetInline": "i1cc5G_presetInline",
|
|
49418
|
+
"modelCandidateList": "i1cc5G_modelCandidateList",
|
|
49419
|
+
"chevronOpen": "i1cc5G_chevronOpen",
|
|
48907
49420
|
"editorHeader": "i1cc5G_editorHeader",
|
|
48908
|
-
"
|
|
48909
|
-
"
|
|
49421
|
+
"versionLabel": "i1cc5G_versionLabel",
|
|
49422
|
+
"optionalContent": "i1cc5G_optionalContent",
|
|
49423
|
+
"sectionHeader": "i1cc5G_sectionHeader",
|
|
49424
|
+
"channelList": "i1cc5G_channelList",
|
|
49425
|
+
"modelRowRemove": "i1cc5G_modelRowRemove",
|
|
49426
|
+
"body": "i1cc5G_body",
|
|
48910
49427
|
"modelCandidate": "i1cc5G_modelCandidate",
|
|
48911
|
-
"
|
|
48912
|
-
"
|
|
48913
|
-
"editorSectionHeader": "i1cc5G_editorSectionHeader",
|
|
49428
|
+
"channelRow": "i1cc5G_channelRow",
|
|
49429
|
+
"channelBadge": "i1cc5G_channelBadge",
|
|
48914
49430
|
"reset": "i1cc5G_reset",
|
|
49431
|
+
"select": "i1cc5G_select",
|
|
49432
|
+
"channelAdd": "i1cc5G_channelAdd",
|
|
49433
|
+
"modelBadge": "i1cc5G_modelBadge",
|
|
49434
|
+
"invalid": "i1cc5G_invalid",
|
|
49435
|
+
"card": "i1cc5G_card",
|
|
49436
|
+
"channelMeta": "i1cc5G_channelMeta",
|
|
49437
|
+
"notExposed": "i1cc5G_notExposed",
|
|
49438
|
+
"sectionTitle": "i1cc5G_sectionTitle",
|
|
49439
|
+
"modelChoices": "i1cc5G_modelChoices",
|
|
48915
49440
|
"footer": "i1cc5G_footer",
|
|
48916
|
-
"
|
|
48917
|
-
"
|
|
48918
|
-
"
|
|
48919
|
-
"textareaInvalid": "i1cc5G_textareaInvalid",
|
|
48920
|
-
"modelRow": "i1cc5G_modelRow",
|
|
48921
|
-
"presetInlineHeader": "i1cc5G_presetInlineHeader",
|
|
49441
|
+
"inputInvalid": "i1cc5G_inputInvalid",
|
|
49442
|
+
"badge": "i1cc5G_badge",
|
|
49443
|
+
"editorField": "i1cc5G_editorField",
|
|
48922
49444
|
"presetRow": "i1cc5G_presetRow",
|
|
48923
|
-
"
|
|
48924
|
-
"modelRowBadges": "i1cc5G_modelRowBadges",
|
|
48925
|
-
"channelDanger": "i1cc5G_channelDanger",
|
|
48926
|
-
"save": "i1cc5G_save",
|
|
48927
|
-
"textarea": "i1cc5G_textarea",
|
|
48928
|
-
"modelRowRemove": "i1cc5G_modelRowRemove",
|
|
49445
|
+
"presetInline": "i1cc5G_presetInline",
|
|
48929
49446
|
"header": "i1cc5G_header",
|
|
48930
|
-
"
|
|
48931
|
-
"
|
|
48932
|
-
"
|
|
48933
|
-
"
|
|
48934
|
-
"
|
|
49447
|
+
"name": "i1cc5G_name",
|
|
49448
|
+
"channelHost": "i1cc5G_channelHost",
|
|
49449
|
+
"modelSection": "i1cc5G_modelSection",
|
|
49450
|
+
"inlineDisclosure": "i1cc5G_inlineDisclosure",
|
|
49451
|
+
"textarea": "i1cc5G_textarea",
|
|
49452
|
+
"channelEmpty": "i1cc5G_channelEmpty",
|
|
49453
|
+
"spacer": "i1cc5G_spacer",
|
|
49454
|
+
"presetName": "i1cc5G_presetName",
|
|
49455
|
+
"editorTools": "i1cc5G_editorTools",
|
|
49456
|
+
"modelFetchRow": "i1cc5G_modelFetchRow",
|
|
49457
|
+
"presetMeta": "i1cc5G_presetMeta",
|
|
48935
49458
|
"modelRows": "i1cc5G_modelRows",
|
|
48936
|
-
"
|
|
48937
|
-
"editorBackdrop": "i1cc5G_editorBackdrop",
|
|
48938
|
-
"channelBadge": "i1cc5G_channelBadge",
|
|
48939
|
-
"modelBadge": "i1cc5G_modelBadge",
|
|
48940
|
-
"manualModelRow": "i1cc5G_manualModelRow",
|
|
48941
|
-
"hint": "i1cc5G_hint",
|
|
49459
|
+
"channelControls": "i1cc5G_channelControls",
|
|
48942
49460
|
"modelArrow": "i1cc5G_modelArrow",
|
|
48943
|
-
"sectionDivider": "i1cc5G_sectionDivider",
|
|
48944
|
-
"presetList": "i1cc5G_presetList",
|
|
48945
49461
|
"chevron": "i1cc5G_chevron",
|
|
48946
|
-
"
|
|
48947
|
-
"
|
|
49462
|
+
"channelDotWarn": "i1cc5G_channelDotWarn",
|
|
49463
|
+
"versionValue": "i1cc5G_versionValue",
|
|
49464
|
+
"textareaInvalid": "i1cc5G_textareaInvalid",
|
|
49465
|
+
"channelAddRow": "i1cc5G_channelAddRow",
|
|
49466
|
+
"modelRowInputs": "i1cc5G_modelRowInputs",
|
|
49467
|
+
"modelRowBadges": "i1cc5G_modelRowBadges",
|
|
49468
|
+
"modelChip": "i1cc5G_modelChip",
|
|
49469
|
+
"head": "i1cc5G_head",
|
|
48948
49470
|
"channelSection": "i1cc5G_channelSection",
|
|
48949
|
-
"
|
|
48950
|
-
"
|
|
48951
|
-
"
|
|
49471
|
+
"editorClose": "i1cc5G_editorClose",
|
|
49472
|
+
"editorBackdrop": "i1cc5G_editorBackdrop",
|
|
49473
|
+
"sectionDivider": "i1cc5G_sectionDivider",
|
|
49474
|
+
"failed": "i1cc5G_failed",
|
|
49475
|
+
"readOnly": "i1cc5G_readOnly",
|
|
48952
49476
|
"editorFooter": "i1cc5G_editorFooter",
|
|
48953
|
-
"
|
|
48954
|
-
"
|
|
48955
|
-
"
|
|
48956
|
-
"
|
|
48957
|
-
"
|
|
48958
|
-
"sectionTitle": "i1cc5G_sectionTitle",
|
|
48959
|
-
"channelEmpty": "i1cc5G_channelEmpty",
|
|
48960
|
-
"sectionHeader": "i1cc5G_sectionHeader",
|
|
49477
|
+
"presetList": "i1cc5G_presetList",
|
|
49478
|
+
"headText": "i1cc5G_headText",
|
|
49479
|
+
"presetHint": "i1cc5G_presetHint",
|
|
49480
|
+
"versionRow": "i1cc5G_versionRow",
|
|
49481
|
+
"discard": "i1cc5G_discard",
|
|
48961
49482
|
"addModel": "i1cc5G_addModel",
|
|
48962
|
-
"
|
|
48963
|
-
"
|
|
48964
|
-
"
|
|
48965
|
-
"
|
|
48966
|
-
"
|
|
48967
|
-
"body": "i1cc5G_body",
|
|
48968
|
-
"input": "i1cc5G_input",
|
|
48969
|
-
"deleteConfirmText": "i1cc5G_deleteConfirmText",
|
|
48970
|
-
"detectOk": "i1cc5G_detectOk",
|
|
48971
|
-
"card": "i1cc5G_card",
|
|
48972
|
-
"presetName": "i1cc5G_presetName"
|
|
49483
|
+
"modelFetch": "i1cc5G_modelFetch",
|
|
49484
|
+
"field": "i1cc5G_field",
|
|
49485
|
+
"editorSectionHeader": "i1cc5G_editorSectionHeader",
|
|
49486
|
+
"editorPanel": "i1cc5G_editorPanel",
|
|
49487
|
+
"pending": "i1cc5G_pending"
|
|
48973
49488
|
};
|
|
48974
49489
|
//#endregion
|
|
48975
49490
|
//#region src/client/SettingsCard.tsx
|
|
@@ -50451,16 +50966,16 @@ window.__ModuleLoader__.load({
|
|
|
50451
50966
|
document.head.appendChild(tag);
|
|
50452
50967
|
}
|
|
50453
50968
|
var image_toolview_module_css_default = {
|
|
50454
|
-
"
|
|
50455
|
-
"status": "_3eGrYG_status",
|
|
50456
|
-
"message": "_3eGrYG_message",
|
|
50969
|
+
"root": "_3eGrYG_root",
|
|
50457
50970
|
"error": "_3eGrYG_error",
|
|
50458
|
-
"
|
|
50459
|
-
"icon": "_3eGrYG_icon",
|
|
50971
|
+
"imageLink": "_3eGrYG_imageLink",
|
|
50460
50972
|
"header": "_3eGrYG_header",
|
|
50973
|
+
"icon": "_3eGrYG_icon",
|
|
50974
|
+
"status": "_3eGrYG_status",
|
|
50975
|
+
"message": "_3eGrYG_message",
|
|
50461
50976
|
"loading": "_3eGrYG_loading",
|
|
50462
|
-
"
|
|
50463
|
-
"
|
|
50977
|
+
"images": "_3eGrYG_images",
|
|
50978
|
+
"image": "_3eGrYG_image"
|
|
50464
50979
|
};
|
|
50465
50980
|
//#endregion
|
|
50466
50981
|
//#region src/client/image-toolview.tsx
|