@ramme-io/ui 4.0.0 → 4.1.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.
- package/README.md +158 -7
- package/dist/blocks/ai/Actions.js +2 -2
- package/dist/blocks/ai/PromptInput.js +6 -6
- package/dist/component-registry.js +386 -359
- package/dist/components/ai/AIChatThread/AIChatThread.js +81 -73
- package/dist/components/ai/ArchitectureReferenceCard/ArchitectureReferenceCard.d.ts +28 -0
- package/dist/components/ai/ArchitectureReferenceCard/ArchitectureReferenceCard.js +70 -0
- package/dist/components/ai/ArchitectureReferenceCard/index.d.ts +2 -0
- package/dist/components/ai/CounterpartyGraphCard/CounterpartyGraphCard.d.ts +30 -0
- package/dist/components/ai/CounterpartyGraphCard/CounterpartyGraphCard.js +82 -0
- package/dist/components/ai/CounterpartyGraphCard/index.d.ts +2 -0
- package/dist/components/ai/DivergenceMetricsCard/DivergenceMetricsCard.d.ts +29 -0
- package/dist/components/ai/DivergenceMetricsCard/DivergenceMetricsCard.js +69 -0
- package/dist/components/ai/DivergenceMetricsCard/index.d.ts +2 -0
- package/dist/components/ai/KeyInjectionOverlay.d.ts +10 -0
- package/dist/components/ai/KeyInjectionOverlay.js +11 -11
- package/dist/components/auth/AuthLayout.js +4 -4
- package/dist/components/data-display/CodeBlock.d.ts +33 -7
- package/dist/components/data-display/CodeBlock.js +134 -41
- package/dist/components/data-display/Table.js +8 -8
- package/dist/components/feedback/EmptyState.js +9 -9
- package/dist/components/feedback/ToastProvider.js +4 -4
- package/dist/components/forms/Checkbox.js +5 -5
- package/dist/components/forms/Radio.js +6 -6
- package/dist/components/forms/SegmentedControl.d.ts +1 -1
- package/dist/components/forms/SegmentedControl.js +28 -11
- package/dist/components/forms/Textarea.js +9 -9
- package/dist/components/forms/ToggleSwitch.js +9 -9
- package/dist/components/layout/AboutRamme.d.ts +8 -0
- package/dist/components/layout/Accordion.js +13 -13
- package/dist/components/layout/AppShell.js +7 -7
- package/dist/components/layout/DetailDrawer.js +2 -2
- package/dist/components/layout/Drawer.js +50 -51
- package/dist/components/layout/List.js +9 -9
- package/dist/components/layout/Modal.js +5 -5
- package/dist/components/layout/PageHeader.js +7 -7
- package/dist/components/layout/SectionHeader.js +4 -4
- package/dist/components/layout/SettingsContainer.d.ts +12 -0
- package/dist/components/layout/SettingsContainer.js +20 -18
- package/dist/components/layout/Sidebar.js +1 -1
- package/dist/components/layout/UserNav.d.ts +13 -0
- package/dist/components/layout/UserNav.js +17 -17
- package/dist/components/molecular/ConnectorOverlay.d.ts +12 -0
- package/dist/components/navigation/Breadcrumbs.js +8 -8
- package/dist/components/navigation/Menu.js +6 -6
- package/dist/components/navigation/MobileNav.js +1 -1
- package/dist/components/navigation/Pagination.js +46 -41
- package/dist/components/navigation/Stepper.js +17 -17
- package/dist/components/navigation/Tabs.js +12 -12
- package/dist/components/theme/ThemeLab.d.ts +7 -1
- package/dist/components/theme/ThemeLab.js +175 -154
- package/dist/contexts/ThemeContext.js +111 -82
- package/dist/data/mockData.d.ts +0 -3
- package/dist/index.css +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +203 -185
- package/dist/lib/hooks/useBodyScrollLock.d.ts +27 -0
- package/dist/lib/hooks/useBodyScrollLock.js +18 -0
- package/dist/lib/theme/themeUtils.d.ts +21 -0
- package/dist/lib/theme/themeUtils.js +31 -17
- package/dist/wizardManifest.js +234 -9
- package/package.json +14 -15
- package/src/wizardManifest.ts +234 -9
- package/tailwind.preset.js +98 -10
- package/src/index.css +0 -335
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,14 @@ export * from './blocks/ai/ChatFAB';
|
|
|
14
14
|
export { AIChatThread } from './components/ai/AIChatThread/AIChatThread';
|
|
15
15
|
export type { AIChatThreadProps, ChatConnectionStatus } from './components/ai/AIChatThread/AIChatThread';
|
|
16
16
|
export * from './components/ai/CompanyProfileCard';
|
|
17
|
+
export * from './components/ai/CounterpartyGraphCard';
|
|
18
|
+
export * from './components/ai/DivergenceMetricsCard';
|
|
19
|
+
export * from './components/ai/ArchitectureReferenceCard';
|
|
17
20
|
export * from './components/ai/KeyInjectionOverlay';
|
|
21
|
+
export * from './components/ai/LiveQuoteCard';
|
|
22
|
+
export * from './components/ai/NewsSummaryCard';
|
|
23
|
+
export * from './components/ai/StockChart';
|
|
24
|
+
export * from './components/ai/TelemetryGraph';
|
|
18
25
|
export * from './contexts/ThemeContext';
|
|
19
26
|
export { AuthLayout } from './components/auth/AuthLayout';
|
|
20
27
|
export { LoginPage } from './components/auth/LoginPage';
|
|
@@ -59,6 +66,7 @@ export { ToggleSwitch as Switch } from './components/forms/ToggleSwitch';
|
|
|
59
66
|
export * from './lib/hooks/useDataFetch';
|
|
60
67
|
export * from './lib/hooks/useChartTheme';
|
|
61
68
|
export * from './lib/hooks/useMediaQuery';
|
|
69
|
+
export * from './lib/hooks/useBodyScrollLock';
|
|
62
70
|
export * from './components/hardware/CircularDial';
|
|
63
71
|
export * from './components/hardware/HardwareCommandButton';
|
|
64
72
|
export * from './components/hardware/Sparkline';
|
package/dist/index.js
CHANGED
|
@@ -5,20 +5,20 @@ import { mockChartData as f, mockTableData as x } from "./data/mockData.js";
|
|
|
5
5
|
import { Loader as n } from "./blocks/ai/Loader.js";
|
|
6
6
|
import { Actions as s, Suggestion as T } from "./blocks/ai/Actions.js";
|
|
7
7
|
import { PromptInput as h } from "./blocks/ai/PromptInput.js";
|
|
8
|
-
import { Message as
|
|
9
|
-
import { Conversation as
|
|
8
|
+
import { Message as c } from "./blocks/ai/Message.js";
|
|
9
|
+
import { Conversation as u } from "./blocks/ai/Conversation.js";
|
|
10
10
|
import { ChatFAB as b } from "./blocks/ai/ChatFAB.js";
|
|
11
11
|
import { AIChatThread as A } from "./components/ai/AIChatThread/AIChatThread.js";
|
|
12
|
-
import { KeyInjectionOverlay as
|
|
13
|
-
import { TAY_DREAMBOAT_THEME as R, ThemeProvider as v, availableThemes as L, useTheme as
|
|
14
|
-
import { AuthLayout as
|
|
15
|
-
import { LoginPage as
|
|
12
|
+
import { KeyInjectionOverlay as B } from "./components/ai/KeyInjectionOverlay.js";
|
|
13
|
+
import { TAY_DREAMBOAT_THEME as R, ThemeProvider as v, availableThemes as L, useTheme as E } from "./contexts/ThemeContext.js";
|
|
14
|
+
import { AuthLayout as y } from "./components/auth/AuthLayout.js";
|
|
15
|
+
import { LoginPage as F } from "./components/auth/LoginPage.js";
|
|
16
16
|
import { SignupPage as O } from "./components/auth/SignupPage.js";
|
|
17
17
|
import { DataTable as H } from "./components/data-display/DataTable.js";
|
|
18
|
-
import { ActivityFeed as
|
|
19
|
-
import { Table as
|
|
20
|
-
import { AreaChart as
|
|
21
|
-
import { BarChart as
|
|
18
|
+
import { ActivityFeed as N } from "./components/data-display/ActivityFeed.js";
|
|
19
|
+
import { Table as K } from "./components/data-display/Table.js";
|
|
20
|
+
import { AreaChart as Q } from "./components/data-display/AreaChart.js";
|
|
21
|
+
import { BarChart as Y } from "./components/data-display/BarChart.js";
|
|
22
22
|
import { ChartWithTable as j } from "./components/data-display/ChartWithTable.js";
|
|
23
23
|
import { LineChart as q } from "./components/data-display/LineChart.js";
|
|
24
24
|
import { PieChart as Z } from "./components/data-display/PieChart.js";
|
|
@@ -30,246 +30,264 @@ import { StatusBadge as xr } from "./components/data-display/StatusBadge.js";
|
|
|
30
30
|
import { Alert as nr } from "./components/feedback/Alert.js";
|
|
31
31
|
import { EmptyState as sr } from "./components/feedback/EmptyState.js";
|
|
32
32
|
import { Skeleton as dr } from "./components/feedback/Skeleton.js";
|
|
33
|
-
import { Plan as
|
|
34
|
-
import { TippyTooltip as
|
|
35
|
-
import { Toast as
|
|
33
|
+
import { Plan as Cr } from "./components/feedback/Plan.js";
|
|
34
|
+
import { TippyTooltip as gr } from "./components/feedback/TippyTooltip.js";
|
|
35
|
+
import { Toast as Sr } from "./components/feedback/Toast.js";
|
|
36
36
|
import { ToastProvider as Pr, useToast as Ar } from "./components/feedback/ToastProvider.js";
|
|
37
|
-
import { Label as
|
|
37
|
+
import { Label as Br } from "./components/forms/Label.js";
|
|
38
38
|
import { ButtonGroup as Rr } from "./components/forms/ButtonGroup.js";
|
|
39
39
|
import { Checkbox as Lr } from "./components/forms/Checkbox.js";
|
|
40
|
-
import { ComboBox as
|
|
40
|
+
import { ComboBox as Mr } from "./components/forms/ComboBox.js";
|
|
41
41
|
import { DatePicker as wr } from "./components/forms/DatePicker.js";
|
|
42
42
|
import { FileUpload as kr } from "./components/forms/FileUpload.js";
|
|
43
43
|
import { FormTemplate as _r } from "./components/forms/FormTemplate.js";
|
|
44
44
|
import { Input as Gr } from "./components/forms/Input.js";
|
|
45
|
-
import { MultiSelect as
|
|
45
|
+
import { MultiSelect as Vr } from "./components/forms/MultiSelect.js";
|
|
46
46
|
import { Radio as Ur } from "./components/forms/Radio.js";
|
|
47
|
-
import { SearchInput as
|
|
48
|
-
import { SegmentedControl as
|
|
47
|
+
import { SearchInput as Wr } from "./components/forms/SearchInput.js";
|
|
48
|
+
import { SegmentedControl as zr } from "./components/forms/SegmentedControl.js";
|
|
49
49
|
import { Select as Xr } from "./components/forms/Select.js";
|
|
50
50
|
import { Textarea as Jr } from "./components/forms/Textarea.js";
|
|
51
51
|
import { ToggleSwitch as $r, ToggleSwitch as ro } from "./components/forms/ToggleSwitch.js";
|
|
52
52
|
import { useDataFetch as eo } from "./lib/hooks/useDataFetch.js";
|
|
53
53
|
import { useChartTheme as mo } from "./lib/hooks/useChartTheme.js";
|
|
54
54
|
import { MOBILE_BREAKPOINT_PX as po, MOBILE_BREAKPOINT_QUERY as fo, useIsMobile as xo, useMediaQuery as io } from "./lib/hooks/useMediaQuery.js";
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
55
|
+
import { useBodyScrollLock as lo } from "./lib/hooks/useBodyScrollLock.js";
|
|
56
|
+
import { CircularDial as To } from "./components/hardware/CircularDial.js";
|
|
57
|
+
import { HardwareCommandButton as Co } from "./components/hardware/HardwareCommandButton.js";
|
|
57
58
|
import { Sparkline as go } from "./components/hardware/Sparkline.js";
|
|
58
|
-
import { EdgeInsightTerminal as
|
|
59
|
-
import { DeviceCard as
|
|
60
|
-
import { WaterPumpControl as
|
|
61
|
-
import { TelemetryLog as
|
|
62
|
-
import { DataCard as
|
|
63
|
-
import { StateMatrix as
|
|
64
|
-
import { ConnectorOverlay as
|
|
59
|
+
import { EdgeInsightTerminal as So } from "./components/hardware/EdgeInsightTerminal.js";
|
|
60
|
+
import { DeviceCard as Po } from "./blocks/iot/DeviceCard.js";
|
|
61
|
+
import { WaterPumpControl as Do } from "./blocks/iot/WaterPumpControl.js";
|
|
62
|
+
import { TelemetryLog as Io } from "./blocks/iot/TelemetryLog.js";
|
|
63
|
+
import { DataCard as vo } from "./components/molecular/DataCard.js";
|
|
64
|
+
import { StateMatrix as Eo } from "./components/molecular/StateMatrix.js";
|
|
65
|
+
import { ConnectorOverlay as yo } from "./components/molecular/ConnectorOverlay.js";
|
|
65
66
|
import { AppShell as Fo } from "./components/layout/AppShell.js";
|
|
66
|
-
import { SettingsContainer as
|
|
67
|
-
import { DetailDrawer as
|
|
68
|
-
import { RammeInspectorTrigger as
|
|
69
|
-
import { AboutRamme as
|
|
70
|
-
import { Header as
|
|
71
|
-
import { Toolbar as
|
|
72
|
-
import { FilterPanel as
|
|
73
|
-
import { Statusbar as
|
|
74
|
-
import { Accordion as
|
|
75
|
-
import { Card as
|
|
76
|
-
import { Drawer as
|
|
77
|
-
import { DefinitionDescription as
|
|
78
|
-
import { Modal as
|
|
79
|
-
import { Sidebar as
|
|
80
|
-
import { ActionBar as
|
|
81
|
-
import { PageContainer as
|
|
82
|
-
import { PageHeader as
|
|
83
|
-
import { SectionHeader as
|
|
84
|
-
import { ButtonItem as
|
|
85
|
-
import { CollectionLayout as
|
|
67
|
+
import { SettingsContainer as Oo } from "./components/layout/SettingsContainer.js";
|
|
68
|
+
import { DetailDrawer as Ho } from "./components/layout/DetailDrawer.js";
|
|
69
|
+
import { RammeInspectorTrigger as No } from "./components/layout/RammeInspectorTrigger.js";
|
|
70
|
+
import { AboutRamme as Ko } from "./components/layout/AboutRamme.js";
|
|
71
|
+
import { Header as Qo } from "./components/layout/Header.js";
|
|
72
|
+
import { Toolbar as Yo } from "./components/layout/Toolbar.js";
|
|
73
|
+
import { FilterPanel as jo } from "./components/layout/FilterPanel.js";
|
|
74
|
+
import { Statusbar as qo } from "./components/layout/Statusbar.js";
|
|
75
|
+
import { Accordion as Zo, AccordionItem as $o } from "./components/layout/Accordion.js";
|
|
76
|
+
import { Card as oe, CardContent as ee, CardDescription as te, CardFooter as me, CardHeader as ae, CardLabel as pe, CardTitle as fe } from "./components/layout/Card.js";
|
|
77
|
+
import { Drawer as ie } from "./components/layout/Drawer.js";
|
|
78
|
+
import { DefinitionDescription as le, DefinitionList as se, DefinitionTerm as Te, List as de, ListItem as he } from "./components/layout/List.js";
|
|
79
|
+
import { Modal as ce } from "./components/layout/Modal.js";
|
|
80
|
+
import { Sidebar as ue } from "./components/layout/Sidebar.js";
|
|
81
|
+
import { ActionBar as be } from "./components/layout/ActionBar.js";
|
|
82
|
+
import { PageContainer as Ae } from "./components/layout/PageContainer.js";
|
|
83
|
+
import { PageHeader as Be } from "./components/layout/PageHeader.js";
|
|
84
|
+
import { SectionHeader as Re } from "./components/layout/SectionHeader.js";
|
|
85
|
+
import { ButtonItem as Le, UserNav as Ee } from "./components/layout/UserNav.js";
|
|
86
|
+
import { CollectionLayout as ye } from "./components/layout/CollectionLayout.js";
|
|
86
87
|
import { DenseMetricRibbon as Fe } from "./components/layout/DenseMetricRibbon.js";
|
|
87
|
-
import { BreadcrumbItem as
|
|
88
|
-
import { Menu as
|
|
89
|
-
import { MobileNav as
|
|
90
|
-
import { Pagination as
|
|
91
|
-
import { Stepper as
|
|
92
|
-
import { TabPanel as
|
|
93
|
-
import { FinancialAssetSchema as
|
|
94
|
-
import { Avatar as
|
|
95
|
-
import { Badge as
|
|
96
|
-
import { Button as
|
|
97
|
-
import { Icon as
|
|
98
|
-
import { BrandLogo as
|
|
99
|
-
import { cn as
|
|
100
|
-
import { formatValue as
|
|
101
|
-
import { ThemeSynthesizer as
|
|
102
|
-
import { AestheticProfileGrid as
|
|
103
|
-
import { FineTuningControls as
|
|
104
|
-
import { PaletteSwatch as
|
|
105
|
-
import { ThemeSettings as
|
|
106
|
-
import { ThemeLab as
|
|
107
|
-
import { AESTHETIC_PROFILES as
|
|
108
|
-
import { applyThemeToDom as
|
|
109
|
-
import { generateThemeFromPrompt as
|
|
110
|
-
import { CompanyProfileCard as
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import {
|
|
114
|
-
import {
|
|
115
|
-
import {
|
|
88
|
+
import { BreadcrumbItem as Oe, Breadcrumbs as _e } from "./components/navigation/Breadcrumbs.js";
|
|
89
|
+
import { Menu as Ge, MenuDivider as Ne, MenuItem as Ve } from "./components/navigation/Menu.js";
|
|
90
|
+
import { MobileNav as Ue } from "./components/navigation/MobileNav.js";
|
|
91
|
+
import { Pagination as We } from "./components/navigation/Pagination.js";
|
|
92
|
+
import { Stepper as ze } from "./components/navigation/Stepper.js";
|
|
93
|
+
import { TabPanel as Xe, Tabs as qe } from "./components/navigation/Tabs.js";
|
|
94
|
+
import { FinancialAssetSchema as Ze, WatchlistEngine as $e } from "./blocks/engines/WatchlistEngine.js";
|
|
95
|
+
import { Avatar as ot } from "./components/ui/Avatar.js";
|
|
96
|
+
import { Badge as tt, badgeVariants as mt } from "./components/ui/Badge.js";
|
|
97
|
+
import { Button as pt, buttonVariants as ft } from "./components/ui/Button.js";
|
|
98
|
+
import { Icon as it } from "./components/ui/Icon.js";
|
|
99
|
+
import { BrandLogo as lt } from "./components/ui/BrandLogo.js";
|
|
100
|
+
import { cn as Tt } from "./utils/cn.js";
|
|
101
|
+
import { formatValue as ht } from "./lib/formatters.js";
|
|
102
|
+
import { ThemeSynthesizer as ct } from "./components/theme/ThemeSynthesizer.js";
|
|
103
|
+
import { AestheticProfileGrid as ut } from "./components/theme/AestheticProfileGrid.js";
|
|
104
|
+
import { FineTuningControls as bt } from "./components/theme/FineTuningControls.js";
|
|
105
|
+
import { PaletteSwatch as At, ThemeLivePreview as Dt } from "./components/theme/ThemeLivePreview.js";
|
|
106
|
+
import { ThemeSettings as It } from "./components/theme/ThemeSettings.js";
|
|
107
|
+
import { ThemeLab as vt } from "./components/theme/ThemeLab.js";
|
|
108
|
+
import { AESTHETIC_PROFILES as Et, generateFromProfile as Mt, generateFromPrompt as yt, generateRandom as wt, hslToCssString as Ft, hslToRgb as kt, hslToRgbString as Ot, lightToDark as _t, paletteToRgbVars as Ht } from "./lib/theme/ThemeGenerator.logic.js";
|
|
109
|
+
import { THEME_TOKEN_VARS as Nt, applyThemeToDom as Vt, generateRandomTheme as Kt, getContrastColor as Ut, hexToRgbTriplet as Qt, isCustomTheme as Wt, loadGoogleFont as Yt, randomRgb as zt, tokensToVars as jt } from "./lib/theme/themeUtils.js";
|
|
110
|
+
import { generateThemeFromPrompt as qt } from "./lib/theme/themeAgent.js";
|
|
111
|
+
import { CompanyProfileCard as Zt } from "./components/ai/CompanyProfileCard/CompanyProfileCard.js";
|
|
112
|
+
import { CounterpartyGraphCard as rm } from "./components/ai/CounterpartyGraphCard/CounterpartyGraphCard.js";
|
|
113
|
+
import { DivergenceMetricsCard as em } from "./components/ai/DivergenceMetricsCard/DivergenceMetricsCard.js";
|
|
114
|
+
import { ArchitectureReferenceCard as mm } from "./components/ai/ArchitectureReferenceCard/ArchitectureReferenceCard.js";
|
|
115
|
+
import { LiveQuoteCard as pm } from "./components/ai/LiveQuoteCard/LiveQuoteCard.js";
|
|
116
|
+
import { NewsSummaryCard as xm } from "./components/ai/NewsSummaryCard/NewsSummaryCard.js";
|
|
117
|
+
import { StockChart as nm } from "./components/ai/StockChart/StockChart.js";
|
|
118
|
+
import { TelemetryGraph as sm } from "./components/ai/TelemetryGraph/TelemetryGraph.js";
|
|
119
|
+
import { ShowroomContainer as dm } from "./components/showroom/ShowroomContainer.js";
|
|
120
|
+
import { ShowroomSidebar as Cm } from "./components/showroom/ShowroomSidebar.js";
|
|
121
|
+
import { ShowroomCanvas as gm } from "./components/showroom/ShowroomCanvas.js";
|
|
122
|
+
import { SkuBadge as Sm } from "./components/showroom/SkuBadge.js";
|
|
123
|
+
import { resolvePreview as Pm } from "./components/showroom/ShowroomRenderer.js";
|
|
116
124
|
export {
|
|
117
|
-
|
|
125
|
+
Et as AESTHETIC_PROFILES,
|
|
118
126
|
A as AIChatThread,
|
|
119
127
|
a as AUTO_REGISTRY,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
128
|
+
Ko as AboutRamme,
|
|
129
|
+
Zo as Accordion,
|
|
130
|
+
$o as AccordionItem,
|
|
131
|
+
be as ActionBar,
|
|
124
132
|
s as Actions,
|
|
125
|
-
|
|
126
|
-
|
|
133
|
+
N as ActivityFeed,
|
|
134
|
+
ut as AestheticProfileGrid,
|
|
127
135
|
nr as Alert,
|
|
128
136
|
Fo as AppShell,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
ot as
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
mm as ArchitectureReferenceCard,
|
|
138
|
+
Q as AreaChart,
|
|
139
|
+
y as AuthLayout,
|
|
140
|
+
ot as Avatar,
|
|
141
|
+
tt as Badge,
|
|
142
|
+
Y as BarChart,
|
|
143
|
+
lt as BrandLogo,
|
|
144
|
+
Oe as BreadcrumbItem,
|
|
145
|
+
_e as Breadcrumbs,
|
|
146
|
+
pt as Button,
|
|
138
147
|
Rr as ButtonGroup,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
148
|
+
Le as ButtonItem,
|
|
149
|
+
oe as Card,
|
|
150
|
+
ee as CardContent,
|
|
151
|
+
te as CardDescription,
|
|
152
|
+
me as CardFooter,
|
|
153
|
+
ae as CardHeader,
|
|
154
|
+
pe as CardLabel,
|
|
155
|
+
fe as CardTitle,
|
|
147
156
|
j as ChartWithTable,
|
|
148
157
|
b as ChatFAB,
|
|
149
158
|
Lr as Checkbox,
|
|
150
|
-
|
|
159
|
+
To as CircularDial,
|
|
151
160
|
er as CodeBlock,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
161
|
+
ye as CollectionLayout,
|
|
162
|
+
Mr as ComboBox,
|
|
163
|
+
Zt as CompanyProfileCard,
|
|
164
|
+
yo as ConnectorOverlay,
|
|
165
|
+
u as Conversation,
|
|
166
|
+
rm as CounterpartyGraphCard,
|
|
167
|
+
vo as DataCard,
|
|
158
168
|
H as DataTable,
|
|
159
169
|
wr as DatePicker,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
170
|
+
le as DefinitionDescription,
|
|
171
|
+
se as DefinitionList,
|
|
172
|
+
Te as DefinitionTerm,
|
|
163
173
|
Fe as DenseMetricRibbon,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
174
|
+
Ho as DetailDrawer,
|
|
175
|
+
Po as DeviceCard,
|
|
176
|
+
em as DivergenceMetricsCard,
|
|
177
|
+
ie as Drawer,
|
|
178
|
+
So as EdgeInsightTerminal,
|
|
168
179
|
sr as EmptyState,
|
|
169
180
|
kr as FileUpload,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
181
|
+
jo as FilterPanel,
|
|
182
|
+
Ze as FinancialAssetSchema,
|
|
183
|
+
bt as FineTuningControls,
|
|
173
184
|
_r as FormTemplate,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
185
|
+
Co as HardwareCommandButton,
|
|
186
|
+
Qo as Header,
|
|
187
|
+
it as Icon,
|
|
177
188
|
Gr as Input,
|
|
178
|
-
|
|
189
|
+
B as KeyInjectionOverlay,
|
|
179
190
|
pr as KpiGrid,
|
|
180
|
-
|
|
191
|
+
Br as Label,
|
|
181
192
|
q as LineChart,
|
|
182
|
-
|
|
183
|
-
|
|
193
|
+
de as List,
|
|
194
|
+
he as ListItem,
|
|
195
|
+
pm as LiveQuoteCard,
|
|
184
196
|
n as Loader,
|
|
185
|
-
|
|
197
|
+
F as LoginPage,
|
|
186
198
|
po as MOBILE_BREAKPOINT_PX,
|
|
187
199
|
fo as MOBILE_BREAKPOINT_QUERY,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
Ae as
|
|
197
|
-
|
|
198
|
-
|
|
200
|
+
Ge as Menu,
|
|
201
|
+
Ne as MenuDivider,
|
|
202
|
+
Ve as MenuItem,
|
|
203
|
+
c as Message,
|
|
204
|
+
Ue as MobileNav,
|
|
205
|
+
ce as Modal,
|
|
206
|
+
Vr as MultiSelect,
|
|
207
|
+
xm as NewsSummaryCard,
|
|
208
|
+
Ae as PageContainer,
|
|
209
|
+
Be as PageHeader,
|
|
210
|
+
We as Pagination,
|
|
211
|
+
At as PaletteSwatch,
|
|
199
212
|
Z as PieChart,
|
|
200
|
-
|
|
213
|
+
Cr as Plan,
|
|
201
214
|
h as PromptInput,
|
|
202
215
|
Ur as Radio,
|
|
203
|
-
|
|
216
|
+
No as RammeInspectorTrigger,
|
|
204
217
|
rr as ScatterChart,
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
218
|
+
Wr as SearchInput,
|
|
219
|
+
Re as SectionHeader,
|
|
220
|
+
zr as SegmentedControl,
|
|
208
221
|
Xr as Select,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
222
|
+
Oo as SettingsContainer,
|
|
223
|
+
gm as ShowroomCanvas,
|
|
224
|
+
dm as ShowroomContainer,
|
|
225
|
+
Cm as ShowroomSidebar,
|
|
226
|
+
ue as Sidebar,
|
|
214
227
|
O as SignupPage,
|
|
215
228
|
dr as Skeleton,
|
|
216
|
-
|
|
229
|
+
Sm as SkuBadge,
|
|
217
230
|
go as Sparkline,
|
|
218
231
|
mr as StatCard,
|
|
219
|
-
|
|
232
|
+
Eo as StateMatrix,
|
|
220
233
|
xr as StatusBadge,
|
|
221
|
-
|
|
222
|
-
|
|
234
|
+
qo as Statusbar,
|
|
235
|
+
ze as Stepper,
|
|
236
|
+
nm as StockChart,
|
|
223
237
|
T as Suggestion,
|
|
224
238
|
$r as Switch,
|
|
225
239
|
R as TAY_DREAMBOAT_THEME,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
240
|
+
Nt as THEME_TOKEN_VARS,
|
|
241
|
+
Xe as TabPanel,
|
|
242
|
+
K as Table,
|
|
243
|
+
qe as Tabs,
|
|
244
|
+
sm as TelemetryGraph,
|
|
245
|
+
Io as TelemetryLog,
|
|
230
246
|
Jr as Textarea,
|
|
231
|
-
|
|
232
|
-
|
|
247
|
+
vt as ThemeLab,
|
|
248
|
+
Dt as ThemeLivePreview,
|
|
233
249
|
v as ThemeProvider,
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
250
|
+
It as ThemeSettings,
|
|
251
|
+
ct as ThemeSynthesizer,
|
|
252
|
+
gr as TippyTooltip,
|
|
253
|
+
Sr as Toast,
|
|
238
254
|
Pr as ToastProvider,
|
|
239
255
|
ro as ToggleSwitch,
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
256
|
+
Yo as Toolbar,
|
|
257
|
+
Ee as UserNav,
|
|
258
|
+
$e as WatchlistEngine,
|
|
259
|
+
Do as WaterPumpControl,
|
|
260
|
+
Vt as applyThemeToDom,
|
|
245
261
|
L as availableThemes,
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
262
|
+
mt as badgeVariants,
|
|
263
|
+
ft as buttonVariants,
|
|
264
|
+
Tt as cn,
|
|
265
|
+
ht as formatValue,
|
|
266
|
+
Mt as generateFromProfile,
|
|
267
|
+
yt as generateFromPrompt,
|
|
268
|
+
wt as generateRandom,
|
|
269
|
+
Kt as generateRandomTheme,
|
|
270
|
+
qt as generateThemeFromPrompt,
|
|
271
|
+
Ut as getContrastColor,
|
|
272
|
+
Qt as hexToRgbTriplet,
|
|
257
273
|
Ft as hslToCssString,
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
274
|
+
kt as hslToRgb,
|
|
275
|
+
Ot as hslToRgbString,
|
|
276
|
+
Wt as isCustomTheme,
|
|
277
|
+
_t as lightToDark,
|
|
278
|
+
Yt as loadGoogleFont,
|
|
262
279
|
f as mockChartData,
|
|
263
280
|
x as mockTableData,
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
281
|
+
Ht as paletteToRgbVars,
|
|
282
|
+
zt as randomRgb,
|
|
283
|
+
Pm as resolvePreview,
|
|
284
|
+
jt as tokensToVars,
|
|
285
|
+
lo as useBodyScrollLock,
|
|
268
286
|
mo as useChartTheme,
|
|
269
287
|
eo as useDataFetch,
|
|
270
288
|
xo as useIsMobile,
|
|
271
289
|
io as useMediaQuery,
|
|
272
|
-
|
|
290
|
+
E as useTheme,
|
|
273
291
|
Ar as useToast,
|
|
274
292
|
t as wizardManifest
|
|
275
293
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locks background scrolling while an overlay is open, without moving the page.
|
|
3
|
+
*
|
|
4
|
+
* ZERO JANK (rule 6): a scroll lock must not shift the page or lose the
|
|
5
|
+
* reader's position. `overflow: hidden` on the body alone has two visible
|
|
6
|
+
* failure modes:
|
|
7
|
+
*
|
|
8
|
+
* - On desktop it removes the scrollbar, so the whole page jumps sideways by
|
|
9
|
+
* the scrollbar's width the instant the overlay opens. `scrollbar-gutter:
|
|
10
|
+
* stable` on <html> covers the common case, but only under a fine pointer.
|
|
11
|
+
* - On iOS Safari the body stops being the scroll container and the offset is
|
|
12
|
+
* discarded, so closing the overlay drops the reader at the top of the page.
|
|
13
|
+
*
|
|
14
|
+
* Pinning the body at a negative offset preserves the position, and restoring
|
|
15
|
+
* it scrolls back to where the reader was.
|
|
16
|
+
*
|
|
17
|
+
* Extracted from Drawer, which had the only correct implementation in the repo;
|
|
18
|
+
* ShowroomPage had hand-rolled a second one that set `overflow` alone and lost
|
|
19
|
+
* the position on every close. Reach for this rather than writing a third.
|
|
20
|
+
*
|
|
21
|
+
* @param isLocked - true while the overlay is open.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* const [isOpen, setIsOpen] = useState(false);
|
|
25
|
+
* useBodyScrollLock(isOpen);
|
|
26
|
+
*/
|
|
27
|
+
export declare function useBodyScrollLock(isLocked: boolean): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useEffect as s } from "react";
|
|
2
|
+
function r(e) {
|
|
3
|
+
s(() => {
|
|
4
|
+
if (!e) return;
|
|
5
|
+
const { body: o } = document, l = window.scrollY, t = {
|
|
6
|
+
position: o.style.position,
|
|
7
|
+
top: o.style.top,
|
|
8
|
+
width: o.style.width,
|
|
9
|
+
overflow: o.style.overflow
|
|
10
|
+
};
|
|
11
|
+
return o.style.position = "fixed", o.style.top = `-${l}px`, o.style.width = "100%", o.style.overflow = "hidden", () => {
|
|
12
|
+
o.style.position = t.position, o.style.top = t.top, o.style.width = t.width, o.style.overflow = t.overflow, window.scrollTo(0, l);
|
|
13
|
+
};
|
|
14
|
+
}, [e]);
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
r as useBodyScrollLock
|
|
18
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DEFAULT_THEME_TOKENS } from '@ramme-io/shared';
|
|
1
2
|
/**
|
|
2
3
|
* Advanced Contrast Guard
|
|
3
4
|
* Adjusts for perceived darkness (like scanline overlays)
|
|
@@ -14,6 +15,26 @@ export declare const loadGoogleFont: (headingFont: string, bodyFont: string) =>
|
|
|
14
15
|
* @example hexToRgbTriplet('#0D6EFD') → '13 110 253'
|
|
15
16
|
*/
|
|
16
17
|
export declare const hexToRgbTriplet: (hex: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Every CSS variable `tokensToVars` writes.
|
|
20
|
+
*
|
|
21
|
+
* Exported so the code that removes them cannot drift from the code that adds
|
|
22
|
+
* them — RULE-005 asks for symmetrical purging, and these six were injected on
|
|
23
|
+
* to documentElement.style and never removed by anything.
|
|
24
|
+
*/
|
|
25
|
+
export declare const THEME_TOKEN_VARS: readonly ["--app-primary-color", "--app-secondary-color", "--app-success-color", "--app-warning-color", "--app-danger-color", "--app-border-radius-md"];
|
|
26
|
+
/**
|
|
27
|
+
* Has the visitor actually themed anything?
|
|
28
|
+
*
|
|
29
|
+
* `activeTheme`/`savedTheme` are always populated — they are seeded with
|
|
30
|
+
* DEFAULT_THEME_TOKENS — so their presence proves nothing. Only a value that
|
|
31
|
+
* differs from those defaults means a real choice was made.
|
|
32
|
+
*
|
|
33
|
+
* Every place that decides whether to paint the user's layer must agree, or the
|
|
34
|
+
* layers fight: injecting unconditionally painted the framework's defaults over
|
|
35
|
+
* the app's own theme for every first-time visitor.
|
|
36
|
+
*/
|
|
37
|
+
export declare const isCustomTheme: (tokens: Partial<Record<keyof typeof DEFAULT_THEME_TOKENS, string>> | null | undefined) => boolean;
|
|
17
38
|
export declare const tokensToVars: (t: Partial<{
|
|
18
39
|
primary: string;
|
|
19
40
|
neutral: string;
|