@flamingo-stack/openframe-frontend-core 0.0.731 → 0.0.732
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/build/export-map.json +1 -1
- package/dist/{chunk-2UNQJVYN.cjs → chunk-22ZK7BA3.cjs} +1221 -1006
- package/dist/{chunk-Y4QRK3CB.cjs → chunk-3BLBWZ6A.cjs} +4 -4
- package/dist/{chunk-ZV6473Z4.cjs → chunk-5HMGK3N6.cjs} +18 -18
- package/dist/{chunk-HI7EFAFQ.cjs → chunk-5HSMTSHU.cjs} +28 -28
- package/dist/{chunk-XDBHGWFH.cjs → chunk-6HHUU56Y.cjs} +16 -16
- package/dist/{chunk-A4HNF4MP.cjs → chunk-6KDGIOLP.cjs} +80 -80
- package/dist/chunk-AEVGCB3Y.cjs +417 -0
- package/dist/{chunk-CLILWI6O.cjs → chunk-BDTX2OEE.cjs} +32 -32
- package/dist/{chunk-YDGBRI3Y.cjs → chunk-BS4EZZCN.cjs} +13 -13
- package/dist/{chunk-JPZ4Y6X3.cjs → chunk-C5NERNE6.cjs} +89 -89
- package/dist/{chunk-YUXRIR45.cjs → chunk-CC3LINHF.cjs} +95 -47
- package/dist/{chunk-53XZ6MJ5.cjs → chunk-CUF3IYIB.cjs} +28 -28
- package/dist/{chunk-FKKUQK4C.cjs → chunk-G37LT2ID.cjs} +5 -1
- package/dist/chunk-HELVKMRG.cjs +28 -0
- package/dist/{chunk-HEOD765R.cjs → chunk-HH4BMYDX.cjs} +23 -370
- package/dist/{chunk-4YPV4OI4.cjs → chunk-I46MQ4R5.cjs} +80 -80
- package/dist/{chunk-RAHRDJBP.cjs → chunk-MEDDKM3A.cjs} +2 -2
- package/dist/{chunk-3SWLL4IM.cjs → chunk-MVZ6XFPK.cjs} +6 -6
- package/dist/{chunk-TH4N726A.cjs → chunk-N466AJGN.cjs} +17 -17
- package/dist/{chunk-QP6QS3YU.cjs → chunk-OI7VCXYU.cjs} +48 -50
- package/dist/{chunk-25H2SZH7.cjs → chunk-OJ3XU3YZ.cjs} +4 -4
- package/dist/{chunk-JK75ZZP3.cjs → chunk-PRWBVIWW.cjs} +43 -43
- package/dist/chunk-PX7FY655.cjs +114 -0
- package/dist/{chunk-HLIJ3U2T.cjs → chunk-QMTC3BK3.cjs} +13 -11
- package/dist/{chunk-YJFN2W7A.cjs → chunk-RIXGLS5Y.cjs} +3 -3
- package/dist/{chunk-BFHLGEJK.cjs → chunk-SJRR745G.cjs} +61 -58
- package/dist/{chunk-6V4GEE55.cjs → chunk-TLDCSTTQ.cjs} +8 -8
- package/dist/{chunk-RBOIGJYF.cjs → chunk-XOQ2UUVS.cjs} +4 -4
- package/dist/{chunk-32ENYVFA.cjs → chunk-YGKVHSNQ.cjs} +42 -42
- package/dist/{chunk-HY2KTQSL.cjs → chunk-ZWMPAFGB.cjs} +183 -183
- package/dist/{cloud-tenants-SC4FNAC2.cjs → cloud-tenants-ILRE74JY.cjs} +16 -16
- package/dist/components/agent-identity.d.ts +8 -0
- package/dist/components/agent-identity.d.ts.map +1 -1
- package/dist/components/agent-identity.js +13 -1
- package/dist/components/case-studies/index.cjs +29 -29
- package/dist/components/chat/index.cjs +11 -11
- package/dist/components/contact/index.cjs +17 -17
- package/dist/components/docs/index.cjs +20 -20
- package/dist/components/embeds/index.cjs +17 -17
- package/dist/components/faq/index.cjs +17 -17
- package/dist/components/features/index.cjs +16 -16
- package/dist/components/help-center-pages/index.cjs +127 -127
- package/dist/components/index.cjs +79 -72
- package/dist/components/meeting-scheduler/index.cjs +47 -47
- package/dist/components/navigation/index.cjs +19 -19
- package/dist/components/onboarding-guides/index.cjs +19 -19
- package/dist/components/product-demo/index.cjs +8 -8
- package/dist/components/product-demo/screens/remote-desktop-picture.d.ts.map +1 -1
- package/dist/components/product-demo/screens/remote-desktop-picture.js +2 -1
- package/dist/components/related-content/index.cjs +6 -6
- package/dist/components/tickets/index.cjs +20 -20
- package/dist/components/ui/device-wallpaper.d.ts +7 -0
- package/dist/components/ui/device-wallpaper.d.ts.map +1 -0
- package/dist/components/ui/device-wallpaper.js +5 -0
- package/dist/components/ui/feature-list.d.ts +9 -4
- package/dist/components/ui/feature-list.d.ts.map +1 -1
- package/dist/components/ui/feature-list.js +26 -35
- package/dist/components/ui/index.cjs +22 -16
- package/dist/components/ui/index.d.ts +3 -1
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +3 -1
- package/dist/components/ui/notification-stack.d.ts +33 -0
- package/dist/components/ui/notification-stack.d.ts.map +1 -0
- package/dist/components/ui/notification-stack.js +78 -0
- package/dist/components/ui/numbered-step.d.ts +29 -0
- package/dist/components/ui/numbered-step.d.ts.map +1 -0
- package/dist/components/ui/numbered-step.js +57 -0
- package/dist/components/ui/phone-frame.d.ts +14 -9
- package/dist/components/ui/phone-frame.d.ts.map +1 -1
- package/dist/components/ui/phone-frame.js +50 -6
- package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts +5 -0
- package/dist/components/ui/phone-glyphs/lock-camera-glyph.d.ts.map +1 -0
- package/dist/components/ui/phone-glyphs/lock-camera-glyph.js +14 -0
- package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts +5 -0
- package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.d.ts.map +1 -0
- package/dist/components/ui/phone-glyphs/lock-flashlight-glyph.js +14 -0
- package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts +5 -0
- package/dist/components/ui/phone-glyphs/status-bar-glyphs.d.ts.map +1 -0
- package/dist/components/ui/phone-glyphs/status-bar-glyphs.js +68 -0
- package/dist/components/ui/snap-carousel.d.ts +5 -8
- package/dist/components/ui/snap-carousel.d.ts.map +1 -1
- package/dist/components/ui/snap-carousel.js +2 -27
- package/dist/components/ui/tab-navigation.d.ts +8 -1
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.js +30 -20
- package/dist/{devices-7MHSJNXS.cjs → devices-A6SFNGE4.cjs} +17 -17
- package/dist/{embeddable-chat-VPIG3F7E.cjs → embeddable-chat-BKPYNOIM.cjs} +80 -80
- package/dist/hooks/index.cjs +6 -6
- package/dist/hooks/ui/use-autoplay.d.ts +50 -13
- package/dist/hooks/ui/use-autoplay.d.ts.map +1 -1
- package/dist/hooks/ui/use-autoplay.js +76 -13
- package/dist/hooks/ui/use-in-view.d.ts +8 -0
- package/dist/hooks/ui/use-in-view.d.ts.map +1 -1
- package/dist/hooks/ui/use-in-view.js +21 -36
- package/dist/hooks/use-agent-identities.d.ts +6 -0
- package/dist/hooks/use-agent-identities.d.ts.map +1 -1
- package/dist/hooks/use-scenario-player.d.ts +26 -9
- package/dist/hooks/use-scenario-player.d.ts.map +1 -1
- package/dist/hooks/use-scenario-player.js +12 -9
- package/dist/index.cjs +51 -44
- package/dist/{knowledge-4DREGSOZ.cjs → knowledge-5ZCVKUYV.cjs} +17 -17
- package/dist/{logs-BWXNT2KP.cjs → logs-CL4OJASB.cjs} +24 -24
- package/dist/{policies-MGFUI23M.cjs → policies-7D44ZVS5.cjs} +20 -20
- package/dist/{remote-session-O6QGXV2N.cjs → remote-session-QB3CIZRM.cjs} +5 -4
- package/dist/{software-update-7LF7XEYC.cjs → software-update-AX6TZL26.cjs} +20 -20
- package/dist/{tickets-board-KNXK747O.cjs → tickets-board-7FAV2YWF.cjs} +10 -10
- package/package.json +1 -1
- package/src/components/agent-identity.tsx +20 -1
- package/src/components/product-demo/screens/remote-desktop-picture.tsx +2 -1
- package/src/components/ui/device-wallpaper.ts +7 -0
- package/src/components/ui/feature-list.tsx +24 -30
- package/src/components/ui/index.ts +3 -1
- package/src/components/ui/notification-stack.tsx +133 -0
- package/src/components/ui/numbered-step.tsx +81 -0
- package/src/components/ui/phone-frame.tsx +83 -19
- package/src/components/ui/phone-glyphs/lock-camera-glyph.tsx +14 -0
- package/src/components/ui/phone-glyphs/lock-flashlight-glyph.tsx +14 -0
- package/src/components/ui/phone-glyphs/status-bar-glyphs.tsx +45 -0
- package/src/components/ui/snap-carousel.tsx +6 -38
- package/src/components/ui/tab-navigation.tsx +49 -21
- package/src/hooks/ui/use-autoplay.ts +144 -27
- package/src/hooks/ui/use-in-view.ts +31 -38
- package/src/hooks/use-agent-identities.ts +6 -0
- package/src/hooks/use-scenario-player.ts +44 -20
- package/dist/chunk-2WXLQ5R5.cjs +0 -99
- package/dist/chunk-BE2WAMG5.cjs +0 -54
- package/dist/chunk-LCTDHLDL.cjs +0 -43
- package/dist/components/ui/playback-toggle.d.ts +0 -24
- package/dist/components/ui/playback-toggle.d.ts.map +0 -1
- package/dist/components/ui/playback-toggle.js +0 -32
- package/src/components/ui/playback-toggle.tsx +0 -53
|
@@ -130,7 +130,23 @@ const TabBar = memo(function TabBarImpl({
|
|
|
130
130
|
const isPlaced = indicator.width > 0;
|
|
131
131
|
const activeProgress = tabs.find((tab) => tab.id === activeTab)?.progress;
|
|
132
132
|
const hasProgress = typeof activeProgress === "number";
|
|
133
|
-
const
|
|
133
|
+
const target = hasProgress ? Math.max(0, Math.min(1, activeProgress)) : 1;
|
|
134
|
+
const [run, setRun] = useState({ tab: null, progress: 0 });
|
|
135
|
+
const startsOver = hasProgress && (run.tab !== activeTab || target < run.progress);
|
|
136
|
+
if (hasProgress && !startsOver && run.progress !== target) setRun({ tab: activeTab, progress: target });
|
|
137
|
+
useEffect(() => {
|
|
138
|
+
if (!startsOver) return void 0;
|
|
139
|
+
let second = 0;
|
|
140
|
+
const first = requestAnimationFrame(() => {
|
|
141
|
+
second = requestAnimationFrame(() => setRun({ tab: activeTab, progress: target }));
|
|
142
|
+
});
|
|
143
|
+
return () => {
|
|
144
|
+
cancelAnimationFrame(first);
|
|
145
|
+
cancelAnimationFrame(second);
|
|
146
|
+
};
|
|
147
|
+
}, [startsOver, activeTab, target]);
|
|
148
|
+
const progress = startsOver ? 0 : target;
|
|
149
|
+
const activeAccent = tabs.find((tab) => tab.id === activeTab)?.accent;
|
|
134
150
|
const indicatorStyle = {
|
|
135
151
|
width: `${indicator.width * progress}px`,
|
|
136
152
|
transform: `translateX(${indicator.left}px)`,
|
|
@@ -152,7 +168,7 @@ const TabBar = memo(function TabBarImpl({
|
|
|
152
168
|
"div",
|
|
153
169
|
{
|
|
154
170
|
ref: scrollRef,
|
|
155
|
-
className: "scrollbar-hide relative flex h-full items-center justify-start
|
|
171
|
+
className: "scrollbar-hide relative flex h-full items-center justify-start overflow-x-auto overflow-y-hidden",
|
|
156
172
|
children: [
|
|
157
173
|
tabs.map((tab) => {
|
|
158
174
|
const isActive = activeTab === tab.id;
|
|
@@ -164,26 +180,19 @@ const TabBar = memo(function TabBarImpl({
|
|
|
164
180
|
onClick: () => onTabChange(tab.id),
|
|
165
181
|
"aria-label": tab.badge ? `${tab.label} (${tab.badge})` : void 0,
|
|
166
182
|
className: cn(
|
|
167
|
-
"relative flex shrink-0 cursor-pointer items-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-m)]",
|
|
183
|
+
"group relative flex shrink-0 cursor-pointer items-center gap-[var(--spacing-system-xxs)] p-[var(--spacing-system-m)]",
|
|
168
184
|
tabAlign === "start" ? "justify-start text-left" : "justify-center",
|
|
169
185
|
// Named rather than `transition-all`: the only thing that moves
|
|
170
|
-
// here is colour.
|
|
171
|
-
// property each frame, including the background GRADIENT — which
|
|
172
|
-
// never animated anyway, since the inactive state has no
|
|
173
|
-
// background-image to interpolate from.
|
|
186
|
+
// here is colour.
|
|
174
187
|
"border-none bg-transparent outline-none transition-colors duration-200",
|
|
175
188
|
// `outline-none` above drops the browser's own focus ring, so
|
|
176
189
|
// put one back or the strip is un-navigable by keyboard — you
|
|
177
190
|
// can tab through it with nothing to show where you are. Inset,
|
|
178
|
-
// so it stays within the button
|
|
179
|
-
// sitting 4px away.
|
|
191
|
+
// so it stays within the button: the tabs touch.
|
|
180
192
|
"focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus",
|
|
181
193
|
stretchTabs && "flex-1",
|
|
182
|
-
tab.avatar && "gap-[var(--spacing-system-xsf)]"
|
|
183
|
-
//
|
|
184
|
-
// alpha modifiers (to-ods-accent/10) silently produce no CSS.
|
|
185
|
-
// color-mix() accepts hex, so we derive the 10%-alpha stop from the token.
|
|
186
|
-
isActive ? "bg-gradient-to-b from-transparent to-[color-mix(in_srgb,var(--color-accent-primary)_10%,transparent)]" : "hover:bg-gradient-to-b hover:from-transparent hover:to-[color-mix(in_srgb,var(--color-accent-primary)_10%,transparent)]"
|
|
194
|
+
tab.avatar && "gap-[var(--spacing-system-xsf)]"
|
|
195
|
+
// The open tab is marked by the underline alone: no surface of its own.
|
|
187
196
|
),
|
|
188
197
|
children: [
|
|
189
198
|
tab.avatar ? /* @__PURE__ */ jsxs("div", { className: "relative flex shrink-0 items-center justify-center", children: [
|
|
@@ -195,8 +204,9 @@ const TabBar = memo(function TabBarImpl({
|
|
|
195
204
|
{
|
|
196
205
|
className: cn(
|
|
197
206
|
"h-4 w-4 transition-colors content-md:h-6 content-md:w-6",
|
|
198
|
-
isActive ? "text-ods-accent" : "text-ods-text-secondary"
|
|
199
|
-
)
|
|
207
|
+
isActive ? !tab.accent && "text-ods-accent" : "text-ods-text-secondary group-hover:text-ods-text-primary"
|
|
208
|
+
),
|
|
209
|
+
style: isActive && tab.accent ? { color: tab.accent } : void 0
|
|
200
210
|
}
|
|
201
211
|
),
|
|
202
212
|
tab.indicator && /* @__PURE__ */ jsx(StatusDot, { indicator: tab.indicator, className: "absolute right-0 top-[-3px]" })
|
|
@@ -211,7 +221,7 @@ const TabBar = memo(function TabBarImpl({
|
|
|
211
221
|
{
|
|
212
222
|
className: cn(
|
|
213
223
|
"whitespace-nowrap transition-colors text-h4",
|
|
214
|
-
isActive ? "text-ods-text-primary" : "text-ods-text-secondary"
|
|
224
|
+
isActive ? "text-ods-text-primary" : "text-ods-text-secondary group-hover:text-ods-text-primary"
|
|
215
225
|
),
|
|
216
226
|
children: tab.label
|
|
217
227
|
}
|
|
@@ -252,11 +262,11 @@ const TabBar = memo(function TabBarImpl({
|
|
|
252
262
|
"aria-hidden": true,
|
|
253
263
|
"data-testid": "tab-navigation-underline",
|
|
254
264
|
className: cn(
|
|
255
|
-
"pointer-events-none absolute bottom-0 left-0
|
|
256
|
-
|
|
265
|
+
"pointer-events-none absolute bottom-0 left-0 h-1 motion-reduce:transition-none",
|
|
266
|
+
!activeAccent && "bg-ods-accent",
|
|
257
267
|
!hasProgress && shouldAnimateIndicator && "transition-[transform,width,opacity] duration-200 ease-out"
|
|
258
268
|
),
|
|
259
|
-
style: indicatorStyle
|
|
269
|
+
style: activeAccent ? { ...indicatorStyle, backgroundColor: activeAccent } : indicatorStyle
|
|
260
270
|
}
|
|
261
271
|
)
|
|
262
272
|
]
|
|
@@ -11,22 +11,22 @@ require('./chunk-KHXZFLIN.cjs');
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
17
|
-
require('./chunk-
|
|
14
|
+
var _chunk22ZK7BA3cjs = require('./chunk-22ZK7BA3.cjs');
|
|
15
|
+
require('./chunk-QMTC3BK3.cjs');
|
|
16
|
+
require('./chunk-MEDDKM3A.cjs');
|
|
17
|
+
require('./chunk-G37LT2ID.cjs');
|
|
18
18
|
require('./chunk-HQQE74RO.cjs');
|
|
19
19
|
require('./chunk-DEY6XXGO.cjs');
|
|
20
|
-
require('./chunk-
|
|
20
|
+
require('./chunk-SJRR745G.cjs');
|
|
21
21
|
require('./chunk-GID62YEN.cjs');
|
|
22
22
|
require('./chunk-24I6RFVU.cjs');
|
|
23
23
|
require('./chunk-A6P6DHEZ.cjs');
|
|
24
24
|
require('./chunk-MZ4KBSH7.cjs');
|
|
25
25
|
require('./chunk-OXJ57643.cjs');
|
|
26
26
|
require('./chunk-YUMFVQIN.cjs');
|
|
27
|
-
require('./chunk-
|
|
28
|
-
require('./chunk-
|
|
29
|
-
require('./chunk-
|
|
27
|
+
require('./chunk-6KDGIOLP.cjs');
|
|
28
|
+
require('./chunk-ZWMPAFGB.cjs');
|
|
29
|
+
require('./chunk-HH4BMYDX.cjs');
|
|
30
30
|
require('./chunk-HZJRERJW.cjs');
|
|
31
31
|
require('./chunk-E3N24573.cjs');
|
|
32
32
|
require('./chunk-MJGX357L.cjs');
|
|
@@ -1818,17 +1818,17 @@ require('./chunk-LMBYZITR.cjs');
|
|
|
1818
1818
|
require('./chunk-TMVC7S2R.cjs');
|
|
1819
1819
|
require('./chunk-IYHH5EIO.cjs');
|
|
1820
1820
|
require('./chunk-XIBCMGBW.cjs');
|
|
1821
|
-
require('./chunk-
|
|
1822
|
-
require('./chunk-
|
|
1823
|
-
require('./chunk-
|
|
1821
|
+
require('./chunk-RIXGLS5Y.cjs');
|
|
1822
|
+
require('./chunk-CC3LINHF.cjs');
|
|
1823
|
+
require('./chunk-HELVKMRG.cjs');
|
|
1824
1824
|
require('./chunk-JKX2C3I2.cjs');
|
|
1825
1825
|
require('./chunk-7DNL734S.cjs');
|
|
1826
1826
|
require('./chunk-WWUSFOJ7.cjs');
|
|
1827
1827
|
require('./chunk-SKI6NKOE.cjs');
|
|
1828
1828
|
require('./chunk-EWPR7662.cjs');
|
|
1829
|
-
require('./chunk-
|
|
1830
|
-
require('./chunk-
|
|
1831
|
-
require('./chunk-
|
|
1829
|
+
require('./chunk-TLDCSTTQ.cjs');
|
|
1830
|
+
require('./chunk-XOQ2UUVS.cjs');
|
|
1831
|
+
require('./chunk-AEVGCB3Y.cjs');
|
|
1832
1832
|
require('./chunk-YADG5Q7C.cjs');
|
|
1833
1833
|
require('./chunk-NYY25425.cjs');
|
|
1834
1834
|
require('./chunk-KLXHCNDC.cjs');
|
|
@@ -1841,7 +1841,7 @@ require('./chunk-ORO54HDF.cjs');
|
|
|
1841
1841
|
require('./chunk-RUHKTWGB.cjs');
|
|
1842
1842
|
require('./chunk-BLH2SFOO.cjs');
|
|
1843
1843
|
require('./chunk-EAY6ZUES.cjs');
|
|
1844
|
-
require('./chunk-
|
|
1844
|
+
require('./chunk-PX7FY655.cjs');
|
|
1845
1845
|
require('./chunk-CW3ML76U.cjs');
|
|
1846
1846
|
require('./chunk-7DUXR4HL.cjs');
|
|
1847
1847
|
require('./chunk-MANNIJ42.cjs');
|
|
@@ -1865,14 +1865,14 @@ require('./chunk-3ATAYP36.cjs');
|
|
|
1865
1865
|
// src/components/product-demo/screens/devices.tsx
|
|
1866
1866
|
var _react = require('react');
|
|
1867
1867
|
var _jsxruntime = require('react/jsx-runtime');
|
|
1868
|
-
var TOOLBAR = { ...
|
|
1868
|
+
var TOOLBAR = { ..._chunk22ZK7BA3cjs.IDLE_DEVICES_TOOLBAR, searchValue: _chunkWFPCCBOMcjs.DEVICES_SEARCH_QUERY };
|
|
1869
1869
|
var NO_HEADER = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, {});
|
|
1870
1870
|
var HIDDEN_WHEN_COMPACT = ["organization"];
|
|
1871
1871
|
function DevicesScreen({ compact = false }) {
|
|
1872
1872
|
const cast = _chunkII4QMH26cjs.useProductDemoCast.call(void 0, );
|
|
1873
1873
|
const fixture = _react.useMemo.call(void 0, () => _chunkWFPCCBOMcjs.buildWindowsDevicesFixture.call(void 0, cast), [cast]);
|
|
1874
1874
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1875
|
-
|
|
1875
|
+
_chunk22ZK7BA3cjs.DevicesPanelView,
|
|
1876
1876
|
{
|
|
1877
1877
|
className: "p-[var(--spacing-system-l)]",
|
|
1878
1878
|
headerSlot: NO_HEADER,
|