@pb33f/cowboy-components 0.14.1 → 0.15.1
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/{_baseUniq-Co8RB71y.cjs → _baseUniq-CcxAQehO.cjs} +1 -1
- package/dist/{_baseUniq-CcG8uZM_.js → _baseUniq-D4rJF50w.js} +1 -1
- package/dist/{arc-CZ9OyfV-.js → arc-BBcL5DDo.js} +2 -2
- package/dist/{arc-D5LG9aVl.cjs → arc-DRXUQifE.cjs} +1 -1
- package/dist/{architecture-YZFGNWBL-CuyaOcgJ.cjs → architecture-YZFGNWBL-3WXQ3I4D.cjs} +1 -1
- package/dist/{architecture-YZFGNWBL-ne59NWt0.js → architecture-YZFGNWBL-6bXiGt6C.js} +1 -1
- package/dist/{architectureDiagram-Q4EWVU46-CxErVIKm.cjs → architectureDiagram-Q4EWVU46-BTMeQ3OF.cjs} +1 -1
- package/dist/{architectureDiagram-Q4EWVU46-ibaXfmmT.js → architectureDiagram-Q4EWVU46-DUvNnA5F.js} +4 -4
- package/dist/{blockDiagram-DXYQGD6D-D5vqojm8.js → blockDiagram-DXYQGD6D-DC7S-9ly.js} +6 -6
- package/dist/{blockDiagram-DXYQGD6D-iFIpSW7Y.cjs → blockDiagram-DXYQGD6D-DKjoamdG.cjs} +1 -1
- package/dist/{c4Diagram-AHTNJAMY-Av_INk2v.cjs → c4Diagram-AHTNJAMY-1cZN1b1j.cjs} +1 -1
- package/dist/{c4Diagram-AHTNJAMY-B7t5p6jA.js → c4Diagram-AHTNJAMY-C2HM5L5y.js} +2 -2
- package/dist/{change-list-item-Bu_mPv-k.js → change-list-item-BRSBlaLu.js} +348 -350
- package/dist/{change-list-item-4xBSo3-U.cjs → change-list-item-Dy1GNFQ8.cjs} +91 -91
- package/dist/{channel-BvR-WhLo.js → channel-BKDLVUWb.js} +1 -1
- package/dist/{channel-DO31wbvk.cjs → channel-BlCJ7xlY.cjs} +1 -1
- package/dist/{chunk-4BX2VUAB-DQ4rU_AZ.js → chunk-4BX2VUAB-CnfyXlfw.js} +1 -1
- package/dist/{chunk-4BX2VUAB-DHdTrTTD.cjs → chunk-4BX2VUAB-NW_XCCwP.cjs} +1 -1
- package/dist/{chunk-4TB4RGXK-BlskfrH8.cjs → chunk-4TB4RGXK-BJ99eS9b.cjs} +1 -1
- package/dist/{chunk-4TB4RGXK-BK_uuzSP.js → chunk-4TB4RGXK-gKPXAguU.js} +5 -5
- package/dist/{chunk-55IACEB6-BauZDeFH.js → chunk-55IACEB6-CU9_jSXF.js} +1 -1
- package/dist/{chunk-55IACEB6-CRJ5yCrP.cjs → chunk-55IACEB6-DDpMGjZ2.cjs} +1 -1
- package/dist/{chunk-EDXVE4YY-BrlRuHp3.cjs → chunk-EDXVE4YY-_kGe71HQ.cjs} +1 -1
- package/dist/{chunk-EDXVE4YY-DPpXfrr8.js → chunk-EDXVE4YY-hC5XWKZE.js} +1 -1
- package/dist/{chunk-FMBD7UC4-CtyzUnzx.js → chunk-FMBD7UC4-B3Zm2tua.js} +1 -1
- package/dist/{chunk-FMBD7UC4-0x38b8wg.cjs → chunk-FMBD7UC4-BeU0NsyZ.cjs} +1 -1
- package/dist/{chunk-OYMX7WX6-DU4Zqa7r.cjs → chunk-OYMX7WX6-BS0iw8z2.cjs} +1 -1
- package/dist/{chunk-OYMX7WX6-U53KZXxw.js → chunk-OYMX7WX6-N_-WeqFw.js} +3 -3
- package/dist/{chunk-QZHKN3VN-Dyhr8mWm.cjs → chunk-QZHKN3VN-BXMAYBIS.cjs} +1 -1
- package/dist/{chunk-QZHKN3VN-BhntY1rB.js → chunk-QZHKN3VN-mAIfp7aM.js} +1 -1
- package/dist/{chunk-YZCP3GAM--UtgfYoK.js → chunk-YZCP3GAM-BA9Cb_dj.js} +1 -1
- package/dist/{chunk-YZCP3GAM-B_2rYHHe.cjs → chunk-YZCP3GAM-yP8Rfi4-.cjs} +1 -1
- package/dist/{classDiagram-v2-HSJHXN6E-DX5nDbg5.js → classDiagram-6PBFFD2Q-DmBjAksk.js} +2 -2
- package/dist/{classDiagram-6PBFFD2Q-w916JDya.cjs → classDiagram-6PBFFD2Q-SGFXmgLD.cjs} +1 -1
- package/dist/{classDiagram-6PBFFD2Q-DX5nDbg5.js → classDiagram-v2-HSJHXN6E-DmBjAksk.js} +2 -2
- package/dist/{classDiagram-v2-HSJHXN6E-w916JDya.cjs → classDiagram-v2-HSJHXN6E-SGFXmgLD.cjs} +1 -1
- package/dist/clone-HA7BKYTg.cjs +1 -0
- package/dist/{clone-DFz4YXr3.js → clone-txbrtOfE.js} +1 -1
- package/dist/components/bundle-toolbar/bundle-toolbar.d.ts +0 -1
- package/dist/components/bundle-toolbar/bundle-toolbar.js +1 -3
- package/dist/components/editor/editor.js +114 -18
- package/dist/components/premium-gate/premium-gate.d.ts +1 -0
- package/dist/components/premium-gate/premium-gate.js +6 -0
- package/dist/components/rodeo/roundup.d.ts +7 -0
- package/dist/components/rodeo/roundup.js +40 -0
- package/dist/components/rodeo/user-detail.js +6 -3
- package/dist/components/the-doctor/doctor-editor-panel.css.js +67 -30
- package/dist/components/the-doctor/doctor-editor-panel.d.ts +1 -0
- package/dist/components/the-doctor/doctor-editor-panel.js +9 -1
- package/dist/components/the-doctor/doctor-navigator-panel.css.js +1 -0
- package/dist/components/the-doctor/doctor-sidebar-panel.d.ts +4 -1
- package/dist/components/the-doctor/doctor-sidebar-panel.js +18 -3
- package/dist/components/the-doctor/printing-press-docs-pending.css.d.ts +2 -0
- package/dist/components/the-doctor/printing-press-docs-pending.css.js +47 -0
- package/dist/components/the-doctor/printing-press-docs-pending.d.ts +12 -0
- package/dist/components/the-doctor/printing-press-docs-pending.js +41 -0
- package/dist/components/the-doctor/printing-press-docs-unavailable.css.d.ts +2 -0
- package/dist/components/the-doctor/printing-press-docs-unavailable.css.js +34 -0
- package/dist/components/the-doctor/printing-press-docs-unavailable.d.ts +12 -0
- package/dist/components/the-doctor/printing-press-docs-unavailable.js +35 -0
- package/dist/components/the-doctor/printing-press-export-controls.css.d.ts +2 -0
- package/dist/components/the-doctor/printing-press-export-controls.css.js +26 -0
- package/dist/components/the-doctor/printing-press-export-controls.d.ts +16 -0
- package/dist/components/the-doctor/printing-press-export-controls.js +75 -0
- package/dist/components/the-doctor/the-doctor.css.js +101 -8
- package/dist/components/the-doctor/the-doctor.d.ts +54 -2
- package/dist/components/the-doctor/the-doctor.js +603 -23
- package/dist/components/workspaces/workspace-view.d.ts +1 -5
- package/dist/components/workspaces/workspace-view.js +4 -11
- package/dist/controllers/diagnostic-controller.d.ts +2 -0
- package/dist/controllers/diagnostic-controller.js +40 -1
- package/dist/controllers/node-clicker-controller.d.ts +2 -3
- package/dist/controllers/spec-controller.js +1 -1
- package/dist/controllers/workspace-controller.d.ts +1 -2
- package/dist/controllers/workspace-controller.js +2 -2
- package/dist/{cose-bilkent-S5V4N54A-DcUKlxlF.js → cose-bilkent-S5V4N54A-DBJqJbCC.js} +2 -2
- package/dist/{cose-bilkent-S5V4N54A-CKHB3cR8.cjs → cose-bilkent-S5V4N54A-DKrIstpT.cjs} +1 -1
- package/dist/{cowboy-components-CxawaKWM.js → cowboy-components-BkbVjFUn.js} +12442 -12772
- package/dist/{cowboy-components-CjgqXqkM.cjs → cowboy-components-CC8oMHf-.cjs} +1517 -1637
- package/dist/{dagre-KV5264BT-Nl_VfI8a.js → dagre-KV5264BT-6ivm8x2F.js} +5 -5
- package/dist/{dagre-KV5264BT-B2JWO01l.cjs → dagre-KV5264BT-DcOLPle_.cjs} +1 -1
- package/dist/{diagram-5BDNPKRD-TI1X3fNz.js → diagram-5BDNPKRD-D8TDw4p9.js} +4 -4
- package/dist/{diagram-5BDNPKRD-BKI_3vWy.cjs → diagram-5BDNPKRD-blWzHQZ7.cjs} +1 -1
- package/dist/{diagram-G4DWMVQ6-CFqOAmuK.js → diagram-G4DWMVQ6-Dn6dxIqX.js} +4 -4
- package/dist/{diagram-G4DWMVQ6-DFBdN4sf.cjs → diagram-G4DWMVQ6-fvPAIer2.cjs} +1 -1
- package/dist/{diagram-MMDJMWI5-CFuTCrVQ.cjs → diagram-MMDJMWI5-DsAWXLaB.cjs} +1 -1
- package/dist/{diagram-MMDJMWI5-BSsV2xaN.js → diagram-MMDJMWI5-DxjVFVuv.js} +3 -3
- package/dist/{diagram-TYMM5635-CrgW2ZZO.cjs → diagram-TYMM5635-B4DB8EDE.cjs} +1 -1
- package/dist/{diagram-TYMM5635-BP1f-EB_.js → diagram-TYMM5635-BmR3CaLC.js} +3 -3
- package/dist/{erDiagram-SMLLAGMA-rVfyZdO4.js → erDiagram-SMLLAGMA-CYtgB5bQ.js} +4 -4
- package/dist/{erDiagram-SMLLAGMA-C3caLNRz.cjs → erDiagram-SMLLAGMA-DgaR7ydl.cjs} +1 -1
- package/dist/events/doctor.d.ts +2 -0
- package/dist/events/doctor.js +2 -0
- package/dist/{flowDiagram-DWJPFMVM-DqFXC8zL.js → flowDiagram-DWJPFMVM-BnkLG0fX.js} +6 -6
- package/dist/{flowDiagram-DWJPFMVM-Ce_HVRt5.cjs → flowDiagram-DWJPFMVM-lSCRydu7.cjs} +1 -1
- package/dist/{ganttDiagram-T4ZO3ILL-HHFgf8w4.cjs → ganttDiagram-T4ZO3ILL-CV7stMVQ.cjs} +1 -1
- package/dist/{ganttDiagram-T4ZO3ILL-BmNOX7yf.js → ganttDiagram-T4ZO3ILL-DDbZ3aVk.js} +3 -3
- package/dist/{gitGraph-7Q5UKJZL-kCDkIMWc.js → gitGraph-7Q5UKJZL-Bh_-qrDd.js} +1 -1
- package/dist/{gitGraph-7Q5UKJZL-DgndfdDH.cjs → gitGraph-7Q5UKJZL-C48W9r-6.cjs} +1 -1
- package/dist/{gitGraphDiagram-UUTBAWPF-C-Ahhj_h.js → gitGraphDiagram-UUTBAWPF-7dOdrwvn.js} +4 -4
- package/dist/{gitGraphDiagram-UUTBAWPF-DaVjvjth.cjs → gitGraphDiagram-UUTBAWPF-BFDetPjA.cjs} +1 -1
- package/dist/{graph-Dfys1tzR.js → graph-BEwWEKyK.js} +2 -2
- package/dist/{graph-DyZUkQBU.cjs → graph-CMqpo-tH.cjs} +1 -1
- package/dist/{info-OMHHGYJF-Cb_sFFZS.cjs → info-OMHHGYJF-tWjJ6Rfi.cjs} +1 -1
- package/dist/info-OMHHGYJF-yksB7HGd.js +5 -0
- package/dist/{infoDiagram-42DDH7IO-C09CiT2v.cjs → infoDiagram-42DDH7IO-B-zDHJLg.cjs} +1 -1
- package/dist/{infoDiagram-42DDH7IO-BP_YOQpC.js → infoDiagram-42DDH7IO-CbGARbXr.js} +2 -2
- package/dist/interfaces/doctor-interfaces.d.ts +10 -2
- package/dist/{ishikawaDiagram-UXIWVN3A-DwW6fn0e.js → ishikawaDiagram-UXIWVN3A-DQSJwN_Z.js} +1 -1
- package/dist/{ishikawaDiagram-UXIWVN3A-CjAoGU0v.cjs → ishikawaDiagram-UXIWVN3A-qVeMqm60.cjs} +1 -1
- package/dist/{journeyDiagram-VCZTEJTY-Bk7z4VA2.js → journeyDiagram-VCZTEJTY-CG--P4FG.js} +4 -4
- package/dist/{journeyDiagram-VCZTEJTY-CZnSwt6p.cjs → journeyDiagram-VCZTEJTY-CHaChybV.cjs} +1 -1
- package/dist/{kanban-definition-6JOO6SKY-BiN4nM1i.js → kanban-definition-6JOO6SKY-Buc_IGxV.js} +2 -2
- package/dist/{kanban-definition-6JOO6SKY-DZF8xgYV.cjs → kanban-definition-6JOO6SKY-C7CBEjZ_.cjs} +1 -1
- package/dist/{layout-BDanDonD.js → layout-CKSgi94P.js} +4 -4
- package/dist/{layout-rTQtAIwn.cjs → layout-CLgC5_hw.cjs} +1 -1
- package/dist/{linear-CuHSYSeN.cjs → linear-BfsPvbL_.cjs} +1 -1
- package/dist/{linear-DFB2dCGq.js → linear-BkA_W1oB.js} +1 -1
- package/dist/{mermaid-parser.core-CCHvxUQl.js → mermaid-parser.core-BMlbf7rO.js} +13 -13
- package/dist/{mermaid-parser.core-fjh_cn2l.cjs → mermaid-parser.core-luq90wBd.cjs} +2 -2
- package/dist/{min-rDRC9KDF.js → min-CVydceyS.js} +2 -2
- package/dist/{min-h6fs1hPk.cjs → min-Q2bX8h_x.cjs} +1 -1
- package/dist/{mindmap-definition-QFDTVHPH-CZMHHnKO.js → mindmap-definition-QFDTVHPH-DOvuLetv.js} +3 -3
- package/dist/{mindmap-definition-QFDTVHPH-BbUJ3LHd.cjs → mindmap-definition-QFDTVHPH-znF9YoVM.cjs} +1 -1
- package/dist/model/api-response.d.ts +1 -0
- package/dist/model/feature-flags.d.ts +1 -0
- package/dist/model/feature-flags.js +1 -0
- package/dist/model/roundup-stats.d.ts +7 -0
- package/dist/{packet-4T2RLAQJ-Bl5gBk4Q.js → packet-4T2RLAQJ-1cYABjJF.js} +1 -1
- package/dist/{packet-4T2RLAQJ-BRTuQgpj.cjs → packet-4T2RLAQJ-DXCBVGay.cjs} +1 -1
- package/dist/{pie-ZZUOXDRM-BbZyrtOg.cjs → pie-ZZUOXDRM-Bd5PsUhQ.cjs} +1 -1
- package/dist/pie-ZZUOXDRM-cNX2KOuy.js +5 -0
- package/dist/{pieDiagram-DEJITSTG-BNTE6R98.js → pieDiagram-DEJITSTG-DhMF4gRo.js} +5 -5
- package/dist/{pieDiagram-DEJITSTG-BpiMiYGL.cjs → pieDiagram-DEJITSTG-Pt_uCJhK.cjs} +1 -1
- package/dist/{quadrantDiagram-34T5L4WZ-JjtOrhxB.js → quadrantDiagram-34T5L4WZ-AM3AGl4y.js} +2 -2
- package/dist/{quadrantDiagram-34T5L4WZ-DODOOGae.cjs → quadrantDiagram-34T5L4WZ-DYMJdqM0.cjs} +1 -1
- package/dist/radar-PYXPWWZC-B1JaCxpR.js +5 -0
- package/dist/{radar-PYXPWWZC-CSH1N71W.cjs → radar-PYXPWWZC-vHL8avm6.cjs} +1 -1
- package/dist/{requirementDiagram-MS252O5E-CwV2UGNb.js → requirementDiagram-MS252O5E-6YPm5TWd.js} +3 -3
- package/dist/{requirementDiagram-MS252O5E-CjMpy00l.cjs → requirementDiagram-MS252O5E-Bx9DltXy.cjs} +1 -1
- package/dist/{sankeyDiagram-XADWPNL6-BzayPzy0.cjs → sankeyDiagram-XADWPNL6-DbrWa1O_.cjs} +1 -1
- package/dist/{sankeyDiagram-XADWPNL6-rri4GWAM.js → sankeyDiagram-XADWPNL6-Djyd85aw.js} +1 -1
- package/dist/{sequenceDiagram-FGHM5R23-BwBriXF1.js → sequenceDiagram-FGHM5R23-B-n2cTwl.js} +3 -3
- package/dist/{sequenceDiagram-FGHM5R23-D-YegsL-.cjs → sequenceDiagram-FGHM5R23-DAb44NgC.cjs} +1 -1
- package/dist/services/linting-service.d.ts +1 -0
- package/dist/services/linting-service.js +3 -0
- package/dist/services/printing-press-service.d.ts +27 -0
- package/dist/services/printing-press-service.js +125 -0
- package/dist/{stateDiagram-FHFEXIEX-Cq2H2XQO.cjs → stateDiagram-FHFEXIEX-BYBTQ_pK.cjs} +1 -1
- package/dist/{stateDiagram-FHFEXIEX-jfwjGp1O.js → stateDiagram-FHFEXIEX-_XKcbiJh.js} +5 -5
- package/dist/{stateDiagram-v2-QKLJ7IA2-Bw4Xgr7w.js → stateDiagram-v2-QKLJ7IA2-B9GVD-oD.js} +2 -2
- package/dist/{stateDiagram-v2-QKLJ7IA2-DKL73VEs.cjs → stateDiagram-v2-QKLJ7IA2-Bok2OiPQ.cjs} +1 -1
- package/dist/{timeline-definition-GMOUNBTQ-CpABxKM5.js → timeline-definition-GMOUNBTQ-BWw9gtnV.js} +2 -2
- package/dist/{timeline-definition-GMOUNBTQ-DP1yCayj.cjs → timeline-definition-GMOUNBTQ-BoEUyzb6.cjs} +1 -1
- package/dist/{treeView-SZITEDCU-BtaLEQ3S.js → treeView-SZITEDCU-BeYLCd-q.js} +1 -1
- package/dist/{treeView-SZITEDCU-BizNBkAv.cjs → treeView-SZITEDCU-D33mqIWv.cjs} +1 -1
- package/dist/{treemap-W4RFUUIX-Cbbx2tbB.cjs → treemap-W4RFUUIX-CRpxSKWx.cjs} +1 -1
- package/dist/{treemap-W4RFUUIX-CmVVUeZj.js → treemap-W4RFUUIX-D_S9Y3yp.js} +1 -1
- package/dist/{vennDiagram-DHZGUBPP-Dv3ZX8SJ.cjs → vennDiagram-DHZGUBPP-BPRTzpYw.cjs} +1 -1
- package/dist/{vennDiagram-DHZGUBPP-C0edoxsg.js → vennDiagram-DHZGUBPP-Cc0seIj8.js} +1 -1
- package/dist/{wardley-RL74JXVD-BndLe7vL.cjs → wardley-RL74JXVD-DkU-i349.cjs} +1 -1
- package/dist/{wardley-RL74JXVD-DdQvN9q5.js → wardley-RL74JXVD-osjJIQZA.js} +1 -1
- package/dist/{wardleyDiagram-NUSXRM2D-DCChf1Y2.js → wardleyDiagram-NUSXRM2D-Ci85jUQ0.js} +3 -3
- package/dist/{wardleyDiagram-NUSXRM2D-DpluOG7a.cjs → wardleyDiagram-NUSXRM2D-D-zT1fG0.cjs} +1 -1
- package/dist/{xychartDiagram-5P7HB3ND-B7y6-7BP.cjs → xychartDiagram-5P7HB3ND-DElLnXxW.cjs} +1 -1
- package/dist/{xychartDiagram-5P7HB3ND-BWvz1AY8.js → xychartDiagram-5P7HB3ND-jPkDnp93.js} +3 -3
- package/package.json +1 -1
- package/dist/clone-D_c-FYGd.cjs +0 -1
- package/dist/info-OMHHGYJF-KL9K6Ofp.js +0 -5
- package/dist/pie-ZZUOXDRM-CpENjo0C.js +0 -5
- package/dist/radar-PYXPWWZC-BiAwm-jb.js +0 -5
|
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var TheDoctor_1;
|
|
7
8
|
import '@shoelace-style/shoelace/dist/components/split-panel/split-panel.js';
|
|
8
9
|
import '@shoelace-style/shoelace/dist/components/tab-group/tab-group.js';
|
|
9
10
|
import '@shoelace-style/shoelace/dist/components/tab-panel/tab-panel.js';
|
|
@@ -17,7 +18,7 @@ import { customElement, property, query, state } from "lit/decorators.js";
|
|
|
17
18
|
import { html, LitElement, nothing } from "lit";
|
|
18
19
|
import { ref, createRef } from "lit/directives/ref.js";
|
|
19
20
|
import { SpecEditor } from "../editor/editor.js";
|
|
20
|
-
import { ActiveView, AddToast, ArchiveURLRequested, BuiltInRulesetChanged, CreditEmpty, CustomRulesetEnabled, DocumentReferenceClicked, EditorClicked, EditorUpdated, ExplorerEqualizerChanged, ExplorerEqualizerFiltered, ExplorerPovModeExit, ExplorerNodeClicked, ExportRuleset, LoadRenderedNodeIntoInspector, ModelTreeNodeClicked, NodeReferenceClicked, NukeWorkspaceEvent, OpenDrawer, OpenSettings, ProblemClicked, Reboot, RolodexRootFileSelected, RolodexTreeNodeClicked, RuleClicked, RulesetSaved, RuleViolationClicked, StartSessionFailed, CreditStreamUpdated, SocketDisconnected, DiagramRequested, TimelineViolationsLoaded, BundleRequested, BundleDownloadRequested, BundleCopyRequested, } from "../../events/doctor.js";
|
|
21
|
+
import { ActiveView, AddToast, ArchiveURLRequested, BuiltInRulesetChanged, CreditEmpty, CustomRulesetEnabled, DocumentReferenceClicked, EditorClicked, EditorUpdated, ExplorerEqualizerChanged, ExplorerEqualizerFiltered, ExplorerPovModeExit, ExplorerNodeClicked, ExportRuleset, LoadRenderedNodeIntoInspector, ModelTreeNodeClicked, NodeReferenceClicked, NukeWorkspaceEvent, OpenDrawer, OpenSettings, ProblemClicked, Reboot, RolodexRootFileSelected, RolodexTreeNodeClicked, RuleClicked, RulesetSaved, RuleViolationClicked, StartSessionFailed, CreditStreamUpdated, SocketDisconnected, DiagramRequested, TimelineViolationsLoaded, BundleRequested, BundleDownloadRequested, BundleCopyRequested, PrintingPressZipExportRequested, PrintingPressTarballExportRequested, } from "../../events/doctor.js";
|
|
21
22
|
import { CreateBagManager } from "@pb33f/saddlebag";
|
|
22
23
|
import { LintingService } from "../../services/linting-service.js";
|
|
23
24
|
import { ProblemList } from "../problem-list/problem-list.js";
|
|
@@ -49,6 +50,9 @@ import spinnerCss from "../../css/spinner.css.js";
|
|
|
49
50
|
import { resolveNodeIdFromHash } from "../../utils/node-helpers.js";
|
|
50
51
|
import { UploadArchiveComponent } from "./upload-archive.js";
|
|
51
52
|
import '../premium-gate/premium-gate.js';
|
|
53
|
+
import './printing-press-docs-pending.js';
|
|
54
|
+
import './printing-press-docs-unavailable.js';
|
|
55
|
+
import './printing-press-export-controls.js';
|
|
52
56
|
import tooltipCss from "../../css/tooltip.css.js";
|
|
53
57
|
import { NukeWorkspaceComponent } from "./nuke-workspace.js";
|
|
54
58
|
import { CreditTicker } from "../credit-ticker/credit-ticker.js";
|
|
@@ -76,13 +80,14 @@ import { GitHubController } from "../../controllers/github-controller.js";
|
|
|
76
80
|
import { DiagramatronController } from "../../controllers/diagramatron-controller.js";
|
|
77
81
|
import { TimelineController } from "../../controllers/timeline-controller.js";
|
|
78
82
|
import { BundleController } from "../../controllers/bundle-controller.js";
|
|
79
|
-
import {
|
|
83
|
+
import { PB33F_THEME, DarkTheme } from "../theme-switcher/theme-switcher.js";
|
|
84
|
+
import { PB33F_THEME_CHANGE } from "../../events/theme.js";
|
|
80
85
|
import '../bundle-toolbar/bundle-toolbar.js';
|
|
81
86
|
import { WorkspaceService } from '../../services/workspace-service.js';
|
|
82
87
|
import { WalletService } from '../../services/wallet-service.js';
|
|
83
88
|
import { GlobalTaskService } from '../../services/global-task-service.js';
|
|
84
89
|
import { GitHubService } from '../../services/github-service.js';
|
|
85
|
-
import {
|
|
90
|
+
import { PrintingPressService } from '../../services/printing-press-service.js';
|
|
86
91
|
import { GenericDetailsDrawer } from '../details-drawer/generic-details-drawer.js';
|
|
87
92
|
import { DrawerContentRegistry } from '../../services/drawer-content-registry.js';
|
|
88
93
|
import { TabCacheController } from '../../controllers/tab-cache-controller.js';
|
|
@@ -128,13 +133,18 @@ export const GitHubStateBag = "pb33f-doctor-github-state";
|
|
|
128
133
|
export const DefaultDocument = "pb33f-doctor-document";
|
|
129
134
|
export const DocumentProblems = "pb33f-doctor-problems";
|
|
130
135
|
export const DoctorEndpoint = "doctor-endpoint";
|
|
131
|
-
let TheDoctor = class TheDoctor extends LitElement {
|
|
136
|
+
let TheDoctor = TheDoctor_1 = class TheDoctor extends LitElement {
|
|
132
137
|
constructor(doctorEndpoint = "https://doctor.pb33f.io") {
|
|
133
138
|
super();
|
|
134
139
|
this.toolsEditorHasContent = false;
|
|
135
140
|
this.editorDirty = false;
|
|
136
141
|
this.bundleLoading = false;
|
|
137
142
|
this.isBundled = false;
|
|
143
|
+
this.printingPressDocsPending = false;
|
|
144
|
+
this.printingPressDocsReady = false;
|
|
145
|
+
this.printingPressDocsAccessDenied = false;
|
|
146
|
+
this.printingPressDocsRetryableError = false;
|
|
147
|
+
this.docsTakeoverApplied = false;
|
|
138
148
|
// Use ref directives instead of @query for better control
|
|
139
149
|
this.tardisControlRef = createRef();
|
|
140
150
|
this.editorRef = createRef();
|
|
@@ -168,7 +178,6 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
168
178
|
WalletService.doctorEndpoint = this.doctorEndpoint;
|
|
169
179
|
GlobalTaskService.doctorEndpoint = this.doctorEndpoint;
|
|
170
180
|
GitHubService.doctorEndpoint = this.doctorEndpoint;
|
|
171
|
-
ApiKeyService.doctorEndpoint = this.doctorEndpoint;
|
|
172
181
|
// bus it up
|
|
173
182
|
this.bus = CreateBus();
|
|
174
183
|
this.events = createDoctorEventChannels(this.bus);
|
|
@@ -235,12 +244,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
235
244
|
requestUpdate: () => this.requestUpdate(),
|
|
236
245
|
getOriginalFileName: () => this.rolodexRootPath || 'openapi'
|
|
237
246
|
});
|
|
238
|
-
this.
|
|
239
|
-
getBrokerId: () => this.brokerController?.brokerConnectionId,
|
|
240
|
-
sendToast: (toast) => this.sendToast(toast)
|
|
241
|
-
});
|
|
242
|
-
// Initialize workspace view after GitHub controller and API key controller are created
|
|
243
|
-
this.workspaceController.initializeView(this.githubController, this.apiKeyController);
|
|
247
|
+
this.workspaceController.initializeView(this.githubController);
|
|
244
248
|
this.globalTaskView = new GlobalTaskView();
|
|
245
249
|
//this.globalTaskView.mockMode = true; // Enable mock mode for demo
|
|
246
250
|
this.globalTaskView.setController(this.globalTaskController);
|
|
@@ -388,6 +392,10 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
388
392
|
this.addTrackedListener(this, BundleRequested, this.handleBundleRequested.bind(this));
|
|
389
393
|
this.addTrackedListener(this, BundleDownloadRequested, this.handleBundleDownload.bind(this));
|
|
390
394
|
this.addTrackedListener(this, BundleCopyRequested, this.handleBundleCopy.bind(this));
|
|
395
|
+
this.addTrackedListener(this, PrintingPressZipExportRequested, this.handlePrintingPressZipExport.bind(this));
|
|
396
|
+
this.addTrackedListener(this, PrintingPressTarballExportRequested, this.handlePrintingPressTarballExport.bind(this));
|
|
397
|
+
this.addTrackedListener(window, 'message', this.handlePrintingPressMessage.bind(this));
|
|
398
|
+
this.addTrackedListener(window, PB33F_THEME_CHANGE, this.handleThemeChangeForPrintingPress.bind(this));
|
|
391
399
|
// hijack navigation buttons - store reference for cleanup
|
|
392
400
|
this.popstateHandler = (e) => {
|
|
393
401
|
const state = e.state;
|
|
@@ -448,7 +456,9 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
448
456
|
'feedback': 'Feedback'
|
|
449
457
|
};
|
|
450
458
|
this.currentViewName = viewNames[tabName] || tabName;
|
|
451
|
-
|
|
459
|
+
if (event.detail.focusPanel !== false) {
|
|
460
|
+
this.managePanelFocus(this.sidebarPanel, tabName);
|
|
461
|
+
}
|
|
452
462
|
}
|
|
453
463
|
openSidebar() {
|
|
454
464
|
if (this.sidebarClosed && this.sidebarPanel) {
|
|
@@ -490,6 +500,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
490
500
|
'spec': 'Specification Editor',
|
|
491
501
|
'explorer': 'Explorer',
|
|
492
502
|
'tardis': 'Timeline',
|
|
503
|
+
'docs': 'API Docs',
|
|
493
504
|
'workspaces': 'Workspaces'
|
|
494
505
|
};
|
|
495
506
|
this.currentViewName = viewNames[tabName] || tabName;
|
|
@@ -529,6 +540,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
529
540
|
case 'docs':
|
|
530
541
|
this.hideMinimapIcon();
|
|
531
542
|
this.hideDiagnosisButton();
|
|
543
|
+
this.preloadPrintingPressDocs();
|
|
532
544
|
break;
|
|
533
545
|
}
|
|
534
546
|
}
|
|
@@ -661,6 +673,12 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
661
673
|
// Don't fetch history here - wait until doctor is fully booted
|
|
662
674
|
}
|
|
663
675
|
});
|
|
676
|
+
this.syncDocsTakeoverLayout();
|
|
677
|
+
}
|
|
678
|
+
updated(changedProperties) {
|
|
679
|
+
if (changedProperties.has('selectedEditorTab')) {
|
|
680
|
+
this.syncDocsTakeoverLayout();
|
|
681
|
+
}
|
|
664
682
|
}
|
|
665
683
|
disconnectedCallback() {
|
|
666
684
|
super.disconnectedCallback();
|
|
@@ -730,8 +748,54 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
730
748
|
sendToast(toast) {
|
|
731
749
|
this.toastManager.addToastManually(toast);
|
|
732
750
|
}
|
|
733
|
-
updateInspectorDivider() {
|
|
734
|
-
|
|
751
|
+
updateInspectorDivider() {
|
|
752
|
+
if (this.selectedEditorTab === 'docs')
|
|
753
|
+
return;
|
|
754
|
+
this.panelDividerManager.updateInspectorDivider();
|
|
755
|
+
}
|
|
756
|
+
updateExplorerDivider() {
|
|
757
|
+
if (this.selectedEditorTab === 'docs')
|
|
758
|
+
return;
|
|
759
|
+
this.panelDividerManager.updateExplorerDivider();
|
|
760
|
+
}
|
|
761
|
+
syncDocsTakeoverLayout() {
|
|
762
|
+
const docsActive = this.selectedEditorTab === 'docs';
|
|
763
|
+
const explorerPanel = this.splitPanelExplorer;
|
|
764
|
+
const inspectorPanel = this.splitPanelInspector;
|
|
765
|
+
if (!explorerPanel || !inspectorPanel) {
|
|
766
|
+
return;
|
|
767
|
+
}
|
|
768
|
+
if (docsActive) {
|
|
769
|
+
if (!this.docsTakeoverApplied) {
|
|
770
|
+
this.explorerPositionBeforeDocs = explorerPanel.position > 0 ? explorerPanel.position : 12;
|
|
771
|
+
this.inspectorPositionBeforeDocs = inspectorPanel.position > 0 ? inspectorPanel.position : 50;
|
|
772
|
+
this.docsTakeoverApplied = true;
|
|
773
|
+
}
|
|
774
|
+
explorerPanel.style.setProperty('--min', '0');
|
|
775
|
+
explorerPanel.style.setProperty('--max', '100%');
|
|
776
|
+
explorerPanel.position = 0;
|
|
777
|
+
explorerPanel.disabled = true;
|
|
778
|
+
inspectorPanel.style.setProperty('--min', '0');
|
|
779
|
+
inspectorPanel.style.setProperty('--max', '100%');
|
|
780
|
+
inspectorPanel.position = 100;
|
|
781
|
+
inspectorPanel.disabled = true;
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
if (!this.docsTakeoverApplied) {
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
explorerPanel.style.removeProperty('--min');
|
|
788
|
+
explorerPanel.style.removeProperty('--max');
|
|
789
|
+
explorerPanel.disabled = false;
|
|
790
|
+
explorerPanel.position = this.explorerPositionBeforeDocs ?? 12;
|
|
791
|
+
inspectorPanel.style.removeProperty('--min');
|
|
792
|
+
inspectorPanel.style.removeProperty('--max');
|
|
793
|
+
inspectorPanel.disabled = false;
|
|
794
|
+
inspectorPanel.position = this.inspectorPositionBeforeDocs ?? 50;
|
|
795
|
+
this.docsTakeoverApplied = false;
|
|
796
|
+
this.explorerPositionBeforeDocs = undefined;
|
|
797
|
+
this.inspectorPositionBeforeDocs = undefined;
|
|
798
|
+
}
|
|
735
799
|
updateRefmapBag(currentPath, result) {
|
|
736
800
|
let refMap = this.referenceMapBag?.get(ReferenceMapBag);
|
|
737
801
|
let cp = currentPath ?? "";
|
|
@@ -831,6 +895,489 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
831
895
|
handleBundleCopy() {
|
|
832
896
|
this.bundleController.copyToClipboard();
|
|
833
897
|
}
|
|
898
|
+
async handlePrintingPressZipExport() {
|
|
899
|
+
await this.handlePrintingPressExport('zip');
|
|
900
|
+
}
|
|
901
|
+
async handlePrintingPressTarballExport() {
|
|
902
|
+
await this.handlePrintingPressExport('tar.gz');
|
|
903
|
+
}
|
|
904
|
+
async handlePrintingPressExport(format) {
|
|
905
|
+
try {
|
|
906
|
+
await PrintingPressService.exportDocs(format, this.brokerController?.brokerConnectionId);
|
|
907
|
+
this.sendToast({
|
|
908
|
+
id: crypto.randomUUID(),
|
|
909
|
+
type: ToastType.SUCCESS,
|
|
910
|
+
title: "docs exported",
|
|
911
|
+
body: `Printing Press docs exported as ${format}.`
|
|
912
|
+
});
|
|
913
|
+
}
|
|
914
|
+
catch (error) {
|
|
915
|
+
this.sendToast({
|
|
916
|
+
id: crypto.randomUUID(),
|
|
917
|
+
type: ToastType.ERROR,
|
|
918
|
+
title: "docs export failed",
|
|
919
|
+
body: error?.detail || error?.title || 'Unable to export generated docs.'
|
|
920
|
+
});
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
handlePrintingPressTask(taskId) {
|
|
924
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
925
|
+
this.printingPressDocsTaskId = taskId;
|
|
926
|
+
this.printingPressDocsPending = true;
|
|
927
|
+
this.printingPressDocsReady = false;
|
|
928
|
+
this.printingPressDocsError = undefined;
|
|
929
|
+
this.printingPressDocsAccessDenied = false;
|
|
930
|
+
this.printingPressDocsRetryableError = false;
|
|
931
|
+
this.printingPressDocsUrl = undefined;
|
|
932
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
933
|
+
this.requestUpdate();
|
|
934
|
+
this.globalTaskController.waitForTask(taskId).then(async (task) => {
|
|
935
|
+
if (this.printingPressDocsTaskId !== taskId) {
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
938
|
+
if (task.status !== 'completed') {
|
|
939
|
+
this.printingPressDocsPending = false;
|
|
940
|
+
this.printingPressDocsReady = false;
|
|
941
|
+
this.printingPressDocsUrl = undefined;
|
|
942
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
943
|
+
this.printingPressDocsError = task.error || task.message || 'Printing Press failed to build generated docs.';
|
|
944
|
+
this.printingPressDocsAccessDenied = this.isPrintingPressAccessDeniedError(task);
|
|
945
|
+
this.printingPressDocsRetryableError = true;
|
|
946
|
+
this.requestUpdate();
|
|
947
|
+
return;
|
|
948
|
+
}
|
|
949
|
+
await this.loadPrintingPressDocsForTask(taskId);
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
preloadPrintingPressDocs(options = {}) {
|
|
953
|
+
this.tabCache.markEditorTabLoaded('docs');
|
|
954
|
+
if (this.printingPressDocsPending && !options.refresh) {
|
|
955
|
+
return;
|
|
956
|
+
}
|
|
957
|
+
if (!options.refresh && this.printingPressDocsUrl && !this.printingPressDocsError) {
|
|
958
|
+
return;
|
|
959
|
+
}
|
|
960
|
+
if (!options.refresh && this.printingPressDocsError && !this.printingPressDocsRetryableError) {
|
|
961
|
+
return;
|
|
962
|
+
}
|
|
963
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
964
|
+
const requestId = this.createPrintingPressRequestId();
|
|
965
|
+
this.printingPressDocsTaskId = requestId;
|
|
966
|
+
this.printingPressDocsPending = true;
|
|
967
|
+
this.printingPressDocsReady = false;
|
|
968
|
+
this.printingPressDocsError = undefined;
|
|
969
|
+
this.printingPressDocsAccessDenied = false;
|
|
970
|
+
this.printingPressDocsRetryableError = false;
|
|
971
|
+
this.printingPressDocsUrl = undefined;
|
|
972
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
973
|
+
this.requestUpdate();
|
|
974
|
+
void this.loadCurrentPrintingPressDocs(requestId);
|
|
975
|
+
}
|
|
976
|
+
markPrintingPressDocsUnavailable(detail) {
|
|
977
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
978
|
+
this.printingPressDocsTaskId = undefined;
|
|
979
|
+
this.printingPressDocsPending = false;
|
|
980
|
+
this.printingPressDocsReady = false;
|
|
981
|
+
this.printingPressDocsError = detail;
|
|
982
|
+
this.printingPressDocsAccessDenied = this.isPrintingPressAccessDeniedError({ detail });
|
|
983
|
+
this.printingPressDocsRetryableError = false;
|
|
984
|
+
this.printingPressDocsUrl = undefined;
|
|
985
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
986
|
+
this.requestUpdate();
|
|
987
|
+
}
|
|
988
|
+
resetPrintingPressDocsState() {
|
|
989
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
990
|
+
this.printingPressDocsTaskId = undefined;
|
|
991
|
+
this.printingPressDocsPending = false;
|
|
992
|
+
this.printingPressDocsReady = false;
|
|
993
|
+
this.printingPressDocsError = undefined;
|
|
994
|
+
this.printingPressDocsAccessDenied = false;
|
|
995
|
+
this.printingPressDocsRetryableError = false;
|
|
996
|
+
this.printingPressDocsUrl = undefined;
|
|
997
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
998
|
+
}
|
|
999
|
+
async loadCurrentPrintingPressDocs(requestId) {
|
|
1000
|
+
try {
|
|
1001
|
+
const brokerId = this.brokerController?.brokerConnectionId;
|
|
1002
|
+
const result = await PrintingPressService.ensureWorkspaceDocs(brokerId);
|
|
1003
|
+
if (this.printingPressDocsTaskId !== requestId) {
|
|
1004
|
+
return;
|
|
1005
|
+
}
|
|
1006
|
+
if (result.status !== 'completed') {
|
|
1007
|
+
if (!result.taskId) {
|
|
1008
|
+
throw new Error('Printing Press did not return a task ID.');
|
|
1009
|
+
}
|
|
1010
|
+
this.handlePrintingPressTask(result.taskId);
|
|
1011
|
+
return;
|
|
1012
|
+
}
|
|
1013
|
+
await this.loadPrintingPressDocsFromResult(requestId, result, brokerId);
|
|
1014
|
+
}
|
|
1015
|
+
catch (error) {
|
|
1016
|
+
if (this.printingPressDocsTaskId !== requestId) {
|
|
1017
|
+
return;
|
|
1018
|
+
}
|
|
1019
|
+
this.printingPressDocsPending = false;
|
|
1020
|
+
this.printingPressDocsReady = false;
|
|
1021
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1022
|
+
this.printingPressDocsError = error?.detail || error?.message || 'Unable to load generated docs.';
|
|
1023
|
+
this.printingPressDocsAccessDenied = this.isPrintingPressAccessDeniedError(error);
|
|
1024
|
+
this.printingPressDocsRetryableError = true;
|
|
1025
|
+
this.requestUpdate();
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
async loadPrintingPressDocsForTask(taskId) {
|
|
1029
|
+
try {
|
|
1030
|
+
const brokerId = this.brokerController?.brokerConnectionId;
|
|
1031
|
+
const result = await PrintingPressService.fetchTaskResult(taskId, brokerId);
|
|
1032
|
+
if (this.printingPressDocsTaskId !== taskId) {
|
|
1033
|
+
return;
|
|
1034
|
+
}
|
|
1035
|
+
await this.loadPrintingPressDocsFromResult(taskId, result, brokerId);
|
|
1036
|
+
}
|
|
1037
|
+
catch (error) {
|
|
1038
|
+
if (this.printingPressDocsTaskId !== taskId) {
|
|
1039
|
+
return;
|
|
1040
|
+
}
|
|
1041
|
+
this.printingPressDocsPending = false;
|
|
1042
|
+
this.printingPressDocsReady = false;
|
|
1043
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1044
|
+
this.printingPressDocsError = error?.detail || error?.message || 'Unable to load generated docs.';
|
|
1045
|
+
this.printingPressDocsAccessDenied = this.isPrintingPressAccessDeniedError(error);
|
|
1046
|
+
this.printingPressDocsRetryableError = true;
|
|
1047
|
+
this.requestUpdate();
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
async loadPrintingPressDocsFromResult(requestId, result, brokerId) {
|
|
1051
|
+
const docsUrl = result.docsUrl || result.url;
|
|
1052
|
+
if (!docsUrl) {
|
|
1053
|
+
throw new Error('Printing Press did not return a docs URL.');
|
|
1054
|
+
}
|
|
1055
|
+
const absoluteUrl = PrintingPressService.absoluteDocsUrl(docsUrl);
|
|
1056
|
+
const preflight = await PrintingPressService.preflightDocs(absoluteUrl, brokerId);
|
|
1057
|
+
if (this.printingPressDocsTaskId !== requestId) {
|
|
1058
|
+
return;
|
|
1059
|
+
}
|
|
1060
|
+
if (!preflight.ok) {
|
|
1061
|
+
const accessDenied = preflight.status === 401 || preflight.status === 403;
|
|
1062
|
+
this.printingPressDocsPending = false;
|
|
1063
|
+
this.printingPressDocsReady = false;
|
|
1064
|
+
this.printingPressDocsUrl = undefined;
|
|
1065
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1066
|
+
this.printingPressDocsAccessDenied = accessDenied;
|
|
1067
|
+
this.printingPressDocsRetryableError = true;
|
|
1068
|
+
this.printingPressDocsError = accessDenied
|
|
1069
|
+
? 'Access denied. Sign in with access to this workspace to view these docs.'
|
|
1070
|
+
: `Unable to load generated docs (${preflight.status}).`;
|
|
1071
|
+
this.requestUpdate();
|
|
1072
|
+
return;
|
|
1073
|
+
}
|
|
1074
|
+
this.printingPressDocsUrl = absoluteUrl;
|
|
1075
|
+
try {
|
|
1076
|
+
this.printingPressDocsExpectedOrigin = new URL(absoluteUrl).origin;
|
|
1077
|
+
}
|
|
1078
|
+
catch {
|
|
1079
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1080
|
+
}
|
|
1081
|
+
this.printingPressDocsReady = false;
|
|
1082
|
+
this.printingPressDocsPending = true;
|
|
1083
|
+
this.printingPressDocsError = undefined;
|
|
1084
|
+
this.printingPressDocsAccessDenied = false;
|
|
1085
|
+
this.printingPressDocsRetryableError = false;
|
|
1086
|
+
this.armPrintingPressDocsReadyWatchdog(requestId);
|
|
1087
|
+
this.tabCache.markEditorTabLoaded('docs');
|
|
1088
|
+
this.requestUpdate();
|
|
1089
|
+
}
|
|
1090
|
+
handlePrintingPressMessage(event) {
|
|
1091
|
+
if (!this.printingPressDocsExpectedOrigin) {
|
|
1092
|
+
return;
|
|
1093
|
+
}
|
|
1094
|
+
if (event.origin !== this.printingPressDocsExpectedOrigin) {
|
|
1095
|
+
return;
|
|
1096
|
+
}
|
|
1097
|
+
const frameWindow = this.findPrintingPressIframeWindow();
|
|
1098
|
+
if (!frameWindow || event.source !== frameWindow) {
|
|
1099
|
+
return;
|
|
1100
|
+
}
|
|
1101
|
+
const data = event.data;
|
|
1102
|
+
if (!data || typeof data !== 'object') {
|
|
1103
|
+
return;
|
|
1104
|
+
}
|
|
1105
|
+
if (data.type === 'ppress:ready') {
|
|
1106
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
1107
|
+
this.printingPressDocsPending = false;
|
|
1108
|
+
this.printingPressDocsReady = true;
|
|
1109
|
+
this.printingPressDocsError = undefined;
|
|
1110
|
+
this.printingPressDocsAccessDenied = false;
|
|
1111
|
+
this.printingPressDocsRetryableError = false;
|
|
1112
|
+
this.sendCurrentThemeToPrintingPress(event.source);
|
|
1113
|
+
this.sendPrintingPressArchiveControls(event.source);
|
|
1114
|
+
this.requestUpdate();
|
|
1115
|
+
return;
|
|
1116
|
+
}
|
|
1117
|
+
if (data.type === 'ppress:export') {
|
|
1118
|
+
const source = event.source;
|
|
1119
|
+
const requestId = typeof data.requestId === 'number' ? data.requestId : undefined;
|
|
1120
|
+
void this.handlePrintingPressDocumentExport(data.format, data.diagnostics === true, data.llm === true)
|
|
1121
|
+
.then((exported) => {
|
|
1122
|
+
this.sendPrintingPressArchiveExportResult(source, exported, requestId);
|
|
1123
|
+
})
|
|
1124
|
+
.catch((error) => {
|
|
1125
|
+
this.sendPrintingPressArchiveExportResult(source, false, requestId, error?.message);
|
|
1126
|
+
});
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
if (data.type === 'ppress:error') {
|
|
1130
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
1131
|
+
this.printingPressDocsPending = false;
|
|
1132
|
+
this.printingPressDocsReady = false;
|
|
1133
|
+
this.printingPressDocsUrl = undefined;
|
|
1134
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1135
|
+
this.printingPressDocsError = data.message || 'Unable to load generated docs.';
|
|
1136
|
+
this.printingPressDocsAccessDenied = data.status === 401 || data.status === 403;
|
|
1137
|
+
this.printingPressDocsRetryableError = true;
|
|
1138
|
+
this.requestUpdate();
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
async handlePrintingPressDocumentExport(format, diagnostics = false, llm = false) {
|
|
1142
|
+
const archiveFormat = format === 'tar.gz' ? 'tar.gz' : 'zip';
|
|
1143
|
+
if (!this.printingPressDocsUrl) {
|
|
1144
|
+
this.sendToast({
|
|
1145
|
+
id: crypto.randomUUID(),
|
|
1146
|
+
type: ToastType.ERROR,
|
|
1147
|
+
title: "docs export failed",
|
|
1148
|
+
body: 'Generated docs are not loaded yet.'
|
|
1149
|
+
});
|
|
1150
|
+
return false;
|
|
1151
|
+
}
|
|
1152
|
+
if (!this.authController?.authenticated) {
|
|
1153
|
+
this.openPrintingPressExportGate();
|
|
1154
|
+
return false;
|
|
1155
|
+
}
|
|
1156
|
+
try {
|
|
1157
|
+
await PrintingPressService.exportDocumentDocs(this.printingPressDocsUrl, {
|
|
1158
|
+
format: archiveFormat,
|
|
1159
|
+
diagnostics,
|
|
1160
|
+
llm,
|
|
1161
|
+
brokerId: this.brokerController?.brokerConnectionId
|
|
1162
|
+
});
|
|
1163
|
+
this.sendToast({
|
|
1164
|
+
id: crypto.randomUUID(),
|
|
1165
|
+
type: ToastType.SUCCESS,
|
|
1166
|
+
title: "docs exported",
|
|
1167
|
+
body: `Printing Press docs exported as ${archiveFormat}.`
|
|
1168
|
+
});
|
|
1169
|
+
return true;
|
|
1170
|
+
}
|
|
1171
|
+
catch (error) {
|
|
1172
|
+
if (this.shouldOpenPrintingPressExportGate(error)) {
|
|
1173
|
+
this.openPrintingPressExportGate();
|
|
1174
|
+
return false;
|
|
1175
|
+
}
|
|
1176
|
+
this.sendToast({
|
|
1177
|
+
id: crypto.randomUUID(),
|
|
1178
|
+
type: ToastType.ERROR,
|
|
1179
|
+
title: "docs export failed",
|
|
1180
|
+
body: error?.detail || error?.title || error?.message || 'Unable to export generated docs.'
|
|
1181
|
+
});
|
|
1182
|
+
return false;
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
shouldOpenPrintingPressExportGate(error) {
|
|
1186
|
+
const status = Number(error?.status ?? error?.response?.status ?? 0);
|
|
1187
|
+
return status === 401 || (!this.authController?.authenticated && this.isPrintingPressAccessDeniedError(error));
|
|
1188
|
+
}
|
|
1189
|
+
openPrintingPressExportGate() {
|
|
1190
|
+
this.printingPressExportGate?.openGate('unauthenticated');
|
|
1191
|
+
}
|
|
1192
|
+
armPrintingPressDocsReadyWatchdog(taskId) {
|
|
1193
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
1194
|
+
this.printingPressDocsReadyTimeout = setTimeout(() => {
|
|
1195
|
+
this.printingPressDocsReadyTimeout = undefined;
|
|
1196
|
+
if (this.printingPressDocsTaskId !== taskId) {
|
|
1197
|
+
return;
|
|
1198
|
+
}
|
|
1199
|
+
if (this.printingPressDocsReady) {
|
|
1200
|
+
return;
|
|
1201
|
+
}
|
|
1202
|
+
this.printingPressDocsPending = false;
|
|
1203
|
+
this.printingPressDocsReady = false;
|
|
1204
|
+
this.printingPressDocsUrl = undefined;
|
|
1205
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1206
|
+
this.printingPressDocsError = 'Generated docs did not finish loading.';
|
|
1207
|
+
this.printingPressDocsAccessDenied = false;
|
|
1208
|
+
this.printingPressDocsRetryableError = true;
|
|
1209
|
+
this.requestUpdate();
|
|
1210
|
+
}, TheDoctor_1.PRINTING_PRESS_DOCS_READY_TIMEOUT_MS);
|
|
1211
|
+
}
|
|
1212
|
+
clearPrintingPressDocsReadyWatchdog() {
|
|
1213
|
+
if (this.printingPressDocsReadyTimeout !== undefined) {
|
|
1214
|
+
clearTimeout(this.printingPressDocsReadyTimeout);
|
|
1215
|
+
this.printingPressDocsReadyTimeout = undefined;
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1218
|
+
createPrintingPressRequestNonce() {
|
|
1219
|
+
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
|
1220
|
+
return crypto.randomUUID();
|
|
1221
|
+
}
|
|
1222
|
+
return `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
1223
|
+
}
|
|
1224
|
+
createPrintingPressRequestId() {
|
|
1225
|
+
return `preload:${this.createPrintingPressRequestNonce()}`;
|
|
1226
|
+
}
|
|
1227
|
+
handlePrintingPressDocsIframeError() {
|
|
1228
|
+
this.clearPrintingPressDocsReadyWatchdog();
|
|
1229
|
+
this.printingPressDocsPending = false;
|
|
1230
|
+
this.printingPressDocsReady = false;
|
|
1231
|
+
this.printingPressDocsUrl = undefined;
|
|
1232
|
+
this.printingPressDocsExpectedOrigin = undefined;
|
|
1233
|
+
this.printingPressDocsError = 'Unable to load generated docs.';
|
|
1234
|
+
this.printingPressDocsAccessDenied = false;
|
|
1235
|
+
this.printingPressDocsRetryableError = true;
|
|
1236
|
+
this.requestUpdate();
|
|
1237
|
+
}
|
|
1238
|
+
handlePrintingPressDocsIframeLoad() {
|
|
1239
|
+
this.sendPrintingPressArchiveControls();
|
|
1240
|
+
window.setTimeout(() => this.sendPrintingPressArchiveControls(), 50);
|
|
1241
|
+
}
|
|
1242
|
+
handleThemeChangeForPrintingPress(event) {
|
|
1243
|
+
const detail = event.detail;
|
|
1244
|
+
if (!detail?.theme) {
|
|
1245
|
+
return;
|
|
1246
|
+
}
|
|
1247
|
+
this.sendThemeToPrintingPress(detail.theme);
|
|
1248
|
+
}
|
|
1249
|
+
sendCurrentThemeToPrintingPress(target) {
|
|
1250
|
+
const stored = (typeof localStorage !== 'undefined' && localStorage.getItem(PB33F_THEME)) || DarkTheme;
|
|
1251
|
+
this.sendThemeToPrintingPress(stored, target ?? undefined);
|
|
1252
|
+
}
|
|
1253
|
+
sendThemeToPrintingPress(theme, target) {
|
|
1254
|
+
if (!this.printingPressDocsExpectedOrigin) {
|
|
1255
|
+
return;
|
|
1256
|
+
}
|
|
1257
|
+
const win = target || this.findPrintingPressIframeWindow();
|
|
1258
|
+
if (!win) {
|
|
1259
|
+
return;
|
|
1260
|
+
}
|
|
1261
|
+
try {
|
|
1262
|
+
win.postMessage({ type: 'doctor:theme', theme }, this.printingPressDocsExpectedOrigin);
|
|
1263
|
+
}
|
|
1264
|
+
catch {
|
|
1265
|
+
// intentional: failure to post a theme update is not user-actionable
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
sendPrintingPressArchiveControls(target) {
|
|
1269
|
+
if (!this.printingPressDocsExpectedOrigin) {
|
|
1270
|
+
return;
|
|
1271
|
+
}
|
|
1272
|
+
const win = target || this.findPrintingPressIframeWindow();
|
|
1273
|
+
if (!win) {
|
|
1274
|
+
return;
|
|
1275
|
+
}
|
|
1276
|
+
try {
|
|
1277
|
+
win.postMessage({ type: 'doctor:archive-controls', enabled: true }, this.printingPressDocsExpectedOrigin);
|
|
1278
|
+
}
|
|
1279
|
+
catch {
|
|
1280
|
+
// intentional: export controls are a hosted enhancement, docs remain usable without them
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
sendPrintingPressArchiveExportResult(target, exported, requestId, message) {
|
|
1284
|
+
if (!this.printingPressDocsExpectedOrigin) {
|
|
1285
|
+
return;
|
|
1286
|
+
}
|
|
1287
|
+
const win = target || this.findPrintingPressIframeWindow();
|
|
1288
|
+
if (!win) {
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
try {
|
|
1292
|
+
win.postMessage({
|
|
1293
|
+
type: exported ? 'doctor:archive-export-complete' : 'doctor:archive-export-error',
|
|
1294
|
+
requestId,
|
|
1295
|
+
message,
|
|
1296
|
+
}, this.printingPressDocsExpectedOrigin);
|
|
1297
|
+
}
|
|
1298
|
+
catch {
|
|
1299
|
+
// intentional: export status is only used to clear hosted button state
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
findPrintingPressIframeWindow() {
|
|
1303
|
+
const root = this.renderRoot ?? this;
|
|
1304
|
+
const iframe = root.querySelector('iframe.printing-press-docs-frame');
|
|
1305
|
+
return iframe?.contentWindow ?? null;
|
|
1306
|
+
}
|
|
1307
|
+
renderPrintingPressDocsPanel() {
|
|
1308
|
+
if (!this.tabCache.shouldRenderEditorTab('docs')) {
|
|
1309
|
+
return nothing;
|
|
1310
|
+
}
|
|
1311
|
+
return html `
|
|
1312
|
+
<div class="printing-press-docs-panel">
|
|
1313
|
+
<div class="printing-press-docs-content">
|
|
1314
|
+
${this.renderPrintingPressDocs()}
|
|
1315
|
+
</div>
|
|
1316
|
+
</div>
|
|
1317
|
+
`;
|
|
1318
|
+
}
|
|
1319
|
+
renderPrintingPressDocs() {
|
|
1320
|
+
if (!this.tabCache.shouldRenderEditorTab('docs')) {
|
|
1321
|
+
return nothing;
|
|
1322
|
+
}
|
|
1323
|
+
if (this.printingPressDocsError) {
|
|
1324
|
+
if (this.printingPressDocsAccessDenied) {
|
|
1325
|
+
return this.renderPrintingPressAccessDenied();
|
|
1326
|
+
}
|
|
1327
|
+
return html `
|
|
1328
|
+
<pb33f-printing-press-docs-unavailable
|
|
1329
|
+
.detail=${this.printingPressDocsError}>
|
|
1330
|
+
</pb33f-printing-press-docs-unavailable>
|
|
1331
|
+
`;
|
|
1332
|
+
}
|
|
1333
|
+
if (!this.printingPressDocsUrl) {
|
|
1334
|
+
return this.printingPressDocsPending ? this.renderPrintingPressDocsPending() : nothing;
|
|
1335
|
+
}
|
|
1336
|
+
return html `
|
|
1337
|
+
<div class="printing-press-docs-shell">
|
|
1338
|
+
<iframe
|
|
1339
|
+
class="printing-press-docs-frame ${this.printingPressDocsReady ? 'ready' : 'loading'}"
|
|
1340
|
+
src="${this.printingPressDocsUrl}"
|
|
1341
|
+
width="100%"
|
|
1342
|
+
height="100%"
|
|
1343
|
+
style="border: none"
|
|
1344
|
+
@load=${this.handlePrintingPressDocsIframeLoad}
|
|
1345
|
+
@error=${this.handlePrintingPressDocsIframeError}>
|
|
1346
|
+
</iframe>
|
|
1347
|
+
${this.printingPressDocsPending ? html `
|
|
1348
|
+
<div class="printing-press-docs-overlay">
|
|
1349
|
+
${this.renderPrintingPressDocsPending()}
|
|
1350
|
+
</div>
|
|
1351
|
+
` : nothing}
|
|
1352
|
+
</div>
|
|
1353
|
+
`;
|
|
1354
|
+
}
|
|
1355
|
+
renderPrintingPressAccessDenied() {
|
|
1356
|
+
const accessDeniedUrl = new URL('/access-denied', ModelService.doctorEndpoint).toString();
|
|
1357
|
+
return html `
|
|
1358
|
+
<iframe
|
|
1359
|
+
class="printing-press-docs-access-denied-frame"
|
|
1360
|
+
src="${accessDeniedUrl}"
|
|
1361
|
+
width="100%"
|
|
1362
|
+
height="100%"
|
|
1363
|
+
style="border: none"
|
|
1364
|
+
title="access denied">
|
|
1365
|
+
</iframe>
|
|
1366
|
+
`;
|
|
1367
|
+
}
|
|
1368
|
+
isPrintingPressAccessDeniedError(error) {
|
|
1369
|
+
const status = Number(error?.status ?? error?.response?.status ?? 0);
|
|
1370
|
+
if (status === 401 || status === 403) {
|
|
1371
|
+
return true;
|
|
1372
|
+
}
|
|
1373
|
+
const text = `${error?.title ?? ''} ${error?.detail ?? ''} ${error?.message ?? ''} ${error?.error ?? ''}`.toLowerCase();
|
|
1374
|
+
return text.includes('access denied') || text.includes('authentication required') || text.includes('requires authentication');
|
|
1375
|
+
}
|
|
1376
|
+
renderPrintingPressDocsPending() {
|
|
1377
|
+
return html `
|
|
1378
|
+
<pb33f-printing-press-docs-pending></pb33f-printing-press-docs-pending>
|
|
1379
|
+
`;
|
|
1380
|
+
}
|
|
834
1381
|
handleEditorUpdatedForBundle(event) {
|
|
835
1382
|
if (event.detail.id === 'spec' && this.isBundled) {
|
|
836
1383
|
this.bundleController.reset();
|
|
@@ -862,6 +1409,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
862
1409
|
this.modelController.renderedNodeComponent.node = null;
|
|
863
1410
|
this.sidebarPanel?.showTab('overview');
|
|
864
1411
|
this.bundleController.reset();
|
|
1412
|
+
this.resetPrintingPressDocsState();
|
|
865
1413
|
this.isBundled = false;
|
|
866
1414
|
this.modelTree.isBundled = false;
|
|
867
1415
|
this.importDisabled = false;
|
|
@@ -878,6 +1426,9 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
878
1426
|
this.docBag?.set(DefaultDocument, result);
|
|
879
1427
|
this.diagnosticController.loadStoredDiagnostics();
|
|
880
1428
|
this.updateWorkspaceReadOnlyState();
|
|
1429
|
+
if (this.selectedEditorTab === 'docs') {
|
|
1430
|
+
this.preloadPrintingPressDocs();
|
|
1431
|
+
}
|
|
881
1432
|
}).finally(() => {
|
|
882
1433
|
this.isRebooting = false;
|
|
883
1434
|
});
|
|
@@ -1092,8 +1643,8 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1092
1643
|
}
|
|
1093
1644
|
return this._controlTabs;
|
|
1094
1645
|
}
|
|
1095
|
-
_showControlTab(panel) {
|
|
1096
|
-
this.sidebarPanel?.showTab(panel);
|
|
1646
|
+
_showControlTab(panel, options) {
|
|
1647
|
+
this.sidebarPanel?.showTab(panel, options);
|
|
1097
1648
|
}
|
|
1098
1649
|
_getSelectedControlTab() {
|
|
1099
1650
|
const activeTab = this.sidebarPanel?.tabGroup?.querySelector('sl-tab[active]');
|
|
@@ -1108,7 +1659,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1108
1659
|
}
|
|
1109
1660
|
return this._editorTabs;
|
|
1110
1661
|
}
|
|
1111
|
-
_showEditorTab(panel) {
|
|
1662
|
+
_showEditorTab(panel, _options) {
|
|
1112
1663
|
this.editorPanel?.showTab(panel);
|
|
1113
1664
|
}
|
|
1114
1665
|
_getSelectedEditorTab() {
|
|
@@ -1123,7 +1674,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1123
1674
|
}
|
|
1124
1675
|
return this._navigatorTabs;
|
|
1125
1676
|
}
|
|
1126
|
-
_showNavigatorTab(panel) {
|
|
1677
|
+
_showNavigatorTab(panel, _options) {
|
|
1127
1678
|
this.navigatorPanel?.showTab(panel);
|
|
1128
1679
|
}
|
|
1129
1680
|
_getSelectedNavigatorTab() {
|
|
@@ -1238,7 +1789,8 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1238
1789
|
overlay = html `
|
|
1239
1790
|
<div class="overlay" @click="return false"></div>`;
|
|
1240
1791
|
}
|
|
1241
|
-
const
|
|
1792
|
+
const docsActive = this.selectedEditorTab === 'docs';
|
|
1793
|
+
const mainPanelView = docsActive ? nothing : html `
|
|
1242
1794
|
<pb33f-doctor-sidebar-panel
|
|
1243
1795
|
slot="end"
|
|
1244
1796
|
role="complementary"
|
|
@@ -1265,6 +1817,12 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1265
1817
|
${this.nukeWorkspace}
|
|
1266
1818
|
${this.toastManager}
|
|
1267
1819
|
${this.globalTaskView}
|
|
1820
|
+
<pb33f-premium-gate
|
|
1821
|
+
id="printing-press-export-gate"
|
|
1822
|
+
dialogTitle="Show us your credentials, partner"
|
|
1823
|
+
featureName="Export API Docs"
|
|
1824
|
+
featureExplanation="Howdy! In order to export generated API docs, we're going to need you to authenticate first. Tell us who you are, and we will give you a bunch of free credit to use.">
|
|
1825
|
+
</pb33f-premium-gate>
|
|
1268
1826
|
<sl-dialog open id="loading-overlay" class="dialog-overview"
|
|
1269
1827
|
style="--width: 30vw" no-header>
|
|
1270
1828
|
<h3 class="loading">OpenAPI Doctor is booting...</h3>
|
|
@@ -1291,7 +1849,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1291
1849
|
<div class="doctor">
|
|
1292
1850
|
${this.errorBanner}
|
|
1293
1851
|
${overlay}
|
|
1294
|
-
<sl-split-panel id="explorer-split-panel" class="split-panel-explorer" position="12"
|
|
1852
|
+
<sl-split-panel id="explorer-split-panel" class="split-panel-explorer ${docsActive ? 'docs-takeover' : ''}" position="12"
|
|
1295
1853
|
@sl-reposition="${this.updateExplorerDivider}">
|
|
1296
1854
|
<sl-icon id="split-divider-tree" slot="divider" name="grip-vertical" class="divider-vert" aria-hidden="true"></sl-icon>
|
|
1297
1855
|
<div slot="start" class="model-tree" role="navigation" aria-label="Document navigation">
|
|
@@ -1321,7 +1879,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1321
1879
|
<div slot="end">
|
|
1322
1880
|
<sl-split-panel id="inspector-split-panel"
|
|
1323
1881
|
@sl-reposition="${this.updateInspectorDivider}"
|
|
1324
|
-
class="split-panel ${this.unavailable ? 'unavailable' : ''}">
|
|
1882
|
+
class="split-panel ${this.unavailable ? 'unavailable' : ''} ${docsActive ? 'docs-mode' : ''}">
|
|
1325
1883
|
<sl-icon id="split-divider" slot="divider" name="grip-vertical"
|
|
1326
1884
|
class="divider-vert" aria-hidden="true"></sl-icon>
|
|
1327
1885
|
<div class="editor" slot="start" role="main" aria-label="API specification editor">
|
|
@@ -1353,7 +1911,7 @@ let TheDoctor = class TheDoctor extends LitElement {
|
|
|
1353
1911
|
</div>
|
|
1354
1912
|
</pb33f-tardis-control>
|
|
1355
1913
|
` : nothing}</div>
|
|
1356
|
-
<div slot="docs"
|
|
1914
|
+
<div slot="docs" class="docs-slot">${this.renderPrintingPressDocsPanel()}</div>
|
|
1357
1915
|
<div slot="workspaces">${this.tabCache.shouldRenderEditorTab('workspaces') ? this.workspaceController.workspaceView : nothing}</div>
|
|
1358
1916
|
</pb33f-doctor-editor-panel>
|
|
1359
1917
|
</div>
|
|
@@ -1408,6 +1966,7 @@ TheDoctor.styles = [theDoctorCss,
|
|
|
1408
1966
|
tooltipCss,
|
|
1409
1967
|
panelsCss,
|
|
1410
1968
|
nukeCss];
|
|
1969
|
+
TheDoctor.PRINTING_PRESS_DOCS_READY_TIMEOUT_MS = 12000;
|
|
1411
1970
|
__decorate([
|
|
1412
1971
|
query('sl-radio-group#export-ruleset-radio')
|
|
1413
1972
|
], TheDoctor.prototype, "exportSelection", void 0);
|
|
@@ -1417,6 +1976,9 @@ __decorate([
|
|
|
1417
1976
|
__decorate([
|
|
1418
1977
|
query('sl-dialog#loading-overlay')
|
|
1419
1978
|
], TheDoctor.prototype, "loadingOverlay", void 0);
|
|
1979
|
+
__decorate([
|
|
1980
|
+
query('pb33f-premium-gate#printing-press-export-gate')
|
|
1981
|
+
], TheDoctor.prototype, "printingPressExportGate", void 0);
|
|
1420
1982
|
__decorate([
|
|
1421
1983
|
query('#url-input-button')
|
|
1422
1984
|
], TheDoctor.prototype, "urlInputButton", void 0);
|
|
@@ -1504,13 +2066,31 @@ __decorate([
|
|
|
1504
2066
|
__decorate([
|
|
1505
2067
|
state()
|
|
1506
2068
|
], TheDoctor.prototype, "isBundled", void 0);
|
|
2069
|
+
__decorate([
|
|
2070
|
+
state()
|
|
2071
|
+
], TheDoctor.prototype, "printingPressDocsPending", void 0);
|
|
2072
|
+
__decorate([
|
|
2073
|
+
state()
|
|
2074
|
+
], TheDoctor.prototype, "printingPressDocsUrl", void 0);
|
|
2075
|
+
__decorate([
|
|
2076
|
+
state()
|
|
2077
|
+
], TheDoctor.prototype, "printingPressDocsReady", void 0);
|
|
2078
|
+
__decorate([
|
|
2079
|
+
state()
|
|
2080
|
+
], TheDoctor.prototype, "printingPressDocsError", void 0);
|
|
2081
|
+
__decorate([
|
|
2082
|
+
state()
|
|
2083
|
+
], TheDoctor.prototype, "printingPressDocsAccessDenied", void 0);
|
|
2084
|
+
__decorate([
|
|
2085
|
+
state()
|
|
2086
|
+
], TheDoctor.prototype, "selectedEditorTab", void 0);
|
|
1507
2087
|
__decorate([
|
|
1508
2088
|
state()
|
|
1509
2089
|
], TheDoctor.prototype, "rolodexDividerPosition", void 0);
|
|
1510
2090
|
__decorate([
|
|
1511
2091
|
state()
|
|
1512
2092
|
], TheDoctor.prototype, "currentViewName", void 0);
|
|
1513
|
-
TheDoctor = __decorate([
|
|
2093
|
+
TheDoctor = TheDoctor_1 = __decorate([
|
|
1514
2094
|
customElement("pb33f-doctor")
|
|
1515
2095
|
], TheDoctor);
|
|
1516
2096
|
export { TheDoctor };
|