@treasuryspatial/viewer-ui-kit 0.1.41 → 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 (90) 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 +162 -32
  15. package/dist/LoginForm.js +2 -2
  16. package/dist/LoginShell.d.ts +2 -1
  17. package/dist/LoginShell.d.ts.map +1 -1
  18. package/dist/LoginShell.js +38 -15
  19. package/dist/ManifestTopBar.d.ts +7 -1
  20. package/dist/ManifestTopBar.d.ts.map +1 -1
  21. package/dist/ManifestTopBar.js +249 -38
  22. package/dist/MetricsPanel.d.ts +1 -1
  23. package/dist/MetricsPanel.d.ts.map +1 -1
  24. package/dist/MetricsPanel.js +19 -29
  25. package/dist/MetricsPanelContent.d.ts +38 -17
  26. package/dist/MetricsPanelContent.d.ts.map +1 -1
  27. package/dist/MetricsPanelContent.js +84 -90
  28. package/dist/ModeBar.d.ts +6 -2
  29. package/dist/ModeBar.d.ts.map +1 -1
  30. package/dist/ModeBar.js +49 -82
  31. package/dist/ModuleSelectorPanel.d.ts +2 -1
  32. package/dist/ModuleSelectorPanel.d.ts.map +1 -1
  33. package/dist/ModuleSelectorPanel.js +47 -49
  34. package/dist/PanelSkin.d.ts.map +1 -1
  35. package/dist/PanelSkin.js +1598 -312
  36. package/dist/PanelSystem.d.ts +45 -0
  37. package/dist/PanelSystem.d.ts.map +1 -0
  38. package/dist/PanelSystem.js +450 -0
  39. package/dist/PanelTabs.d.ts.map +1 -1
  40. package/dist/PanelTabs.js +8 -34
  41. package/dist/PanelToggleDock.d.ts +10 -0
  42. package/dist/PanelToggleDock.d.ts.map +1 -0
  43. package/dist/PanelToggleDock.js +40 -0
  44. package/dist/PromptPackChooserPanel.d.ts +12 -11
  45. package/dist/PromptPackChooserPanel.d.ts.map +1 -1
  46. package/dist/PromptPackChooserPanel.js +103 -63
  47. package/dist/SceneInspectorPanel.d.ts +42 -0
  48. package/dist/SceneInspectorPanel.d.ts.map +1 -0
  49. package/dist/SceneInspectorPanel.js +135 -0
  50. package/dist/ScienceDataPanelContent.d.ts +16 -0
  51. package/dist/ScienceDataPanelContent.d.ts.map +1 -0
  52. package/dist/ScienceDataPanelContent.js +31 -0
  53. package/dist/ScienceMetricsPanelContent.d.ts +53 -0
  54. package/dist/ScienceMetricsPanelContent.d.ts.map +1 -0
  55. package/dist/ScienceMetricsPanelContent.js +415 -0
  56. package/dist/SpatialHud.d.ts +18 -0
  57. package/dist/SpatialHud.d.ts.map +1 -0
  58. package/dist/SpatialHud.js +120 -0
  59. package/dist/StreetviewModeSurface.d.ts +40 -0
  60. package/dist/StreetviewModeSurface.d.ts.map +1 -0
  61. package/dist/StreetviewModeSurface.js +358 -0
  62. package/dist/SurfaceSwitcher.d.ts +11 -0
  63. package/dist/SurfaceSwitcher.d.ts.map +1 -0
  64. package/dist/SurfaceSwitcher.js +46 -0
  65. package/dist/TopBar.d.ts +2 -0
  66. package/dist/TopBar.d.ts.map +1 -1
  67. package/dist/TopBar.js +3 -1
  68. package/dist/UnknownModeSurface.d.ts +6 -0
  69. package/dist/UnknownModeSurface.d.ts.map +1 -0
  70. package/dist/UnknownModeSurface.js +41 -0
  71. package/dist/index.d.ts +19 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +12 -0
  74. package/dist/landingTokens.d.ts +7 -0
  75. package/dist/landingTokens.d.ts.map +1 -0
  76. package/dist/landingTokens.js +6 -0
  77. package/dist/layout.d.ts +27 -27
  78. package/dist/layout.d.ts.map +1 -1
  79. package/dist/layout.js +33 -27
  80. package/dist/mapMetrics.d.ts +88 -0
  81. package/dist/mapMetrics.d.ts.map +1 -0
  82. package/dist/mapMetrics.js +1 -0
  83. package/dist/panelPrimitives.d.ts +11 -0
  84. package/dist/panelPrimitives.d.ts.map +1 -0
  85. package/dist/panelPrimitives.js +41 -0
  86. package/dist/topbarLogoPolicy.d.ts +14 -0
  87. package/dist/topbarLogoPolicy.d.ts.map +1 -0
  88. package/dist/topbarLogoPolicy.js +41 -0
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +18 -5
@@ -1,61 +1,72 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import styled from 'styled-components';
4
+ import { panelSystemBodyTextCss, panelSystemSectionCss, panelSystemSectionHeadingCss, panelSystemValueCss, } from './PanelSystem.js';
4
5
  const PanelRoot = styled.div `
5
6
  display: flex;
6
7
  flex-direction: column;
7
- gap: 18px;
8
+ gap: 22px;
8
9
  `;
9
10
  const Section = styled.section `
10
- border-bottom: 1px solid var(--viewer-ui-color-panel-border-subtle);
11
- padding-bottom: 18px;
11
+ ${panelSystemSectionCss}
12
12
  `;
13
13
  const SectionHeader = styled.div `
14
14
  display: flex;
15
15
  flex-direction: column;
16
- gap: 8px;
16
+ gap: 6px;
17
17
  `;
18
18
  const SectionTitle = styled.div `
19
- font-family: var(--viewer-ui-font-display);
20
- font-size: 22px;
21
- font-weight: 700;
22
- text-transform: lowercase;
23
- letter-spacing: 0.06em;
24
- color: var(--viewer-ui-color-text-strong);
25
- `;
26
- const SectionDescription = styled.p `
27
- font-size: 11px;
28
- text-transform: lowercase;
29
- letter-spacing: 0.04em;
30
- color: var(--viewer-ui-color-text-muted);
19
+ ${panelSystemSectionHeadingCss}
31
20
  `;
32
21
  const StatusBanner = styled.div `
33
- padding: 12px 14px;
34
- border-radius: 14px;
22
+ ${panelSystemBodyTextCss}
23
+ margin-top: 14px;
24
+ padding: 12px 0;
25
+ border-radius: 0;
35
26
  border: 1px solid var(--viewer-ui-color-panel-border);
27
+ border-left: 0;
28
+ border-right: 0;
36
29
  background: var(--viewer-ui-color-surface);
37
- font-size: 11px;
38
- text-transform: lowercase;
39
30
  color: var(--viewer-ui-color-text-muted);
40
31
  `;
41
32
  const ModuleGrid = styled.div `
42
33
  display: grid;
43
34
  grid-template-columns: 1fr;
44
- gap: 10px;
35
+ gap: 0;
36
+ margin-top: 14px;
37
+ max-height: clamp(320px, 48vh, 640px);
38
+ overflow-y: auto;
39
+ overscroll-behavior: contain;
40
+ scrollbar-gutter: stable;
41
+ padding-right: 0;
42
+
43
+ &::-webkit-scrollbar {
44
+ width: 10px;
45
+ }
46
+
47
+ &::-webkit-scrollbar-track {
48
+ background: transparent;
49
+ }
50
+
51
+ &::-webkit-scrollbar-thumb {
52
+ border-radius: 999px;
53
+ border: 2px solid transparent;
54
+ background: color-mix(in srgb, var(--viewer-ui-color-panel-border) 78%, transparent);
55
+ background-clip: padding-box;
56
+ }
45
57
  `;
46
58
  const ModuleButton = styled.button `
47
- border-radius: 14px;
48
- border: 1px solid
49
- ${(props) => (props.$active ? 'var(--viewer-ui-color-button-primary)' : 'var(--viewer-ui-color-panel-border)')};
50
- background: ${(props) => props.$active ? 'var(--viewer-ui-color-button-primary)' : 'var(--viewer-ui-color-surface)'};
51
- color: ${(props) => props.$active ? 'var(--viewer-ui-color-text-strong)' : 'var(--viewer-ui-color-text-muted)'};
52
- padding: 12px 14px;
59
+ border-radius: 0;
60
+ border: 0;
61
+ border-bottom: 1px solid var(--viewer-ui-color-panel-border);
62
+ background: transparent;
63
+ color: ${(props) => props.$active ? 'var(--viewer-ui-color-button-primary)' : 'var(--viewer-ui-color-text-strong)'};
64
+ padding: 9px 0;
53
65
  text-align: left;
54
66
  cursor: pointer;
55
67
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
56
68
 
57
69
  &:hover {
58
- border-color: var(--viewer-ui-color-button-primary);
59
70
  color: var(--viewer-ui-color-text-strong);
60
71
  }
61
72
 
@@ -65,32 +76,19 @@ const ModuleButton = styled.button `
65
76
  }
66
77
  `;
67
78
  const ModuleTitle = styled.div `
68
- font-family: var(--viewer-ui-font-display);
69
- font-size: 14px;
70
- font-weight: 700;
71
- letter-spacing: 0.04em;
72
- text-transform: lowercase;
73
- `;
74
- const ModuleSummary = styled.div `
75
- margin-top: 4px;
76
- font-size: 11px;
77
- color: var(--viewer-ui-color-text-muted);
78
- text-transform: lowercase;
79
- letter-spacing: 0.03em;
79
+ ${panelSystemValueCss}
80
80
  `;
81
- const UploadSection = styled.section `
81
+ const SupplementarySection = styled.section `
82
+ ${panelSystemSectionCss}
82
83
  display: flex;
83
84
  flex-direction: column;
84
- gap: 12px;
85
+ gap: 14px;
85
86
  `;
86
- const UploadMeta = styled.div `
87
+ const UploadSection = styled.section `
87
88
  display: flex;
88
89
  flex-direction: column;
89
- gap: 4px;
90
- font-size: 10px;
91
- text-transform: lowercase;
92
- color: var(--viewer-ui-color-text-muted);
90
+ gap: 10px;
93
91
  `;
94
- export default function ModuleSelectorPanel({ title = 'architectural modules', description, status = 'ready', error, modules, activeModuleId, onSelectModule, emptyLabel = 'No modules available.', uploadTitle = 'upload', uploadDescription, uploadSlot, uploadMeta, }) {
95
- return (_jsxs(PanelRoot, { children: [_jsxs(Section, { children: [_jsxs(SectionHeader, { children: [_jsx(SectionTitle, { children: title }), description ? _jsx(SectionDescription, { children: description }) : null] }), status !== 'ready' ? (_jsx(StatusBanner, { children: error || (status === 'loading' ? 'Loading module registry…' : 'Module registry unavailable.') })) : modules.length === 0 ? (_jsx(StatusBanner, { children: emptyLabel })) : (_jsx(ModuleGrid, { children: modules.map((module) => (_jsxs(ModuleButton, { type: "button", "$active": module.id === activeModuleId, onClick: () => onSelectModule?.(module.id), disabled: module.disabled, children: [_jsx(ModuleTitle, { children: module.label }), module.summary ? _jsx(ModuleSummary, { children: module.summary }) : null] }, module.id))) }))] }), _jsxs(UploadSection, { children: [_jsxs(SectionHeader, { children: [_jsx(SectionTitle, { children: uploadTitle }), uploadDescription ? _jsx(SectionDescription, { children: uploadDescription }) : null] }), uploadSlot, uploadMeta ? _jsx(UploadMeta, { children: uploadMeta }) : null] })] }));
92
+ export default function ModuleSelectorPanel({ title = 'architectural modules', description: _description, status = 'ready', error, modules, activeModuleId, onSelectModule, emptyLabel = 'No modules available.', uploadTitle = 'upload', uploadDescription: _uploadDescription, uploadSlot, uploadMeta: _uploadMeta, supplementarySlot, }) {
93
+ return (_jsxs(PanelRoot, { children: [_jsxs(Section, { children: [_jsx(SectionHeader, { children: _jsx(SectionTitle, { children: title }) }), status !== 'ready' ? (_jsx(StatusBanner, { children: error || (status === 'loading' ? 'Loading module registry…' : 'Module registry unavailable.') })) : modules.length === 0 ? (_jsx(StatusBanner, { children: emptyLabel })) : (_jsx(ModuleGrid, { children: modules.map((module) => (_jsx(ModuleButton, { type: "button", "$active": module.id === activeModuleId, onClick: () => onSelectModule?.(module.id), disabled: module.disabled, children: _jsx(ModuleTitle, { children: module.label }) }, module.id))) }))] }), supplementarySlot ? _jsx(SupplementarySection, { children: supplementarySlot }) : null, _jsxs(UploadSection, { children: [_jsx(SectionHeader, { children: _jsx(SectionTitle, { children: uploadTitle }) }), uploadSlot] })] }));
96
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PanelSkin.d.ts","sourceRoot":"","sources":["../src/PanelSkin.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,2FA8kBrB,CAAC"}
1
+ {"version":3,"file":"PanelSkin.d.ts","sourceRoot":"","sources":["../src/PanelSkin.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,SAAS,2FAm1DrB,CAAC"}