@treasuryspatial/viewer-ui-kit 0.1.42 → 0.1.56

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 (89) hide show
  1. package/dist/AdminLayout.js +1 -1
  2. package/dist/AdminShell.d.ts +6 -1
  3. package/dist/AdminShell.d.ts.map +1 -1
  4. package/dist/AdminShell.js +45 -3
  5. package/dist/ChooserActionCard.d.ts +10 -0
  6. package/dist/ChooserActionCard.d.ts.map +1 -0
  7. package/dist/ChooserActionCard.js +39 -0
  8. package/dist/ComposerRightRail.d.ts +3 -1
  9. package/dist/ComposerRightRail.d.ts.map +1 -1
  10. package/dist/ComposerRightRail.js +11 -43
  11. package/dist/ConfiguratorShell.js +1 -1
  12. package/dist/LandingShell.d.ts +2 -1
  13. package/dist/LandingShell.d.ts.map +1 -1
  14. package/dist/LandingShell.js +133 -33
  15. package/dist/LoginShell.d.ts +2 -1
  16. package/dist/LoginShell.d.ts.map +1 -1
  17. package/dist/LoginShell.js +26 -3
  18. package/dist/ManifestTopBar.d.ts +7 -1
  19. package/dist/ManifestTopBar.d.ts.map +1 -1
  20. package/dist/ManifestTopBar.js +249 -38
  21. package/dist/MetricsPanel.d.ts +1 -1
  22. package/dist/MetricsPanel.d.ts.map +1 -1
  23. package/dist/MetricsPanel.js +19 -29
  24. package/dist/MetricsPanelContent.d.ts +38 -17
  25. package/dist/MetricsPanelContent.d.ts.map +1 -1
  26. package/dist/MetricsPanelContent.js +84 -90
  27. package/dist/ModeBar.d.ts +6 -2
  28. package/dist/ModeBar.d.ts.map +1 -1
  29. package/dist/ModeBar.js +49 -82
  30. package/dist/ModuleSelectorPanel.d.ts +2 -1
  31. package/dist/ModuleSelectorPanel.d.ts.map +1 -1
  32. package/dist/ModuleSelectorPanel.js +47 -49
  33. package/dist/PanelSkin.d.ts.map +1 -1
  34. package/dist/PanelSkin.js +1598 -312
  35. package/dist/PanelSystem.d.ts +45 -0
  36. package/dist/PanelSystem.d.ts.map +1 -0
  37. package/dist/PanelSystem.js +450 -0
  38. package/dist/PanelTabs.d.ts.map +1 -1
  39. package/dist/PanelTabs.js +8 -34
  40. package/dist/PanelToggleDock.d.ts +10 -0
  41. package/dist/PanelToggleDock.d.ts.map +1 -0
  42. package/dist/PanelToggleDock.js +40 -0
  43. package/dist/PromptPackChooserPanel.d.ts +12 -11
  44. package/dist/PromptPackChooserPanel.d.ts.map +1 -1
  45. package/dist/PromptPackChooserPanel.js +103 -63
  46. package/dist/SceneInspectorPanel.d.ts +42 -0
  47. package/dist/SceneInspectorPanel.d.ts.map +1 -0
  48. package/dist/SceneInspectorPanel.js +135 -0
  49. package/dist/ScienceDataPanelContent.d.ts +16 -0
  50. package/dist/ScienceDataPanelContent.d.ts.map +1 -0
  51. package/dist/ScienceDataPanelContent.js +31 -0
  52. package/dist/ScienceMetricsPanelContent.d.ts +53 -0
  53. package/dist/ScienceMetricsPanelContent.d.ts.map +1 -0
  54. package/dist/ScienceMetricsPanelContent.js +415 -0
  55. package/dist/SpatialHud.d.ts +18 -0
  56. package/dist/SpatialHud.d.ts.map +1 -0
  57. package/dist/SpatialHud.js +120 -0
  58. package/dist/StreetviewModeSurface.d.ts +40 -0
  59. package/dist/StreetviewModeSurface.d.ts.map +1 -0
  60. package/dist/StreetviewModeSurface.js +358 -0
  61. package/dist/SurfaceSwitcher.d.ts +11 -0
  62. package/dist/SurfaceSwitcher.d.ts.map +1 -0
  63. package/dist/SurfaceSwitcher.js +46 -0
  64. package/dist/TopBar.d.ts +2 -0
  65. package/dist/TopBar.d.ts.map +1 -1
  66. package/dist/TopBar.js +3 -1
  67. package/dist/UnknownModeSurface.d.ts +6 -0
  68. package/dist/UnknownModeSurface.d.ts.map +1 -0
  69. package/dist/UnknownModeSurface.js +41 -0
  70. package/dist/index.d.ts +19 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +12 -0
  73. package/dist/landingTokens.d.ts +7 -0
  74. package/dist/landingTokens.d.ts.map +1 -0
  75. package/dist/landingTokens.js +6 -0
  76. package/dist/layout.d.ts +27 -27
  77. package/dist/layout.d.ts.map +1 -1
  78. package/dist/layout.js +33 -27
  79. package/dist/mapMetrics.d.ts +88 -0
  80. package/dist/mapMetrics.d.ts.map +1 -0
  81. package/dist/mapMetrics.js +1 -0
  82. package/dist/panelPrimitives.d.ts +11 -0
  83. package/dist/panelPrimitives.d.ts.map +1 -0
  84. package/dist/panelPrimitives.js +41 -0
  85. package/dist/topbarLogoPolicy.d.ts +14 -0
  86. package/dist/topbarLogoPolicy.d.ts.map +1 -0
  87. package/dist/topbarLogoPolicy.js +41 -0
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +18 -5
package/dist/layout.d.ts CHANGED
@@ -1,41 +1,41 @@
1
- export declare const Layout: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
- export declare const ShellLayout: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, {
1
+ export declare const Layout: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const ShellLayout: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>, {
3
3
  $topOffset?: number;
4
4
  }>> & string;
5
- export declare const ViewerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
- export declare const ControlPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {
5
+ export declare const ViewerContainer: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ export declare const ControlPanel: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {
7
7
  $open: boolean;
8
8
  }>> & string;
9
- export declare const PanelHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
10
- export declare const PanelHeaderContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
- export declare const PanelHeaderRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
- export declare const PanelTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never>> & string;
13
- export declare const PanelSubtitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>> & string;
14
- export declare const PanelStatusPill: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
9
+ export declare const PanelHeader: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
10
+ export declare const PanelHeaderContent: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
+ export declare const PanelHeaderRow: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
+ export declare const PanelTitle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never>> & string;
13
+ export declare const PanelSubtitle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>> & string;
14
+ export declare const PanelStatusPill: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
15
15
  $tone?: "loading" | "error" | "ready";
16
16
  }>> & string;
17
- export declare const PanelBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
- export declare const PanelFooter: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
19
- export declare const PanelCollapseToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
20
- export declare const PanelShowToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
21
- export declare const RightPanel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {
17
+ export declare const PanelBody: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
+ export declare const PanelFooter: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
19
+ export declare const PanelCollapseToggle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
20
+ export declare const PanelShowToggle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
21
+ export declare const RightPanel: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {
22
22
  $open: boolean;
23
23
  $topOffset?: number;
24
24
  }>> & string;
25
- export declare const RightPanelCollapseToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
26
- export declare const RightPanelShowToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
27
- export declare const InspectorWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
25
+ export declare const RightPanelCollapseToggle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
26
+ export declare const RightPanelShowToggle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>>, never>, never>> & string;
27
+ export declare const InspectorWrapper: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
28
28
  $topOffset?: number;
29
29
  }>> & string;
30
- export declare const InspectorCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
31
- export declare const InspectorHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
32
- export declare const InspectorTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
33
- export declare const InspectorCollapse: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
34
- export declare const InspectorBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
35
- export declare const InspectorRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
36
- export declare const InspectorToggleRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
37
- export declare const InspectorToggle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
38
- export declare const FloatingControls: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
30
+ export declare const InspectorCard: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
31
+ export declare const InspectorHeader: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
32
+ export declare const InspectorTitle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
33
+ export declare const InspectorCollapse: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
34
+ export declare const InspectorBody: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
35
+ export declare const InspectorRow: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
36
+ export declare const InspectorToggleRow: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
37
+ export declare const InspectorToggle: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, never>> & string;
38
+ export declare const FloatingControls: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components/dist/types.js").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
39
39
  $panelOpen?: boolean;
40
40
  }>> & string;
41
41
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,6NAKlB,CAAC;AAEF,eAAO,MAAM,WAAW;iBAAiC,MAAM;YAM9D,CAAC;AAEF,eAAO,MAAM,eAAe,6NAK3B,CAAC;AAEF,eAAO,MAAM,YAAY;WAAyB,OAAO;YAexD,CAAC;AAEF,eAAO,MAAM,WAAW,6NAOvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,6NAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,6NAK1B,CAAC;AAEF,eAAO,MAAM,UAAU,qOAItB,CAAC;AAEF,eAAO,MAAM,aAAa,yOAIzB,CAAC;AAEF,eAAO,MAAM,eAAe;YAAyB,SAAS,GAAG,OAAO,GAAG,OAAO;YA4BjF,CAAC;AAEF,eAAO,MAAM,SAAS,6NASrB,CAAC;AAEF,eAAO,MAAM,WAAW,6NAOvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,wbAM/B,CAAC;AAEF,eAAO,MAAM,eAAe,wbAM3B,CAAC;AAEF,eAAO,MAAM,UAAU;WAAyB,OAAO;iBAAe,MAAM;YAc3E,CAAC;AAEF,eAAO,MAAM,wBAAwB,wbAMpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wbAMhC,CAAC;AAEF,eAAO,MAAM,gBAAgB;iBAA6B,MAAM;YAO/D,CAAC;AAEF,eAAO,MAAM,aAAa,6NAYzB,CAAC;AAEF,eAAO,MAAM,eAAe,6NAK3B,CAAC;AAEF,eAAO,MAAM,cAAc,+NAK1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,yOAa7B,CAAC;AAEF,eAAO,MAAM,aAAa,6NAGzB,CAAC;AAEF,eAAO,MAAM,YAAY,6NAKxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,6NAI9B,CAAC;AAEF,eAAO,MAAM,eAAe,yOAa3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;iBAA6B,OAAO;YAYhE,CAAC"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM,gOAKlB,CAAC;AAEF,eAAO,MAAM,WAAW;iBAAiC,MAAM;YAM9D,CAAC;AAEF,eAAO,MAAM,eAAe,gOAQ3B,CAAC;AAEF,eAAO,MAAM,YAAY;WAAyB,OAAO;YAgBxD,CAAC;AAEF,eAAO,MAAM,WAAW,gOAOvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gOAI9B,CAAC;AAEF,eAAO,MAAM,cAAc,gOAK1B,CAAC;AAEF,eAAO,MAAM,UAAU,wOAKtB,CAAC;AAEF,eAAO,MAAM,aAAa,4OAKzB,CAAC;AAEF,eAAO,MAAM,eAAe;YAAyB,SAAS,GAAG,OAAO,GAAG,OAAO;YA4BjF,CAAC;AAEF,eAAO,MAAM,SAAS,gOASrB,CAAC;AAEF,eAAO,MAAM,WAAW,gOAOvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,8bAM/B,CAAC;AAEF,eAAO,MAAM,eAAe,8bAM3B,CAAC;AAEF,eAAO,MAAM,UAAU;WAAyB,OAAO;iBAAe,MAAM;YAc3E,CAAC;AAEF,eAAO,MAAM,wBAAwB,8bAMpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,8bAMhC,CAAC;AAEF,eAAO,MAAM,gBAAgB;iBAA6B,MAAM;YAO/D,CAAC;AAEF,eAAO,MAAM,aAAa,gOAYzB,CAAC;AAEF,eAAO,MAAM,eAAe,gOAK3B,CAAC;AAEF,eAAO,MAAM,cAAc,kOAK1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,4OAa7B,CAAC;AAEF,eAAO,MAAM,aAAa,gOAGzB,CAAC;AAEF,eAAO,MAAM,YAAY,gOAKxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,gOAI9B,CAAC;AAEF,eAAO,MAAM,eAAe,4OAY3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;iBAA6B,OAAO;YAYhE,CAAC"}
package/dist/layout.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
  import styled from 'styled-components';
3
+ import { panelSystemBodyCss, panelSystemSurfaceCss, panelSystemTitleCss } from './PanelSystem.js';
3
4
  export const Layout = styled.div `
4
5
  position: relative;
5
6
  height: 100vh;
@@ -15,11 +16,15 @@ export const ShellLayout = styled(Layout) `
15
16
  `;
16
17
  export const ViewerContainer = styled.div `
17
18
  position: absolute;
18
- inset: 0;
19
+ left: var(--ui-left-offset, 0px);
20
+ right: var(--ui-right-offset, 0px);
21
+ top: 0;
22
+ bottom: 0;
19
23
  z-index: 1;
20
- transition: top 0.3s ease, height 0.3s ease;
24
+ transition: top 0.3s ease, height 0.3s ease, left 0.3s ease, right 0.3s ease;
21
25
  `;
22
26
  export const ControlPanel = styled.aside `
27
+ ${panelSystemSurfaceCss}
23
28
  position: absolute;
24
29
  left: 0;
25
30
  top: 0;
@@ -27,7 +32,7 @@ export const ControlPanel = styled.aside `
27
32
  width: var(--ui-panel-width);
28
33
  background: var(--brand-panel);
29
34
  border-right: 1px solid var(--brand-panel-border);
30
- box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
35
+ box-shadow: none;
31
36
  display: flex;
32
37
  flex-direction: column;
33
38
  transform: translateX(${(props) => (props.$open ? '0' : '-105%')});
@@ -37,16 +42,16 @@ export const ControlPanel = styled.aside `
37
42
  `;
38
43
  export const PanelHeader = styled.div `
39
44
  position: relative;
40
- padding: 18px 20px 16px;
45
+ padding: 18px 28px 14px 20px;
41
46
  border-bottom: 1px solid var(--brand-panel-border);
42
47
  background: var(--brand-panel);
43
- box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
48
+ box-shadow: none;
44
49
  z-index: 10;
45
50
  `;
46
51
  export const PanelHeaderContent = styled.div `
47
52
  display: flex;
48
53
  flex-direction: column;
49
- gap: 6px;
54
+ gap: 12px;
50
55
  `;
51
56
  export const PanelHeaderRow = styled.div `
52
57
  display: flex;
@@ -55,24 +60,26 @@ export const PanelHeaderRow = styled.div `
55
60
  gap: 12px;
56
61
  `;
57
62
  export const PanelTitle = styled.h2 `
58
- font-size: 18px;
59
- font-weight: 600;
60
- color: var(--brand-text-primary);
63
+ ${panelSystemTitleCss}
64
+ font-size: 32px;
65
+ font-weight: 500;
66
+ color: var(--viewer-ui-color-text-strong, var(--brand-text-primary));
61
67
  `;
62
68
  export const PanelSubtitle = styled.p `
63
- font-size: 11px;
64
- line-height: 1.5;
65
- color: var(--brand-text-secondary);
69
+ font-size: 14px;
70
+ font-weight: 300;
71
+ line-height: 1.4;
72
+ color: var(--viewer-ui-color-text-muted, var(--brand-text-secondary));
66
73
  `;
67
74
  export const PanelStatusPill = styled.span `
68
75
  font-size: 10px;
69
- text-transform: uppercase;
70
- letter-spacing: 0.12em;
71
- font-weight: 600;
76
+ text-transform: none;
77
+ letter-spacing: 0;
78
+ font-weight: 500;
72
79
  padding: 6px 10px;
73
- border-radius: 999px;
80
+ border-radius: 8px;
74
81
  border: 1px solid var(--brand-panel-border);
75
- color: var(--brand-text-secondary);
82
+ color: var(--viewer-ui-color-text-muted, var(--brand-text-secondary));
76
83
  background: rgba(15, 23, 42, 0.04);
77
84
 
78
85
  ${(props) => props.$tone === 'loading'
@@ -92,13 +99,13 @@ export const PanelStatusPill = styled.span `
92
99
  : ''}
93
100
  `;
94
101
  export const PanelBody = styled.div `
102
+ ${panelSystemBodyCss}
95
103
  flex: 1;
96
104
  min-height: 0;
97
105
  overflow-y: auto;
98
- padding: 16px 20px 24px;
99
106
  display: flex;
100
107
  flex-direction: column;
101
- gap: 18px;
108
+ gap: 22px;
102
109
  position: relative;
103
110
  `;
104
111
  export const PanelFooter = styled.div `
@@ -131,7 +138,7 @@ export const RightPanel = styled.aside `
131
138
  width: var(--ui-metrics-width);
132
139
  background: var(--brand-panel);
133
140
  border-left: 1px solid var(--brand-panel-border);
134
- box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
141
+ box-shadow: none;
135
142
  display: flex;
136
143
  flex-direction: column;
137
144
  transform: translateX(${(props) => (props.$open ? '0' : '105%')});
@@ -181,8 +188,8 @@ export const InspectorHeader = styled.div `
181
188
  `;
182
189
  export const InspectorTitle = styled.span `
183
190
  font-size: 11px;
184
- text-transform: uppercase;
185
- letter-spacing: 0.1em;
191
+ text-transform: none;
192
+ letter-spacing: 0;
186
193
  font-weight: 600;
187
194
  `;
188
195
  export const InspectorCollapse = styled.button `
@@ -190,8 +197,8 @@ export const InspectorCollapse = styled.button `
190
197
  background: transparent;
191
198
  color: rgba(226, 232, 240, 0.7);
192
199
  font-size: 10px;
193
- text-transform: uppercase;
194
- letter-spacing: 0.18em;
200
+ text-transform: none;
201
+ letter-spacing: 0;
195
202
  cursor: pointer;
196
203
  padding: 0;
197
204
 
@@ -219,11 +226,10 @@ export const InspectorToggle = styled.button `
219
226
  background: rgba(148, 163, 184, 0.12);
220
227
  color: inherit;
221
228
  padding: 6px 10px;
222
- border-radius: 999px;
229
+ border-radius: 8px;
223
230
  font-size: 11px;
224
- text-transform: lowercase;
231
+ text-transform: none;
225
232
  cursor: pointer;
226
-
227
233
  &[data-active='true'] {
228
234
  background: rgba(148, 163, 184, 0.28);
229
235
  }
@@ -0,0 +1,88 @@
1
+ export type MapSiteMetrics = {
2
+ address?: string | null;
3
+ sourceKind?: string | null;
4
+ geometryKind?: string | null;
5
+ plotAreaSqm?: number | null;
6
+ linearLengthMeters?: number | null;
7
+ plotPerimeterMeters?: number | null;
8
+ footprintAreaSqm?: number | null;
9
+ frontageMeters?: number | null;
10
+ footprintOffsetMeters?: number | null;
11
+ pointCount?: number | null;
12
+ orientationDegrees?: number | null;
13
+ siteCoveragePercent?: number | null;
14
+ floorAreaRatio?: number | null;
15
+ openSpacePercent?: number | null;
16
+ };
17
+ export type MapModelMetrics = {
18
+ toolId?: string | null;
19
+ compositionLabel?: string | null;
20
+ segmentCount?: number | null;
21
+ floorCount?: number | null;
22
+ floorAreaSqm?: number | null;
23
+ heightMeters?: number | null;
24
+ volumetricMassCubicMeters?: number | null;
25
+ offsetFromPlotMeters?: number | null;
26
+ corridorWidthMeters?: number | null;
27
+ estimatedUnits?: number | null;
28
+ };
29
+ export type MapEcoMetrics = {
30
+ canopyCoveragePercent?: number | null;
31
+ permeableSurfacePercent?: number | null;
32
+ stormwaterRetentionPercent?: number | null;
33
+ biodiversityIndex?: number | null;
34
+ heatIslandReductionIndex?: number | null;
35
+ waterQualityIndex?: number | null;
36
+ salinityPpt?: number | null;
37
+ wildlifeHabitatIndex?: number | null;
38
+ };
39
+ export type MapMaterialsMetrics = {
40
+ primaryMaterial?: string | null;
41
+ hardscapeRatioPercent?: number | null;
42
+ softscapeRatioPercent?: number | null;
43
+ timberSharePercent?: number | null;
44
+ concreteSharePercent?: number | null;
45
+ steelSharePercent?: number | null;
46
+ embodiedCarbonKgCo2ePerSqm?: number | null;
47
+ };
48
+ export type MapCostMetrics = {
49
+ landCost?: number | null;
50
+ projectBuildCost?: number | null;
51
+ publicRealmCost?: number | null;
52
+ annualOpsCost?: number | null;
53
+ contingencyPercent?: number | null;
54
+ };
55
+ export type MapDeliveryMetrics = {
56
+ timeToBuildMonths?: number | null;
57
+ phaseCount?: number | null;
58
+ permittingTrack?: string | null;
59
+ procurementComplexityIndex?: number | null;
60
+ };
61
+ export type MapPlanningMetrics = {
62
+ planningStatus?: string | null;
63
+ zoningFitIndex?: number | null;
64
+ codeComplexityIndex?: number | null;
65
+ heightComplianceIndex?: number | null;
66
+ setbackRiskIndex?: number | null;
67
+ };
68
+ export type MapMarketMetrics = {
69
+ averagePricePerUnit?: number | null;
70
+ timeToSaleMonths?: number | null;
71
+ marketVelocityIndex?: number | null;
72
+ marketMatchIndex?: number | null;
73
+ adjacentValueUpliftPercent?: number | null;
74
+ leaseUpMonths?: number | null;
75
+ };
76
+ export type MapMetricsPayload = {
77
+ source?: string;
78
+ timestamp?: string;
79
+ site: MapSiteMetrics;
80
+ model: MapModelMetrics;
81
+ eco?: MapEcoMetrics | null;
82
+ materials?: MapMaterialsMetrics | null;
83
+ cost?: MapCostMetrics | null;
84
+ delivery?: MapDeliveryMetrics | null;
85
+ planning?: MapPlanningMetrics | null;
86
+ market?: MapMarketMetrics | null;
87
+ };
88
+ //# sourceMappingURL=mapMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapMetrics.d.ts","sourceRoot":"","sources":["../src/mapMetrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ export declare const panelEyebrowCss: import("styled-components").RuleSet<object>;
2
+ export declare const panelTitleCss: import("styled-components").RuleSet<object>;
3
+ export declare const panelSectionTitleCss: import("styled-components").RuleSet<object>;
4
+ export declare const panelBodyTextCss: import("styled-components").RuleSet<object>;
5
+ export declare const panelValueTextCss: import("styled-components").RuleSet<object>;
6
+ export declare const panelSubheadingCss: import("styled-components").RuleSet<object>;
7
+ export declare const panelPillRowCss: import("styled-components").RuleSet<object>;
8
+ export declare const panelPillButtonCss: import("styled-components").RuleSet<{
9
+ $active?: boolean;
10
+ }>;
11
+ //# sourceMappingURL=panelPrimitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panelPrimitives.d.ts","sourceRoot":"","sources":["../src/panelPrimitives.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe,6CAG3B,CAAC;AAEF,eAAO,MAAM,aAAa,6CAGzB,CAAC;AAEF,eAAO,MAAM,oBAAoB,6CAGhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,6CAG5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,6CAG7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,6CAG9B,CAAC;AAEF,eAAO,MAAM,eAAe,6CAI3B,CAAC;AAEF,eAAO,MAAM,kBAAkB;cAAmB,OAAO;EAUxD,CAAC"}
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ import { css } from 'styled-components';
3
+ import { panelSystemBodyTextCss, panelSystemFeatureToggleCss, panelSystemLabelCss, panelSystemSectionHeadingCss, panelSystemSubheadingCss, panelSystemTitleCss, panelSystemToggleBarCss, panelSystemValueCss, } from './PanelSystem.js';
4
+ export const panelEyebrowCss = css `
5
+ ${panelSystemLabelCss}
6
+ color: var(--viewer-ui-color-text-muted, var(--brand-text-secondary));
7
+ `;
8
+ export const panelTitleCss = css `
9
+ ${panelSystemTitleCss}
10
+ color: var(--viewer-ui-color-text-strong, var(--brand-text-primary));
11
+ `;
12
+ export const panelSectionTitleCss = css `
13
+ ${panelSystemSectionHeadingCss}
14
+ color: var(--viewer-ui-color-text-strong, var(--brand-text-primary));
15
+ `;
16
+ export const panelBodyTextCss = css `
17
+ ${panelSystemBodyTextCss}
18
+ color: var(--viewer-ui-color-text-muted, var(--brand-text-secondary));
19
+ `;
20
+ export const panelValueTextCss = css `
21
+ ${panelSystemValueCss}
22
+ color: var(--viewer-ui-color-text-strong, var(--brand-text-primary));
23
+ `;
24
+ export const panelSubheadingCss = css `
25
+ ${panelSystemSubheadingCss}
26
+ color: var(--viewer-ui-color-text-strong, var(--brand-text-primary));
27
+ `;
28
+ export const panelPillRowCss = css `
29
+ ${panelSystemToggleBarCss}
30
+ justify-content: flex-start;
31
+ padding-bottom: 6px;
32
+ `;
33
+ export const panelPillButtonCss = css `
34
+ ${panelSystemFeatureToggleCss}
35
+ background: ${(props) => props.$active
36
+ ? 'var(--panel-system-accent, var(--brand-primary))'
37
+ : 'var(--panel-system-toggle-bg, rgba(255, 255, 255, 0.6))'};
38
+ color: ${(props) => props.$active
39
+ ? 'var(--viewer-ui-color-button-primary-text, rgb(255 255 255))'
40
+ : 'var(--panel-system-toggle-fg, rgb(0 0 0))'};
41
+ `;
@@ -0,0 +1,14 @@
1
+ type TopbarLogo = {
2
+ src?: string;
3
+ alt?: string;
4
+ } | null | undefined;
5
+ export declare const normalizeTopbarLogoSrcForComparison: (value: string | null | undefined) => string | null;
6
+ export declare const resolveVisibleTopbarSecondaryLogo: ({ primaryLogo, subtenantLogo, composerDataSecondaryLogo, manifestSecondaryLogo, hasSubtenant, }: {
7
+ primaryLogo?: TopbarLogo;
8
+ subtenantLogo?: TopbarLogo;
9
+ composerDataSecondaryLogo?: TopbarLogo;
10
+ manifestSecondaryLogo?: TopbarLogo;
11
+ hasSubtenant: boolean;
12
+ }) => TopbarLogo;
13
+ export {};
14
+ //# sourceMappingURL=topbarLogoPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topbarLogoPolicy.d.ts","sourceRoot":"","sources":["../src/topbarLogoPolicy.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,IAAI,GAAG,SAAS,CAAC;AAErB,eAAO,MAAM,mCAAmC,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,kBA0BnF,CAAC;AAQF,eAAO,MAAM,iCAAiC,GAAI,iGAM/C;IACD,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,yBAAyB,CAAC,EAAE,UAAU,CAAC;IACvC,qBAAqB,CAAC,EAAE,UAAU,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;CACvB,eAQA,CAAC"}
@@ -0,0 +1,41 @@
1
+ export const normalizeTopbarLogoSrcForComparison = (value) => {
2
+ const trimmed = value?.trim();
3
+ if (!trimmed)
4
+ return null;
5
+ let src = trimmed;
6
+ try {
7
+ const parsed = new URL(trimmed, 'https://composer.local');
8
+ const proxiedSrc = parsed.pathname === '/api/assets/hdr'
9
+ ? parsed.searchParams.get('src')
10
+ : null;
11
+ if (proxiedSrc) {
12
+ src = proxiedSrc;
13
+ }
14
+ }
15
+ catch {
16
+ src = trimmed;
17
+ }
18
+ try {
19
+ const absolute = /^[a-z][a-z0-9+.-]*:/i.test(src);
20
+ const parsed = new URL(src, 'https://composer.local');
21
+ return absolute
22
+ ? `${parsed.protocol}//${parsed.host}${parsed.pathname}${parsed.search}`
23
+ : `${parsed.pathname}${parsed.search}`;
24
+ }
25
+ catch {
26
+ return src;
27
+ }
28
+ };
29
+ const isSameTopbarLogo = (left, right) => {
30
+ const leftSrc = normalizeTopbarLogoSrcForComparison(left?.src);
31
+ const rightSrc = normalizeTopbarLogoSrcForComparison(right?.src);
32
+ return Boolean(leftSrc && rightSrc && leftSrc === rightSrc);
33
+ };
34
+ export const resolveVisibleTopbarSecondaryLogo = ({ primaryLogo, subtenantLogo, composerDataSecondaryLogo, manifestSecondaryLogo, hasSubtenant, }) => {
35
+ const candidates = [
36
+ hasSubtenant ? subtenantLogo : undefined,
37
+ composerDataSecondaryLogo,
38
+ manifestSecondaryLogo,
39
+ ];
40
+ return candidates.find((candidate) => Boolean(candidate?.src) && !isSameTopbarLogo(primaryLogo, candidate));
41
+ };