@dxos/plugin-status-bar 0.7.5-main.9d2a38b → 0.7.5-main.e94eead
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/lib/browser/index.mjs +121 -43
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +108 -31
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +121 -43
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/StatusBarPlugin.d.ts.map +1 -1
- package/dist/types/src/components/FeedbackForm.d.ts +1 -2
- package/dist/types/src/components/FeedbackForm.d.ts.map +1 -1
- package/dist/types/src/components/StatusBar.d.ts +13 -27
- package/dist/types/src/components/StatusBar.d.ts.map +1 -1
- package/dist/types/src/components/StatusBar.stories.d.ts +1 -2
- package/dist/types/src/components/StatusBar.stories.d.ts.map +1 -1
- package/dist/types/src/components/StatusBarPanel.d.ts +2 -2
- package/dist/types/src/components/StatusBarPanel.d.ts.map +1 -1
- package/dist/types/src/components/VersionNumber.d.ts +2 -0
- package/dist/types/src/components/VersionNumber.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/package.json +18 -15
- package/src/StatusBarPlugin.tsx +25 -6
- package/src/components/StatusBar.stories.tsx +2 -2
- package/src/components/StatusBar.tsx +8 -34
- package/src/components/StatusBarPanel.tsx +35 -26
- package/src/components/VersionNumber.tsx +86 -0
- package/src/translations.ts +18 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
3
|
// packages/plugins/plugin-status-bar/src/components/StatusBar.tsx
|
|
4
|
-
import { useFocusableGroup } from "@fluentui/react-tabster";
|
|
5
4
|
import { Slot } from "@radix-ui/react-slot";
|
|
6
5
|
import React, { forwardRef } from "react";
|
|
7
6
|
import { mx } from "@dxos/react-ui-theme";
|
|
@@ -10,7 +9,7 @@ var StatusBarText = /* @__PURE__ */ forwardRef(({ classNames, children }, forwar
|
|
|
10
9
|
ref: forwardedRef
|
|
11
10
|
}, children));
|
|
12
11
|
var StatusBarButton = /* @__PURE__ */ forwardRef(({ classNames, children, asChild, ...props }, forwardedRef) => {
|
|
13
|
-
const classes = mx("flex items-center gap-2 p-1 px-2 rounded-sm", "select-none cursor-pointer
|
|
12
|
+
const classes = mx("flex items-center justify-center gap-2 p-1 px-2 rounded-sm", "select-none cursor-pointer dx-focus-ring text-description text-xs", "hover:bg-neutral-75 active:bg-neutral-150 dark:hover:bg-neutral-750 dark:active:bg-neutral-700", classNames);
|
|
14
13
|
return asChild ? /* @__PURE__ */ React.createElement(Slot, {
|
|
15
14
|
role: "button",
|
|
16
15
|
ref: forwardedRef,
|
|
@@ -24,22 +23,10 @@ var StatusBarButton = /* @__PURE__ */ forwardRef(({ classNames, children, asChil
|
|
|
24
23
|
});
|
|
25
24
|
var StatusBarItem = /* @__PURE__ */ forwardRef(({ classNames, children, ...props }, forwardedRef) => /* @__PURE__ */ React.createElement("div", {
|
|
26
25
|
role: "menuitem",
|
|
27
|
-
className: mx("flex items-center gap-2 p-1 px-2 rounded-sm select-none", classNames),
|
|
26
|
+
className: mx("flex items-center justify-center gap-2 p-1 px-2 rounded-sm select-none", classNames),
|
|
28
27
|
ref: forwardedRef,
|
|
29
28
|
...props
|
|
30
29
|
}, children));
|
|
31
|
-
var StatusBarContainer = /* @__PURE__ */ forwardRef(({ classNames, children }, forwardedRef) => {
|
|
32
|
-
const groupAttrs = useFocusableGroup({
|
|
33
|
-
tabBehavior: "limited"
|
|
34
|
-
});
|
|
35
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
36
|
-
role: "menubar",
|
|
37
|
-
tabIndex: 0,
|
|
38
|
-
...groupAttrs,
|
|
39
|
-
className: mx("bs-[--statusbar-size] flex justify-end items-center gap-2 bg-base text-description text-lg pointer-fine:text-xs ch-focus-ring-inset", classNames),
|
|
40
|
-
ref: forwardedRef
|
|
41
|
-
}, children);
|
|
42
|
-
});
|
|
43
30
|
var StartContent = /* @__PURE__ */ forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ React.createElement("div", {
|
|
44
31
|
role: "none",
|
|
45
32
|
className: mx("flex-grow flex items-center space-x-2", classNames),
|
|
@@ -51,7 +38,6 @@ var EndContent = /* @__PURE__ */ forwardRef(({ classNames, children }, forwarded
|
|
|
51
38
|
ref: forwardedRef
|
|
52
39
|
}, children));
|
|
53
40
|
var StatusBar = {
|
|
54
|
-
Container: StatusBarContainer,
|
|
55
41
|
Text: StatusBarText,
|
|
56
42
|
Item: StatusBarItem,
|
|
57
43
|
Button: StatusBarButton,
|
|
@@ -60,9 +46,9 @@ var StatusBar = {
|
|
|
60
46
|
};
|
|
61
47
|
|
|
62
48
|
// packages/plugins/plugin-status-bar/src/components/StatusBarPanel.tsx
|
|
63
|
-
import
|
|
49
|
+
import React4, { useState } from "react";
|
|
64
50
|
import { Surface } from "@dxos/app-framework";
|
|
65
|
-
import { Icon, Popover as
|
|
51
|
+
import { Icon as Icon2, Popover as Popover3, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
66
52
|
|
|
67
53
|
// packages/plugins/plugin-status-bar/src/components/FeedbackForm.tsx
|
|
68
54
|
import { PaperPlaneTilt, X } from "@phosphor-icons/react";
|
|
@@ -95,8 +81,16 @@ var translations = {
|
|
|
95
81
|
"email input label": "Email",
|
|
96
82
|
"email input placeholder": "hello@example.com",
|
|
97
83
|
"feedback text area label": "Feedback",
|
|
98
|
-
"feedback text area placeholder": "
|
|
99
|
-
"send feedback label": "Send Feedback"
|
|
84
|
+
"feedback text area placeholder": "Please describe your issue or suggestion.",
|
|
85
|
+
"send feedback label": "Send Feedback",
|
|
86
|
+
"warning title": "WARNING",
|
|
87
|
+
"technology preview message": "Composer is still in technology preview.",
|
|
88
|
+
"learn more label": "Learn more",
|
|
89
|
+
"released message": "This version released {{released}}.",
|
|
90
|
+
"see release label": "See release on GitHub",
|
|
91
|
+
"powered by dxos message": "Powered by <dxos>DXOS</dxos>",
|
|
92
|
+
"discord label": "Discord",
|
|
93
|
+
"feedback label": "Feedback"
|
|
100
94
|
})
|
|
101
95
|
};
|
|
102
96
|
var translations_default = [
|
|
@@ -184,46 +178,117 @@ var FeedbackForm = ({ onClose }) => {
|
|
|
184
178
|
})))));
|
|
185
179
|
};
|
|
186
180
|
|
|
181
|
+
// packages/plugins/plugin-status-bar/src/components/VersionNumber.tsx
|
|
182
|
+
import { formatDistance } from "date-fns/formatDistance";
|
|
183
|
+
import React3 from "react";
|
|
184
|
+
import { useConfig } from "@dxos/react-client";
|
|
185
|
+
import { Link, Message, Popover as Popover2, Trans, useTranslation as useTranslation2, Icon } from "@dxos/react-ui";
|
|
186
|
+
var repo = "https://github.com/dxos/dxos";
|
|
187
|
+
var VERSION_REGEX = /([\d.]+)/;
|
|
188
|
+
var VersionNumber = () => {
|
|
189
|
+
const config = useConfig();
|
|
190
|
+
const { t } = useTranslation2(STATUS_BAR_PLUGIN);
|
|
191
|
+
const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};
|
|
192
|
+
const [_, v] = version?.match(VERSION_REGEX) ?? [];
|
|
193
|
+
const releaseUrl = config.values.runtime?.app?.env?.DX_ENVIRONMENT === "production" ? `${repo}/releases/tag/v${version}` : `${repo}/commit/${commitHash}`;
|
|
194
|
+
const previewUrl = "https://docs.dxos.org/composer#technology-preview";
|
|
195
|
+
return /* @__PURE__ */ React3.createElement(Popover2.Root, null, /* @__PURE__ */ React3.createElement(Popover2.Trigger, {
|
|
196
|
+
asChild: true
|
|
197
|
+
}, /* @__PURE__ */ React3.createElement(StatusBar.Button, {
|
|
198
|
+
classNames: "text-xs"
|
|
199
|
+
}, "v", v)), /* @__PURE__ */ React3.createElement(Popover2.Portal, null, /* @__PURE__ */ React3.createElement(Popover2.Content, {
|
|
200
|
+
side: "top",
|
|
201
|
+
role: "message",
|
|
202
|
+
classNames: "z-[12] bg-warning-500 max-is-[min(calc(100vw-16px),40ch)]"
|
|
203
|
+
}, /* @__PURE__ */ React3.createElement(Message.Root, {
|
|
204
|
+
valence: "warning",
|
|
205
|
+
className: "rounded-be-none p-5"
|
|
206
|
+
}, /* @__PURE__ */ React3.createElement(Message.Title, null, /* @__PURE__ */ React3.createElement(Icon, {
|
|
207
|
+
icon: "ph--warning--duotone",
|
|
208
|
+
size: 6,
|
|
209
|
+
classNames: "inline mie-2"
|
|
210
|
+
}), /* @__PURE__ */ React3.createElement("span", null, t("warning title"))), /* @__PURE__ */ React3.createElement(Message.Body, null, t("technology preview message"), /* @__PURE__ */ React3.createElement("br", null), /* @__PURE__ */ React3.createElement(Link, {
|
|
211
|
+
href: previewUrl,
|
|
212
|
+
target: "_blank",
|
|
213
|
+
rel: "noreferrer",
|
|
214
|
+
variant: "neutral"
|
|
215
|
+
}, t("learn more label"), /* @__PURE__ */ React3.createElement(Icon, {
|
|
216
|
+
icon: "ph--arrow-square-out--bold",
|
|
217
|
+
classNames: "inline mis-1"
|
|
218
|
+
})))), /* @__PURE__ */ React3.createElement("div", {
|
|
219
|
+
role: "none",
|
|
220
|
+
className: "plb-4 pli-5 space-b-2 text-baseText"
|
|
221
|
+
}, timestamp && /* @__PURE__ */ React3.createElement("p", null, t("released message", {
|
|
222
|
+
released: formatDistance(new Date(timestamp), /* @__PURE__ */ new Date(), {
|
|
223
|
+
addSuffix: true
|
|
224
|
+
})
|
|
225
|
+
}), /* @__PURE__ */ React3.createElement("br", null), /* @__PURE__ */ React3.createElement(Link, {
|
|
226
|
+
href: releaseUrl,
|
|
227
|
+
target: "_blank",
|
|
228
|
+
rel: "noreferrer",
|
|
229
|
+
variant: "neutral"
|
|
230
|
+
}, t("see release label"), /* @__PURE__ */ React3.createElement(Icon, {
|
|
231
|
+
icon: "ph--arrow-square-out--bold",
|
|
232
|
+
classNames: "inline mis-1"
|
|
233
|
+
}))), /* @__PURE__ */ React3.createElement("p", null, /* @__PURE__ */ React3.createElement(Trans, {
|
|
234
|
+
t,
|
|
235
|
+
i18nKey: "powered by dxos message",
|
|
236
|
+
components: {
|
|
237
|
+
dxos: /* @__PURE__ */ React3.createElement(Link, {
|
|
238
|
+
href: "https://dxos.org",
|
|
239
|
+
target: "_blank",
|
|
240
|
+
rel: "noreferrer",
|
|
241
|
+
variant: "neutral"
|
|
242
|
+
})
|
|
243
|
+
}
|
|
244
|
+
}))), /* @__PURE__ */ React3.createElement(Popover2.Arrow, null))));
|
|
245
|
+
};
|
|
246
|
+
|
|
187
247
|
// packages/plugins/plugin-status-bar/src/components/StatusBarPanel.tsx
|
|
188
|
-
var
|
|
248
|
+
var StatusBarActions = () => {
|
|
249
|
+
const { t } = useTranslation3(STATUS_BAR_PLUGIN);
|
|
189
250
|
const [open, setOpen] = useState(false);
|
|
190
|
-
return /* @__PURE__ */
|
|
251
|
+
return /* @__PURE__ */ React4.createElement(Popover3.Root, {
|
|
191
252
|
open,
|
|
192
253
|
onOpenChange: setOpen
|
|
193
|
-
}, /* @__PURE__ */
|
|
194
|
-
role: "status"
|
|
195
|
-
}), /* @__PURE__ */ React3.createElement(Popover2.Trigger, {
|
|
254
|
+
}, /* @__PURE__ */ React4.createElement(Popover3.Trigger, {
|
|
196
255
|
asChild: true
|
|
197
|
-
}, /* @__PURE__ */
|
|
198
|
-
"aria-label": "Give feedback about composer",
|
|
256
|
+
}, /* @__PURE__ */ React4.createElement(StatusBar.Button, {
|
|
199
257
|
"data-joyride": "welcome/feedback"
|
|
200
|
-
}, /* @__PURE__ */
|
|
258
|
+
}, /* @__PURE__ */ React4.createElement(Icon2, {
|
|
201
259
|
icon: "ph--paper-plane-tilt--regular",
|
|
202
260
|
size: 4
|
|
203
|
-
}), /* @__PURE__ */
|
|
261
|
+
}), /* @__PURE__ */ React4.createElement(StatusBar.Text, {
|
|
204
262
|
classNames: "hidden sm:block"
|
|
205
|
-
}, "
|
|
206
|
-
"aria-label": "Open DXOS Discord",
|
|
263
|
+
}, t("feedback label")))), /* @__PURE__ */ React4.createElement(StatusBar.Button, {
|
|
207
264
|
asChild: true
|
|
208
|
-
}, /* @__PURE__ */
|
|
265
|
+
}, /* @__PURE__ */ React4.createElement("a", {
|
|
209
266
|
href: "https://dxos.org/discord",
|
|
210
267
|
target: "_blank",
|
|
211
268
|
rel: "noopener noreferrer"
|
|
212
|
-
}, /* @__PURE__ */
|
|
269
|
+
}, /* @__PURE__ */ React4.createElement(Icon2, {
|
|
213
270
|
icon: "ph--discord-logo--regular",
|
|
214
271
|
size: 4
|
|
215
|
-
}), /* @__PURE__ */
|
|
272
|
+
}), /* @__PURE__ */ React4.createElement(StatusBar.Text, {
|
|
216
273
|
classNames: "hidden sm:block"
|
|
217
|
-
}, "
|
|
274
|
+
}, t("discord label")))), /* @__PURE__ */ React4.createElement(VersionNumber, null), /* @__PURE__ */ React4.createElement(Popover3.Portal, null, /* @__PURE__ */ React4.createElement(Popover3.Content, {
|
|
218
275
|
classNames: "shadow-lg"
|
|
219
|
-
}, /* @__PURE__ */
|
|
276
|
+
}, /* @__PURE__ */ React4.createElement(FeedbackForm, {
|
|
220
277
|
onClose: () => setOpen(false)
|
|
221
|
-
}), /* @__PURE__ */
|
|
278
|
+
}), /* @__PURE__ */ React4.createElement(Popover3.Arrow, null))));
|
|
279
|
+
};
|
|
280
|
+
var StatusBarPanel = () => {
|
|
281
|
+
return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(StatusBarActions, null), /* @__PURE__ */ React4.createElement("span", {
|
|
282
|
+
role: "separator",
|
|
283
|
+
className: "grow"
|
|
284
|
+
}), /* @__PURE__ */ React4.createElement(Surface, {
|
|
285
|
+
role: "status"
|
|
286
|
+
}));
|
|
222
287
|
};
|
|
223
288
|
|
|
224
289
|
// packages/plugins/plugin-status-bar/src/StatusBarPlugin.tsx
|
|
225
|
-
import
|
|
226
|
-
import { Capabilities, contributes, createSurface, defineModule, definePlugin, Events } from "@dxos/app-framework";
|
|
290
|
+
import React5 from "react";
|
|
291
|
+
import { Capabilities, contributes, createSurface, defineModule, definePlugin, Events, Surface as Surface2 } from "@dxos/app-framework";
|
|
227
292
|
var StatusBarPlugin = () => definePlugin(meta, [
|
|
228
293
|
defineModule({
|
|
229
294
|
id: `${meta.id}/module/translations`,
|
|
@@ -232,17 +297,29 @@ var StatusBarPlugin = () => definePlugin(meta, [
|
|
|
232
297
|
}),
|
|
233
298
|
defineModule({
|
|
234
299
|
id: `${meta.id}/module/react-surface`,
|
|
235
|
-
activatesOn: Events.
|
|
300
|
+
activatesOn: Events.SetupReactSurface,
|
|
236
301
|
activate: () => contributes(Capabilities.ReactSurface, [
|
|
237
302
|
createSurface({
|
|
238
303
|
id: meta.id,
|
|
239
304
|
role: "status-bar",
|
|
240
|
-
component: () => /* @__PURE__ */
|
|
305
|
+
component: () => /* @__PURE__ */ React5.createElement(StatusBarPanel, null)
|
|
241
306
|
}),
|
|
242
307
|
createSurface({
|
|
243
308
|
id: meta.id,
|
|
244
|
-
role: "status-bar--
|
|
245
|
-
component: () => /* @__PURE__ */
|
|
309
|
+
role: "status-bar--r0-footer",
|
|
310
|
+
component: () => /* @__PURE__ */ React5.createElement(Surface2, {
|
|
311
|
+
role: "status"
|
|
312
|
+
})
|
|
313
|
+
}),
|
|
314
|
+
createSurface({
|
|
315
|
+
id: meta.id,
|
|
316
|
+
role: "status-bar--r1-footer",
|
|
317
|
+
component: () => /* @__PURE__ */ React5.createElement(StatusBarActions, null)
|
|
318
|
+
}),
|
|
319
|
+
createSurface({
|
|
320
|
+
id: `${STATUS_BAR_PLUGIN}/header-end`,
|
|
321
|
+
role: "header-end",
|
|
322
|
+
component: () => /* @__PURE__ */ React5.createElement(VersionNumber, null)
|
|
246
323
|
})
|
|
247
324
|
])
|
|
248
325
|
})
|
|
@@ -250,6 +327,7 @@ var StatusBarPlugin = () => definePlugin(meta, [
|
|
|
250
327
|
export {
|
|
251
328
|
STATUS_BAR_PLUGIN,
|
|
252
329
|
StatusBar,
|
|
330
|
+
StatusBarActions,
|
|
253
331
|
StatusBarPanel,
|
|
254
332
|
StatusBarPlugin,
|
|
255
333
|
meta
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/StatusBar.tsx", "../../../src/components/StatusBarPanel.tsx", "../../../src/components/FeedbackForm.tsx", "../../../src/meta.ts", "../../../src/translations.ts", "../../../src/StatusBarPlugin.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useFocusableGroup } from '@fluentui/react-tabster';\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\ntype StatusBarTextProps = ThemedClassName<{ children: ReactNode }>;\n\nconst StatusBarText = forwardRef<HTMLSpanElement, StatusBarTextProps>(({ classNames, children }, forwardedRef) => (\n <span className={mx(classNames)} ref={forwardedRef}>\n {children}\n </span>\n));\n\ntype StatusBarButtonProps = ThemedClassName<{ children: ReactNode; asChild?: boolean }> &\n HTMLAttributes<HTMLButtonElement>;\n\nconst StatusBarButton = forwardRef<HTMLButtonElement, StatusBarButtonProps>(\n ({ classNames, children, asChild, ...props }, forwardedRef) => {\n const classes = mx(\n 'flex items-center gap-2 p-1 px-2 rounded-sm',\n 'select-none cursor-pointer ch-focus-ring',\n 'hover:bg-neutral-75 active:bg-neutral-150 dark:hover:bg-neutral-750 dark:active:bg-neutral-700',\n classNames,\n );\n\n return asChild ? (\n <Slot role='button' ref={forwardedRef} className={classes} {...props}>\n {children}\n </Slot>\n ) : (\n <button className={classes} ref={forwardedRef} {...props}>\n {children}\n </button>\n );\n },\n);\n\nexport default StatusBarButton;\n\ntype StatusBarItemProps = ThemedClassName<{ children: ReactNode }> & HTMLAttributes<HTMLDivElement>;\n\nconst StatusBarItem = forwardRef<HTMLDivElement, StatusBarItemProps>(\n ({ classNames, children, ...props }, forwardedRef) => (\n <div\n role='menuitem'\n className={mx('flex items-center gap-2 p-1 px-2 rounded-sm select-none', classNames)}\n ref={forwardedRef}\n {...props}\n >\n {children}\n </div>\n ),\n);\n\ntype StatusBarContainerProps = ThemedClassName<{ children: ReactNode }>;\n\n// TODO(zan): tabable group with tabster.\nconst StatusBarContainer = forwardRef<HTMLDivElement, StatusBarContainerProps>(\n ({ classNames, children }, forwardedRef) => {\n const groupAttrs = useFocusableGroup({ tabBehavior: 'limited' });\n return (\n <div\n role='menubar'\n tabIndex={0}\n {...groupAttrs}\n className={mx(\n 'bs-[--statusbar-size] flex justify-end items-center gap-2 bg-base text-description text-lg pointer-fine:text-xs ch-focus-ring-inset',\n classNames,\n )}\n ref={forwardedRef}\n >\n {children}\n </div>\n );\n },\n);\n\ntype StartContentProps = ThemedClassName<{ children: ReactNode }>;\n\nconst StartContent = forwardRef<HTMLDivElement, StartContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center space-x-2', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\ntype EndContentProps = ThemedClassName<{ children: ReactNode }>;\n\nconst EndContent = forwardRef<HTMLDivElement, EndContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center justify-end', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\nexport const StatusBar = {\n Container: StatusBarContainer,\n Text: StatusBarText,\n Item: StatusBarItem,\n Button: StatusBarButton,\n StartContent,\n EndContent,\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { Icon, Popover } from '@dxos/react-ui';\n\nimport { FeedbackForm } from './FeedbackForm';\nimport { StatusBar } from './StatusBar';\n\nexport const StatusBarPanel = () => {\n const [open, setOpen] = useState(false);\n\n // TODO(wittjosiah): Factor out feedback and discord buttons.\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <StatusBar.Container>\n <StatusBar.EndContent>\n <Surface role='status' />\n <Popover.Trigger asChild>\n <StatusBar.Button aria-label='Give feedback about composer' data-joyride='welcome/feedback'>\n <Icon icon='ph--paper-plane-tilt--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>Feedback</StatusBar.Text>\n </StatusBar.Button>\n </Popover.Trigger>\n {/* TODO(zan): Configure this label? */}\n <StatusBar.Button aria-label='Open DXOS Discord' asChild>\n <a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--discord-logo--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>Discord</StatusBar.Text>\n </a>\n </StatusBar.Button>\n </StatusBar.EndContent>\n </StatusBar.Container>\n <Popover.Content classNames='shadow-lg'>\n <FeedbackForm onClose={() => setOpen(false)} />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { PaperPlaneTilt, X } from '@phosphor-icons/react';\nimport React, { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction, UserFeedback } from '@dxos/plugin-observability/types';\nimport { Button, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { useForm } from '@dxos/react-ui-form';\nimport { getSize } from '@dxos/react-ui-theme';\n\nimport { STATUS_BAR_PLUGIN } from '../meta';\nimport { mkTranslation } from '../translations';\n\nconst initialValues: UserFeedback = { name: '', email: '', message: '' };\n\nexport const FeedbackForm = ({ onClose }: { onClose: () => void }) => {\n const { t } = useTranslation(STATUS_BAR_PLUGIN);\n const translation = mkTranslation(t);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const onSave = useCallback(\n (values: UserFeedback) => {\n void dispatch(createIntent(ObservabilityAction.CaptureUserFeedback, values));\n onClose();\n },\n [dispatch, onClose],\n );\n\n const { handleSave, canSave, getStatus, ...inputProps } = useForm<UserFeedback>({\n initialValues,\n schema: UserFeedback,\n onSave,\n });\n\n return (\n <div role='form' className='p-3 flex flex-col gap-2'>\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('name').status}>\n <Input.Label>{translation('name label')}</Input.Label>\n <Input.TextInput\n classNames={'text-sm'}\n placeholder={translation('name placeholder')}\n autoFocus\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('name').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('email').status}>\n <Input.Label>{translation('email input label')}</Input.Label>\n <Input.TextInput\n classNames={'text-sm'}\n placeholder={translation('email input placeholder')}\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('email').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('message').status}>\n <Input.Label>{translation('feedback text area label')}</Input.Label>\n <Input.TextArea\n classNames={'text-sm'}\n rows={5}\n cols={30}\n placeholder={translation('feedback text area placeholder')}\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('message').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-2'>\n <Button\n type='submit'\n variant='primary'\n classNames='is-full flex gap-2'\n disabled={!canSave}\n onClick={handleSave}\n >\n <span>{translation('send feedback label')}</span>\n <div className='grow' />\n <PaperPlaneTilt className={getSize(5)} />\n </Button>\n <Popover.Close asChild>\n <Button classNames='is-full flex gap-2'>\n <span>{t('cancel label', { ns: 'os' })}</span>\n <div className='grow' />\n <X className={getSize(5)} />\n </Button>\n </Popover.Close>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const STATUS_BAR_PLUGIN = 'dxos.org/plugin/status-bar';\n\nexport const meta = {\n id: STATUS_BAR_PLUGIN,\n name: 'Status Bar',\n description: 'Display a bar with status and actions.',\n icon: 'ph--info--regular',\n} satisfies PluginMeta;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type useTranslation } from '@dxos/react-ui';\n\nimport { STATUS_BAR_PLUGIN } from './meta';\n\ntype StatusBarTranslationKeys =\n | 'plugin name'\n | 'email input label'\n | 'email input placeholder'\n | 'feedback text area label'\n | 'feedback text area placeholder'\n | 'send feedback label'\n | 'name label'\n | 'name placeholder';\n\ntype RequiredTranslation = { [key in StatusBarTranslationKeys]: string };\ntype TranslationEntry = { [STATUS_BAR_PLUGIN]: RequiredTranslation };\ntype Language = string;\n\n// -- helpers.\nconst entry = (translation: RequiredTranslation): TranslationEntry => ({ [STATUS_BAR_PLUGIN]: translation });\nexport const mkTranslation = (t: ReturnType<typeof useTranslation>['t']) => (key: StatusBarTranslationKeys) => t(key);\n\nconst translations: Record<Language, TranslationEntry> = {\n 'en-US': entry({\n 'plugin name': 'Status Bar',\n 'name label': 'Name',\n 'name placeholder': 'Preferred name',\n 'email input label': 'Email',\n 'email input placeholder': 'hello@example.com',\n 'feedback text area label': 'Feedback',\n 'feedback text area placeholder': 'Found a bug? Have a suggestion? Let us know!',\n 'send feedback label': 'Send Feedback',\n }),\n};\n\nexport default [translations];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, defineModule, definePlugin, Events } from '@dxos/app-framework';\n\nimport { StatusBarPanel } from './components';\nimport { meta } from './meta';\nimport translations from './translations';\n\nexport const StatusBarPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.Startup,\n activate: () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: 'status-bar',\n component: () => <StatusBarPanel />,\n }),\n createSurface({\n id: meta.id,\n role: 'status-bar--sidebar-footer',\n component: () => <StatusBarPanel />,\n }),\n ]),\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../../../src/components/StatusBar.tsx", "../../../src/components/StatusBarPanel.tsx", "../../../src/components/FeedbackForm.tsx", "../../../src/meta.ts", "../../../src/translations.ts", "../../../src/components/VersionNumber.tsx", "../../../src/StatusBarPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { type ComponentPropsWithRef, forwardRef, type PropsWithChildren, type ReactNode } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\ntype StatusBarTextProps = ThemedClassName<{ children: ReactNode }>;\n\nconst StatusBarText = forwardRef<HTMLSpanElement, StatusBarTextProps>(({ classNames, children }, forwardedRef) => (\n <span className={mx(classNames)} ref={forwardedRef}>\n {children}\n </span>\n));\n\ntype StatusBarButtonProps = ThemedClassName<ComponentPropsWithRef<'button'> & { asChild?: boolean }>;\n\nconst StatusBarButton = forwardRef<HTMLButtonElement, StatusBarButtonProps>(\n ({ classNames, children, asChild, ...props }, forwardedRef) => {\n const classes = mx(\n 'flex items-center justify-center gap-2 p-1 px-2 rounded-sm',\n 'select-none cursor-pointer dx-focus-ring text-description text-xs',\n 'hover:bg-neutral-75 active:bg-neutral-150 dark:hover:bg-neutral-750 dark:active:bg-neutral-700',\n classNames,\n );\n\n return asChild ? (\n <Slot role='button' ref={forwardedRef} className={classes} {...props}>\n {children}\n </Slot>\n ) : (\n <button className={classes} ref={forwardedRef} {...props}>\n {children}\n </button>\n );\n },\n);\n\nexport default StatusBarButton;\n\ntype StatusBarItemProps = ThemedClassName<ComponentPropsWithRef<'div'>>;\n\nconst StatusBarItem = forwardRef<HTMLDivElement, StatusBarItemProps>(\n ({ classNames, children, ...props }, forwardedRef) => (\n <div\n role='menuitem'\n className={mx('flex items-center justify-center gap-2 p-1 px-2 rounded-sm select-none', classNames)}\n ref={forwardedRef}\n {...props}\n >\n {children}\n </div>\n ),\n);\n\ntype StartContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst StartContent = forwardRef<HTMLDivElement, StartContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center space-x-2', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\ntype EndContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst EndContent = forwardRef<HTMLDivElement, EndContentProps>(({ classNames, children }, forwardedRef) => (\n <div role='none' className={mx('flex-grow flex items-center justify-end', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\nexport const StatusBar = {\n Text: StatusBarText,\n Item: StatusBarItem,\n Button: StatusBarButton,\n StartContent,\n EndContent,\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { Icon, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { FeedbackForm } from './FeedbackForm';\nimport { StatusBar } from './StatusBar';\nimport { VersionNumber } from './VersionNumber';\nimport { STATUS_BAR_PLUGIN } from '../meta';\n\nexport const StatusBarActions = () => {\n const { t } = useTranslation(STATUS_BAR_PLUGIN);\n const [open, setOpen] = useState(false);\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger asChild>\n <StatusBar.Button data-joyride='welcome/feedback'>\n <Icon icon='ph--paper-plane-tilt--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>{t('feedback label')}</StatusBar.Text>\n </StatusBar.Button>\n </Popover.Trigger>\n {/* TODO(zan): Configure this label? */}\n <StatusBar.Button asChild>\n <a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--discord-logo--regular' size={4} />\n <StatusBar.Text classNames='hidden sm:block'>{t('discord label')}</StatusBar.Text>\n </a>\n </StatusBar.Button>\n <VersionNumber />\n <Popover.Portal>\n <Popover.Content classNames='shadow-lg'>\n <FeedbackForm onClose={() => setOpen(false)} />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\nexport const StatusBarPanel = () => {\n return (\n <>\n <StatusBarActions />\n <span role='separator' className='grow' />\n <Surface role='status' />\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { PaperPlaneTilt, X } from '@phosphor-icons/react';\nimport React, { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { ObservabilityAction, UserFeedback } from '@dxos/plugin-observability/types';\nimport { Button, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { useForm } from '@dxos/react-ui-form';\nimport { getSize } from '@dxos/react-ui-theme';\n\nimport { STATUS_BAR_PLUGIN } from '../meta';\nimport { mkTranslation } from '../translations';\n\nconst initialValues: UserFeedback = { name: '', email: '', message: '' };\n\nexport const FeedbackForm = ({ onClose }: { onClose: () => void }) => {\n const { t } = useTranslation(STATUS_BAR_PLUGIN);\n const translation = mkTranslation(t);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const onSave = useCallback(\n (values: UserFeedback) => {\n void dispatch(createIntent(ObservabilityAction.CaptureUserFeedback, values));\n onClose();\n },\n [dispatch, onClose],\n );\n\n const { handleSave, canSave, getStatus, ...inputProps } = useForm<UserFeedback>({\n initialValues,\n schema: UserFeedback,\n onSave,\n });\n\n return (\n <div role='form' className='p-3 flex flex-col gap-2'>\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('name').status}>\n <Input.Label>{translation('name label')}</Input.Label>\n <Input.TextInput\n classNames={'text-sm'}\n placeholder={translation('name placeholder')}\n autoFocus\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('name').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('email').status}>\n <Input.Label>{translation('email input label')}</Input.Label>\n <Input.TextInput\n classNames={'text-sm'}\n placeholder={translation('email input placeholder')}\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('email').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-1'>\n <Input.Root validationValence={getStatus('message').status}>\n <Input.Label>{translation('feedback text area label')}</Input.Label>\n <Input.TextArea\n classNames={'text-sm'}\n rows={5}\n cols={30}\n placeholder={translation('feedback text area placeholder')}\n {...inputProps}\n />\n <Input.DescriptionAndValidation>\n <Input.Validation>{getStatus('message').error}</Input.Validation>\n </Input.DescriptionAndValidation>\n </Input.Root>\n </div>\n\n <div role='none' className='space-b-2'>\n <Button\n type='submit'\n variant='primary'\n classNames='is-full flex gap-2'\n disabled={!canSave}\n onClick={handleSave}\n >\n <span>{translation('send feedback label')}</span>\n <div className='grow' />\n <PaperPlaneTilt className={getSize(5)} />\n </Button>\n <Popover.Close asChild>\n <Button classNames='is-full flex gap-2'>\n <span>{t('cancel label', { ns: 'os' })}</span>\n <div className='grow' />\n <X className={getSize(5)} />\n </Button>\n </Popover.Close>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const STATUS_BAR_PLUGIN = 'dxos.org/plugin/status-bar';\n\nexport const meta = {\n id: STATUS_BAR_PLUGIN,\n name: 'Status Bar',\n description: 'Display a bar with status and actions.',\n icon: 'ph--info--regular',\n} satisfies PluginMeta;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type useTranslation } from '@dxos/react-ui';\n\nimport { STATUS_BAR_PLUGIN } from './meta';\n\ntype StatusBarTranslationKeys =\n | 'plugin name'\n | 'email input label'\n | 'email input placeholder'\n | 'feedback text area label'\n | 'feedback text area placeholder'\n | 'send feedback label'\n | 'name label'\n | 'name placeholder'\n | 'warning title'\n | 'technology preview message'\n | 'learn more label'\n | 'released message'\n | 'see release label'\n | 'powered by dxos message'\n | 'discord label'\n | 'feedback label';\n\ntype RequiredTranslation = { [key in StatusBarTranslationKeys]: string };\ntype TranslationEntry = { [STATUS_BAR_PLUGIN]: RequiredTranslation };\ntype Language = string;\n\n// -- helpers.\nconst entry = (translation: RequiredTranslation): TranslationEntry => ({ [STATUS_BAR_PLUGIN]: translation });\nexport const mkTranslation = (t: ReturnType<typeof useTranslation>['t']) => (key: StatusBarTranslationKeys) => t(key);\n\nconst translations: Record<Language, TranslationEntry> = {\n 'en-US': entry({\n 'plugin name': 'Status Bar',\n 'name label': 'Name',\n 'name placeholder': 'Preferred name',\n 'email input label': 'Email',\n 'email input placeholder': 'hello@example.com',\n 'feedback text area label': 'Feedback',\n 'feedback text area placeholder': 'Please describe your issue or suggestion.',\n 'send feedback label': 'Send Feedback',\n 'warning title': 'WARNING',\n 'technology preview message': 'Composer is still in technology preview.',\n 'learn more label': 'Learn more',\n 'released message': 'This version released {{released}}.',\n 'see release label': 'See release on GitHub',\n 'powered by dxos message': 'Powered by <dxos>DXOS</dxos>',\n 'discord label': 'Discord',\n 'feedback label': 'Feedback',\n }),\n};\n\nexport default [translations];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { formatDistance } from 'date-fns/formatDistance';\nimport React from 'react';\n\nimport { useConfig } from '@dxos/react-client';\nimport { Link, Message, Popover, Trans, useTranslation, Icon } from '@dxos/react-ui';\n\nimport { StatusBar } from './StatusBar';\nimport { STATUS_BAR_PLUGIN } from '../meta';\n\nconst repo = 'https://github.com/dxos/dxos';\n\nconst VERSION_REGEX = /([\\d.]+)/;\n\nexport const VersionNumber = () => {\n const config = useConfig();\n const { t } = useTranslation(STATUS_BAR_PLUGIN);\n const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};\n const [_, v] = version?.match(VERSION_REGEX) ?? [];\n\n const releaseUrl =\n config.values.runtime?.app?.env?.DX_ENVIRONMENT === 'production'\n ? `${repo}/releases/tag/v${version}`\n : `${repo}/commit/${commitHash}`;\n\n const previewUrl = 'https://docs.dxos.org/composer#technology-preview';\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Button classNames='text-xs'>v{v}</StatusBar.Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content\n side='top'\n role='message'\n classNames='z-[12] bg-warning-500 max-is-[min(calc(100vw-16px),40ch)]'\n >\n <Message.Root valence='warning' className='rounded-be-none p-5'>\n <Message.Title>\n <Icon icon='ph--warning--duotone' size={6} classNames='inline mie-2' />\n <span>{t('warning title')}</span>\n </Message.Title>\n <Message.Body>\n {t('technology preview message')}\n <br />\n <Link href={previewUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('learn more label')}\n <Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />\n </Link>\n </Message.Body>\n </Message.Root>\n <div role='none' className='plb-4 pli-5 space-b-2 text-baseText'>\n {timestamp && (\n <p>\n {t('released message', {\n released: formatDistance(new Date(timestamp), new Date(), { addSuffix: true }),\n })}\n <br />\n <Link href={releaseUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('see release label')}\n <Icon icon='ph--arrow-square-out--bold' classNames='inline mis-1' />\n </Link>\n </p>\n )}\n <p>\n <Trans\n {...{\n t,\n i18nKey: 'powered by dxos message',\n components: {\n dxos: <Link href='https://dxos.org' target='_blank' rel='noreferrer' variant='neutral' />,\n },\n }}\n />\n </p>\n </div>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport {\n Capabilities,\n contributes,\n createSurface,\n defineModule,\n definePlugin,\n Events,\n Surface,\n} from '@dxos/app-framework';\n\nimport { StatusBarActions, StatusBarPanel } from './components';\nimport { VersionNumber } from './components/VersionNumber';\nimport { meta, STATUS_BAR_PLUGIN } from './meta';\nimport translations from './translations';\n\nexport const StatusBarPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: 'status-bar',\n component: () => <StatusBarPanel />,\n }),\n createSurface({\n id: meta.id,\n role: 'status-bar--r0-footer',\n component: () => <Surface role='status' />,\n }),\n createSurface({\n id: meta.id,\n role: 'status-bar--r1-footer',\n component: () => <StatusBarActions />,\n }),\n createSurface({\n id: `${STATUS_BAR_PLUGIN}/header-end`,\n role: 'header-end',\n component: () => <VersionNumber />,\n }),\n ]),\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Slot", "React", "forwardRef", "mx", "StatusBarText", "forwardRef", "classNames", "children", "forwardedRef", "span", "className", "mx", "ref", "StatusBarButton", "asChild", "props", "classes", "Slot", "role", "button", "StatusBarItem", "forwardRef", "classNames", "children", "props", "forwardedRef", "div", "role", "className", "mx", "ref", "StartContent", "EndContent", "StatusBar", "Text", "StatusBarText", "Item", "Button", "StatusBarButton", "React", "useState", "Surface", "Icon", "Popover", "useTranslation", "PaperPlaneTilt", "X", "React", "useCallback", "createIntent", "useIntentDispatcher", "ObservabilityAction", "UserFeedback", "Button", "Input", "Popover", "useTranslation", "useForm", "getSize", "STATUS_BAR_PLUGIN", "meta", "id", "name", "description", "icon", "entry", "translation", "STATUS_BAR_PLUGIN", "mkTranslation", "t", "key", "translations", "initialValues", "name", "email", "message", "FeedbackForm", "onClose", "t", "useTranslation", "STATUS_BAR_PLUGIN", "translation", "mkTranslation", "dispatchPromise", "dispatch", "useIntentDispatcher", "onSave", "useCallback", "values", "createIntent", "ObservabilityAction", "CaptureUserFeedback", "handleSave", "canSave", "getStatus", "inputProps", "useForm", "schema", "UserFeedback", "React", "div", "role", "className", "Input", "Root", "validationValence", "status", "Label", "TextInput", "classNames", "placeholder", "autoFocus", "DescriptionAndValidation", "Validation", "error", "TextArea", "rows", "cols", "Button", "type", "variant", "disabled", "onClick", "span", "PaperPlaneTilt", "getSize", "Popover", "Close", "asChild", "ns", "X", "formatDistance", "React", "useConfig", "Link", "Message", "Popover", "Trans", "useTranslation", "Icon", "repo", "VERSION_REGEX", "VersionNumber", "config", "useConfig", "t", "useTranslation", "STATUS_BAR_PLUGIN", "version", "timestamp", "commitHash", "values", "runtime", "app", "build", "_", "v", "match", "releaseUrl", "env", "DX_ENVIRONMENT", "previewUrl", "React", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Button", "classNames", "Portal", "Content", "side", "role", "Message", "valence", "className", "Title", "Icon", "icon", "size", "span", "Body", "br", "Link", "href", "target", "rel", "variant", "div", "p", "released", "formatDistance", "Date", "addSuffix", "Trans", "i18nKey", "components", "dxos", "Arrow", "StatusBarActions", "t", "useTranslation", "STATUS_BAR_PLUGIN", "open", "setOpen", "useState", "React", "Popover", "Root", "onOpenChange", "Trigger", "asChild", "StatusBar", "Button", "data-joyride", "Icon", "icon", "size", "Text", "classNames", "a", "href", "target", "rel", "VersionNumber", "Portal", "Content", "FeedbackForm", "onClose", "Arrow", "StatusBarPanel", "span", "role", "className", "Surface", "React", "Capabilities", "contributes", "createSurface", "defineModule", "definePlugin", "Events", "Surface", "StatusBarPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupReactSurface", "ReactSurface", "createSurface", "role", "component", "React", "StatusBarPanel", "Surface", "StatusBarActions", "STATUS_BAR_PLUGIN", "VersionNumber"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx":{"bytes":
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx":{"bytes":7783,"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-status-bar/src/meta.ts":{"bytes":1289,"imports":[],"format":"esm"},"packages/plugins/plugin-status-bar/src/translations.ts":{"bytes":4748,"imports":[{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/components/FeedbackForm.tsx":{"bytes":13476,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-status-bar/src/translations.ts","kind":"import-statement","original":"../translations"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/components/VersionNumber.tsx":{"bytes":10881,"imports":[{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"},{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/components/StatusBarPanel.tsx":{"bytes":6757,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-status-bar/src/components/FeedbackForm.tsx","kind":"import-statement","original":"./FeedbackForm"},{"path":"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"},{"path":"packages/plugins/plugin-status-bar/src/components/VersionNumber.tsx","kind":"import-statement","original":"./VersionNumber"},{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/components/index.ts":{"bytes":624,"imports":[{"path":"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"},{"path":"packages/plugins/plugin-status-bar/src/components/StatusBarPanel.tsx","kind":"import-statement","original":"./StatusBarPanel"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/StatusBarPlugin.tsx":{"bytes":6167,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-status-bar/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-status-bar/src/components/VersionNumber.tsx","kind":"import-statement","original":"./components/VersionNumber"},{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-status-bar/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-status-bar/src/index.ts":{"bytes":699,"imports":[{"path":"packages/plugins/plugin-status-bar/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-status-bar/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-status-bar/src/StatusBarPlugin.tsx","kind":"import-statement","original":"./StatusBarPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-status-bar/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":26410},"packages/plugins/plugin-status-bar/dist/lib/node-esm/index.mjs":{"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"date-fns/formatDistance","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["STATUS_BAR_PLUGIN","StatusBar","StatusBarActions","StatusBarPanel","StatusBarPlugin","meta"],"entryPoint":"packages/plugins/plugin-status-bar/src/index.ts","inputs":{"packages/plugins/plugin-status-bar/src/components/StatusBar.tsx":{"bytesInOutput":1948},"packages/plugins/plugin-status-bar/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-status-bar/src/components/StatusBarPanel.tsx":{"bytesInOutput":1972},"packages/plugins/plugin-status-bar/src/components/FeedbackForm.tsx":{"bytesInOutput":3972},"packages/plugins/plugin-status-bar/src/meta.ts":{"bytesInOutput":202},"packages/plugins/plugin-status-bar/src/translations.ts":{"bytesInOutput":957},"packages/plugins/plugin-status-bar/src/components/VersionNumber.tsx":{"bytesInOutput":3174},"packages/plugins/plugin-status-bar/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-status-bar/src/StatusBarPlugin.tsx":{"bytesInOutput":1317}},"bytes":14380}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarPlugin.d.ts","sourceRoot":"","sources":["../../../src/StatusBarPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StatusBarPlugin.d.ts","sourceRoot":"","sources":["../../../src/StatusBarPlugin.tsx"],"names":[],"mappings":"AAqBA,eAAO,MAAM,eAAe,4CAkCxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY,gBAAiB;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,4CAwFhE,CAAC"}
|
|
@@ -1,42 +1,28 @@
|
|
|
1
|
-
import React, { type ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React, { type ComponentPropsWithRef, type ReactNode } from 'react';
|
|
2
|
+
import { type ThemedClassName } from '@dxos/react-ui';
|
|
3
|
+
type StatusBarButtonProps = ThemedClassName<ComponentPropsWithRef<'button'> & {
|
|
4
4
|
asChild?: boolean;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
} & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
}>;
|
|
6
|
+
declare const StatusBarButton: React.ForwardRefExoticComponent<Omit<StatusBarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
8
7
|
export default StatusBarButton;
|
|
8
|
+
type StatusBarItemProps = ThemedClassName<ComponentPropsWithRef<'div'>>;
|
|
9
9
|
export declare const StatusBar: {
|
|
10
|
-
Container: React.ForwardRefExoticComponent<Omit<{
|
|
11
|
-
children: ReactNode;
|
|
12
|
-
}, "className"> & {
|
|
13
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
14
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
15
10
|
Text: React.ForwardRefExoticComponent<Omit<{
|
|
16
11
|
children: ReactNode;
|
|
17
12
|
}, "className"> & {
|
|
18
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
13
|
+
classNames?: import("@dxos/react-ui-types").ClassNameValue;
|
|
19
14
|
} & React.RefAttributes<HTMLSpanElement>>;
|
|
20
|
-
Item: React.ForwardRefExoticComponent<Omit<
|
|
21
|
-
|
|
22
|
-
}, "className"> & {
|
|
23
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
24
|
-
} & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
-
Button: React.ForwardRefExoticComponent<Omit<{
|
|
26
|
-
children: ReactNode;
|
|
27
|
-
asChild?: boolean;
|
|
28
|
-
}, "className"> & {
|
|
29
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
30
|
-
} & React.HTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
Item: React.ForwardRefExoticComponent<Omit<StatusBarItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
Button: React.ForwardRefExoticComponent<Omit<StatusBarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
31
17
|
StartContent: React.ForwardRefExoticComponent<Omit<{
|
|
32
|
-
children
|
|
18
|
+
children?: ReactNode | undefined;
|
|
33
19
|
}, "className"> & {
|
|
34
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
20
|
+
classNames?: import("@dxos/react-ui-types").ClassNameValue;
|
|
35
21
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
36
22
|
EndContent: React.ForwardRefExoticComponent<Omit<{
|
|
37
|
-
children
|
|
23
|
+
children?: ReactNode | undefined;
|
|
38
24
|
}, "className"> & {
|
|
39
|
-
classNames?: import("@dxos/react-ui").ClassNameValue;
|
|
25
|
+
classNames?: import("@dxos/react-ui-types").ClassNameValue;
|
|
40
26
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
41
27
|
};
|
|
42
28
|
//# sourceMappingURL=StatusBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9G,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWtD,KAAK,oBAAoB,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAErG,QAAA,MAAM,eAAe,6GAmBpB,CAAC;AAEF,eAAe,eAAe,CAAC;AAE/B,KAAK,kBAAkB,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;AA+BxE,eAAO,MAAM,SAAS;;kBAhEgC,SAAS;;;;;;;;;;;;;;;;CAsE9D,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import '@dxos-theme';
|
|
2
2
|
import { type Meta } from '@storybook/react';
|
|
3
|
-
import React from 'react';
|
|
4
3
|
import { StatusBar } from './StatusBar';
|
|
5
|
-
export declare const DefaultStory: () =>
|
|
4
|
+
export declare const DefaultStory: () => import("react/jsx-runtime").JSX.Element;
|
|
6
5
|
export declare const Default: {};
|
|
7
6
|
declare const meta: Meta<typeof StatusBar>;
|
|
8
7
|
export default meta;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAM7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,YAAY,+CAmBxB,CAAC;AAEF,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAQhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const StatusBarPanel: () =>
|
|
1
|
+
export declare const StatusBarActions: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const StatusBarPanel: () => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=StatusBarPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBarPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StatusBarPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/StatusBarPanel.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,gBAAgB,+CA2B5B,CAAC;AAEF,eAAO,MAAM,cAAc,+CAQ1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/VersionNumber.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,aAAa,+CAoEzB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type useTranslation } from '@dxos/react-ui';
|
|
2
2
|
import { STATUS_BAR_PLUGIN } from './meta';
|
|
3
|
-
type StatusBarTranslationKeys = 'plugin name' | 'email input label' | 'email input placeholder' | 'feedback text area label' | 'feedback text area placeholder' | 'send feedback label' | 'name label' | 'name placeholder';
|
|
3
|
+
type StatusBarTranslationKeys = 'plugin name' | 'email input label' | 'email input placeholder' | 'feedback text area label' | 'feedback text area placeholder' | 'send feedback label' | 'name label' | 'name placeholder' | 'warning title' | 'technology preview message' | 'learn more label' | 'released message' | 'see release label' | 'powered by dxos message' | 'discord label' | 'feedback label';
|
|
4
4
|
type RequiredTranslation = {
|
|
5
5
|
[key in StatusBarTranslationKeys]: string;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,KAAK,wBAAwB,GACzB,aAAa,GACb,mBAAmB,GACnB,yBAAyB,GACzB,0BAA0B,GAC1B,gCAAgC,GAChC,qBAAqB,GACrB,YAAY,GACZ,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,KAAK,wBAAwB,GACzB,aAAa,GACb,mBAAmB,GACnB,yBAAyB,GACzB,0BAA0B,GAC1B,gCAAgC,GAChC,qBAAqB,GACrB,YAAY,GACZ,kBAAkB,GAClB,eAAe,GACf,4BAA4B,GAC5B,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,yBAAyB,GACzB,eAAe,GACf,gBAAgB,CAAC;AAErB,KAAK,mBAAmB,GAAG;KAAG,GAAG,IAAI,wBAAwB,GAAG,MAAM;CAAE,CAAC;AACzE,KAAK,gBAAgB,GAAG;IAAE,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAKrE,eAAO,MAAM,aAAa,MAAO,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,GAAG,CAAC,WAAW,wBAAwB,WAAW,CAAC;;AAuBtH,wBAA8B"}
|