@ramme-io/ui 4.1.1 → 4.2.1
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/dist/components/ai/AIChatThread/AIChatThread.js +76 -79
- package/dist/components/ai/ArchitectureReferenceCard/ArchitectureReferenceCard.js +14 -13
- package/dist/components/ai/CompanyProfileCard/CompanyProfileCard.js +20 -19
- package/dist/components/ai/CounterpartyGraphCard/CounterpartyGraphCard.js +22 -21
- package/dist/components/ai/DivergenceMetricsCard/DivergenceMetricsCard.js +23 -22
- package/dist/components/ai/LiveQuoteCard/LiveQuoteCard.js +29 -28
- package/dist/components/ai/NewsSummaryCard/NewsSummaryCard.js +23 -22
- package/dist/components/ai/StockChart/StockChart.js +33 -33
- package/dist/components/data-display/StatusBadge.d.ts +4 -3
- package/dist/components/data-display/StatusBadge.js +18 -18
- package/dist/components/feedback/Alert.js +19 -19
- package/dist/components/forms/SegmentedControl.js +10 -10
- package/dist/components/layout/DetailDrawer.d.ts +9 -1
- package/dist/components/layout/DetailDrawer.js +61 -51
- package/dist/components/layout/Drawer.js +47 -39
- package/dist/components/layout/Modal.js +28 -23
- package/dist/components/layout/Sheet.js +38 -36
- package/dist/formFieldFloor.test.d.ts +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +188 -186
- package/dist/lib/hooks/useDialogFocus.d.ts +1 -0
- package/dist/lib/hooks/useDialogFocus.js +46 -0
- package/dist/utils/apiBaseUrl.d.ts +1 -0
- package/dist/utils/apiBaseUrl.js +10 -0
- package/dist/wizardManifest.js +9 -4
- package/package.json +2 -2
- package/src/wizardManifest.ts +9 -4
- package/tailwind.preset.js +8 -0
package/dist/index.d.ts
CHANGED
|
@@ -68,6 +68,7 @@ export * from './lib/hooks/useChartTheme';
|
|
|
68
68
|
export * from './lib/hooks/useMediaQuery';
|
|
69
69
|
export * from './lib/hooks/useBodyScrollLock';
|
|
70
70
|
export * from './lib/hooks/useSheetGesture';
|
|
71
|
+
export * from './lib/hooks/useDialogFocus';
|
|
71
72
|
export * from './components/hardware/CircularDial';
|
|
72
73
|
export * from './components/hardware/HardwareCommandButton';
|
|
73
74
|
export * from './components/hardware/Sparkline';
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,10 @@ 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
8
|
import { Message as c } from "./blocks/ai/Message.js";
|
|
9
|
-
import { Conversation as
|
|
9
|
+
import { Conversation as S } from "./blocks/ai/Conversation.js";
|
|
10
10
|
import { ChatFAB as b } from "./blocks/ai/ChatFAB.js";
|
|
11
|
-
import { AIChatThread as
|
|
12
|
-
import { KeyInjectionOverlay as
|
|
11
|
+
import { AIChatThread as D } from "./components/ai/AIChatThread/AIChatThread.js";
|
|
12
|
+
import { KeyInjectionOverlay as A } from "./components/ai/KeyInjectionOverlay.js";
|
|
13
13
|
import { TAY_DREAMBOAT_THEME as B, ThemeProvider as R, availableThemes as E, useTheme as v } from "./contexts/ThemeContext.js";
|
|
14
14
|
import { AuthLayout as y } from "./components/auth/AuthLayout.js";
|
|
15
15
|
import { LoginPage as w } from "./components/auth/LoginPage.js";
|
|
@@ -31,10 +31,10 @@ 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
33
|
import { Plan as Cr } from "./components/feedback/Plan.js";
|
|
34
|
-
import { TippyTooltip as
|
|
34
|
+
import { TippyTooltip as gr } from "./components/feedback/TippyTooltip.js";
|
|
35
35
|
import { Toast as ur } from "./components/feedback/Toast.js";
|
|
36
|
-
import { ToastProvider as Pr, useToast as
|
|
37
|
-
import { Label as
|
|
36
|
+
import { ToastProvider as Pr, useToast as Dr } from "./components/feedback/ToastProvider.js";
|
|
37
|
+
import { Label as Ar } from "./components/forms/Label.js";
|
|
38
38
|
import { ButtonGroup as Br } from "./components/forms/ButtonGroup.js";
|
|
39
39
|
import { Checkbox as Er } from "./components/forms/Checkbox.js";
|
|
40
40
|
import { ComboBox as Mr } from "./components/forms/ComboBox.js";
|
|
@@ -54,247 +54,249 @@ 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
55
|
import { useBodyScrollLock as lo } from "./lib/hooks/useBodyScrollLock.js";
|
|
56
56
|
import { DISMISS_THRESHOLD as To, FLICK_VELOCITY as ho, settleTo as Co, useSheetGesture as co } from "./lib/hooks/useSheetGesture.js";
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import {
|
|
114
|
-
import {
|
|
115
|
-
import {
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
import {
|
|
122
|
-
import {
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
125
|
-
import {
|
|
57
|
+
import { useDialogFocus as So } from "./lib/hooks/useDialogFocus.js";
|
|
58
|
+
import { CircularDial as bo } from "./components/hardware/CircularDial.js";
|
|
59
|
+
import { HardwareCommandButton as Do } from "./components/hardware/HardwareCommandButton.js";
|
|
60
|
+
import { Sparkline as Ao } from "./components/hardware/Sparkline.js";
|
|
61
|
+
import { EdgeInsightTerminal as Bo } from "./components/hardware/EdgeInsightTerminal.js";
|
|
62
|
+
import { DeviceCard as Eo } from "./blocks/iot/DeviceCard.js";
|
|
63
|
+
import { WaterPumpControl as Mo } from "./blocks/iot/WaterPumpControl.js";
|
|
64
|
+
import { TelemetryLog as Fo } from "./blocks/iot/TelemetryLog.js";
|
|
65
|
+
import { DataCard as ko } from "./components/molecular/DataCard.js";
|
|
66
|
+
import { StateMatrix as _o } from "./components/molecular/StateMatrix.js";
|
|
67
|
+
import { ConnectorOverlay as Go } from "./components/molecular/ConnectorOverlay.js";
|
|
68
|
+
import { AppShell as Ko } from "./components/layout/AppShell.js";
|
|
69
|
+
import { SettingsContainer as Uo } from "./components/layout/SettingsContainer.js";
|
|
70
|
+
import { DetailDrawer as Qo } from "./components/layout/DetailDrawer.js";
|
|
71
|
+
import { RammeInspectorTrigger as zo } from "./components/layout/RammeInspectorTrigger.js";
|
|
72
|
+
import { AboutRamme as Xo } from "./components/layout/AboutRamme.js";
|
|
73
|
+
import { Header as Jo } from "./components/layout/Header.js";
|
|
74
|
+
import { Toolbar as $o } from "./components/layout/Toolbar.js";
|
|
75
|
+
import { FilterPanel as oe } from "./components/layout/FilterPanel.js";
|
|
76
|
+
import { Statusbar as te } from "./components/layout/Statusbar.js";
|
|
77
|
+
import { Accordion as ae, AccordionItem as pe } from "./components/layout/Accordion.js";
|
|
78
|
+
import { Card as xe, CardContent as ie, CardDescription as ne, CardFooter as le, CardHeader as se, CardLabel as Te, CardTitle as de } from "./components/layout/Card.js";
|
|
79
|
+
import { Drawer as Ce } from "./components/layout/Drawer.js";
|
|
80
|
+
import { Sheet as ge } from "./components/layout/Sheet.js";
|
|
81
|
+
import { DefinitionDescription as ue, DefinitionList as be, DefinitionTerm as Pe, List as De, ListItem as Ie } from "./components/layout/List.js";
|
|
82
|
+
import { Modal as Le } from "./components/layout/Modal.js";
|
|
83
|
+
import { Sidebar as Re } from "./components/layout/Sidebar.js";
|
|
84
|
+
import { ActionBar as ve } from "./components/layout/ActionBar.js";
|
|
85
|
+
import { PageContainer as ye } from "./components/layout/PageContainer.js";
|
|
86
|
+
import { PageHeader as we } from "./components/layout/PageHeader.js";
|
|
87
|
+
import { SectionHeader as Oe } from "./components/layout/SectionHeader.js";
|
|
88
|
+
import { ButtonItem as He, UserNav as Ge } from "./components/layout/UserNav.js";
|
|
89
|
+
import { CollectionLayout as Ke } from "./components/layout/CollectionLayout.js";
|
|
90
|
+
import { DenseMetricRibbon as Ue } from "./components/layout/DenseMetricRibbon.js";
|
|
91
|
+
import { BreadcrumbItem as Qe, Breadcrumbs as We } from "./components/navigation/Breadcrumbs.js";
|
|
92
|
+
import { Menu as je, MenuDivider as Xe, MenuItem as qe } from "./components/navigation/Menu.js";
|
|
93
|
+
import { MobileNav as Ze } from "./components/navigation/MobileNav.js";
|
|
94
|
+
import { Pagination as rt } from "./components/navigation/Pagination.js";
|
|
95
|
+
import { Stepper as et } from "./components/navigation/Stepper.js";
|
|
96
|
+
import { TabPanel as mt, Tabs as at } from "./components/navigation/Tabs.js";
|
|
97
|
+
import { FinancialAssetSchema as ft, WatchlistEngine as xt } from "./blocks/engines/WatchlistEngine.js";
|
|
98
|
+
import { Avatar as nt } from "./components/ui/Avatar.js";
|
|
99
|
+
import { Badge as st, badgeVariants as Tt } from "./components/ui/Badge.js";
|
|
100
|
+
import { Button as ht, buttonVariants as Ct } from "./components/ui/Button.js";
|
|
101
|
+
import { Icon as gt } from "./components/ui/Icon.js";
|
|
102
|
+
import { BrandLogo as ut } from "./components/ui/BrandLogo.js";
|
|
103
|
+
import { cn as Pt } from "./utils/cn.js";
|
|
104
|
+
import { formatValue as It } from "./lib/formatters.js";
|
|
105
|
+
import { ThemeSynthesizer as Lt } from "./components/theme/ThemeSynthesizer.js";
|
|
106
|
+
import { AestheticProfileGrid as Rt } from "./components/theme/AestheticProfileGrid.js";
|
|
107
|
+
import { FineTuningControls as vt } from "./components/theme/FineTuningControls.js";
|
|
108
|
+
import { PaletteSwatch as yt, ThemeLivePreview as Ft } from "./components/theme/ThemeLivePreview.js";
|
|
109
|
+
import { ThemeSettings as kt } from "./components/theme/ThemeSettings.js";
|
|
110
|
+
import { ThemeLab as _t } from "./components/theme/ThemeLab.js";
|
|
111
|
+
import { AESTHETIC_PROFILES as Gt, generateFromProfile as Vt, generateFromPrompt as Kt, generateRandom as Nt, hslToCssString as Ut, hslToRgb as Yt, hslToRgbString as Qt, lightToDark as Wt, paletteToRgbVars as zt } from "./lib/theme/ThemeGenerator.logic.js";
|
|
112
|
+
import { THEME_TOKEN_VARS as Xt, applyThemeToDom as qt, generateRandomTheme as Jt, getContrastColor as Zt, hexToRgbTriplet as $t, isCustomTheme as rm, loadGoogleFont as om, randomRgb as em, tokensToVars as tm } from "./lib/theme/themeUtils.js";
|
|
113
|
+
import { generateThemeFromPrompt as am } from "./lib/theme/themeAgent.js";
|
|
114
|
+
import { CompanyProfileCard as fm } from "./components/ai/CompanyProfileCard/CompanyProfileCard.js";
|
|
115
|
+
import { CounterpartyGraphCard as im } from "./components/ai/CounterpartyGraphCard/CounterpartyGraphCard.js";
|
|
116
|
+
import { DivergenceMetricsCard as lm } from "./components/ai/DivergenceMetricsCard/DivergenceMetricsCard.js";
|
|
117
|
+
import { ArchitectureReferenceCard as Tm } from "./components/ai/ArchitectureReferenceCard/ArchitectureReferenceCard.js";
|
|
118
|
+
import { LiveQuoteCard as hm } from "./components/ai/LiveQuoteCard/LiveQuoteCard.js";
|
|
119
|
+
import { NewsSummaryCard as cm } from "./components/ai/NewsSummaryCard/NewsSummaryCard.js";
|
|
120
|
+
import { StockChart as Sm } from "./components/ai/StockChart/StockChart.js";
|
|
121
|
+
import { TelemetryGraph as bm } from "./components/ai/TelemetryGraph/TelemetryGraph.js";
|
|
122
|
+
import { ShowroomContainer as Dm } from "./components/showroom/ShowroomContainer.js";
|
|
123
|
+
import { ShowroomSidebar as Am } from "./components/showroom/ShowroomSidebar.js";
|
|
124
|
+
import { ShowroomCanvas as Bm } from "./components/showroom/ShowroomCanvas.js";
|
|
125
|
+
import { SkuBadge as Em } from "./components/showroom/SkuBadge.js";
|
|
126
|
+
import { resolvePreview as Mm } from "./components/showroom/ShowroomRenderer.js";
|
|
126
127
|
export {
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
Gt as AESTHETIC_PROFILES,
|
|
129
|
+
D as AIChatThread,
|
|
129
130
|
a as AUTO_REGISTRY,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
131
|
+
Xo as AboutRamme,
|
|
132
|
+
ae as Accordion,
|
|
133
|
+
pe as AccordionItem,
|
|
134
|
+
ve as ActionBar,
|
|
134
135
|
s as Actions,
|
|
135
136
|
V as ActivityFeed,
|
|
136
|
-
|
|
137
|
+
Rt as AestheticProfileGrid,
|
|
137
138
|
nr as Alert,
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
Ko as AppShell,
|
|
140
|
+
Tm as ArchitectureReferenceCard,
|
|
140
141
|
Y as AreaChart,
|
|
141
142
|
y as AuthLayout,
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
nt as Avatar,
|
|
144
|
+
st as Badge,
|
|
144
145
|
W as BarChart,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
ut as BrandLogo,
|
|
147
|
+
Qe as BreadcrumbItem,
|
|
148
|
+
We as Breadcrumbs,
|
|
149
|
+
ht as Button,
|
|
149
150
|
Br as ButtonGroup,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
He as ButtonItem,
|
|
152
|
+
xe as Card,
|
|
153
|
+
ie as CardContent,
|
|
154
|
+
ne as CardDescription,
|
|
155
|
+
le as CardFooter,
|
|
156
|
+
se as CardHeader,
|
|
157
|
+
Te as CardLabel,
|
|
158
|
+
de as CardTitle,
|
|
158
159
|
j as ChartWithTable,
|
|
159
160
|
b as ChatFAB,
|
|
160
161
|
Er as Checkbox,
|
|
161
|
-
|
|
162
|
+
bo as CircularDial,
|
|
162
163
|
er as CodeBlock,
|
|
163
|
-
|
|
164
|
+
Ke as CollectionLayout,
|
|
164
165
|
Mr as ComboBox,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
fm as CompanyProfileCard,
|
|
167
|
+
Go as ConnectorOverlay,
|
|
168
|
+
S as Conversation,
|
|
169
|
+
im as CounterpartyGraphCard,
|
|
169
170
|
To as DISMISS_THRESHOLD,
|
|
170
|
-
|
|
171
|
+
ko as DataCard,
|
|
171
172
|
H as DataTable,
|
|
172
173
|
Fr as DatePicker,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
174
|
+
ue as DefinitionDescription,
|
|
175
|
+
be as DefinitionList,
|
|
176
|
+
Pe as DefinitionTerm,
|
|
177
|
+
Ue as DenseMetricRibbon,
|
|
178
|
+
Qo as DetailDrawer,
|
|
179
|
+
Eo as DeviceCard,
|
|
180
|
+
lm as DivergenceMetricsCard,
|
|
181
|
+
Ce as Drawer,
|
|
182
|
+
Bo as EdgeInsightTerminal,
|
|
182
183
|
sr as EmptyState,
|
|
183
184
|
ho as FLICK_VELOCITY,
|
|
184
185
|
kr as FileUpload,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
186
|
+
oe as FilterPanel,
|
|
187
|
+
ft as FinancialAssetSchema,
|
|
188
|
+
vt as FineTuningControls,
|
|
188
189
|
_r as FormTemplate,
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
Do as HardwareCommandButton,
|
|
191
|
+
Jo as Header,
|
|
192
|
+
gt as Icon,
|
|
192
193
|
Gr as Input,
|
|
193
|
-
|
|
194
|
+
A as KeyInjectionOverlay,
|
|
194
195
|
pr as KpiGrid,
|
|
195
|
-
|
|
196
|
+
Ar as Label,
|
|
196
197
|
q as LineChart,
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
De as List,
|
|
199
|
+
Ie as ListItem,
|
|
200
|
+
hm as LiveQuoteCard,
|
|
200
201
|
n as Loader,
|
|
201
202
|
w as LoginPage,
|
|
202
203
|
po as MOBILE_BREAKPOINT_PX,
|
|
203
204
|
fo as MOBILE_BREAKPOINT_QUERY,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
je as Menu,
|
|
206
|
+
Xe as MenuDivider,
|
|
207
|
+
qe as MenuItem,
|
|
207
208
|
c as Message,
|
|
208
|
-
|
|
209
|
-
|
|
209
|
+
Ze as MobileNav,
|
|
210
|
+
Le as Modal,
|
|
210
211
|
Kr as MultiSelect,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
cm as NewsSummaryCard,
|
|
213
|
+
ye as PageContainer,
|
|
214
|
+
we as PageHeader,
|
|
215
|
+
rt as Pagination,
|
|
216
|
+
yt as PaletteSwatch,
|
|
216
217
|
Z as PieChart,
|
|
217
218
|
Cr as Plan,
|
|
218
219
|
h as PromptInput,
|
|
219
220
|
Ur as Radio,
|
|
220
|
-
|
|
221
|
+
zo as RammeInspectorTrigger,
|
|
221
222
|
rr as ScatterChart,
|
|
222
223
|
Qr as SearchInput,
|
|
223
|
-
|
|
224
|
+
Oe as SectionHeader,
|
|
224
225
|
zr as SegmentedControl,
|
|
225
226
|
Xr as Select,
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
227
|
+
Uo as SettingsContainer,
|
|
228
|
+
ge as Sheet,
|
|
229
|
+
Bm as ShowroomCanvas,
|
|
230
|
+
Dm as ShowroomContainer,
|
|
231
|
+
Am as ShowroomSidebar,
|
|
232
|
+
Re as Sidebar,
|
|
232
233
|
O as SignupPage,
|
|
233
234
|
dr as Skeleton,
|
|
234
|
-
|
|
235
|
-
|
|
235
|
+
Em as SkuBadge,
|
|
236
|
+
Ao as Sparkline,
|
|
236
237
|
mr as StatCard,
|
|
237
|
-
|
|
238
|
+
_o as StateMatrix,
|
|
238
239
|
xr as StatusBadge,
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
te as Statusbar,
|
|
241
|
+
et as Stepper,
|
|
242
|
+
Sm as StockChart,
|
|
242
243
|
T as Suggestion,
|
|
243
244
|
$r as Switch,
|
|
244
245
|
B as TAY_DREAMBOAT_THEME,
|
|
245
|
-
|
|
246
|
-
|
|
246
|
+
Xt as THEME_TOKEN_VARS,
|
|
247
|
+
mt as TabPanel,
|
|
247
248
|
N as Table,
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
at as Tabs,
|
|
250
|
+
bm as TelemetryGraph,
|
|
251
|
+
Fo as TelemetryLog,
|
|
251
252
|
Jr as Textarea,
|
|
252
|
-
|
|
253
|
-
|
|
253
|
+
_t as ThemeLab,
|
|
254
|
+
Ft as ThemeLivePreview,
|
|
254
255
|
R as ThemeProvider,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
kt as ThemeSettings,
|
|
257
|
+
Lt as ThemeSynthesizer,
|
|
258
|
+
gr as TippyTooltip,
|
|
258
259
|
ur as Toast,
|
|
259
260
|
Pr as ToastProvider,
|
|
260
261
|
ro as ToggleSwitch,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
262
|
+
$o as Toolbar,
|
|
263
|
+
Ge as UserNav,
|
|
264
|
+
xt as WatchlistEngine,
|
|
265
|
+
Mo as WaterPumpControl,
|
|
266
|
+
qt as applyThemeToDom,
|
|
266
267
|
E as availableThemes,
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
268
|
+
Tt as badgeVariants,
|
|
269
|
+
Ct as buttonVariants,
|
|
270
|
+
Pt as cn,
|
|
271
|
+
It as formatValue,
|
|
272
|
+
Vt as generateFromProfile,
|
|
273
|
+
Kt as generateFromPrompt,
|
|
274
|
+
Nt as generateRandom,
|
|
275
|
+
Jt as generateRandomTheme,
|
|
276
|
+
am as generateThemeFromPrompt,
|
|
277
|
+
Zt as getContrastColor,
|
|
278
|
+
$t as hexToRgbTriplet,
|
|
279
|
+
Ut as hslToCssString,
|
|
280
|
+
Yt as hslToRgb,
|
|
281
|
+
Qt as hslToRgbString,
|
|
282
|
+
rm as isCustomTheme,
|
|
283
|
+
Wt as lightToDark,
|
|
284
|
+
om as loadGoogleFont,
|
|
284
285
|
f as mockChartData,
|
|
285
286
|
x as mockTableData,
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
287
|
+
zt as paletteToRgbVars,
|
|
288
|
+
em as randomRgb,
|
|
289
|
+
Mm as resolvePreview,
|
|
289
290
|
Co as settleTo,
|
|
290
|
-
|
|
291
|
+
tm as tokensToVars,
|
|
291
292
|
lo as useBodyScrollLock,
|
|
292
293
|
mo as useChartTheme,
|
|
293
294
|
eo as useDataFetch,
|
|
295
|
+
So as useDialogFocus,
|
|
294
296
|
xo as useIsMobile,
|
|
295
297
|
io as useMediaQuery,
|
|
296
298
|
co as useSheetGesture,
|
|
297
299
|
v as useTheme,
|
|
298
|
-
|
|
300
|
+
Dr as useToast,
|
|
299
301
|
t as wizardManifest
|
|
300
302
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useDialogFocus(isActive: boolean, containerRef: React.RefObject<HTMLElement | null>): void;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useRef as m, useEffect as b } from "react";
|
|
2
|
+
const y = [
|
|
3
|
+
"a[href]",
|
|
4
|
+
"button:not([disabled])",
|
|
5
|
+
'input:not([disabled]):not([type="hidden"])',
|
|
6
|
+
"select:not([disabled])",
|
|
7
|
+
"textarea:not([disabled])",
|
|
8
|
+
'[tabindex]:not([tabindex="-1"])'
|
|
9
|
+
].join(","), l = (o) => Array.from(o.querySelectorAll(y)).filter(
|
|
10
|
+
// offsetParent is null for display:none. A zero-size element is still
|
|
11
|
+
// reachable by keyboard, so size is not the test — visibility is.
|
|
12
|
+
(n) => !n.hasAttribute("aria-hidden") && n.getAttribute("tabindex") !== "-1"
|
|
13
|
+
);
|
|
14
|
+
function E(o, n) {
|
|
15
|
+
const i = m(null);
|
|
16
|
+
b(() => {
|
|
17
|
+
if (!o) return;
|
|
18
|
+
const e = n.current;
|
|
19
|
+
if (!e) return;
|
|
20
|
+
i.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
21
|
+
const s = () => {
|
|
22
|
+
(l(e)[0] ?? e).focus();
|
|
23
|
+
};
|
|
24
|
+
s();
|
|
25
|
+
const d = requestAnimationFrame(() => {
|
|
26
|
+
e.contains(document.activeElement) || s();
|
|
27
|
+
}), u = (t) => {
|
|
28
|
+
if (t.key !== "Tab") return;
|
|
29
|
+
const r = l(e);
|
|
30
|
+
if (r.length === 0) {
|
|
31
|
+
t.preventDefault(), e.focus();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const a = r[0], f = r[r.length - 1], c = document.activeElement;
|
|
35
|
+
t.shiftKey && (c === a || !e.contains(c)) ? (t.preventDefault(), f.focus()) : !t.shiftKey && (c === f || !e.contains(c)) && (t.preventDefault(), a.focus());
|
|
36
|
+
};
|
|
37
|
+
return document.addEventListener("keydown", u, !0), () => {
|
|
38
|
+
cancelAnimationFrame(d), document.removeEventListener("keydown", u, !0);
|
|
39
|
+
const t = i.current;
|
|
40
|
+
t && document.contains(t) && t.focus();
|
|
41
|
+
};
|
|
42
|
+
}, [o, n]);
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
E as useDialogFocus
|
|
46
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const apiBaseUrl: () => string;
|
package/dist/wizardManifest.js
CHANGED
|
@@ -1098,7 +1098,7 @@ const e = {
|
|
|
1098
1098
|
{
|
|
1099
1099
|
id: "status-badge",
|
|
1100
1100
|
name: "StatusBadge",
|
|
1101
|
-
version: "1.0.
|
|
1101
|
+
version: "1.0.2",
|
|
1102
1102
|
description: "A consistent status indicator featuring a color-coded dot and an optional text label. Essential for IoT devices and system states.",
|
|
1103
1103
|
tags: [
|
|
1104
1104
|
"status",
|
|
@@ -1117,7 +1117,7 @@ const e = {
|
|
|
1117
1117
|
{
|
|
1118
1118
|
name: "color",
|
|
1119
1119
|
type: "string",
|
|
1120
|
-
description: "
|
|
1120
|
+
description: "Background class for the dot (e.g. 'bg-success'). Use a semantic token — a numeric shade does not adapt to the active theme. Overrides the `status` preset's colour when both are given."
|
|
1121
1121
|
},
|
|
1122
1122
|
{
|
|
1123
1123
|
name: "label",
|
|
@@ -3671,7 +3671,7 @@ const e = {
|
|
|
3671
3671
|
{
|
|
3672
3672
|
id: "detail-drawer",
|
|
3673
3673
|
name: "DetailDrawer",
|
|
3674
|
-
version: "1.0.
|
|
3674
|
+
version: "1.0.2",
|
|
3675
3675
|
description: 'A resizable side panel for inspecting one record without leaving the list. Strategic purpose: the master-detail companion — `push` compresses its siblings in a flex layout so the list stays visible and usable, while `overlay` floats above the page like a classic drawer. Use this for "click a row, see the detail" flows; use Modal when the task must block everything else.',
|
|
3676
3676
|
tags: [
|
|
3677
3677
|
"layout",
|
|
@@ -3696,7 +3696,7 @@ const e = {
|
|
|
3696
3696
|
{
|
|
3697
3697
|
name: "variant",
|
|
3698
3698
|
type: "string",
|
|
3699
|
-
description: "'push' compresses sibling flex content so the list stays visible; 'overlay' floats fixed above the page. Defaults to
|
|
3699
|
+
description: "'push' compresses sibling flex content so the list stays visible; 'overlay' floats fixed above the page. Defaults to overlay."
|
|
3700
3700
|
},
|
|
3701
3701
|
{
|
|
3702
3702
|
name: "side",
|
|
@@ -3728,6 +3728,11 @@ const e = {
|
|
|
3728
3728
|
type: "number",
|
|
3729
3729
|
description: "Upper bound for resizing. Defaults to 60% of the window width."
|
|
3730
3730
|
},
|
|
3731
|
+
{
|
|
3732
|
+
name: "title",
|
|
3733
|
+
type: "string",
|
|
3734
|
+
description: 'Names the panel for assistive technology. Not rendered: there is no header row to put it in, and adding one is a design decision. Without it an overlay announces only as "dialog".'
|
|
3735
|
+
},
|
|
3731
3736
|
{
|
|
3732
3737
|
name: "children",
|
|
3733
3738
|
type: "ReactNode",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramme-io/ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "The structural component library for the Ramme Framework.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"tailwind-merge": "^3.3.1",
|
|
55
55
|
"tippy.js": "^6.3.7",
|
|
56
56
|
"zod": "^3.23.8",
|
|
57
|
-
"@ramme-io/shared": "3.
|
|
57
|
+
"@ramme-io/shared": "3.2.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@storybook/addon-links": "^10.5.9",
|