@jay-framework/aiditor 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/cancel-agent-task.jay-action +1 -0
- package/dist/actions/cancel-agent-task.jay-action.d.ts +1 -0
- package/dist/index.client.d.ts +35 -9
- package/dist/index.client.js +2155 -1103
- package/dist/index.d.ts +8 -6
- package/dist/index.js +74 -25
- package/dist/pages/aiditor/page.css +73 -4
- package/dist/pages/aiditor/page.jay-html +340 -80
- package/dist/pages/aiditor/page.jay-html.d.ts +35 -9
- package/package.json +10 -10
|
@@ -463,19 +463,31 @@
|
|
|
463
463
|
text-transform: uppercase;
|
|
464
464
|
color: var(--harmony-text-muted);
|
|
465
465
|
}
|
|
466
|
-
.harmony-routes-panel-section-title + .harmony-routes-panel-item,
|
|
467
|
-
.harmony-routes-panel-item + .harmony-routes-panel-section-title {
|
|
466
|
+
.harmony-routes-panel-section-title + .harmony-routes-panel-item-row,
|
|
467
|
+
.harmony-routes-panel-item-row + .harmony-routes-panel-section-title {
|
|
468
468
|
margin-top: 4px;
|
|
469
469
|
padding-top: 14px;
|
|
470
470
|
border-top: 1px solid var(--harmony-border);
|
|
471
471
|
}
|
|
472
|
+
.harmony-routes-panel-item-row {
|
|
473
|
+
display: flex;
|
|
474
|
+
align-items: center;
|
|
475
|
+
width: 100%;
|
|
476
|
+
}
|
|
477
|
+
.harmony-routes-panel-item-row:hover {
|
|
478
|
+
background: var(--harmony-bg-hover);
|
|
479
|
+
}
|
|
480
|
+
.harmony-routes-panel-item-row--selected {
|
|
481
|
+
background: var(--harmony-primary-soft);
|
|
482
|
+
}
|
|
472
483
|
.harmony-routes-panel-item {
|
|
473
484
|
display: flex;
|
|
474
485
|
align-items: center;
|
|
475
486
|
gap: 8px;
|
|
476
|
-
|
|
487
|
+
flex: 1;
|
|
488
|
+
min-width: 0;
|
|
477
489
|
box-sizing: border-box;
|
|
478
|
-
padding: 9px 16px;
|
|
490
|
+
padding: 9px 8px 9px 16px;
|
|
479
491
|
border: none;
|
|
480
492
|
background: transparent;
|
|
481
493
|
color: var(--harmony-text);
|
|
@@ -485,10 +497,9 @@
|
|
|
485
497
|
cursor: pointer;
|
|
486
498
|
}
|
|
487
499
|
.harmony-routes-panel-item:hover {
|
|
488
|
-
background:
|
|
500
|
+
background: transparent;
|
|
489
501
|
}
|
|
490
502
|
.harmony-routes-panel-item--selected {
|
|
491
|
-
background: var(--harmony-primary-soft);
|
|
492
503
|
color: var(--harmony-primary);
|
|
493
504
|
font-weight: 600;
|
|
494
505
|
}
|
|
@@ -506,6 +517,35 @@
|
|
|
506
517
|
text-overflow: ellipsis;
|
|
507
518
|
white-space: nowrap;
|
|
508
519
|
}
|
|
520
|
+
.harmony-routes-panel-open-tab {
|
|
521
|
+
flex-shrink: 0;
|
|
522
|
+
display: inline-flex;
|
|
523
|
+
align-items: center;
|
|
524
|
+
justify-content: center;
|
|
525
|
+
width: 32px;
|
|
526
|
+
height: 32px;
|
|
527
|
+
margin-right: 8px;
|
|
528
|
+
padding: 0;
|
|
529
|
+
border: none;
|
|
530
|
+
border-radius: var(--harmony-radius-sm);
|
|
531
|
+
background: transparent;
|
|
532
|
+
color: var(--harmony-text-muted);
|
|
533
|
+
cursor: pointer;
|
|
534
|
+
transition: color 0.12s ease, background 0.12s ease;
|
|
535
|
+
}
|
|
536
|
+
.harmony-routes-panel-open-tab:hover {
|
|
537
|
+
color: var(--harmony-text);
|
|
538
|
+
background: transparent;
|
|
539
|
+
}
|
|
540
|
+
.harmony-routes-panel-open-tab:focus-visible {
|
|
541
|
+
outline: 2px solid var(--harmony-primary);
|
|
542
|
+
outline-offset: 1px;
|
|
543
|
+
}
|
|
544
|
+
.harmony-routes-panel-open-tab-icon {
|
|
545
|
+
display: block;
|
|
546
|
+
width: 18px;
|
|
547
|
+
height: 18px;
|
|
548
|
+
}
|
|
509
549
|
.harmony-routes-panel-empty {
|
|
510
550
|
margin: 0;
|
|
511
551
|
padding: 16px;
|
|
@@ -1042,14 +1082,54 @@
|
|
|
1042
1082
|
.harmony-url-bar-wrap { flex: 1; min-width: 0; }
|
|
1043
1083
|
.url-bar-wrap { flex: 1; min-width: 200px; }
|
|
1044
1084
|
.url-bar {
|
|
1085
|
+
display: flex;
|
|
1086
|
+
align-items: center;
|
|
1087
|
+
gap: 4px;
|
|
1045
1088
|
font-size: 12px;
|
|
1046
1089
|
font-family: var(--harmony-mono);
|
|
1047
1090
|
color: var(--harmony-text-secondary);
|
|
1048
1091
|
background: var(--harmony-bg-surface);
|
|
1049
1092
|
border: 1px solid var(--harmony-border);
|
|
1050
1093
|
border-radius: var(--harmony-radius-sm);
|
|
1051
|
-
padding:
|
|
1052
|
-
|
|
1094
|
+
padding: 4px 4px 4px 12px;
|
|
1095
|
+
}
|
|
1096
|
+
.url-bar-text {
|
|
1097
|
+
flex: 1;
|
|
1098
|
+
min-width: 0;
|
|
1099
|
+
overflow: hidden;
|
|
1100
|
+
text-overflow: ellipsis;
|
|
1101
|
+
white-space: nowrap;
|
|
1102
|
+
}
|
|
1103
|
+
.url-bar-open-tab {
|
|
1104
|
+
flex-shrink: 0;
|
|
1105
|
+
display: inline-flex;
|
|
1106
|
+
align-items: center;
|
|
1107
|
+
justify-content: center;
|
|
1108
|
+
width: 28px;
|
|
1109
|
+
height: 28px;
|
|
1110
|
+
padding: 0;
|
|
1111
|
+
border: none;
|
|
1112
|
+
border-radius: var(--harmony-radius-sm);
|
|
1113
|
+
background: transparent;
|
|
1114
|
+
color: var(--harmony-text-muted);
|
|
1115
|
+
cursor: pointer;
|
|
1116
|
+
transition: color 0.12s ease, background 0.12s ease;
|
|
1117
|
+
}
|
|
1118
|
+
.url-bar-open-tab:hover:not(:disabled) {
|
|
1119
|
+
color: var(--harmony-text);
|
|
1120
|
+
background: var(--harmony-bg-hover);
|
|
1121
|
+
}
|
|
1122
|
+
.url-bar-open-tab:disabled {
|
|
1123
|
+
opacity: 0.4;
|
|
1124
|
+
cursor: default;
|
|
1125
|
+
}
|
|
1126
|
+
.url-bar-open-tab:focus-visible {
|
|
1127
|
+
outline: 2px solid var(--harmony-primary);
|
|
1128
|
+
outline-offset: 1px;
|
|
1129
|
+
}
|
|
1130
|
+
.url-bar-open-tab .harmony-routes-panel-open-tab-icon {
|
|
1131
|
+
width: 24px;
|
|
1132
|
+
height: 24px;
|
|
1053
1133
|
}
|
|
1054
1134
|
|
|
1055
1135
|
.preview-loading { font-size: 13px; color: var(--harmony-text-muted); }
|
|
@@ -1298,6 +1378,19 @@
|
|
|
1298
1378
|
.visual-attachment-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
|
|
1299
1379
|
.visual-attachment-remove-file { background: transparent; border: none; color: var(--harmony-text-muted); cursor: pointer; font-size: 14px; line-height: 1; padding: 0 4px; }
|
|
1300
1380
|
.visual-attachment-remove-file:hover { color: var(--harmony-danger); }
|
|
1381
|
+
.visual-attachment-chip-actions {
|
|
1382
|
+
display: flex;
|
|
1383
|
+
flex-direction: column;
|
|
1384
|
+
align-items: center;
|
|
1385
|
+
gap: 2px;
|
|
1386
|
+
flex-shrink: 0;
|
|
1387
|
+
}
|
|
1388
|
+
.visual-attachment-number {
|
|
1389
|
+
font-size: 10px;
|
|
1390
|
+
font-weight: 600;
|
|
1391
|
+
color: var(--harmony-primary);
|
|
1392
|
+
line-height: 1;
|
|
1393
|
+
}
|
|
1301
1394
|
.file-input-hidden { display: none; }
|
|
1302
1395
|
.visual-error { font-size: 12px; color: var(--harmony-danger); }
|
|
1303
1396
|
.visual-submit-error { font-size: 12px; color: var(--harmony-danger); margin: 0; padding: 0 2px; }
|
|
@@ -2424,6 +2517,71 @@
|
|
|
2424
2517
|
color: var(--harmony-text);
|
|
2425
2518
|
border-bottom-color: var(--harmony-primary);
|
|
2426
2519
|
}
|
|
2520
|
+
.add-page-tab--generating {
|
|
2521
|
+
color: var(--harmony-primary);
|
|
2522
|
+
}
|
|
2523
|
+
.add-page-brief-generating-overlay {
|
|
2524
|
+
position: absolute;
|
|
2525
|
+
inset: 0;
|
|
2526
|
+
z-index: 3;
|
|
2527
|
+
display: flex;
|
|
2528
|
+
flex-direction: column;
|
|
2529
|
+
align-items: center;
|
|
2530
|
+
justify-content: center;
|
|
2531
|
+
gap: 10px;
|
|
2532
|
+
background: rgba(255, 255, 255, 0.78);
|
|
2533
|
+
backdrop-filter: blur(6px);
|
|
2534
|
+
-webkit-backdrop-filter: blur(6px);
|
|
2535
|
+
border-radius: var(--harmony-radius-sm);
|
|
2536
|
+
pointer-events: auto;
|
|
2537
|
+
}
|
|
2538
|
+
.add-page-brief-generating-overlay .add-page-hint {
|
|
2539
|
+
margin: 0;
|
|
2540
|
+
font-size: 13px;
|
|
2541
|
+
color: var(--harmony-text-secondary);
|
|
2542
|
+
}
|
|
2543
|
+
.add-page-brief-generating-stop {
|
|
2544
|
+
flex: 0;
|
|
2545
|
+
padding: 4px 12px;
|
|
2546
|
+
font-size: 12px;
|
|
2547
|
+
}
|
|
2548
|
+
.add-page-textarea:disabled {
|
|
2549
|
+
opacity: 0.55;
|
|
2550
|
+
cursor: not-allowed;
|
|
2551
|
+
}
|
|
2552
|
+
.add-page-discard-confirm-overlay {
|
|
2553
|
+
position: absolute;
|
|
2554
|
+
inset: 0;
|
|
2555
|
+
z-index: 30;
|
|
2556
|
+
background: rgba(22, 45, 61, 0.45);
|
|
2557
|
+
display: flex;
|
|
2558
|
+
align-items: center;
|
|
2559
|
+
justify-content: center;
|
|
2560
|
+
padding: 24px;
|
|
2561
|
+
box-sizing: border-box;
|
|
2562
|
+
}
|
|
2563
|
+
.add-page-discard-confirm-dialog {
|
|
2564
|
+
background: var(--harmony-bg-surface);
|
|
2565
|
+
border: 1px solid var(--harmony-border);
|
|
2566
|
+
border-radius: var(--harmony-radius-lg);
|
|
2567
|
+
width: min(400px, 100%);
|
|
2568
|
+
padding: 20px 24px;
|
|
2569
|
+
box-shadow: var(--harmony-shadow-lg);
|
|
2570
|
+
display: flex;
|
|
2571
|
+
flex-direction: column;
|
|
2572
|
+
gap: 16px;
|
|
2573
|
+
}
|
|
2574
|
+
.add-page-discard-confirm-msg {
|
|
2575
|
+
margin: 0;
|
|
2576
|
+
font-size: 14px;
|
|
2577
|
+
line-height: 1.45;
|
|
2578
|
+
color: var(--harmony-text);
|
|
2579
|
+
}
|
|
2580
|
+
.add-page-discard-confirm-actions {
|
|
2581
|
+
display: flex;
|
|
2582
|
+
justify-content: flex-end;
|
|
2583
|
+
gap: 8px;
|
|
2584
|
+
}
|
|
2427
2585
|
.add-page-tab-panel {
|
|
2428
2586
|
display: flex;
|
|
2429
2587
|
flex-direction: column;
|
|
@@ -2461,6 +2619,9 @@
|
|
|
2461
2619
|
.asset-mention-autocomplete[hidden] {
|
|
2462
2620
|
display: none !important;
|
|
2463
2621
|
}
|
|
2622
|
+
.asset-mention-autocomplete--above {
|
|
2623
|
+
transform: translateY(-100%);
|
|
2624
|
+
}
|
|
2464
2625
|
.asset-mention-header {
|
|
2465
2626
|
display: flex;
|
|
2466
2627
|
align-items: center;
|
|
@@ -2689,12 +2850,28 @@
|
|
|
2689
2850
|
padding: 24px;
|
|
2690
2851
|
box-sizing: border-box;
|
|
2691
2852
|
}
|
|
2853
|
+
.add-page-brief-fill-popover-stack {
|
|
2854
|
+
display: flex;
|
|
2855
|
+
flex-direction: column;
|
|
2856
|
+
align-items: center;
|
|
2857
|
+
gap: 10px;
|
|
2858
|
+
width: min(420px, 100%);
|
|
2859
|
+
max-height: 90%;
|
|
2860
|
+
}
|
|
2861
|
+
.add-page-brief-fill-stop-confirm {
|
|
2862
|
+
align-self: center;
|
|
2863
|
+
max-width: 100%;
|
|
2864
|
+
white-space: normal;
|
|
2865
|
+
text-align: center;
|
|
2866
|
+
flex-wrap: wrap;
|
|
2867
|
+
justify-content: center;
|
|
2868
|
+
}
|
|
2692
2869
|
.add-page-brief-fill-panel {
|
|
2693
2870
|
background: var(--harmony-bg-surface);
|
|
2694
2871
|
border: 1px solid var(--harmony-border);
|
|
2695
2872
|
border-radius: var(--harmony-radius-md);
|
|
2696
|
-
width:
|
|
2697
|
-
max-height:
|
|
2873
|
+
width: 100%;
|
|
2874
|
+
max-height: 100%;
|
|
2698
2875
|
overflow: auto;
|
|
2699
2876
|
padding: 14px 16px;
|
|
2700
2877
|
display: flex;
|
|
@@ -2858,6 +3035,11 @@
|
|
|
2858
3035
|
.add-page-dropzone .add-page-btn--compact {
|
|
2859
3036
|
flex: 0 0 auto;
|
|
2860
3037
|
}
|
|
3038
|
+
.add-page-dropzone--disabled {
|
|
3039
|
+
opacity: 0.45;
|
|
3040
|
+
cursor: not-allowed;
|
|
3041
|
+
pointer-events: none;
|
|
3042
|
+
}
|
|
2861
3043
|
.add-page-chips { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
|
|
2862
3044
|
.add-page-chip {
|
|
2863
3045
|
display: flex;
|
|
@@ -3772,6 +3954,7 @@ data:
|
|
|
3772
3954
|
isSelected: boolean
|
|
3773
3955
|
checkGlyph: string
|
|
3774
3956
|
cssClass: string
|
|
3957
|
+
rowCssClass: string
|
|
3775
3958
|
showPagesPanelEmptySearch: boolean
|
|
3776
3959
|
showInstanceSwitcher: boolean
|
|
3777
3960
|
showInstanceSwitcherMenu: boolean
|
|
@@ -3997,6 +4180,7 @@ data:
|
|
|
3997
4180
|
showAssetMentionPanel: boolean
|
|
3998
4181
|
assetMentionLeft: number
|
|
3999
4182
|
assetMentionTop: number
|
|
4183
|
+
assetMentionOpensAbove: boolean
|
|
4000
4184
|
assetMentionHeaderTitle: string
|
|
4001
4185
|
showAssetMentionHeaderBack: boolean
|
|
4002
4186
|
showAssetMentionSearchField: boolean
|
|
@@ -4017,6 +4201,7 @@ data:
|
|
|
4017
4201
|
toastMessage: string
|
|
4018
4202
|
isPreviewMode: boolean
|
|
4019
4203
|
previewUrlBar: string
|
|
4204
|
+
previewUrlBarOpenTabDisabled: boolean
|
|
4020
4205
|
previewLoading: boolean
|
|
4021
4206
|
previewError: string
|
|
4022
4207
|
selectedPreviewPath: string
|
|
@@ -4083,6 +4268,7 @@ data:
|
|
|
4083
4268
|
name: string
|
|
4084
4269
|
thumbUrl: string
|
|
4085
4270
|
annotationId: string
|
|
4271
|
+
numberLabel: string
|
|
4086
4272
|
addMenuSectionOpen: boolean
|
|
4087
4273
|
showAddMenuControls: boolean
|
|
4088
4274
|
showMarkerAddMenuChips: boolean
|
|
@@ -4119,11 +4305,13 @@ data:
|
|
|
4119
4305
|
name: string
|
|
4120
4306
|
thumbUrl: string
|
|
4121
4307
|
annotationId: string
|
|
4308
|
+
numberLabel: string
|
|
4122
4309
|
recordingDraftAttachmentChips:
|
|
4123
4310
|
- key: string
|
|
4124
4311
|
name: string
|
|
4125
4312
|
thumbUrl: string
|
|
4126
4313
|
annotationId: string
|
|
4314
|
+
numberLabel: string
|
|
4127
4315
|
showRecordingDraftPopover: boolean
|
|
4128
4316
|
showVisualAnnotationsPanel: boolean
|
|
4129
4317
|
showVisualSubmitError: boolean
|
|
@@ -4185,6 +4373,7 @@ data:
|
|
|
4185
4373
|
name: string
|
|
4186
4374
|
thumbUrl: string
|
|
4187
4375
|
annotationId: string
|
|
4376
|
+
numberLabel: string
|
|
4188
4377
|
addMenuSectionOpen: boolean
|
|
4189
4378
|
showAddMenuControls: boolean
|
|
4190
4379
|
showMarkerAddMenuChips: boolean
|
|
@@ -4272,6 +4461,7 @@ data:
|
|
|
4272
4461
|
name: string
|
|
4273
4462
|
thumbUrl: string
|
|
4274
4463
|
annotationId: string
|
|
4464
|
+
numberLabel: string
|
|
4275
4465
|
addMenuSectionOpen: boolean
|
|
4276
4466
|
showAddMenuControls: boolean
|
|
4277
4467
|
showMarkerAddMenuChips: boolean
|
|
@@ -4396,12 +4586,24 @@ data:
|
|
|
4396
4586
|
briefFillContextNotes: string
|
|
4397
4587
|
briefFillPopoverError: string
|
|
4398
4588
|
showBriefFillPopoverError: boolean
|
|
4399
|
-
|
|
4589
|
+
briefFillContentDisabled: boolean
|
|
4590
|
+
briefFillDesignDisabled: boolean
|
|
4400
4591
|
briefFillInputDisabled: boolean
|
|
4401
4592
|
briefFillDropzoneClass: string
|
|
4402
4593
|
addPageBriefFillGenerateDisabled: boolean
|
|
4403
|
-
|
|
4404
|
-
|
|
4594
|
+
contentTabGeneratingHint: string
|
|
4595
|
+
designTabGeneratingHint: string
|
|
4596
|
+
showContentTabGeneratingHint: boolean
|
|
4597
|
+
showDesignTabGeneratingHint: boolean
|
|
4598
|
+
contentGenError: string
|
|
4599
|
+
designGenError: string
|
|
4600
|
+
showContentTabGenError: boolean
|
|
4601
|
+
showDesignTabGenError: boolean
|
|
4602
|
+
addPageContentMdDisabled: boolean
|
|
4603
|
+
addPageDesignMdDisabled: boolean
|
|
4604
|
+
addPageReferencesDisabled: boolean
|
|
4605
|
+
addPageReferencesDropzoneClass: string
|
|
4606
|
+
showAddPageDiscardConfirm: boolean
|
|
4405
4607
|
showBriefFillThumbnails: boolean
|
|
4406
4608
|
addPageBriefFillThumbRows:
|
|
4407
4609
|
- rowKey: string
|
|
@@ -4495,17 +4697,31 @@ data:
|
|
|
4495
4697
|
</div>
|
|
4496
4698
|
<div class="harmony-routes-panel-body">
|
|
4497
4699
|
<p class="harmony-routes-panel-empty" if="showPagesPanelEmptySearch">No routes match your search.</p>
|
|
4498
|
-
<
|
|
4499
|
-
type="button"
|
|
4700
|
+
<div
|
|
4500
4701
|
forEach="filteredPageRouteRows"
|
|
4501
4702
|
trackBy="url"
|
|
4502
|
-
class="{
|
|
4503
|
-
data-route-url="{url}"
|
|
4504
|
-
data-routes-panel-route=""
|
|
4703
|
+
class="{rowCssClass}"
|
|
4505
4704
|
>
|
|
4506
|
-
<
|
|
4507
|
-
|
|
4508
|
-
|
|
4705
|
+
<button
|
|
4706
|
+
type="button"
|
|
4707
|
+
class="{cssClass}"
|
|
4708
|
+
data-route-url="{url}"
|
|
4709
|
+
data-routes-panel-route=""
|
|
4710
|
+
>
|
|
4711
|
+
<span class="harmony-routes-panel-check">{checkGlyph}</span>
|
|
4712
|
+
<span class="harmony-routes-panel-item-label">{label}</span>
|
|
4713
|
+
</button>
|
|
4714
|
+
<button
|
|
4715
|
+
type="button"
|
|
4716
|
+
class="harmony-routes-panel-open-tab"
|
|
4717
|
+
data-route-url="{url}"
|
|
4718
|
+
data-routes-panel-open-tab=""
|
|
4719
|
+
aria-label="Open route in new tab"
|
|
4720
|
+
title="Open in new tab"
|
|
4721
|
+
>
|
|
4722
|
+
<span class="harmony-routes-panel-open-tab-icon" aria-hidden="true"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.25 5C11.6642 5 12 5.33579 12 5.75C12 6.16421 11.6642 6.5 11.25 6.5H7C6.72421 6.5 6.5 6.72421 6.5 7V17C6.5 17.2758 6.72421 17.5 7 17.5H17C17.2758 17.5 17.5 17.2758 17.5 17V12.75C17.5 12.3358 17.8358 12 18.25 12C18.6642 12 19 12.3358 19 12.75V17C19 18.1042 18.1042 19 17 19H7C5.89579 19 5 18.1042 5 17V7C5 5.89579 5.89579 5 7 5H11.25Z" fill="currentColor"/><path d="M18.25 5C18.6642 5 19 5.33579 19 5.75V9.25C19 9.66421 18.6642 10 18.25 10C17.8358 10 17.5 9.66421 17.5 9.25V7.56055L15.2803 9.78027C14.9874 10.0732 14.5126 10.0732 14.2197 9.78027C13.9268 9.48738 13.9268 9.01262 14.2197 8.71973L16.4395 6.5H14.75C14.3358 6.5 14 6.16421 14 5.75C14 5.33579 14.3358 5 14.75 5H18.25Z" fill="currentColor"/></svg></span>
|
|
4723
|
+
</button>
|
|
4724
|
+
</div>
|
|
4509
4725
|
</div>
|
|
4510
4726
|
</div>
|
|
4511
4727
|
</div>
|
|
@@ -4607,7 +4823,19 @@ data:
|
|
|
4607
4823
|
</button>
|
|
4608
4824
|
</div>
|
|
4609
4825
|
<div class="url-bar-wrap harmony-url-bar-wrap">
|
|
4610
|
-
<div class="url-bar">
|
|
4826
|
+
<div class="url-bar">
|
|
4827
|
+
<span class="url-bar-text">{previewUrlBar}</span>
|
|
4828
|
+
<button
|
|
4829
|
+
type="button"
|
|
4830
|
+
class="url-bar-open-tab"
|
|
4831
|
+
ref="previewUrlBarOpenTabBtn"
|
|
4832
|
+
disabled="previewUrlBarOpenTabDisabled"
|
|
4833
|
+
aria-label="Open preview in new tab"
|
|
4834
|
+
title="Open in new tab"
|
|
4835
|
+
>
|
|
4836
|
+
<span class="harmony-routes-panel-open-tab-icon" aria-hidden="true"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.25 5C11.6642 5 12 5.33579 12 5.75C12 6.16421 11.6642 6.5 11.25 6.5H7C6.72421 6.5 6.5 6.72421 6.5 7V17C6.5 17.2758 6.72421 17.5 7 17.5H17C17.2758 17.5 17.5 17.2758 17.5 17V12.75C17.5 12.3358 17.8358 12 18.25 12C18.6642 12 19 12.3358 19 12.75V17C19 18.1042 18.1042 19 17 19H7C5.89579 19 5 18.1042 5 17V7C5 5.89579 5.89579 5 7 5H11.25Z" fill="currentColor"/><path d="M18.25 5C18.6642 5 19 5.33579 19 5.75V9.25C19 9.66421 18.6642 10 18.25 10C17.8358 10 17.5 9.66421 17.5 9.25V7.56055L15.2803 9.78027C14.9874 10.0732 14.5126 10.0732 14.2197 9.78027C13.9268 9.48738 13.9268 9.01262 14.2197 8.71973L16.4395 6.5H14.75C14.3358 6.5 14 6.16421 14 5.75C14 5.33579 14.3358 5 14.75 5H18.25Z" fill="currentColor"/></svg></span>
|
|
4837
|
+
</button>
|
|
4838
|
+
</div>
|
|
4611
4839
|
</div>
|
|
4612
4840
|
<div class="canvas-chrome-right harmony-breakpoint-tools" if="showVisualToolbar">
|
|
4613
4841
|
<button type="button" class="{breakpointDesktopOn ? visual-tool-on} visual-tool-btn" ref="breakpointDesktopBtn" title="Desktop (1280px)"><svg width="16" height="13" viewBox="0 0 16 13" fill="none"><rect x="0.7" y="0.7" width="14.6" height="9.1" rx="1.1" stroke="currentColor" stroke-width="1.4"/><path d="M5.5 9.8v2M10.5 9.8v2M3.5 11.8h9" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg></button>
|
|
@@ -4687,13 +4915,16 @@ data:
|
|
|
4687
4915
|
<div class="visual-attachment-chip">
|
|
4688
4916
|
<img if="thumbUrl" class="visual-attachment-thumb" src="{thumbUrl}" alt="" />
|
|
4689
4917
|
<span class="visual-attachment-name">{name}</span>
|
|
4690
|
-
<
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
|
|
4918
|
+
<div class="visual-attachment-chip-actions">
|
|
4919
|
+
<button
|
|
4920
|
+
type="button"
|
|
4921
|
+
class="visual-attachment-remove-file"
|
|
4922
|
+
data-annotation-id="{annotationId}"
|
|
4923
|
+
data-att-key="{key}"
|
|
4924
|
+
aria-label="Remove attachment"
|
|
4925
|
+
>×</button>
|
|
4926
|
+
<span class="visual-attachment-number">{numberLabel}</span>
|
|
4927
|
+
</div>
|
|
4697
4928
|
</div>
|
|
4698
4929
|
</div>
|
|
4699
4930
|
</div>
|
|
@@ -4734,13 +4965,16 @@ data:
|
|
|
4734
4965
|
<div class="visual-attachment-chip">
|
|
4735
4966
|
<img if="thumbUrl" class="visual-attachment-thumb" src="{thumbUrl}" alt="" />
|
|
4736
4967
|
<span class="visual-attachment-name">{name}</span>
|
|
4737
|
-
<
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4968
|
+
<div class="visual-attachment-chip-actions">
|
|
4969
|
+
<button
|
|
4970
|
+
type="button"
|
|
4971
|
+
class="visual-attachment-remove-file"
|
|
4972
|
+
data-annotation-id="{annotationId}"
|
|
4973
|
+
data-att-key="{key}"
|
|
4974
|
+
aria-label="Remove attachment"
|
|
4975
|
+
>×</button>
|
|
4976
|
+
<span class="visual-attachment-number">{numberLabel}</span>
|
|
4977
|
+
</div>
|
|
4744
4978
|
</div>
|
|
4745
4979
|
</div>
|
|
4746
4980
|
</div>
|
|
@@ -5012,9 +5246,14 @@ data:
|
|
|
5012
5246
|
<div class="add-page-section-label">Content</div>
|
|
5013
5247
|
<p class="add-page-hint">Behavior, plugins, contracts, interactions, copy.</p>
|
|
5014
5248
|
<div class="add-page-textarea-wrap">
|
|
5015
|
-
<textarea class="add-page-textarea" ref="addPageContentMd" placeholder="# Pricing page - Headless: none (static marketing page) - Show 3 tiers: Starter / Pro / Enterprise" value="{addPageContentMd}"></textarea>
|
|
5016
|
-
<
|
|
5249
|
+
<textarea class="add-page-textarea" ref="addPageContentMd" placeholder="# Pricing page - Headless: none (static marketing page) - Show 3 tiers: Starter / Pro / Enterprise" value="{addPageContentMd}" disabled="addPageContentMdDisabled"></textarea>
|
|
5250
|
+
<div class="add-page-brief-generating-overlay" if="showContentTabGeneratingHint">
|
|
5251
|
+
<p class="add-page-hint">{contentTabGeneratingHint}</p>
|
|
5252
|
+
<button type="button" class="add-page-btn add-page-btn-cancel add-page-brief-generating-stop" ref="addPageBriefFillStopContentBtn">Stop</button>
|
|
5253
|
+
</div>
|
|
5254
|
+
<button type="button" class="add-page-fill-image-btn" ref="addPageFillContentFromImageBtn" title="Fill content from images to inspire the new page — page snapshot, Figma export, or any reference site" aria-label="Fill content from images" disabled="briefFillContentDisabled"><svg class="add-page-fill-image-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" overflow="visible" aria-hidden="true"><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z" /><circle cx="12" cy="13" r="3" /></svg></button>
|
|
5017
5255
|
</div>
|
|
5256
|
+
<p class="add-page-field-error" if="showContentTabGenError">{contentGenError}</p>
|
|
5018
5257
|
</div>
|
|
5019
5258
|
</section>
|
|
5020
5259
|
<section class="add-page-tab-panel" if="showAddPageDesignTab" role="tabpanel">
|
|
@@ -5022,21 +5261,26 @@ data:
|
|
|
5022
5261
|
<div class="add-page-section-label">Design</div>
|
|
5023
5262
|
<p class="add-page-hint">Layout, colors, typography, breakpoints.</p>
|
|
5024
5263
|
<div class="add-page-textarea-wrap">
|
|
5025
|
-
<textarea class="add-page-textarea" ref="addPageDesignMd" placeholder="- Match site header from home - Hero: centered H1, muted subtitle (#888)" value="{addPageDesignMd}"></textarea>
|
|
5026
|
-
<
|
|
5264
|
+
<textarea class="add-page-textarea" ref="addPageDesignMd" placeholder="- Match site header from home - Hero: centered H1, muted subtitle (#888)" value="{addPageDesignMd}" disabled="addPageDesignMdDisabled"></textarea>
|
|
5265
|
+
<div class="add-page-brief-generating-overlay" if="showDesignTabGeneratingHint">
|
|
5266
|
+
<p class="add-page-hint">{designTabGeneratingHint}</p>
|
|
5267
|
+
<button type="button" class="add-page-btn add-page-btn-cancel add-page-brief-generating-stop" ref="addPageBriefFillStopDesignBtn">Stop</button>
|
|
5268
|
+
</div>
|
|
5269
|
+
<button type="button" class="add-page-fill-image-btn" ref="addPageFillDesignFromImageBtn" title="Fill design from images to inspire the new page — page snapshot, Figma export, or any reference site" aria-label="Fill design from images" disabled="briefFillDesignDisabled"><svg class="add-page-fill-image-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" overflow="visible" aria-hidden="true"><path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z" /><circle cx="12" cy="13" r="3" /></svg></button>
|
|
5027
5270
|
</div>
|
|
5271
|
+
<p class="add-page-field-error" if="showDesignTabGenError">{designGenError}</p>
|
|
5028
5272
|
<p class="add-page-hint" if="addPageShowDesignHint">Add a mock or screenshot for better layout fidelity.</p>
|
|
5029
5273
|
</div>
|
|
5030
5274
|
</section>
|
|
5031
5275
|
<section class="add-page-references">
|
|
5032
5276
|
<div class="add-page-references-row">
|
|
5033
|
-
<div class="
|
|
5277
|
+
<div class="{addPageReferencesDropzoneClass}" ref="addPageReferenceDrop">
|
|
5034
5278
|
<span class="add-page-dropzone-text">Drop <strong>REFERENCES</strong> files here</span>
|
|
5035
5279
|
<span class="add-page-dropzone-separator">or</span>
|
|
5036
|
-
<button type="button" class="add-page-btn add-page-btn-cancel add-page-btn--compact" ref="addPageAttachReferenceBtn">Upload from Computer</button>
|
|
5280
|
+
<button type="button" class="add-page-btn add-page-btn-cancel add-page-btn--compact" ref="addPageAttachReferenceBtn" disabled="addPageReferencesDisabled">Upload from Computer</button>
|
|
5037
5281
|
</div>
|
|
5038
5282
|
</div>
|
|
5039
|
-
<input type="file" class="add-page-hidden-file" ref="addPageReferenceFileInput" multiple />
|
|
5283
|
+
<input type="file" class="add-page-hidden-file" ref="addPageReferenceFileInput" multiple disabled="addPageReferencesDisabled" />
|
|
5040
5284
|
<p class="add-page-hint" if="showAddPageUploadHint">{addPageUploadHint}</p>
|
|
5041
5285
|
<div class="add-page-chips" ref="addPageAttachmentsList" if="showAddPageAttachments">
|
|
5042
5286
|
<div class="add-page-chip" forEach="addPageAttachmentRows" trackBy="rowKey">
|
|
@@ -5060,28 +5304,38 @@ data:
|
|
|
5060
5304
|
<button type="button" class="add-page-btn add-page-btn-primary" ref="addPageCreateBtn" disabled="addPageCreateDisabled">Create page</button>
|
|
5061
5305
|
</div>
|
|
5062
5306
|
<div class="add-page-brief-fill-popover" if="showBriefFillPopover" ref="addPageBriefFillPopover">
|
|
5063
|
-
<div class="add-page-brief-fill-
|
|
5064
|
-
<div class="add-page-brief-fill-
|
|
5065
|
-
<
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
|
|
5069
|
-
|
|
5070
|
-
<
|
|
5071
|
-
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
<div class="add-page-brief-fill-
|
|
5076
|
-
<
|
|
5077
|
-
|
|
5307
|
+
<div class="add-page-brief-fill-popover-stack">
|
|
5308
|
+
<div class="add-page-brief-fill-panel">
|
|
5309
|
+
<div class="add-page-brief-fill-header">
|
|
5310
|
+
<span class="add-page-brief-fill-title">Fill from image</span>
|
|
5311
|
+
<button type="button" class="add-page-close" ref="addPageBriefFillCloseBtn" aria-label="Close">×</button>
|
|
5312
|
+
</div>
|
|
5313
|
+
<p class="add-page-hint">Add at least one screenshot. Optional notes help the AI (e.g. Image 1 = desktop, Image 2 = mobile).</p>
|
|
5314
|
+
<label class="add-page-hint">Context notes
|
|
5315
|
+
<textarea class="add-page-brief-fill-context" ref="addPageBriefFillContextNotes" placeholder="Route: /pricing Match header from home Image 2 = mobile frame" value="{briefFillContextNotes}" disabled="briefFillInputDisabled"></textarea>
|
|
5316
|
+
</label>
|
|
5317
|
+
<div class="{briefFillDropzoneClass}" ref="addPageBriefFillDropzone" tabindex="0">Paste (⌘V), drag-drop, or click to upload (max 5 images)</div>
|
|
5318
|
+
<input type="file" class="add-page-hidden-file" ref="addPageBriefFillFileInput" accept="image/*" multiple disabled="briefFillInputDisabled" />
|
|
5319
|
+
<div class="add-page-brief-fill-thumbs" ref="addPageBriefFillThumbnails" if="showBriefFillThumbnails">
|
|
5320
|
+
<div class="add-page-brief-fill-thumb" forEach="addPageBriefFillThumbRows" trackBy="rowKey">
|
|
5321
|
+
<img src="{thumbUrl}" alt="{name}" />
|
|
5322
|
+
<button type="button" class="add-page-brief-fill-thumb-remove" data-brief-fill-remove="{index}" disabled="removeDisabled">×</button>
|
|
5323
|
+
</div>
|
|
5324
|
+
</div>
|
|
5325
|
+
<p class="add-page-field-error" if="showBriefFillPopoverError">{briefFillPopoverError}</p>
|
|
5326
|
+
<div class="add-page-brief-fill-actions">
|
|
5327
|
+
<button type="button" class="add-page-btn add-page-btn-cancel" ref="addPageBriefFillCancelBtn">Cancel</button>
|
|
5328
|
+
<button type="button" class="add-page-btn add-page-btn-primary" ref="addPageBriefFillGenerateBtn" disabled="addPageBriefFillGenerateDisabled" style="flex:0">Generate</button>
|
|
5078
5329
|
</div>
|
|
5079
5330
|
</div>
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5331
|
+
</div>
|
|
5332
|
+
</div>
|
|
5333
|
+
<div class="add-page-discard-confirm-overlay" if="showAddPageDiscardConfirm" ref="addPageDiscardConfirmOverlay" role="alertdialog" aria-modal="true" aria-live="polite" aria-label="Confirm discard Add Page draft">
|
|
5334
|
+
<div class="add-page-discard-confirm-dialog">
|
|
5335
|
+
<p class="add-page-discard-confirm-msg">Discard Add Page draft? Unsaved content, design notes, and attachments will be lost.</p>
|
|
5336
|
+
<div class="add-page-discard-confirm-actions">
|
|
5337
|
+
<button type="button" class="add-page-btn add-page-btn-cancel" ref="addPageDiscardDismissBtn">Keep editing</button>
|
|
5338
|
+
<button type="button" class="add-page-btn add-page-btn-primary" ref="addPageDiscardConfirmBtn" style="flex:0">Discard</button>
|
|
5085
5339
|
</div>
|
|
5086
5340
|
</div>
|
|
5087
5341
|
</div>
|
|
@@ -5185,11 +5439,11 @@ data:
|
|
|
5185
5439
|
if="showAddMenuDock"
|
|
5186
5440
|
ref="addMenuDockPanel"
|
|
5187
5441
|
role="dialog"
|
|
5188
|
-
aria-label="Add
|
|
5442
|
+
aria-label="+ Add Requests"
|
|
5189
5443
|
style="left: {addMenuDockLeft}px; top: {addMenuDockTop}px;"
|
|
5190
5444
|
>
|
|
5191
5445
|
<div class="add-menu-dock-header" ref="addMenuDockHeader">
|
|
5192
|
-
<span class="add-menu-dock-title"
|
|
5446
|
+
<span class="add-menu-dock-title">+ Add Requests</span>
|
|
5193
5447
|
<button type="button" class="add-menu-picker-close" ref="addMenuDockCloseBtn" aria-label="Close">×</button>
|
|
5194
5448
|
</div>
|
|
5195
5449
|
<p class="add-menu-dock-subhint">Drag elements onto the page preview to place them. Click reference items to add @mentions when a marker is focused.</p>
|
|
@@ -5243,7 +5497,7 @@ data:
|
|
|
5243
5497
|
<div class="aiditor-toast" if="showToastMessage" role="status" aria-live="polite">{toastMessage}</div>
|
|
5244
5498
|
|
|
5245
5499
|
<div
|
|
5246
|
-
class="asset-mention-autocomplete"
|
|
5500
|
+
class="{assetMentionOpensAbove ? asset-mention-autocomplete--above} asset-mention-autocomplete"
|
|
5247
5501
|
if="showAssetMentionPanel"
|
|
5248
5502
|
ref="assetMentionPanel"
|
|
5249
5503
|
role="listbox"
|
|
@@ -5499,13 +5753,16 @@ data:
|
|
|
5499
5753
|
<div class="visual-attachment-chip">
|
|
5500
5754
|
<img if="thumbUrl" class="visual-attachment-thumb" src="{thumbUrl}" alt="" />
|
|
5501
5755
|
<span class="visual-attachment-name">{name}</span>
|
|
5502
|
-
<
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5756
|
+
<div class="visual-attachment-chip-actions">
|
|
5757
|
+
<button
|
|
5758
|
+
type="button"
|
|
5759
|
+
class="visual-attachment-remove-file"
|
|
5760
|
+
data-annotation-id="{annotationId}"
|
|
5761
|
+
data-att-key="{key}"
|
|
5762
|
+
aria-label="Remove attachment"
|
|
5763
|
+
>×</button>
|
|
5764
|
+
<span class="visual-attachment-number">{numberLabel}</span>
|
|
5765
|
+
</div>
|
|
5509
5766
|
</div>
|
|
5510
5767
|
</div>
|
|
5511
5768
|
</div>
|
|
@@ -5640,13 +5897,16 @@ data:
|
|
|
5640
5897
|
<div class="visual-attachment-chip">
|
|
5641
5898
|
<img if="thumbUrl" class="visual-attachment-thumb" src="{thumbUrl}" alt="" />
|
|
5642
5899
|
<span class="visual-attachment-name">{name}</span>
|
|
5643
|
-
<
|
|
5644
|
-
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
|
|
5649
|
-
|
|
5900
|
+
<div class="visual-attachment-chip-actions">
|
|
5901
|
+
<button
|
|
5902
|
+
type="button"
|
|
5903
|
+
class="visual-attachment-remove-file"
|
|
5904
|
+
data-annotation-id="{annotationId}"
|
|
5905
|
+
data-att-key="{key}"
|
|
5906
|
+
aria-label="Remove attachment"
|
|
5907
|
+
>×</button>
|
|
5908
|
+
<span class="visual-attachment-number">{numberLabel}</span>
|
|
5909
|
+
</div>
|
|
5650
5910
|
</div>
|
|
5651
5911
|
</div>
|
|
5652
5912
|
</div>
|