@pb33f/cowboy-components 0.3.2 → 0.3.4

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.
Files changed (31) hide show
  1. package/dist/components/manage-ruleset/manage-ruleset.css.js +14 -3
  2. package/dist/components/manage-ruleset/manage-ruleset.d.ts +3 -0
  3. package/dist/components/manage-ruleset/manage-ruleset.js +85 -2
  4. package/dist/components/manage-ruleset/rule-input.js +8 -1
  5. package/dist/components/manage-ruleset/rule.css.js +3 -1
  6. package/dist/components/manage-ruleset/rule.js +42 -3
  7. package/dist/components/model-renderer/schema.js +10 -0
  8. package/dist/components/paginator/paginator-navigator.js +3 -0
  9. package/dist/components/paginator/paginator.css.js +5 -2
  10. package/dist/components/paginator/paginator.d.ts +1 -0
  11. package/dist/components/paginator/paginator.js +9 -3
  12. package/dist/components/problems-overview/diagnostic-evaluation.js +0 -3
  13. package/dist/components/problems-overview/problem-overview-group.d.ts +2 -0
  14. package/dist/components/problems-overview/problem-overview-group.js +15 -2
  15. package/dist/components/problems-overview/problems-overview.js +8 -2
  16. package/dist/components/the-doctor/sparks.d.ts +17 -0
  17. package/dist/components/the-doctor/sparks.js +81 -0
  18. package/dist/components/the-doctor/the-doctor.css.js +74 -26
  19. package/dist/components/the-doctor/the-doctor.d.ts +31 -1
  20. package/dist/components/the-doctor/the-doctor.js +234 -32
  21. package/dist/cowboy-components.umd.cjs +1793 -1642
  22. package/dist/events/doctor.d.ts +6 -2
  23. package/dist/events/doctor.js +1 -0
  24. package/dist/model/channels.d.ts +11 -0
  25. package/dist/model/channels.js +11 -0
  26. package/dist/model/errors.d.ts +1 -1
  27. package/dist/services/header-service.d.ts +5 -0
  28. package/dist/services/header-service.js +16 -0
  29. package/dist/services/linting-service.d.ts +1 -1
  30. package/dist/services/linting-service.js +19 -9
  31. package/package.json +1 -1
@@ -24,11 +24,11 @@ export default css `
24
24
  overflow: hidden;
25
25
  width: 100%;
26
26
  }
27
-
27
+
28
28
  #manager-controls::part(nav) {
29
- max-width: 96%;
29
+ max-width: 96%;
30
30
  }
31
-
31
+
32
32
  .problems-data {
33
33
  height: min-content;
34
34
  max-height: calc(100vh - 50px);
@@ -50,7 +50,7 @@ export default css `
50
50
 
51
51
 
52
52
  sl-split-panel {
53
- width:100%;
53
+ width: 100%;
54
54
  height: 100%;
55
55
  --divider-width: 2px;
56
56
  }
@@ -79,13 +79,13 @@ export default css `
79
79
  background-color: var(--primary-color);
80
80
  color: var(--background-color);
81
81
  }
82
-
82
+
83
83
 
84
84
  .unavailable {
85
85
  opacity: 0.4;
86
86
  transition: all 0.5s;
87
87
  }
88
-
88
+
89
89
  .model-tree {
90
90
  height: calc(100vh - 95px);
91
91
  overflow-x: auto;
@@ -106,8 +106,8 @@ export default css `
106
106
  background: var(--secondary-color-lowalpha);
107
107
  padding: var(--global-padding);
108
108
  }
109
-
110
-
109
+
110
+
111
111
  .split-panel {
112
112
  --min: 550px;
113
113
  --max: calc(100vw - 550px);
@@ -118,10 +118,10 @@ export default css `
118
118
  --max: 550px;
119
119
  max-width: 100vw;
120
120
  }
121
-
121
+
122
122
  .explorer-panel {
123
123
  height: calc(100vh - 85px);
124
- width: 100%;
124
+ width: 100%;
125
125
  overflow-y: auto;
126
126
  }
127
127
 
@@ -139,8 +139,8 @@ export default css `
139
139
  background: var(--secondary-color-lowalpha);
140
140
  padding: var(--global-padding);
141
141
  }
142
-
143
-
142
+
143
+
144
144
  .overlay {
145
145
  width: 100%;
146
146
  opacity: 1;
@@ -159,27 +159,27 @@ export default css `
159
159
  margin-left: 10px;
160
160
  margin-right: 10px;
161
161
  }
162
-
162
+
163
163
  h3.loading {
164
164
  margin-top: 20px;
165
165
  padding-top: 0;
166
166
  text-align: center;
167
167
  }
168
-
169
- .tab-panel {
170
- height: calc(100vh - 110px);
171
- }
172
168
 
173
- sl-tab-panel.tab-panel::part(base) {
169
+ .tab-panel {
170
+ height: calc(100vh - 110px);
171
+ }
172
+
173
+ sl-tab-panel.tab-panel::part(base) {
174
174
  height: 100%;
175
- padding-top:5px;
175
+ padding-top: 5px;
176
176
  }
177
-
177
+
178
178
  sl-tab-panel::part(base) {
179
179
  height: 100%;
180
- padding-top:5px;
180
+ padding-top: 5px;
181
181
  }
182
-
182
+
183
183
  sl-switch::part(label) {
184
184
  font-family: var(--font-stack), monospace;
185
185
  }
@@ -208,7 +208,7 @@ export default css `
208
208
  top: 3px;
209
209
  right: 25px;
210
210
  }
211
-
211
+
212
212
  .spinner-draw-closed {
213
213
  top: 35px;
214
214
  right: 8px;
@@ -230,11 +230,11 @@ export default css `
230
230
  display: flex;
231
231
  margin-bottom: 20px;
232
232
  }
233
-
233
+
234
234
  .right {
235
235
  text-align: right;
236
236
  }
237
-
237
+
238
238
  .export-block {
239
239
  width: 50%;
240
240
  }
@@ -243,7 +243,7 @@ export default css `
243
243
  margin-left: 20px;
244
244
  padding-top: 3px;
245
245
  }
246
-
246
+
247
247
  sl-badge::part(base) {
248
248
  width: 10px;
249
249
  padding: 0;
@@ -251,6 +251,7 @@ export default css `
251
251
  margin-top: 2px;
252
252
  height: 10px;
253
253
  }
254
+
254
255
  .collapse-side {
255
256
  position: absolute;
256
257
  right: 5px;
@@ -259,8 +260,55 @@ export default css `
259
260
  color: var(--secondary-color);
260
261
  font-size: 1.4rem;
261
262
  }
263
+
262
264
  sl-icon-button.collapse-side::part(base) {
263
265
  padding: 0;
264
266
  }
267
+
268
+ .controls {
269
+ display: flex;
270
+ margin-left: 10px;
271
+ padding-top: 2px;
272
+ font-size: 0.8rem;
273
+ height: 38px;
274
+ border-bottom: 1px dashed var(--secondary-color-dimmer);
275
+ }
276
+
277
+ .url-input {
278
+ width: 50%;
279
+ }
280
+
281
+ .url-problem {
282
+ padding: 50px;
283
+ display: none;
284
+ }
285
+
286
+ #url-spinner {
287
+ padding: 5px 50px 5px 50px;
288
+ }
289
+
290
+ .main-view {
291
+ position: relative;
292
+ width: 100%;
293
+ height: 100%;
294
+ }
295
+
296
+ sl-button.url-input-button::part(base) {
297
+ margin-top: 0;
298
+ margin-left: 10px;
299
+ }
300
+
301
+ .editor-url-overlay {
302
+ position: absolute;
303
+ height: calc(100% - 5px);
304
+ width: 100%;
305
+ left: 0;
306
+ top: 0;
307
+ z-index: 3;
308
+ display: none;
309
+ backdrop-filter: blur(2px);
310
+ -webkit-backdrop-filter: blur(2px);
311
+ background-color: var(--background-color-withopacity);
312
+ }
265
313
 
266
314
  `;
@@ -10,7 +10,8 @@ import '@shoelace-style/shoelace/dist/components/avatar/avatar.js';
10
10
  import { LitElement } from "lit";
11
11
  import { AddToastEvent, EditorUpdatedEvent, ProblemRuleFilterChangedEvent, RulesetSavedEvent, RuleClickedEvent, NodeClickedEvent, NodeReferenceEvent, ExplorerEqualizerChangedEvent } from "../../events/doctor.js";
12
12
  import { ProblemDrawerEvent } from "../problem-list/details-drawer.js";
13
- import { SlDialog, SlIcon, SlRadioGroup, SlSplitPanel, SlTab, SlTabGroup } from "@shoelace-style/shoelace";
13
+ import { SlButton, SlDialog, SlIcon, SlInput, SlRadioGroup, SlSplitPanel, SlTab, SlTabGroup } from "@shoelace-style/shoelace";
14
+ import { PlatformError } from "../../model/errors.js";
14
15
  import { AttentionBox } from "../attention-box/attention-box.js";
15
16
  import { Toast } from "../../model/toast.js";
16
17
  import SlIconButton from "@shoelace-style/shoelace/dist/components/icon-button/icon-button.js";
@@ -18,6 +19,7 @@ import { Node } from "../../model/graph.js";
18
19
  import { ModelTree } from "../model-tree/tree.js";
19
20
  import { ExplorerComponent } from "../visualizer/explorer.js";
20
21
  import { RenderedNodeComponent } from "../model-renderer/rendered-node.js";
22
+ import { BusCallback, CommandResponse } from "@pb33f/ranch";
21
23
  export declare const GraphBag = "pb33f-doctor-graph";
22
24
  export declare const DoctorDocumentBag = "pb33f-doctor-editor";
23
25
  export declare const HowToFixBag = "pb33f-doctor-howtofix";
@@ -40,6 +42,7 @@ export declare class TheDoctor extends LitElement {
40
42
  overviewPanel: SlTab;
41
43
  problemsPanel: SlTab;
42
44
  viewerPanel: SlTab;
45
+ explorerPanel: SlTab;
43
46
  controlTabGroup: SlTabGroup;
44
47
  editorTabGroup: SlTabGroup;
45
48
  welcomeBox: AttentionBox;
@@ -47,6 +50,8 @@ export declare class TheDoctor extends LitElement {
47
50
  downloadRulesetLink: HTMLAnchorElement;
48
51
  loadingOverlay: SlDialog;
49
52
  problemsDataDiv: HTMLDivElement;
53
+ urlInputButton: SlButton;
54
+ urlInput: SlInput;
50
55
  private unavailable;
51
56
  doctorEndpoint: string;
52
57
  exportRulesetDialog: SlDialog;
@@ -56,6 +61,7 @@ export declare class TheDoctor extends LitElement {
56
61
  private rulesetPulse;
57
62
  explorerVisible: boolean;
58
63
  explorerBooted: boolean;
64
+ activeURL: string;
59
65
  private readonly errorBanner;
60
66
  private bagManager;
61
67
  private readonly editor;
@@ -107,8 +113,23 @@ export declare class TheDoctor extends LitElement {
107
113
  filteredNodes: Map<string, Node>;
108
114
  renderedNode: RenderedNodeComponent;
109
115
  activeNode: Node;
116
+ private readonly bus;
117
+ private readonly specStreamChannel;
118
+ private readonly doctorServiceChannel;
119
+ private specChannelSubscription;
120
+ private doctorChannelSubscription;
121
+ private brokerConnectionId;
122
+ private readonly busPort;
123
+ private readonly busHost;
124
+ private readonly busVersion;
125
+ private useTLS;
110
126
  readonly nodeLimit: number;
111
127
  constructor(doctorEndpoint?: string);
128
+ whoAmI(): void;
129
+ protected connectToBroker(): void;
130
+ addClickTrack(node: Node): void;
131
+ doctorServiceHandler(): BusCallback<CommandResponse>;
132
+ specStreamHandler(): BusCallback<CommandResponse>;
112
133
  filterTreeModel(event: CustomEvent<ExplorerEqualizerChangedEvent>): void;
113
134
  explorerReferenceClicked(evt: CustomEvent<NodeReferenceEvent>): void;
114
135
  modelTreeNodeClicked(evt: CustomEvent<NodeClickedEvent>): void;
@@ -149,5 +170,14 @@ export declare class TheDoctor extends LitElement {
149
170
  toggleExplorer(): void;
150
171
  closeExplorer(): void;
151
172
  render(): import("lit-html").TemplateResult<1>;
173
+ fetchUrl(): void;
174
+ urlOverlay: HTMLElement;
175
+ urlProblem: HTMLElement;
176
+ urlSpinner: HTMLDivElement;
177
+ urlErrorCode: number;
178
+ urlErrorMessage: string;
179
+ hideUrlError(): void;
180
+ showUrlError(e: PlatformError): void;
181
+ validateUrl(evt: KeyboardEvent): void;
152
182
  ungrabExplorer(): void;
153
183
  }