@flamingo-stack/openframe-frontend-core 0.0.718 → 0.0.719
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/{chunk-N2PF5CFX.js → chunk-2JLP2X2M.js} +1 -1
- package/dist/{chunk-YEMCCYIF.js → chunk-4D6NMPOO.js} +1 -1
- package/dist/{chunk-MIQLUUVF.cjs → chunk-4JIGEK7C.cjs} +6 -6
- package/dist/{chunk-JIWMBIVZ.js → chunk-5U3KWQXP.js} +3 -3
- package/dist/{chunk-67QBMN4R.js → chunk-5YAGX5DY.js} +1 -1
- package/dist/{chunk-GEDY7HQI.cjs → chunk-6X3O67OL.cjs} +4 -0
- package/dist/{chunk-DEZDMTBM.js → chunk-7BCY77W6.js} +5 -5
- package/dist/{chunk-BWIN42ZA.cjs → chunk-7BREFV7G.cjs} +19 -19
- package/dist/{chunk-45F7PXUI.js → chunk-AJHSQ5XK.js} +2 -2
- package/dist/{chunk-TBCZCRQ5.js → chunk-CU6NWO2M.js} +5 -5
- package/dist/{chunk-DCD5WZUF.js → chunk-D6PMVWDI.js} +2 -2
- package/dist/{chunk-2RKFMUNW.cjs → chunk-DFEPUYTF.cjs} +24 -21
- package/dist/{chunk-BOTM373R.cjs → chunk-E2V2EH2G.cjs} +2 -2
- package/dist/{chunk-PQ6HBLZ7.js → chunk-EAHOB64X.js} +3 -3
- package/dist/{chunk-SGFTTJKO.js → chunk-FVQJBII6.js} +1 -1
- package/dist/{chunk-APJZBDQN.js → chunk-H5V7GRN5.js} +24 -21
- package/dist/{chunk-6A43ZDWV.cjs → chunk-H5VIMBRN.cjs} +2 -2
- package/dist/{chunk-DXCBOZVT.cjs → chunk-HCFNEKO3.cjs} +13 -13
- package/dist/{chunk-Z5UWW3Z2.cjs → chunk-LCLDFMDF.cjs} +66 -50
- package/dist/{chunk-NDZ5ZXOQ.cjs → chunk-LOZLHG2U.cjs} +6 -6
- package/dist/{chunk-Z3CVSPO3.cjs → chunk-NQVS4G7G.cjs} +134 -134
- package/dist/{chunk-EZC2F5OT.cjs → chunk-NYWESHOQ.cjs} +15 -15
- package/dist/{chunk-YBQQNDC7.js → chunk-RR6PY34K.js} +4 -0
- package/dist/{chunk-GN4A7PMB.cjs → chunk-SWAVO7BB.cjs} +23 -23
- package/dist/{chunk-S2FUFMLW.cjs → chunk-TDZ76NCB.cjs} +16 -16
- package/dist/{chunk-QXZCLQNV.js → chunk-TELAANY6.js} +1 -1
- package/dist/{chunk-MM7MCIXL.js → chunk-TTEFN6VO.js} +4 -4
- package/dist/{chunk-YC5COB5V.cjs → chunk-WS7WRR5Z.cjs} +32 -32
- package/dist/{chunk-LOYPRJWA.js → chunk-Y4MB25KW.js} +66 -50
- package/dist/{chunk-WALCXC7J.cjs → chunk-ZKNZ2CXW.cjs} +3 -3
- package/dist/{cloud-tenants-TAKOWXLD.js → cloud-tenants-DNBPNQNP.js} +2 -2
- package/dist/{cloud-tenants-PFDF7O5U.cjs → cloud-tenants-FBUO66GW.cjs} +3 -3
- package/dist/components/case-studies/index.cjs +11 -11
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -2
- package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +48 -48
- package/dist/components/help-center-pages/index.js +13 -13
- package/dist/components/index.cjs +23 -23
- package/dist/components/index.js +12 -12
- package/dist/components/meeting-scheduler/index.cjs +18 -18
- package/dist/components/meeting-scheduler/index.js +2 -2
- package/dist/components/navigation/index.cjs +4 -4
- package/dist/components/navigation/index.js +3 -3
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/product-demo/index.cjs +7 -7
- package/dist/components/product-demo/index.js +7 -7
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/related-content/related-content-section.d.ts +6 -6
- package/dist/components/related-content/related-content-section.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/{devices-KRCGZMGA.cjs → devices-5A5TY4JD.cjs} +4 -4
- package/dist/{devices-LHEX7O5T.js → devices-PLDAEUSL.js} +2 -2
- package/dist/hooks/use-self-fetch.d.ts +3 -0
- package/dist/hooks/use-self-fetch.d.ts.map +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +3 -3
- package/dist/{knowledge-KLVPVEYZ.cjs → knowledge-FKTJ723Z.cjs} +3 -3
- package/dist/{knowledge-RZSFNR33.js → knowledge-G6Q5KRWV.js} +2 -2
- package/dist/{logs-OX3XTVL2.cjs → logs-CJCXUBU6.cjs} +11 -11
- package/dist/{logs-E5DOV5JO.js → logs-QMV6XIC4.js} +2 -2
- package/dist/{policies-MC2S4S5G.js → policies-G6D7AX6F.js} +2 -2
- package/dist/{policies-FOSCIZGK.cjs → policies-QMRTK3CY.cjs} +7 -7
- package/dist/{remote-session-DRFE5XZE.cjs → remote-session-2JVI7RVA.cjs} +3 -3
- package/dist/{remote-session-JQ2BPIE3.js → remote-session-DBD6OSTX.js} +1 -1
- package/dist/{software-update-D4OEIH65.js → software-update-6BQM6BKH.js} +2 -2
- package/dist/{software-update-HOBSTWVO.cjs → software-update-PNZMRDBT.cjs} +7 -7
- package/package.json +1 -1
- package/src/components/features/remote-session/remote-desktop-view.tsx +86 -63
- package/src/components/related-content/related-content-section.tsx +46 -47
- package/src/hooks/use-self-fetch.ts +7 -0
|
@@ -8,11 +8,11 @@ var _chunkII4QMH26cjs = require('./chunk-II4QMH26.cjs');
|
|
|
8
8
|
var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkNQVS4G7Gcjs = require('./chunk-NQVS4G7G.cjs');
|
|
12
12
|
require('./chunk-4HJRHEXD.cjs');
|
|
13
13
|
require('./chunk-HQQE74RO.cjs');
|
|
14
14
|
require('./chunk-DEY6XXGO.cjs');
|
|
15
|
-
require('./chunk-
|
|
15
|
+
require('./chunk-LCLDFMDF.cjs');
|
|
16
16
|
require('./chunk-ZXCZYMN4.cjs');
|
|
17
17
|
require('./chunk-B4NCVYEQ.cjs');
|
|
18
18
|
require('./chunk-MZ4KBSH7.cjs');
|
|
@@ -97,7 +97,7 @@ function KnowledgeScreen(_props) {
|
|
|
97
97
|
const cast = _chunkII4QMH26cjs.useProductDemoCast.call(void 0, );
|
|
98
98
|
const fixture = _react.useMemo.call(void 0, () => buildKnowledgeFixture(cast), [cast]);
|
|
99
99
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
100
|
-
|
|
100
|
+
_chunkNQVS4G7Gcjs.KnowledgeBaseArticleView,
|
|
101
101
|
{
|
|
102
102
|
...fixture.article,
|
|
103
103
|
content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUWQWMGJ7cjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
|
|
@@ -8,11 +8,11 @@ import {
|
|
|
8
8
|
} from "./chunk-CYUUHFXL.js";
|
|
9
9
|
import {
|
|
10
10
|
KnowledgeBaseArticleView
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2JLP2X2M.js";
|
|
12
12
|
import "./chunk-ILNN6QRW.js";
|
|
13
13
|
import "./chunk-LQYXMEYF.js";
|
|
14
14
|
import "./chunk-4JPLYOS6.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-Y4MB25KW.js";
|
|
16
16
|
import "./chunk-IWCPXJEE.js";
|
|
17
17
|
import "./chunk-3K5ZLZE7.js";
|
|
18
18
|
import "./chunk-HFL2F4RM.js";
|
|
@@ -16,11 +16,11 @@ var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkNQVS4G7Gcjs = require('./chunk-NQVS4G7G.cjs');
|
|
20
20
|
require('./chunk-4HJRHEXD.cjs');
|
|
21
21
|
require('./chunk-HQQE74RO.cjs');
|
|
22
22
|
require('./chunk-DEY6XXGO.cjs');
|
|
23
|
-
require('./chunk-
|
|
23
|
+
require('./chunk-LCLDFMDF.cjs');
|
|
24
24
|
require('./chunk-ZXCZYMN4.cjs');
|
|
25
25
|
require('./chunk-B4NCVYEQ.cjs');
|
|
26
26
|
require('./chunk-MZ4KBSH7.cjs');
|
|
@@ -78,7 +78,7 @@ function entry(logId, minutesAgo, severity, toolType, device2, summary) {
|
|
|
78
78
|
id: logId,
|
|
79
79
|
logId,
|
|
80
80
|
timestamp: displayTime(_chunkKHXZFLINcjs.demoMinutesAgo.call(void 0, minutesAgo)),
|
|
81
|
-
status: { label: severity, variant:
|
|
81
|
+
status: { label: severity, variant: _chunkNQVS4G7Gcjs.logSeverityVariant.call(void 0, severity) },
|
|
82
82
|
source: { name: toolType, toolType },
|
|
83
83
|
device: device2,
|
|
84
84
|
description: { title: summary }
|
|
@@ -150,13 +150,13 @@ var NO_FILTERS = {};
|
|
|
150
150
|
var ACTION_COLUMNS = ["copy", "quickView", "open"];
|
|
151
151
|
var BESIDE_DRAWER_HIDDEN = [...ACTION_COLUMNS, "tool", "source"];
|
|
152
152
|
var logHref = () => "#";
|
|
153
|
-
var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
153
|
+
var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQVS4G7Gcjs.LogCopyIconButton, {});
|
|
154
154
|
function LogsScreen({ compact = false }) {
|
|
155
155
|
const [dock, setDock] = _react.useState.call(void 0, null);
|
|
156
156
|
const selected = LOGS_FIXTURE_SELECTED;
|
|
157
157
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full bg-ods-bg", children: [
|
|
158
158
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
159
|
+
_chunkNQVS4G7Gcjs.LogsPageView,
|
|
160
160
|
{
|
|
161
161
|
showHeader: false,
|
|
162
162
|
className: "p-[var(--spacing-system-l)]",
|
|
@@ -164,7 +164,7 @@ function LogsScreen({ compact = false }) {
|
|
|
164
164
|
onSearchChange: noop,
|
|
165
165
|
onOpenFilters: noop,
|
|
166
166
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
167
|
-
|
|
167
|
+
_chunkNQVS4G7Gcjs.LogsTableView,
|
|
168
168
|
{
|
|
169
169
|
logs: LOGS_FIXTURE_ENTRIES,
|
|
170
170
|
facets: LOGS_FIXTURE_FACETS,
|
|
@@ -178,8 +178,8 @@ function LogsScreen({ compact = false }) {
|
|
|
178
178
|
)
|
|
179
179
|
}
|
|
180
180
|
) }),
|
|
181
|
-
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setDock, className: "relative w-[calc(400px+var(--spacing-system-m))] shrink-0", children: dock && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
182
|
-
|
|
181
|
+
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setDock, className: "relative w-[calc(400px+var(--spacing-system-m))] shrink-0", children: dock && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQVS4G7Gcjs.AppLayoutDrawerContainerContext.Provider, { value: dock, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
182
|
+
_chunkNQVS4G7Gcjs.LogDrawer,
|
|
183
183
|
{
|
|
184
184
|
docked: true,
|
|
185
185
|
isOpen: true,
|
|
@@ -191,12 +191,12 @@ function LogsScreen({ compact = false }) {
|
|
|
191
191
|
{ label: "Log ID", value: selected.logId },
|
|
192
192
|
{
|
|
193
193
|
label: "Source",
|
|
194
|
-
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
194
|
+
value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQVS4G7Gcjs.ToolBadge, { toolType: _chunkUWQWMGJ7cjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
|
|
195
195
|
},
|
|
196
|
-
{ label: "Device", value:
|
|
196
|
+
{ label: "Device", value: _chunkNQVS4G7Gcjs.logSourceLabels.call(void 0, selected.device).deviceName }
|
|
197
197
|
],
|
|
198
198
|
deviceCard: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
199
|
-
|
|
199
|
+
_chunkNQVS4G7Gcjs.DeviceCard,
|
|
200
200
|
{
|
|
201
201
|
...LOGS_FIXTURE_DEVICE,
|
|
202
202
|
actions: {
|
|
@@ -16,11 +16,11 @@ import {
|
|
|
16
16
|
ToolBadge,
|
|
17
17
|
logSeverityVariant,
|
|
18
18
|
logSourceLabels
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2JLP2X2M.js";
|
|
20
20
|
import "./chunk-ILNN6QRW.js";
|
|
21
21
|
import "./chunk-LQYXMEYF.js";
|
|
22
22
|
import "./chunk-4JPLYOS6.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-Y4MB25KW.js";
|
|
24
24
|
import "./chunk-IWCPXJEE.js";
|
|
25
25
|
import "./chunk-3K5ZLZE7.js";
|
|
26
26
|
import "./chunk-HFL2F4RM.js";
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
PolicySummaryCards,
|
|
11
11
|
computePolicySummary,
|
|
12
12
|
getPolicyTableStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2JLP2X2M.js";
|
|
14
14
|
import "./chunk-ILNN6QRW.js";
|
|
15
15
|
import "./chunk-LQYXMEYF.js";
|
|
16
16
|
import "./chunk-4JPLYOS6.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-Y4MB25KW.js";
|
|
18
18
|
import "./chunk-IWCPXJEE.js";
|
|
19
19
|
import "./chunk-3K5ZLZE7.js";
|
|
20
20
|
import "./chunk-HFL2F4RM.js";
|
|
@@ -10,11 +10,11 @@ var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkNQVS4G7Gcjs = require('./chunk-NQVS4G7G.cjs');
|
|
14
14
|
require('./chunk-4HJRHEXD.cjs');
|
|
15
15
|
require('./chunk-HQQE74RO.cjs');
|
|
16
16
|
require('./chunk-DEY6XXGO.cjs');
|
|
17
|
-
require('./chunk-
|
|
17
|
+
require('./chunk-LCLDFMDF.cjs');
|
|
18
18
|
require('./chunk-ZXCZYMN4.cjs');
|
|
19
19
|
require('./chunk-B4NCVYEQ.cjs');
|
|
20
20
|
require('./chunk-MZ4KBSH7.cjs');
|
|
@@ -83,14 +83,14 @@ var POLICIES = [
|
|
|
83
83
|
policy("policy-local-admins", "No local admins", "No everyday account is a local administrator.", false, 0)
|
|
84
84
|
];
|
|
85
85
|
var POLICIES_FIXTURE = {
|
|
86
|
-
summary:
|
|
86
|
+
summary: _chunkNQVS4G7Gcjs.computePolicySummary.call(void 0, POLICIES),
|
|
87
87
|
rows: POLICIES.map((item) => ({
|
|
88
88
|
id: item.id,
|
|
89
89
|
name: item.name,
|
|
90
90
|
description: item.description,
|
|
91
91
|
critical: item.critical,
|
|
92
92
|
severityLabel: item.critical ? "Critical" : "Low",
|
|
93
|
-
status:
|
|
93
|
+
status: _chunkNQVS4G7Gcjs.getPolicyTableStatus.call(void 0, item),
|
|
94
94
|
actions: [
|
|
95
95
|
{ label: "Policy Details", onClick: noop },
|
|
96
96
|
{ label: "Delete Policy", onClick: noop }
|
|
@@ -104,16 +104,16 @@ var POLICIES_FIXTURE = {
|
|
|
104
104
|
var _jsxruntime = require('react/jsx-runtime');
|
|
105
105
|
function PoliciesScreen({ compact = false }) {
|
|
106
106
|
const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
107
|
-
|
|
107
|
+
_chunkNQVS4G7Gcjs.PoliciesTable,
|
|
108
108
|
{
|
|
109
109
|
rows: POLICIES_FIXTURE.rows,
|
|
110
110
|
rowAsLink: true,
|
|
111
|
-
rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
111
|
+
rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQVS4G7Gcjs.DataTable.RowCount, {}),
|
|
112
112
|
emptyMessage: "No policies found."
|
|
113
113
|
}
|
|
114
114
|
);
|
|
115
115
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col gap-[var(--spacing-system-l)] bg-ods-bg p-[var(--spacing-system-l)]", children: [
|
|
116
|
-
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
116
|
+
!compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQVS4G7Gcjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
|
|
117
117
|
table
|
|
118
118
|
] });
|
|
119
119
|
}
|
|
@@ -10,7 +10,7 @@ var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkLCLDFMDFcjs = require('./chunk-LCLDFMDF.cjs');
|
|
14
14
|
require('./chunk-A6P6DHEZ.cjs');
|
|
15
15
|
require('./chunk-DC4RTYWK.cjs');
|
|
16
16
|
require('./chunk-FFT56TYB.cjs');
|
|
@@ -175,7 +175,7 @@ function RemoteSessionScreen({ compact = false }) {
|
|
|
175
175
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col bg-ods-bg", children: [
|
|
176
176
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[var(--spacing-system-l)] flex-shrink-0" }),
|
|
177
177
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-0 flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
178
|
-
|
|
178
|
+
_chunkLCLDFMDFcjs.RemoteDesktopView,
|
|
179
179
|
{
|
|
180
180
|
...fixture.view,
|
|
181
181
|
onEnterFullscreen: noop,
|
|
@@ -186,7 +186,7 @@ function RemoteSessionScreen({ compact = false }) {
|
|
|
186
186
|
screen: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RemoteDesktopPicture, { desktop: fixture.desktop }),
|
|
187
187
|
chat: compact ? null : (
|
|
188
188
|
// The side column needs the room of the wide layout; a narrow frame keeps the screen alone.
|
|
189
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden min-h-0 content-md:flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
189
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden min-h-0 content-md:flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLCLDFMDFcjs.RemoteDesktopChatPanel, { ...fixture.chat, sending: false, onSend: keepDraft, variant: "side" }) })
|
|
190
190
|
)
|
|
191
191
|
}
|
|
192
192
|
) })
|
|
@@ -15,13 +15,13 @@ import {
|
|
|
15
15
|
PACKAGE_SEARCH_LABEL,
|
|
16
16
|
PACKAGE_SEARCH_PLACEHOLDER,
|
|
17
17
|
SoftwareActionForm
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-2JLP2X2M.js";
|
|
19
19
|
import "./chunk-ILNN6QRW.js";
|
|
20
20
|
import "./chunk-LQYXMEYF.js";
|
|
21
21
|
import "./chunk-4JPLYOS6.js";
|
|
22
22
|
import {
|
|
23
23
|
Autocomplete
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-Y4MB25KW.js";
|
|
25
25
|
import "./chunk-IWCPXJEE.js";
|
|
26
26
|
import "./chunk-3K5ZLZE7.js";
|
|
27
27
|
import "./chunk-HFL2F4RM.js";
|
|
@@ -15,13 +15,13 @@ var _chunkKHXZFLINcjs = require('./chunk-KHXZFLIN.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkNQVS4G7Gcjs = require('./chunk-NQVS4G7G.cjs');
|
|
19
19
|
require('./chunk-4HJRHEXD.cjs');
|
|
20
20
|
require('./chunk-HQQE74RO.cjs');
|
|
21
21
|
require('./chunk-DEY6XXGO.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkLCLDFMDFcjs = require('./chunk-LCLDFMDF.cjs');
|
|
25
25
|
require('./chunk-ZXCZYMN4.cjs');
|
|
26
26
|
require('./chunk-B4NCVYEQ.cjs');
|
|
27
27
|
require('./chunk-MZ4KBSH7.cjs');
|
|
@@ -116,14 +116,14 @@ var noop = () => {
|
|
|
116
116
|
var HIDDEN_WHEN_COMPACT = ["organization"];
|
|
117
117
|
function StaticPackageField({ value }) {
|
|
118
118
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
119
|
-
|
|
119
|
+
_chunkLCLDFMDFcjs.Autocomplete,
|
|
120
120
|
{
|
|
121
|
-
label:
|
|
121
|
+
label: _chunkNQVS4G7Gcjs.PACKAGE_SEARCH_LABEL,
|
|
122
122
|
labelVariant: "large",
|
|
123
123
|
options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
|
|
124
124
|
value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
|
|
125
125
|
onChange: noop,
|
|
126
|
-
placeholder:
|
|
126
|
+
placeholder: _chunkNQVS4G7Gcjs.PACKAGE_SEARCH_PLACEHOLDER
|
|
127
127
|
}
|
|
128
128
|
);
|
|
129
129
|
}
|
|
@@ -137,7 +137,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
137
137
|
[fixture.devices, fixture.selectedIds]
|
|
138
138
|
);
|
|
139
139
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
140
|
-
|
|
140
|
+
_chunkNQVS4G7Gcjs.SoftwareActionForm,
|
|
141
141
|
{
|
|
142
142
|
action: fixture.action,
|
|
143
143
|
showHeader: false,
|
|
@@ -149,7 +149,7 @@ function SoftwareUpdateScreen({ compact = false }) {
|
|
|
149
149
|
initialValues: fixture.initialValues,
|
|
150
150
|
renderPackageSearch,
|
|
151
151
|
renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
152
|
-
|
|
152
|
+
_chunkNQVS4G7Gcjs.DeviceSelector,
|
|
153
153
|
{
|
|
154
154
|
devices: selected,
|
|
155
155
|
loading: false,
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import type { ReactNode } from 'react';
|
|
|
4
4
|
import {
|
|
5
5
|
ChatOffIcon,
|
|
6
6
|
ChatTextIcon,
|
|
7
|
+
Chevron02DownIcon,
|
|
7
8
|
Collapse02Icon,
|
|
8
9
|
Expand02Icon,
|
|
9
10
|
MonitorIcon,
|
|
@@ -19,8 +20,12 @@ import { RemoteDesktopFullscreenToolbar } from './remote-desktop-fullscreen-tool
|
|
|
19
20
|
/** The page chrome both the view and its skeleton render in. */
|
|
20
21
|
const PAGE_CLASS = 'h-full overflow-hidden px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]';
|
|
21
22
|
|
|
23
|
+
/** The header card: the device row, and under it the display row when there is one to pick. */
|
|
22
24
|
const CONTROLS_BAR_CLASS =
|
|
23
|
-
'flex flex-shrink-0
|
|
25
|
+
'flex flex-shrink-0 flex-col overflow-hidden rounded-md border border-ods-border bg-ods-card';
|
|
26
|
+
|
|
27
|
+
const CONTROLS_ROW_CLASS =
|
|
28
|
+
'flex items-center justify-between gap-[var(--spacing-system-mf)] px-[var(--spacing-system-mf)] py-[var(--spacing-system-xs)]';
|
|
24
29
|
|
|
25
30
|
export interface RemoteDesktopViewProps {
|
|
26
31
|
/** First line of the device header. */
|
|
@@ -36,9 +41,13 @@ export interface RemoteDesktopViewProps {
|
|
|
36
41
|
fullscreen?: boolean;
|
|
37
42
|
onEnterFullscreen: () => void;
|
|
38
43
|
onExitFullscreen: () => void;
|
|
39
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* The display switcher's menu, one entry per separate display. The switcher is
|
|
46
|
+
* the full-width row under the device row (Figma 2155:109503), and it is left
|
|
47
|
+
* out while this is empty: one display, or an agent that reports none.
|
|
48
|
+
*/
|
|
40
49
|
displayMenuGroups?: ActionsMenuGroup[];
|
|
41
|
-
/** The switcher's label, e.g. "Display
|
|
50
|
+
/** The switcher's label, e.g. "Display 2", or "Display" before the agent has named one. */
|
|
42
51
|
currentDisplayLabel: string;
|
|
43
52
|
actionsMenuGroups: ActionsMenuGroup[];
|
|
44
53
|
onOpenSettings: () => void;
|
|
@@ -86,61 +95,73 @@ export function RemoteDesktopView({
|
|
|
86
95
|
}: RemoteDesktopViewProps) {
|
|
87
96
|
const controlsBar = (
|
|
88
97
|
<div className={CONTROLS_BAR_CLASS}>
|
|
89
|
-
<div className=
|
|
90
|
-
<div className="flex-
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
<div className={CONTROLS_ROW_CLASS}>
|
|
99
|
+
<div className="flex min-w-0 items-center gap-[var(--spacing-system-mf)]">
|
|
100
|
+
<div className="flex-shrink-0 rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-xsf)]">
|
|
101
|
+
<MonitorIcon className="h-4 w-4 text-ods-text-primary" />
|
|
102
|
+
</div>
|
|
103
|
+
<div className="flex min-w-0 flex-col">
|
|
104
|
+
<TruncateText>{deviceName}</TruncateText>
|
|
105
|
+
<TruncateText
|
|
106
|
+
variant="h6"
|
|
107
|
+
tone="secondary"
|
|
108
|
+
>{`Desktop • ${organizationName || 'Unknown Customer'}`}</TruncateText>
|
|
109
|
+
</div>
|
|
99
110
|
</div>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
+
<div className="flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]">
|
|
112
|
+
{onToggleChat && (
|
|
113
|
+
<Button
|
|
114
|
+
variant="outline"
|
|
115
|
+
onClick={onToggleChat}
|
|
116
|
+
leftIcon={
|
|
117
|
+
chatOpen ? (
|
|
118
|
+
<ChatOffIcon className="h-4 w-4 md:h-6 md:w-6" />
|
|
119
|
+
) : (
|
|
120
|
+
<ChatTextIcon className="h-4 w-4 md:h-6 md:w-6" />
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
>
|
|
124
|
+
{/* A narrow page keeps the icon and drops the words: the bar never pushes the device's name out. */}
|
|
125
|
+
<span className="sr-only content-md:not-sr-only">{chatOpen ? 'Close Chat' : 'Open Chat'}</span>
|
|
126
|
+
</Button>
|
|
127
|
+
)}
|
|
128
|
+
<ActionsMenuDropdown groups={actionsMenuGroups} triggerAriaLabel="Actions" />
|
|
129
|
+
<Button
|
|
130
|
+
variant="outline"
|
|
131
|
+
size="icon"
|
|
132
|
+
aria-label="Settings"
|
|
133
|
+
onClick={onOpenSettings}
|
|
134
|
+
leftIcon={<Settings01Icon />}
|
|
111
135
|
/>
|
|
112
|
-
)}
|
|
113
|
-
{onToggleChat && (
|
|
114
136
|
<Button
|
|
115
137
|
variant="outline"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
)
|
|
123
|
-
}
|
|
124
|
-
>
|
|
125
|
-
<span className="sr-only content-md:not-sr-only">{chatOpen ? 'Close Chat' : 'Open Chat'}</span>
|
|
126
|
-
</Button>
|
|
127
|
-
)}
|
|
128
|
-
<ActionsMenuDropdown groups={actionsMenuGroups} triggerAriaLabel="Actions" />
|
|
129
|
-
<Button
|
|
130
|
-
variant="outline"
|
|
131
|
-
size="icon"
|
|
132
|
-
aria-label="Settings"
|
|
133
|
-
onClick={onOpenSettings}
|
|
134
|
-
leftIcon={<Settings01Icon />}
|
|
135
|
-
/>
|
|
136
|
-
<Button
|
|
137
|
-
variant="outline"
|
|
138
|
-
size="icon"
|
|
139
|
-
aria-label={fullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}
|
|
140
|
-
onClick={fullscreen ? onExitFullscreen : onEnterFullscreen}
|
|
141
|
-
leftIcon={fullscreen ? <Collapse02Icon /> : <Expand02Icon />}
|
|
142
|
-
/>
|
|
138
|
+
size="icon"
|
|
139
|
+
aria-label={fullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}
|
|
140
|
+
onClick={fullscreen ? onExitFullscreen : onEnterFullscreen}
|
|
141
|
+
leftIcon={fullscreen ? <Collapse02Icon /> : <Expand02Icon />}
|
|
142
|
+
/>
|
|
143
|
+
</div>
|
|
143
144
|
</div>
|
|
145
|
+
{/* The monitor selector is a row of its own under the device row, the full
|
|
146
|
+
width of the card (Figma 2155:109503): the label never competes with the
|
|
147
|
+
device's name for the header's width. Hidden with one display or none. */}
|
|
148
|
+
{displayMenuGroups.length > 0 && (
|
|
149
|
+
<ActionsMenuDropdown
|
|
150
|
+
groups={displayMenuGroups}
|
|
151
|
+
align="start"
|
|
152
|
+
customTrigger={
|
|
153
|
+
<button
|
|
154
|
+
type="button"
|
|
155
|
+
aria-label="Switch display"
|
|
156
|
+
className="flex w-full items-center gap-[var(--spacing-system-xs)] border-t border-ods-border p-[var(--spacing-system-sf)] text-left text-ods-text-primary outline-none transition-colors hover:bg-ods-bg-hover focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus"
|
|
157
|
+
>
|
|
158
|
+
<MonitorIcon className="h-6 w-6 shrink-0" />
|
|
159
|
+
<span className="min-w-0 flex-1 truncate text-h4">{currentDisplayLabel}</span>
|
|
160
|
+
<Chevron02DownIcon className="h-6 w-6 shrink-0" />
|
|
161
|
+
</button>
|
|
162
|
+
}
|
|
163
|
+
/>
|
|
164
|
+
)}
|
|
144
165
|
</div>
|
|
145
166
|
);
|
|
146
167
|
|
|
@@ -189,17 +210,19 @@ export function RemoteDesktopViewSkeleton({ onBack }: Pick<RemoteDesktopViewProp
|
|
|
189
210
|
return (
|
|
190
211
|
<PageLayout className={PAGE_CLASS} backButton={onBack ? { label: 'Back', onClick: onBack } : undefined}>
|
|
191
212
|
<div className={CONTROLS_BAR_CLASS}>
|
|
192
|
-
<div className=
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
<
|
|
196
|
-
|
|
213
|
+
<div className={CONTROLS_ROW_CLASS}>
|
|
214
|
+
<div className="flex min-w-0 items-center gap-[var(--spacing-system-mf)]">
|
|
215
|
+
<Skeleton className="h-9 w-9 flex-shrink-0 rounded-md" />
|
|
216
|
+
<div className="flex min-w-0 flex-col gap-[var(--spacing-system-xxs)]">
|
|
217
|
+
<Skeleton className="h-5 w-48" />
|
|
218
|
+
<Skeleton className="h-4 w-36" />
|
|
219
|
+
</div>
|
|
220
|
+
</div>
|
|
221
|
+
<div className="flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]">
|
|
222
|
+
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
223
|
+
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
224
|
+
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
197
225
|
</div>
|
|
198
|
-
</div>
|
|
199
|
-
<div className="flex flex-shrink-0 items-center gap-[var(--spacing-system-xs)]">
|
|
200
|
-
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
201
|
-
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
202
|
-
<Skeleton className="h-11 w-11 rounded-lg md:h-12 md:w-12" />
|
|
203
226
|
</div>
|
|
204
227
|
</div>
|
|
205
228
|
|