@tellegen/svelte 0.1.1 → 0.2.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.
Files changed (105) hide show
  1. package/README.md +15 -0
  2. package/dist/Sparkline.svelte.d.ts +0 -1
  3. package/dist/TellegenMap.svelte +109 -47
  4. package/dist/TellegenMap.svelte.d.ts +0 -1
  5. package/dist/TellegenProvider.svelte.d.ts +0 -1
  6. package/dist/TellegenShell.svelte +28 -3
  7. package/dist/TellegenShell.svelte.d.ts +0 -1
  8. package/dist/TellegenViewer.svelte.d.ts +0 -1
  9. package/dist/api.d.ts +0 -1
  10. package/dist/colors.d.ts +0 -1
  11. package/dist/components/AppFooter.svelte +26 -1
  12. package/dist/components/AppFooter.svelte.d.ts +5 -18
  13. package/dist/components/AppHeader.svelte +63 -3
  14. package/dist/components/AppHeader.svelte.d.ts +0 -1
  15. package/dist/components/BindingLines.svelte +13 -0
  16. package/dist/components/BindingLines.svelte.d.ts +0 -1
  17. package/dist/components/BusPicker.svelte +40 -0
  18. package/dist/components/BusPicker.svelte.d.ts +4 -2
  19. package/dist/components/ControlPanel.svelte +359 -72
  20. package/dist/components/ControlPanel.svelte.d.ts +2 -18
  21. package/dist/components/DemandSlider.svelte +28 -8
  22. package/dist/components/DemandSlider.svelte.d.ts +0 -1
  23. package/dist/components/DisplayControls.svelte.d.ts +0 -1
  24. package/dist/components/DropZone.svelte.d.ts +0 -1
  25. package/dist/components/FormulationSelector.svelte +17 -0
  26. package/dist/components/FormulationSelector.svelte.d.ts +0 -1
  27. package/dist/components/LocalCaseDetails.svelte +5 -2
  28. package/dist/components/LocalCaseDetails.svelte.d.ts +0 -1
  29. package/dist/components/MulticonductorDetails.svelte +3 -3
  30. package/dist/components/MulticonductorDetails.svelte.d.ts +0 -1
  31. package/dist/components/NetworkStats.svelte.d.ts +0 -1
  32. package/dist/components/PlacementCue.svelte.d.ts +0 -1
  33. package/dist/components/RatingSlider.svelte.d.ts +0 -1
  34. package/dist/components/RestoreDefaultsButton.svelte.d.ts +0 -1
  35. package/dist/components/SensitivityReadout.svelte +10 -1
  36. package/dist/components/SensitivityReadout.svelte.d.ts +0 -1
  37. package/dist/components/SizeLegend.svelte.d.ts +0 -1
  38. package/dist/components/SolveCard.svelte +2 -1
  39. package/dist/components/SolveCard.svelte.d.ts +0 -1
  40. package/dist/components/TopMovers.svelte.d.ts +0 -1
  41. package/dist/components.d.ts +0 -1
  42. package/dist/context.svelte.d.ts +0 -1
  43. package/dist/controller.svelte.d.ts +24 -12
  44. package/dist/controller.svelte.js +218 -101
  45. package/dist/display.d.ts +0 -1
  46. package/dist/drop-classify.d.ts +5 -42
  47. package/dist/drop-classify.js +5 -78
  48. package/dist/drop-limits.d.ts +27 -0
  49. package/dist/drop-limits.js +83 -0
  50. package/dist/format.d.ts +0 -1
  51. package/dist/index.d.ts +3 -5
  52. package/dist/index.js +2 -2
  53. package/dist/map-bounds.d.ts +5 -0
  54. package/dist/map-bounds.js +41 -0
  55. package/dist/map.d.ts +0 -1
  56. package/dist/multiconductor.d.ts +0 -1
  57. package/dist/state.svelte.d.ts +13 -1
  58. package/dist/state.svelte.js +13 -0
  59. package/dist/study-package.d.ts +0 -1
  60. package/dist/styles.css +16 -2
  61. package/dist/synthetic-layout.d.ts +0 -1
  62. package/dist/synthetic-layout.js +16 -2
  63. package/dist/transformer-icon.d.ts +0 -1
  64. package/dist/types.d.ts +0 -1
  65. package/package.json +14 -11
  66. package/dist/Sparkline.svelte.d.ts.map +0 -1
  67. package/dist/TellegenMap.svelte.d.ts.map +0 -1
  68. package/dist/TellegenProvider.svelte.d.ts.map +0 -1
  69. package/dist/TellegenShell.svelte.d.ts.map +0 -1
  70. package/dist/TellegenViewer.svelte.d.ts.map +0 -1
  71. package/dist/api.d.ts.map +0 -1
  72. package/dist/colors.d.ts.map +0 -1
  73. package/dist/components/AppFooter.svelte.d.ts.map +0 -1
  74. package/dist/components/AppHeader.svelte.d.ts.map +0 -1
  75. package/dist/components/BindingLines.svelte.d.ts.map +0 -1
  76. package/dist/components/BusPicker.svelte.d.ts.map +0 -1
  77. package/dist/components/ControlPanel.svelte.d.ts.map +0 -1
  78. package/dist/components/DemandSlider.svelte.d.ts.map +0 -1
  79. package/dist/components/DisplayControls.svelte.d.ts.map +0 -1
  80. package/dist/components/DropZone.svelte.d.ts.map +0 -1
  81. package/dist/components/FormulationSelector.svelte.d.ts.map +0 -1
  82. package/dist/components/LocalCaseDetails.svelte.d.ts.map +0 -1
  83. package/dist/components/MulticonductorDetails.svelte.d.ts.map +0 -1
  84. package/dist/components/NetworkStats.svelte.d.ts.map +0 -1
  85. package/dist/components/PlacementCue.svelte.d.ts.map +0 -1
  86. package/dist/components/RatingSlider.svelte.d.ts.map +0 -1
  87. package/dist/components/RestoreDefaultsButton.svelte.d.ts.map +0 -1
  88. package/dist/components/SensitivityReadout.svelte.d.ts.map +0 -1
  89. package/dist/components/SizeLegend.svelte.d.ts.map +0 -1
  90. package/dist/components/SolveCard.svelte.d.ts.map +0 -1
  91. package/dist/components/TopMovers.svelte.d.ts.map +0 -1
  92. package/dist/components.d.ts.map +0 -1
  93. package/dist/context.svelte.d.ts.map +0 -1
  94. package/dist/controller.svelte.d.ts.map +0 -1
  95. package/dist/display.d.ts.map +0 -1
  96. package/dist/drop-classify.d.ts.map +0 -1
  97. package/dist/format.d.ts.map +0 -1
  98. package/dist/index.d.ts.map +0 -1
  99. package/dist/map.d.ts.map +0 -1
  100. package/dist/multiconductor.d.ts.map +0 -1
  101. package/dist/state.svelte.d.ts.map +0 -1
  102. package/dist/study-package.d.ts.map +0 -1
  103. package/dist/synthetic-layout.d.ts.map +0 -1
  104. package/dist/transformer-icon.d.ts.map +0 -1
  105. package/dist/types.d.ts.map +0 -1
@@ -16,4 +16,3 @@ declare const MulticonductorDetails: $$__sveltets_2_IsomorphicComponent<Record<s
16
16
  }, {}, {}, string>;
17
17
  type MulticonductorDetails = InstanceType<typeof MulticonductorDetails>;
18
18
  export default MulticonductorDetails;
19
- //# sourceMappingURL=MulticonductorDetails.svelte.d.ts.map
@@ -16,4 +16,3 @@ declare const NetworkStats: $$__sveltets_2_IsomorphicComponent<Record<string, ne
16
16
  }, {}, {}, string>;
17
17
  type NetworkStats = InstanceType<typeof NetworkStats>;
18
18
  export default NetworkStats;
19
- //# sourceMappingURL=NetworkStats.svelte.d.ts.map
@@ -16,4 +16,3 @@ declare const PlacementCue: $$__sveltets_2_IsomorphicComponent<Record<string, ne
16
16
  }, {}, {}, string>;
17
17
  type PlacementCue = InstanceType<typeof PlacementCue>;
18
18
  export default PlacementCue;
19
- //# sourceMappingURL=PlacementCue.svelte.d.ts.map
@@ -1,4 +1,3 @@
1
1
  declare const RatingSlider: import("svelte").Component<Record<string, never>, {}, "">;
2
2
  type RatingSlider = ReturnType<typeof RatingSlider>;
3
3
  export default RatingSlider;
4
- //# sourceMappingURL=RatingSlider.svelte.d.ts.map
@@ -16,4 +16,3 @@ declare const RestoreDefaultsButton: $$__sveltets_2_IsomorphicComponent<Record<s
16
16
  }, {}, {}, string>;
17
17
  type RestoreDefaultsButton = InstanceType<typeof RestoreDefaultsButton>;
18
18
  export default RestoreDefaultsButton;
19
- //# sourceMappingURL=RestoreDefaultsButton.svelte.d.ts.map
@@ -40,7 +40,9 @@
40
40
  <span class="mono dim">
41
41
  {#if branchMode}line {branchLabel}{:else}bus {app.selectedBus}{/if}
42
42
  </span>
43
- <button class="mono" onclick={ctrl.clearSelection}>esc&nbsp;clear</button>
43
+ <button class="mono" onclick={ctrl.clearSelection}
44
+ ><span class="key-hint">esc&nbsp;</span>clear</button
45
+ >
44
46
  </div>
45
47
  <div class="sensitivity-readout" aria-live="polite">
46
48
  {#if ctrl.previewing}
@@ -123,4 +125,11 @@
123
125
  line-height: 1.35;
124
126
  white-space: nowrap;
125
127
  }
128
+
129
+ /* No Esc key to name on a touch device. */
130
+ @media (hover: none), (pointer: coarse) {
131
+ .key-hint {
132
+ display: none;
133
+ }
134
+ }
126
135
  </style>
@@ -1,4 +1,3 @@
1
1
  declare const SensitivityReadout: import("svelte").Component<Record<string, never>, {}, "">;
2
2
  type SensitivityReadout = ReturnType<typeof SensitivityReadout>;
3
3
  export default SensitivityReadout;
4
- //# sourceMappingURL=SensitivityReadout.svelte.d.ts.map
@@ -16,4 +16,3 @@ declare const SizeLegend: $$__sveltets_2_IsomorphicComponent<Record<string, neve
16
16
  }, {}, {}, string>;
17
17
  type SizeLegend = InstanceType<typeof SizeLegend>;
18
18
  export default SizeLegend;
19
- //# sourceMappingURL=SizeLegend.svelte.d.ts.map
@@ -75,7 +75,8 @@
75
75
 
76
76
  @media (max-width: 760px) {
77
77
  .solvecard {
78
- top: 184px;
78
+ /* just clear of the header's case tabs */
79
+ top: 108px;
79
80
  left: auto;
80
81
  right: 10px;
81
82
  width: min(300px, calc(100% - 20px));
@@ -1,4 +1,3 @@
1
1
  declare const SolveCard: import("svelte").Component<Record<string, never>, {}, "">;
2
2
  type SolveCard = ReturnType<typeof SolveCard>;
3
3
  export default SolveCard;
4
- //# sourceMappingURL=SolveCard.svelte.d.ts.map
@@ -16,4 +16,3 @@ declare const TopMovers: $$__sveltets_2_IsomorphicComponent<Record<string, never
16
16
  }, {}, {}, string>;
17
17
  type TopMovers = InstanceType<typeof TopMovers>;
18
18
  export default TopMovers;
19
- //# sourceMappingURL=TopMovers.svelte.d.ts.map
@@ -16,4 +16,3 @@ export { default as SizeLegend } from './components/SizeLegend.svelte';
16
16
  export { default as SolveCard } from './components/SolveCard.svelte';
17
17
  export { default as TopMovers } from './components/TopMovers.svelte';
18
18
  export { default as Sparkline } from './Sparkline.svelte';
19
- //# sourceMappingURL=components.d.ts.map
@@ -17,4 +17,3 @@ export declare const setUiConfig: (config: TellegenUiConfig) => TellegenUiConfig
17
17
  export declare const getAppState: () => AppState;
18
18
  export declare const getController: () => Controller;
19
19
  export declare const getUiConfig: () => TellegenUiConfig;
20
- //# sourceMappingURL=context.svelte.d.ts.map
@@ -10,6 +10,11 @@ type GeoLayerFile = {
10
10
  layer: string;
11
11
  warnings: string[];
12
12
  };
13
+ /** A lowered analysis row is view-only only when a current producer says so;
14
+ * absence keeps payloads from older compatible engine/server versions editable. */
15
+ export declare function isDisplayOnlyElement(element: {
16
+ editable?: boolean;
17
+ } | null | undefined): boolean;
13
18
  export type { SolvableCase };
14
19
  type DemandRangeAnchor = {
15
20
  caseId: string;
@@ -41,6 +46,7 @@ export declare class Controller {
41
46
  }>;
42
47
  localSeq: number;
43
48
  loading: Promise<void> | null;
49
+ private readonly dropBatchGate;
44
50
  nearbyRangeAnchor: DemandRangeAnchor | null;
45
51
  hiddenDefaults: Set<string>;
46
52
  casesLoaded: boolean;
@@ -144,6 +150,7 @@ export declare class Controller {
144
150
  };
145
151
  sliderMin: number;
146
152
  sliderMax: number;
153
+ sliderDisabled: boolean;
147
154
  committedRating: number;
148
155
  ratingSliderValue: number;
149
156
  ratingBounds: {
@@ -262,23 +269,26 @@ export declare class Controller {
262
269
  resetCase: (c: SolvableCase) => void;
263
270
  changeFormulation: (c: SolvableCase, next: Formulation) => void;
264
271
  /** Parse dropped files in the browser via the powerio wasm module. Case
265
- * files (.m, .raw, .aux) become local networks; geographic files can
272
+ * files (.m, .raw, .aux, .epc, .pwb) become local networks; geographic files can
266
273
  * place those networks; a PowerWorld .pwd becomes a substation point
267
274
  * preview. Files run serially; nothing uploads. */
268
275
  ingestFiles: (files: FileList | File[]) => Promise<void>;
276
+ private ingestFileBatch;
277
+ /** Apply co-dropped geographic data before a local case becomes active and
278
+ * starts solving. Without geographic data, let a coordinate-less case borrow
279
+ * the first matching PowerWorld display. A failed geographic join keeps the
280
+ * parsed case and returns the user-facing placement error. */
281
+ private prepareDroppedLocal;
269
282
  /** Fill a coordinate-less case's positions from a co-dropped PowerWorld
270
283
  * `.pwd`: the display's substation points project to approximate
271
284
  * longitude/latitude and join onto buses through the `SubNum` extras key.
272
285
  * The first display that joins wins; one that matches nothing stays
273
286
  * available as its own preview entry, and the case stays placeable. */
274
287
  private fillFromDisplaySibling;
275
- /** Route a dropped `.json` by its content: a saved study package restores
276
- * (`restored`), a multiconductor package or a BMOPF/PMD distribution
277
- * document views (`viewed`), `failed` means the content looked routable but
278
- * the engine rejected it (a fail-closed message is set), and `not-package`
279
- * falls through to the caller's geo/case handling. `drop-classify` is the
280
- * single owner of the classification. */
281
- private ingestJsonDrop;
288
+ /** Route a dropped `.json` by its content. Recognized payloads return without
289
+ * mutating case state so co-dropped sidecars can be applied first; unrouted
290
+ * content returns the bytes already read for the geographic fallback. */
291
+ private routeJsonDrop;
282
292
  /** Parse a dropped OpenDSS `.dss` file into a multiconductor viewing case.
283
293
  * Returns true when a case landed; a parse failure sets the panel error. */
284
294
  private ingestDistFile;
@@ -303,9 +313,12 @@ export declare class Controller {
303
313
  /** The unified map click-to-place: a pending multiconductor case takes the
304
314
  * click first, otherwise a pending local case does. */
305
315
  placeCase: (lon: number, lat: number) => void;
306
- /** Build a local case from a restored study package: the same shape a dropped case
307
- * takes, with the saved demand/rating deltas and formulation pre-applied. */
308
- private restoreLocalFromPackage;
316
+ /** Build a local case from a bare balanced ingest payload without activating
317
+ * it yet; co-dropped placement data is applied before the first solve. */
318
+ private localFromBalancedPayload;
319
+ /** Build a local case from a saved package, including its edit state and
320
+ * formulation, without activating it until sidecars have been applied. */
321
+ private localFromPackage;
309
322
  /** Build (or reuse) the case's Study and commit it at the current edit state, so a
310
323
  * save or export captures exactly what is on screen. Null (with an error set) when no
311
324
  * network or Study is available. */
@@ -334,4 +347,3 @@ export declare class Controller {
334
347
  ratingSliderCurrent: () => number;
335
348
  }
336
349
  export declare function createController(app: AppState, options?: ControllerOptions): Controller;
337
- //# sourceMappingURL=controller.svelte.d.ts.map