@dxos/plugin-status-bar 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393
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/neutral/StatusBarActions-4BKTPZD2.mjs +8 -0
- package/dist/lib/neutral/StatusBarActions-4BKTPZD2.mjs.map +7 -0
- package/dist/lib/neutral/StatusBarPanel-7MSGZVNG.mjs +20 -0
- package/dist/lib/neutral/StatusBarPanel-7MSGZVNG.mjs.map +7 -0
- package/dist/lib/neutral/StatusBarPlugin.mjs +17 -0
- package/dist/lib/neutral/StatusBarPlugin.mjs.map +7 -0
- package/dist/lib/neutral/VersionNumber-I6NWZVLO.mjs +7 -0
- package/dist/lib/neutral/VersionNumber-I6NWZVLO.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +7 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BHLVVHW4.mjs +19 -0
- package/dist/lib/neutral/chunk-BHLVVHW4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-H63AWCK5.mjs +71 -0
- package/dist/lib/neutral/chunk-H63AWCK5.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KSMKTIOP.mjs +70 -0
- package/dist/lib/neutral/chunk-KSMKTIOP.mjs.map +7 -0
- package/dist/lib/{browser → neutral/components}/index.mjs +1 -51
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +11 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +7 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +7 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +11 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-LRBTL7UM.mjs +27 -0
- package/dist/lib/neutral/react-surface-LRBTL7UM.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +24 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/types/src/StatusBarPlugin.d.ts +1 -0
- package/dist/types/src/StatusBarPlugin.d.ts.map +1 -1
- package/dist/types/src/StatusBarPlugin.test.d.ts +2 -0
- package/dist/types/src/StatusBarPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/StatusBar/StatusBar.stories.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.stories.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts.map +1 -1
- package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +11 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +64 -23
- package/src/StatusBarPlugin.test.ts +23 -0
- package/src/StatusBarPlugin.ts +3 -2
- package/src/components/StatusBar/StatusBar.tsx +2 -2
- package/src/containers/StatusBarActions/StatusBarActions.stories.tsx +2 -1
- package/src/containers/StatusBarActions/StatusBarActions.tsx +2 -2
- package/src/containers/VersionNumber/VersionNumber.tsx +2 -2
- package/src/index.ts +1 -2
- package/src/meta.ts +2 -1
- package/src/plugin.ts +9 -0
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/node-esm/index.mjs +0 -100
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
StatusBarActions
|
|
3
|
+
} from "./chunk-KSMKTIOP.mjs";
|
|
4
|
+
import "./chunk-H63AWCK5.mjs";
|
|
5
|
+
|
|
6
|
+
// src/containers/StatusBarPanel/StatusBarPanel.tsx
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
9
|
+
var StatusBarPanel = (_props) => {
|
|
10
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(StatusBarActions, null), /* @__PURE__ */ React.createElement("span", {
|
|
11
|
+
role: "separator",
|
|
12
|
+
className: "grow"
|
|
13
|
+
}), /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
14
|
+
role: "status"
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
StatusBarPanel as default
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=StatusBarPanel-7MSGZVNG.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/StatusBarPanel/StatusBarPanel.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\n\nimport StatusBarActionsDefault from '../StatusBarActions';\n\nexport type StatusBarPanelProps = {};\n\nexport const StatusBarPanel = (_props: StatusBarPanelProps) => {\n return (\n <>\n <StatusBarActionsDefault />\n <span role='separator' className='grow' />\n <Surface.Surface role='status' />\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,eAAe;AAMjB,IAAMC,iBAAiB,CAACC,WAAAA;AAC7B,SACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACC,kBAAAA,IAAAA,GACD,sBAAA,cAACC,QAAAA;IAAKC,MAAK;IAAYC,WAAU;MACjC,sBAAA,cAACC,QAAQA,SAAO;IAACF,MAAK;;AAG5B;",
|
|
6
|
+
"names": ["React", "Surface", "StatusBarPanel", "_props", "StatusBarActionsDefault", "span", "role", "className", "Surface"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/StatusBarPlugin.ts
|
|
2
|
+
import { Plugin } from "@dxos/app-framework";
|
|
3
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
4
|
+
import { ReactSurface } from "#capabilities";
|
|
5
|
+
import { meta } from "#meta";
|
|
6
|
+
import { translations } from "#translations";
|
|
7
|
+
var StatusBarPlugin = Plugin.define(meta).pipe(AppPlugin.addSurfaceModule({
|
|
8
|
+
activate: ReactSurface
|
|
9
|
+
}), AppPlugin.addTranslationsModule({
|
|
10
|
+
translations
|
|
11
|
+
}), Plugin.make);
|
|
12
|
+
var StatusBarPlugin_default = StatusBarPlugin;
|
|
13
|
+
export {
|
|
14
|
+
StatusBarPlugin,
|
|
15
|
+
StatusBarPlugin_default as default
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=StatusBarPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/StatusBarPlugin.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\nexport const StatusBarPlugin = Plugin.define(meta).pipe(\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n\nexport default StatusBarPlugin;\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAEtB,IAAMC,kBAAkBL,OAAOM,OAAOH,IAAAA,EAAMI,KACjDN,UAAUO,iBAAiB;EAAEC,UAAUP;AAAa,CAAA,GACpDD,UAAUS,sBAAsB;EAAEN;AAAa,CAAA,GAC/CJ,OAAOW,IAAI;AAGb,IAAA,0BAAeN;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "ReactSurface", "meta", "translations", "StatusBarPlugin", "define", "pipe", "addSurfaceModule", "activate", "addTranslationsModule", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,kBAAkB;AAEpB,IAAMC,eAAeD,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "ReactSurface", "lazy"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/meta.ts
|
|
2
|
+
import { trim } from "@dxos/util";
|
|
3
|
+
var meta = {
|
|
4
|
+
id: "org.dxos.plugin.statusBar",
|
|
5
|
+
name: "Status Bar",
|
|
6
|
+
description: trim`
|
|
7
|
+
Persistent bottom bar displaying workspace status information and quick actions.
|
|
8
|
+
Access connection state, notifications, and common commands without leaving your current context.
|
|
9
|
+
`,
|
|
10
|
+
icon: "ph--info--regular",
|
|
11
|
+
tags: [
|
|
12
|
+
"system"
|
|
13
|
+
]
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
meta
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-BHLVVHW4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.statusBar',\n name: 'Status Bar',\n description: trim`\n Persistent bottom bar displaying workspace status information and quick actions.\n Access connection state, notifications, and common commands without leaving your current context.\n `,\n icon: 'ph--info--regular',\n tags: ['system'],\n};\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,MAAM;IAAC;;AACT;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "icon", "tags"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// src/containers/VersionNumber/VersionNumber.tsx
|
|
2
|
+
import { formatDistance } from "date-fns/formatDistance";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { useConfig } from "@dxos/react-client";
|
|
5
|
+
import { Icon, Link, Message, Popover, Trans, useTranslation } from "@dxos/react-ui";
|
|
6
|
+
import { StatusBar } from "#components";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
var repo = "https://github.com/dxos/dxos";
|
|
9
|
+
var VERSION_REGEX = /([\d.]+)/;
|
|
10
|
+
var VersionNumber = (_props) => {
|
|
11
|
+
const { t } = useTranslation(meta.id);
|
|
12
|
+
const config = useConfig();
|
|
13
|
+
const { version, timestamp, commitHash } = config.values.runtime?.app?.build ?? {};
|
|
14
|
+
const [_, v] = version?.match(VERSION_REGEX) ?? [];
|
|
15
|
+
const releaseUrl = config.values.runtime?.app?.env?.DX_ENVIRONMENT === "production" ? `${repo}/releases/tag/v${version}` : `${repo}/commit/${commitHash}`;
|
|
16
|
+
const previewUrl = "https://docs.dxos.org/composer#technology-preview";
|
|
17
|
+
return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
|
|
18
|
+
asChild: true
|
|
19
|
+
}, /* @__PURE__ */ React.createElement(StatusBar.Button, {
|
|
20
|
+
classNames: "h-full text-xs"
|
|
21
|
+
}, v)), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
|
|
22
|
+
side: "top",
|
|
23
|
+
role: "message",
|
|
24
|
+
classNames: "z-[12] max-w-[min(calc(100vw-16px),40ch)]"
|
|
25
|
+
}, /* @__PURE__ */ React.createElement(Message.Root, {
|
|
26
|
+
valence: "info",
|
|
27
|
+
classNames: "p-2 rounded-b-none"
|
|
28
|
+
}, /* @__PURE__ */ React.createElement(Message.Title, null, t("warning.title")), /* @__PURE__ */ React.createElement(Message.Content, null, t("technology-preview.message"), /* @__PURE__ */ React.createElement("br", null), /* @__PURE__ */ React.createElement(Link, {
|
|
29
|
+
href: previewUrl,
|
|
30
|
+
target: "_blank",
|
|
31
|
+
rel: "noreferrer",
|
|
32
|
+
variant: "neutral"
|
|
33
|
+
}, t("learn-more.label"), /* @__PURE__ */ React.createElement(Icon, {
|
|
34
|
+
icon: "ph--arrow-square-out--bold",
|
|
35
|
+
classNames: "dx-icon-inline ms-1"
|
|
36
|
+
})))), /* @__PURE__ */ React.createElement("div", {
|
|
37
|
+
className: "flex flex-col ps-10 pe-4 py-2 gap-1 space-b-2 text-base-foreground"
|
|
38
|
+
}, timestamp && /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("p", null, t("released.message", {
|
|
39
|
+
released: formatDistance(new Date(timestamp), /* @__PURE__ */ new Date(), {
|
|
40
|
+
addSuffix: true
|
|
41
|
+
})
|
|
42
|
+
})), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", {
|
|
43
|
+
className: "dx-tag dx-tag--neutral -ml-1"
|
|
44
|
+
}, version))), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("p", null, /* @__PURE__ */ React.createElement(Link, {
|
|
45
|
+
href: releaseUrl,
|
|
46
|
+
target: "_blank",
|
|
47
|
+
rel: "noreferrer",
|
|
48
|
+
variant: "neutral"
|
|
49
|
+
}, t("see-release.label"), /* @__PURE__ */ React.createElement(Icon, {
|
|
50
|
+
icon: "ph--arrow-square-out--bold",
|
|
51
|
+
size: 4,
|
|
52
|
+
classNames: "dx-icon-inline ms-1"
|
|
53
|
+
}))), /* @__PURE__ */ React.createElement("p", null, /* @__PURE__ */ React.createElement(Trans, {
|
|
54
|
+
t,
|
|
55
|
+
i18nKey: "powered-by-dxos.message",
|
|
56
|
+
components: {
|
|
57
|
+
dxos: /* @__PURE__ */ React.createElement(Link, {
|
|
58
|
+
classNames: "text-green-500",
|
|
59
|
+
href: "https://dxos.org",
|
|
60
|
+
target: "_blank",
|
|
61
|
+
rel: "noreferrer",
|
|
62
|
+
variant: "neutral"
|
|
63
|
+
})
|
|
64
|
+
}
|
|
65
|
+
})))), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
VersionNumber
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=chunk-H63AWCK5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/VersionNumber/VersionNumber.tsx"],
|
|
4
|
+
"sourcesContent": ["//\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 { Icon, Link, Message, Popover, Trans, useTranslation } from '@dxos/react-ui';\n\nimport { StatusBar } from '#components';\nimport { meta } from '#meta';\n\nexport type VersionNumberProps = {};\n\nconst repo = 'https://github.com/dxos/dxos';\n\nconst VERSION_REGEX = /([\\d.]+)/;\n\nexport const VersionNumber = (_props: VersionNumberProps) => {\n const { t } = useTranslation(meta.id);\n const config = useConfig();\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='h-full text-xs'>{v}</StatusBar.Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='top' role='message' classNames='z-[12] max-w-[min(calc(100vw-16px),40ch)]'>\n <Message.Root valence='info' classNames='p-2 rounded-b-none'>\n <Message.Title>{t('warning.title')}</Message.Title>\n <Message.Content>\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='dx-icon-inline ms-1' />\n </Link>\n </Message.Content>\n </Message.Root>\n <div className='flex flex-col ps-10 pe-4 py-2 gap-1 space-b-2 text-base-foreground'>\n {timestamp && (\n <div>\n <p>\n {t('released.message', {\n released: formatDistance(new Date(timestamp), new Date(), { addSuffix: true }),\n })}\n </p>\n <div>\n <span className='dx-tag dx-tag--neutral -ml-1'>{version}</span>\n </div>\n </div>\n )}\n <div>\n <p>\n <Link href={releaseUrl} target='_blank' rel='noreferrer' variant='neutral'>\n {t('see-release.label')}\n <Icon icon='ph--arrow-square-out--bold' size={4} classNames='dx-icon-inline ms-1' />\n </Link>\n </p>\n <p>\n <Trans\n {...{\n t,\n i18nKey: 'powered-by-dxos.message',\n components: {\n dxos: (\n <Link\n classNames='text-green-500'\n href='https://dxos.org'\n target='_blank'\n rel='noreferrer'\n variant='neutral'\n />\n ),\n },\n }}\n />\n </p>\n </div>\n </div>\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,sBAAsB;AAC/B,OAAOC,WAAW;AAElB,SAASC,iBAAiB;AAC1B,SAASC,MAAMC,MAAMC,SAASC,SAASC,OAAOC,sBAAsB;AAEpE,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAIrB,IAAMC,OAAO;AAEb,IAAMC,gBAAgB;AAEf,IAAMC,gBAAgB,CAACC,WAAAA;AAC5B,QAAM,EAAEC,EAAC,IAAKP,eAAeE,KAAKM,EAAE;AACpC,QAAMC,SAASf,UAAAA;AACf,QAAM,EAAEgB,SAASC,WAAWC,WAAU,IAAKH,OAAOI,OAAOC,SAASC,KAAKC,SAAS,CAAC;AACjF,QAAM,CAACC,GAAGC,CAAAA,IAAKR,SAASS,MAAMf,aAAAA,KAAkB,CAAA;AAEhD,QAAMgB,aACJX,OAAOI,OAAOC,SAASC,KAAKM,KAAKC,mBAAmB,eAChD,GAAGnB,IAAAA,kBAAsBO,OAAAA,KACzB,GAAGP,IAAAA,WAAeS,UAAAA;AAExB,QAAMW,aAAa;AAEnB,SACE,sBAAA,cAACzB,QAAQ0B,MAAI,MACX,sBAAA,cAAC1B,QAAQ2B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAACzB,UAAU0B,QAAM;IAACC,YAAW;KAAkBV,CAAAA,CAAAA,GAEjD,sBAAA,cAACpB,QAAQ+B,QAAM,MACb,sBAAA,cAAC/B,QAAQgC,SAAO;IAACC,MAAK;IAAMC,MAAK;IAAUJ,YAAW;KACpD,sBAAA,cAAC/B,QAAQ2B,MAAI;IAACS,SAAQ;IAAOL,YAAW;KACtC,sBAAA,cAAC/B,QAAQqC,OAAK,MAAE3B,EAAE,eAAA,CAAA,GAClB,sBAAA,cAACV,QAAQiC,SAAO,MACbvB,EAAE,4BAAA,GACH,sBAAA,cAAC4B,MAAAA,IAAAA,GACD,sBAAA,cAACvC,MAAAA;IAAKwC,MAAMb;IAAYc,QAAO;IAASC,KAAI;IAAaC,SAAQ;KAC9DhC,EAAE,kBAAA,GACH,sBAAA,cAACZ,MAAAA;IAAK6C,MAAK;IAA6BZ,YAAW;SAIzD,sBAAA,cAACa,OAAAA;IAAIC,WAAU;KACZ/B,aACC,sBAAA,cAAC8B,OAAAA,MACC,sBAAA,cAACE,KAAAA,MACEpC,EAAE,oBAAoB;IACrBqC,UAAUpD,eAAe,IAAIqD,KAAKlC,SAAAA,GAAY,oBAAIkC,KAAAA,GAAQ;MAAEC,WAAW;IAAK,CAAA;EAC9E,CAAA,CAAA,GAEF,sBAAA,cAACL,OAAAA,MACC,sBAAA,cAACM,QAAAA;IAAKL,WAAU;KAAgChC,OAAAA,CAAAA,CAAAA,GAItD,sBAAA,cAAC+B,OAAAA,MACC,sBAAA,cAACE,KAAAA,MACC,sBAAA,cAAC/C,MAAAA;IAAKwC,MAAMhB;IAAYiB,QAAO;IAASC,KAAI;IAAaC,SAAQ;KAC9DhC,EAAE,mBAAA,GACH,sBAAA,cAACZ,MAAAA;IAAK6C,MAAK;IAA6BQ,MAAM;IAAGpB,YAAW;QAGhE,sBAAA,cAACe,KAAAA,MACC,sBAAA,cAAC5C,OACK;IACFQ;IACA0C,SAAS;IACTC,YAAY;MACVC,MACE,sBAAA,cAACvD,MAAAA;QACCgC,YAAW;QACXQ,MAAK;QACLC,QAAO;QACPC,KAAI;QACJC,SAAQ;;IAGd;EACF,CAAA,CAAA,CAAA,CAAA,GAKR,sBAAA,cAACzC,QAAQsD,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;",
|
|
6
|
+
"names": ["formatDistance", "React", "useConfig", "Icon", "Link", "Message", "Popover", "Trans", "useTranslation", "StatusBar", "meta", "repo", "VERSION_REGEX", "VersionNumber", "_props", "t", "id", "config", "version", "timestamp", "commitHash", "values", "runtime", "app", "build", "_", "v", "match", "releaseUrl", "env", "DX_ENVIRONMENT", "previewUrl", "Root", "Trigger", "asChild", "Button", "classNames", "Portal", "Content", "side", "role", "valence", "Title", "br", "href", "target", "rel", "variant", "icon", "div", "className", "p", "released", "Date", "addSuffix", "span", "size", "i18nKey", "components", "dxos", "Arrow"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
VersionNumber
|
|
3
|
+
} from "./chunk-H63AWCK5.mjs";
|
|
4
|
+
|
|
5
|
+
// src/containers/StatusBarActions/StatusBarActions.tsx
|
|
6
|
+
import React, { useState } from "react";
|
|
7
|
+
import { useConfig } from "@dxos/react-client";
|
|
8
|
+
import { Icon, Popover, useTranslation } from "@dxos/react-ui";
|
|
9
|
+
import { StatusBar } from "#components";
|
|
10
|
+
import { meta } from "#meta";
|
|
11
|
+
var StatusBarActions = (_props) => {
|
|
12
|
+
const { t } = useTranslation(meta.id);
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
return /* @__PURE__ */ React.createElement(Popover.Root, {
|
|
15
|
+
open,
|
|
16
|
+
onOpenChange: setOpen
|
|
17
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
18
|
+
className: "h-full flex items-center px-2 gap-2"
|
|
19
|
+
}, /* @__PURE__ */ React.createElement(EnvironmentLabel, null), /* @__PURE__ */ React.createElement(VersionNumber, null), /* @__PURE__ */ React.createElement("div", {
|
|
20
|
+
className: "grow"
|
|
21
|
+
}), /* @__PURE__ */ React.createElement(StatusBar.Button, {
|
|
22
|
+
asChild: true
|
|
23
|
+
}, /* @__PURE__ */ React.createElement("a", {
|
|
24
|
+
href: "https://dxos.org/discord",
|
|
25
|
+
target: "_blank",
|
|
26
|
+
rel: "noopener noreferrer"
|
|
27
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
28
|
+
icon: "ph--discord-logo--regular"
|
|
29
|
+
}), /* @__PURE__ */ React.createElement(StatusBar.Text, {
|
|
30
|
+
classNames: "hidden sm:block"
|
|
31
|
+
}, t("discord.label")))), /* @__PURE__ */ React.createElement(StatusBar.Button, {
|
|
32
|
+
asChild: true
|
|
33
|
+
}, /* @__PURE__ */ React.createElement("a", {
|
|
34
|
+
href: "https://github.com/dxos/dxos",
|
|
35
|
+
target: "_blank",
|
|
36
|
+
rel: "noopener noreferrer"
|
|
37
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
38
|
+
icon: "ph--github-logo--regular"
|
|
39
|
+
}), /* @__PURE__ */ React.createElement(StatusBar.Text, {
|
|
40
|
+
classNames: "hidden sm:block"
|
|
41
|
+
}, t("github.label"))))));
|
|
42
|
+
};
|
|
43
|
+
var ENV_LABELS = {
|
|
44
|
+
"edge-dev": "Dev",
|
|
45
|
+
"edge-main": "Main",
|
|
46
|
+
"edge-labs": "Labs",
|
|
47
|
+
"edge-production": "Production"
|
|
48
|
+
};
|
|
49
|
+
var EnvironmentLabel = () => {
|
|
50
|
+
const config = useConfig();
|
|
51
|
+
const edgeUrl = config.values.runtime?.services?.edge?.url;
|
|
52
|
+
if (!edgeUrl) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const part = new URL(edgeUrl).host.split(".")[0];
|
|
56
|
+
const edgeEnv = ENV_LABELS[part];
|
|
57
|
+
if (!edgeEnv) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return /* @__PURE__ */ React.createElement(StatusBar.Item, null, /* @__PURE__ */ React.createElement(StatusBar.Text, {
|
|
61
|
+
classNames: "text-xs text-subdued border border-separator rounded-full px-1"
|
|
62
|
+
}, /* @__PURE__ */ React.createElement("span", {
|
|
63
|
+
title: edgeEnv
|
|
64
|
+
}, edgeEnv[0])));
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
StatusBarActions
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=chunk-KSMKTIOP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/StatusBarActions/StatusBarActions.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useState } from 'react';\n\nimport { useConfig } from '@dxos/react-client';\nimport { Icon, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { StatusBar } from '#components';\nimport { meta } from '#meta';\n\nimport VersionNumber from '../VersionNumber';\n\nexport type StatusBarActionsProps = {};\n\nexport const StatusBarActions = (_props: StatusBarActionsProps) => {\n const { t } = useTranslation(meta.id);\n const [open, setOpen] = useState(false);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div className='h-full flex items-center px-2 gap-2'>\n <EnvironmentLabel />\n <VersionNumber />\n <div className='grow' />\n <StatusBar.Button asChild>\n <a href='https://dxos.org/discord' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--discord-logo--regular' />\n <StatusBar.Text classNames='hidden sm:block'>{t('discord.label')}</StatusBar.Text>\n </a>\n </StatusBar.Button>\n <StatusBar.Button asChild>\n <a href='https://github.com/dxos/dxos' target='_blank' rel='noopener noreferrer'>\n <Icon icon='ph--github-logo--regular' />\n <StatusBar.Text classNames='hidden sm:block'>{t('github.label')}</StatusBar.Text>\n </a>\n </StatusBar.Button>\n </div>\n </Popover.Root>\n );\n};\n\nconst ENV_LABELS: Record<string, string> = {\n 'edge-dev': 'Dev',\n 'edge-main': 'Main',\n 'edge-labs': 'Labs',\n 'edge-production': 'Production',\n};\n\nconst EnvironmentLabel = () => {\n const config = useConfig();\n const edgeUrl = config.values.runtime?.services?.edge?.url;\n if (!edgeUrl) {\n return null;\n }\n const part = new URL(edgeUrl).host.split('.')[0];\n const edgeEnv = ENV_LABELS[part];\n if (!edgeEnv) {\n return null;\n }\n\n return (\n <StatusBar.Item>\n <StatusBar.Text classNames='text-xs text-subdued border border-separator rounded-full px-1'>\n <span title={edgeEnv}>{edgeEnv[0]}</span>\n </StatusBar.Text>\n </StatusBar.Item>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,OAAOA,SAASC,gBAAgB;AAEhC,SAASC,iBAAiB;AAC1B,SAASC,MAAMC,SAASC,sBAAsB;AAE9C,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAMd,IAAMC,mBAAmB,CAACC,WAAAA;AAC/B,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,CAACC,MAAMC,OAAAA,IAAWC,SAAS,KAAA;AAEjC,SACE,sBAAA,cAACC,QAAQC,MAAI;IAACJ;IAAYK,cAAcJ;KACtC,sBAAA,cAACK,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACC,kBAAAA,IAAAA,GACD,sBAAA,cAACC,eAAAA,IAAAA,GACD,sBAAA,cAACH,OAAAA;IAAIC,WAAU;MACf,sBAAA,cAACG,UAAUC,QAAM;IAACC,SAAAA;KAChB,sBAAA,cAACC,KAAAA;IAAEC,MAAK;IAA2BC,QAAO;IAASC,KAAI;KACrD,sBAAA,cAACC,MAAAA;IAAKC,MAAK;MACX,sBAAA,cAACR,UAAUS,MAAI;IAACC,YAAW;KAAmBxB,EAAE,eAAA,CAAA,CAAA,CAAA,GAGpD,sBAAA,cAACc,UAAUC,QAAM;IAACC,SAAAA;KAChB,sBAAA,cAACC,KAAAA;IAAEC,MAAK;IAA+BC,QAAO;IAASC,KAAI;KACzD,sBAAA,cAACC,MAAAA;IAAKC,MAAK;MACX,sBAAA,cAACR,UAAUS,MAAI;IAACC,YAAW;KAAmBxB,EAAE,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAM5D;AAEA,IAAMyB,aAAqC;EACzC,YAAY;EACZ,aAAa;EACb,aAAa;EACb,mBAAmB;AACrB;AAEA,IAAMb,mBAAmB,MAAA;AACvB,QAAMc,SAASC,UAAAA;AACf,QAAMC,UAAUF,OAAOG,OAAOC,SAASC,UAAUC,MAAMC;AACvD,MAAI,CAACL,SAAS;AACZ,WAAO;EACT;AACA,QAAMM,OAAO,IAAIC,IAAIP,OAAAA,EAASQ,KAAKC,MAAM,GAAA,EAAK,CAAA;AAC9C,QAAMC,UAAUb,WAAWS,IAAAA;AAC3B,MAAI,CAACI,SAAS;AACZ,WAAO;EACT;AAEA,SACE,sBAAA,cAACxB,UAAUyB,MAAI,MACb,sBAAA,cAACzB,UAAUS,MAAI;IAACC,YAAW;KACzB,sBAAA,cAACgB,QAAAA;IAAKC,OAAOH;KAAUA,QAAQ,CAAA,CAAE,CAAA,CAAA;AAIzC;",
|
|
6
|
+
"names": ["React", "useState", "useConfig", "Icon", "Popover", "useTranslation", "StatusBar", "meta", "StatusBarActions", "_props", "t", "useTranslation", "meta", "id", "open", "setOpen", "useState", "Popover", "Root", "onOpenChange", "div", "className", "EnvironmentLabel", "VersionNumber", "StatusBar", "Button", "asChild", "a", "href", "target", "rel", "Icon", "icon", "Text", "classNames", "ENV_LABELS", "config", "useConfig", "edgeUrl", "values", "runtime", "services", "edge", "url", "part", "URL", "host", "split", "edgeEnv", "Item", "span", "title"]
|
|
7
|
+
}
|
|
@@ -28,12 +28,10 @@ var StatusBarButton = /* @__PURE__ */ forwardRef(({ classNames, children, asChil
|
|
|
28
28
|
}, children);
|
|
29
29
|
});
|
|
30
30
|
var StartContent = /* @__PURE__ */ forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ React.createElement("div", {
|
|
31
|
-
role: "none",
|
|
32
31
|
className: mx("flex-grow flex items-center space-x-2", classNames),
|
|
33
32
|
ref: forwardedRef
|
|
34
33
|
}, children));
|
|
35
34
|
var EndContent = /* @__PURE__ */ forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ React.createElement("div", {
|
|
36
|
-
role: "none",
|
|
37
35
|
className: mx("flex-grow flex items-center justify-end", classNames),
|
|
38
36
|
ref: forwardedRef
|
|
39
37
|
}, children));
|
|
@@ -44,55 +42,7 @@ var StatusBar = {
|
|
|
44
42
|
StartContent,
|
|
45
43
|
EndContent
|
|
46
44
|
};
|
|
47
|
-
|
|
48
|
-
// src/meta.ts
|
|
49
|
-
import { trim } from "@dxos/util";
|
|
50
|
-
var meta = {
|
|
51
|
-
id: "org.dxos.plugin.status-bar",
|
|
52
|
-
name: "Status Bar",
|
|
53
|
-
description: trim`
|
|
54
|
-
Persistent bottom bar displaying workspace status information and quick actions.
|
|
55
|
-
Access connection state, notifications, and common commands without leaving your current context.
|
|
56
|
-
`,
|
|
57
|
-
icon: "ph--info--regular"
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
// src/StatusBarPlugin.ts
|
|
61
|
-
import { Plugin } from "@dxos/app-framework";
|
|
62
|
-
import { AppPlugin } from "@dxos/app-toolkit";
|
|
63
|
-
import { ReactSurface } from "#capabilities";
|
|
64
|
-
import { meta as meta3 } from "#meta";
|
|
65
|
-
|
|
66
|
-
// src/translations.ts
|
|
67
|
-
import { meta as meta2 } from "#meta";
|
|
68
|
-
var translations = [
|
|
69
|
-
{
|
|
70
|
-
"en-US": {
|
|
71
|
-
[meta2.id]: {
|
|
72
|
-
"plugin.name": "Status Bar",
|
|
73
|
-
"warning.title": "WARNING",
|
|
74
|
-
"technology-preview.message": "Composer is currently in beta.",
|
|
75
|
-
"learn-more.label": "Learn more",
|
|
76
|
-
"released.message": "This version was released {{released}}.",
|
|
77
|
-
"see-release.label": "See release on GitHub",
|
|
78
|
-
"powered-by-dxos.message": "Powered by <dxos>DXOS</dxos>",
|
|
79
|
-
"discord.label": "Discord",
|
|
80
|
-
"github.label": "GitHub",
|
|
81
|
-
"feedback.label": "Feedback"
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
];
|
|
86
|
-
|
|
87
|
-
// src/StatusBarPlugin.ts
|
|
88
|
-
var StatusBarPlugin = Plugin.define(meta3).pipe(AppPlugin.addSurfaceModule({
|
|
89
|
-
activate: ReactSurface
|
|
90
|
-
}), AppPlugin.addTranslationsModule({
|
|
91
|
-
translations
|
|
92
|
-
}), Plugin.make);
|
|
93
45
|
export {
|
|
94
|
-
StatusBar
|
|
95
|
-
StatusBarPlugin,
|
|
96
|
-
meta
|
|
46
|
+
StatusBar
|
|
97
47
|
};
|
|
98
48
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/StatusBar/StatusBar.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Slot } from '@radix-ui/react-slot';\nimport React, { type ComponentPropsWithRef, type PropsWithChildren, type ReactNode, forwardRef } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\n//\n// Item\n//\n\ntype StatusBarItemProps = ThemedClassName<PropsWithChildren>;\n\nconst StatusBarItem = forwardRef<HTMLDivElement, StatusBarItemProps>(\n ({ classNames, children, ...props }, forwardedRef) => {\n return (\n <div {...props} role='status' className={mx('grid place-items-center', classNames)} ref={forwardedRef}>\n {children}\n </div>\n );\n },\n);\n\n//\n// Text\n//\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\n//\n// Button\n//\n\ntype StatusBarButtonProps = ThemedClassName<ComponentPropsWithRef<'button'> & { asChild?: boolean }>;\n\n/**\n * @deprecated\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-xs',\n 'select-none cursor-pointer dx-focus-ring text-description text-xs',\n 'hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-700 dark:active:bg-neutral-600',\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\n//\n// Content\n//\n\ntype StartContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst StartContent = forwardRef<HTMLDivElement, StartContentProps>(({ classNames, children }, forwardedRef) => (\n <div className={mx('flex-grow flex items-center space-x-2', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\n//\n// EndContent\n//\n\ntype EndContentProps = ThemedClassName<PropsWithChildren<{}>>;\n\nconst EndContent = forwardRef<HTMLDivElement, EndContentProps>(({ classNames, children }, forwardedRef) => (\n <div className={mx('flex-grow flex items-center justify-end', classNames)} ref={forwardedRef}>\n {children}\n </div>\n));\n\n//\n// StatusBar\n//\n\nexport const StatusBar = {\n Item: StatusBarItem,\n Text: StatusBarText,\n Button: StatusBarButton,\n StartContent,\n EndContent,\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,YAAY;AACrB,OAAOC,SAA6EC,kBAAkB;AAGtG,SAASC,UAAU;AAQnB,IAAMC,gBAAgBF,2BACpB,CAAC,EAAEG,YAAYC,UAAU,GAAGC,MAAAA,GAASC,iBAAAA;AACnC,SACE,sBAAA,cAACC,OAAAA;IAAK,GAAGF;IAAOG,MAAK;IAASC,WAAWR,GAAG,2BAA2BE,UAAAA;IAAaO,KAAKJ;KACtFF,QAAAA;AAGP,CAAA;AASF,IAAMO,gBAAgBX,2BAAgD,CAAC,EAAEG,YAAYC,SAAQ,GAAIE,iBAC/F,sBAAA,cAACM,QAAAA;EAAKH,WAAWR,GAAGE,UAAAA;EAAaO,KAAKJ;GACnCF,QAAAA,CAAAA;AAaL,IAAMS,kBAAkBb,2BACtB,CAAC,EAAEG,YAAYC,UAAUU,SAAS,GAAGT,MAAAA,GAASC,iBAAAA;AAC5C,QAAMS,UAAUd,GACd,8DACA,qEACA,mGACAE,UAAAA;AAGF,SAAOW,UACL,sBAAA,cAAChB,MAAAA;IAAKU,MAAK;IAASE,KAAKJ;IAAcG,WAAWM;IAAU,GAAGV;KAC5DD,QAAAA,IAGH,sBAAA,cAACY,UAAAA;IAAOP,WAAWM;IAASL,KAAKJ;IAAe,GAAGD;KAChDD,QAAAA;AAGP,CAAA;AASF,IAAMa,eAAejB,2BAA8C,CAAC,EAAEG,YAAYC,SAAQ,GAAIE,iBAC5F,sBAAA,cAACC,OAAAA;EAAIE,WAAWR,GAAG,yCAAyCE,UAAAA;EAAaO,KAAKJ;GAC3EF,QAAAA,CAAAA;AAUL,IAAMc,aAAalB,2BAA4C,CAAC,EAAEG,YAAYC,SAAQ,GAAIE,iBACxF,sBAAA,cAACC,OAAAA;EAAIE,WAAWR,GAAG,2CAA2CE,UAAAA;EAAaO,KAAKJ;GAC7EF,QAAAA,CAAAA;AAQE,IAAMe,YAAY;EACvBC,MAAMlB;EACNmB,MAAMV;EACNW,QAAQT;EACRI;EACAC;AACF;",
|
|
6
|
+
"names": ["Slot", "React", "forwardRef", "mx", "StatusBarItem", "classNames", "children", "props", "forwardedRef", "div", "role", "className", "ref", "StatusBarText", "span", "StatusBarButton", "asChild", "classes", "button", "StartContent", "EndContent", "StatusBar", "Item", "Text", "Button"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/containers/index.ts
|
|
2
|
+
import { lazy } from "react";
|
|
3
|
+
var StatusBarActions = lazy(() => import("../StatusBarActions-4BKTPZD2.mjs"));
|
|
4
|
+
var StatusBarPanel = lazy(() => import("../StatusBarPanel-7MSGZVNG.mjs"));
|
|
5
|
+
var VersionNumber = lazy(() => import("../VersionNumber-I6NWZVLO.mjs"));
|
|
6
|
+
export {
|
|
7
|
+
StatusBarActions,
|
|
8
|
+
StatusBarPanel,
|
|
9
|
+
VersionNumber
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/containers/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const StatusBarActions: ComponentType<any> = lazy(() => import('./StatusBarActions'));\nexport const StatusBarPanel: ComponentType<any> = lazy(() => import('./StatusBarPanel'));\nexport const VersionNumber: ComponentType<any> = lazy(() => import('./VersionNumber'));\n"],
|
|
5
|
+
"mappings": ";AAIA,SAA6BA,YAAY;AAElC,IAAMC,mBAAuCD,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC/D,IAAME,iBAAqCF,KAAK,MAAM,OAAO,gCAAA,CAAA;AAC7D,IAAMG,gBAAoCH,KAAK,MAAM,OAAO,+BAAA,CAAA;",
|
|
6
|
+
"names": ["lazy", "StatusBarActions", "StatusBarPanel", "VersionNumber"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":1570,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":621,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/StatusBarPlugin.ts":{"bytes":1956,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3283,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":802,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/components/StatusBar/StatusBar.tsx":{"bytes":7557,"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/StatusBar/index.ts":{"bytes":377,"imports":[{"path":"src/components/StatusBar/StatusBar.tsx","kind":"import-statement","original":"./StatusBar"}],"format":"esm"},"src/components/index.ts":{"bytes":377,"imports":[{"path":"src/components/StatusBar/index.ts","kind":"import-statement","original":"./StatusBar"}],"format":"esm"},"src/containers/VersionNumber/VersionNumber.tsx":{"bytes":11305,"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":"#components","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/containers/VersionNumber/index.ts":{"bytes":512,"imports":[{"path":"src/containers/VersionNumber/VersionNumber.tsx","kind":"import-statement","original":"./VersionNumber"}],"format":"esm"},"src/containers/StatusBarActions/StatusBarActions.tsx":{"bytes":7779,"imports":[{"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":"#components","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/containers/VersionNumber/index.ts","kind":"import-statement","original":"../VersionNumber"}],"format":"esm"},"src/containers/StatusBarActions/index.ts":{"bytes":530,"imports":[{"path":"src/containers/StatusBarActions/StatusBarActions.tsx","kind":"import-statement","original":"./StatusBarActions"}],"format":"esm"},"src/containers/StatusBarPanel/StatusBarPanel.tsx":{"bytes":1776,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"src/containers/StatusBarActions/index.ts","kind":"import-statement","original":"../StatusBarActions"}],"format":"esm"},"src/containers/StatusBarPanel/index.ts":{"bytes":518,"imports":[{"path":"src/containers/StatusBarPanel/StatusBarPanel.tsx","kind":"import-statement","original":"./StatusBarPanel"}],"format":"esm"},"src/containers/index.ts":{"bytes":1284,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/StatusBarActions/index.ts","kind":"dynamic-import","original":"./StatusBarActions"},{"path":"src/containers/StatusBarPanel/index.ts","kind":"dynamic-import","original":"./StatusBarPanel"},{"path":"src/containers/VersionNumber/index.ts","kind":"dynamic-import","original":"./VersionNumber"}],"format":"esm"},"src/plugin.ts":{"bytes":870,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":2337,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/react-surface-LRBTL7UM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1697},"dist/lib/neutral/react-surface-LRBTL7UM.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":866}},"bytes":1003},"dist/lib/neutral/VersionNumber-I6NWZVLO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/VersionNumber-I6NWZVLO.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-H63AWCK5.mjs","kind":"import-statement"}],"exports":["default"],"entryPoint":"src/containers/VersionNumber/index.ts","inputs":{},"bytes":147},"dist/lib/neutral/StatusBarActions-4BKTPZD2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/StatusBarActions-4BKTPZD2.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-KSMKTIOP.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-H63AWCK5.mjs","kind":"import-statement"}],"exports":["default"],"entryPoint":"src/containers/StatusBarActions/index.ts","inputs":{},"bytes":187},"dist/lib/neutral/StatusBarPanel-7MSGZVNG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":946},"dist/lib/neutral/StatusBarPanel-7MSGZVNG.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-KSMKTIOP.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-H63AWCK5.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/StatusBarPanel/index.ts","inputs":{"src/containers/StatusBarPanel/StatusBarPanel.tsx":{"bytesInOutput":421},"src/containers/StatusBarPanel/index.ts":{"bytesInOutput":0}},"bytes":657},"dist/lib/neutral/chunk-KSMKTIOP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4164},"dist/lib/neutral/chunk-KSMKTIOP.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-H63AWCK5.mjs","kind":"import-statement"},{"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":"#components","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["StatusBarActions"],"inputs":{"src/containers/StatusBarActions/StatusBarActions.tsx":{"bytesInOutput":2300},"src/containers/StatusBarActions/index.ts":{"bytesInOutput":0}},"bytes":2489},"dist/lib/neutral/chunk-H63AWCK5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6087},"dist/lib/neutral/chunk-H63AWCK5.mjs":{"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":"#components","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["VersionNumber"],"inputs":{"src/containers/VersionNumber/VersionNumber.tsx":{"bytesInOutput":3322},"src/containers/VersionNumber/index.ts":{"bytesInOutput":0}},"bytes":3445},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-BHLVVHW4.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":101},"dist/lib/neutral/StatusBarPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1027},"dist/lib/neutral/StatusBarPlugin.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"exports":["StatusBarPlugin","default"],"entryPoint":"src/StatusBarPlugin.ts","inputs":{"src/StatusBarPlugin.ts":{"bytesInOutput":434}},"bytes":573},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":432},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/react-surface-LRBTL7UM.mjs","kind":"dynamic-import"}],"exports":["ReactSurface"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":149}},"bytes":240},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4156},"dist/lib/neutral/components/index.mjs":{"imports":[{"path":"@radix-ui/react-slot","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["StatusBar"],"entryPoint":"src/components/index.ts","inputs":{"src/components/StatusBar/StatusBar.tsx":{"bytesInOutput":1886},"src/components/StatusBar/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0}},"bytes":1987},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":715},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/StatusBarActions-4BKTPZD2.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/StatusBarPanel-7MSGZVNG.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/VersionNumber-I6NWZVLO.mjs","kind":"dynamic-import"}],"exports":["StatusBarActions","StatusBarPanel","VersionNumber"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":257}},"bytes":385},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-BHLVVHW4.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":100},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":447},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-BHLVVHW4.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["StatusBarPlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":112}},"bytes":243},"dist/lib/neutral/chunk-BHLVVHW4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":776},"dist/lib/neutral/chunk-BHLVVHW4.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":377}},"bytes":456},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1121},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":596}},"bytes":688}}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-BHLVVHW4.mjs";
|
|
4
|
+
|
|
5
|
+
// src/plugin.ts
|
|
6
|
+
import { Plugin } from "@dxos/app-framework";
|
|
7
|
+
var StatusBarPlugin = Plugin.lazy(meta, () => import("#plugin"));
|
|
8
|
+
export {
|
|
9
|
+
StatusBarPlugin
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=plugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/plugin.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const StatusBarPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,kBAAkBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
|
|
6
|
+
"names": ["Plugin", "StatusBarPlugin", "Plugin", "lazy", "meta"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// src/capabilities/react-surface.tsx
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
5
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
6
|
+
import { StatusBarActions, StatusBarPanel, VersionNumber } from "#containers";
|
|
7
|
+
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
|
|
8
|
+
Surface.create({
|
|
9
|
+
id: "status-bar",
|
|
10
|
+
role: "status-bar",
|
|
11
|
+
component: () => /* @__PURE__ */ React.createElement(StatusBarPanel, null)
|
|
12
|
+
}),
|
|
13
|
+
Surface.create({
|
|
14
|
+
id: "status-bar--r1-footer",
|
|
15
|
+
role: "status-bar--r1-footer",
|
|
16
|
+
component: () => /* @__PURE__ */ React.createElement(StatusBarActions, null)
|
|
17
|
+
}),
|
|
18
|
+
Surface.create({
|
|
19
|
+
id: "version-info",
|
|
20
|
+
role: "version-info",
|
|
21
|
+
component: () => /* @__PURE__ */ React.createElement(VersionNumber, null)
|
|
22
|
+
})
|
|
23
|
+
])));
|
|
24
|
+
export {
|
|
25
|
+
react_surface_default as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=react-surface-LRBTL7UM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\n\nimport { StatusBarActions, StatusBarPanel, VersionNumber } from '#containers';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'status-bar',\n role: 'status-bar',\n component: () => <StatusBarPanel />,\n }),\n Surface.create({\n id: 'status-bar--r1-footer',\n role: 'status-bar--r1-footer',\n component: () => <StatusBarActions />,\n }),\n Surface.create({\n id: 'version-info',\n role: 'version-info',\n component: () => <VersionNumber />,\n }),\n ]),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AAExB,SAASC,kBAAkBC,gBAAgBC,qBAAqB;AAEhE,IAAA,wBAAeJ,WAAWK,WAAW,MAC5BC,eACLN,WAAWO,YAAYR,aAAaS,cAAc;EAChDP,QAAQQ,OAAO;IACbC,IAAI;IACJC,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACT,gBAAAA,IAAAA;EACpB,CAAA;EACAF,QAAQQ,OAAO;IACbC,IAAI;IACJC,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACV,kBAAAA,IAAAA;EACpB,CAAA;EACAD,QAAQQ,OAAO;IACbC,IAAI;IACJC,MAAM;IACNC,WAAW,MAAM,sBAAA,cAACR,eAAAA,IAAAA;EACpB,CAAA;CACD,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "React", "Capabilities", "Capability", "Surface", "StatusBarActions", "StatusBarPanel", "VersionNumber", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "role", "component"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/translations.ts
|
|
2
|
+
import { meta } from "#meta";
|
|
3
|
+
var translations = [
|
|
4
|
+
{
|
|
5
|
+
"en-US": {
|
|
6
|
+
[meta.id]: {
|
|
7
|
+
"plugin.name": "Status Bar",
|
|
8
|
+
"warning.title": "WARNING",
|
|
9
|
+
"technology-preview.message": "Composer is currently in beta.",
|
|
10
|
+
"learn-more.label": "Learn more",
|
|
11
|
+
"released.message": "This version was released {{released}}.",
|
|
12
|
+
"see-release.label": "See release on GitHub",
|
|
13
|
+
"powered-by-dxos.message": "Powered by <dxos>DXOS</dxos>",
|
|
14
|
+
"discord.label": "Discord",
|
|
15
|
+
"github.label": "GitHub",
|
|
16
|
+
"feedback.label": "Feedback"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
];
|
|
21
|
+
export {
|
|
22
|
+
translations
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=translations.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Status Bar',\n 'warning.title': 'WARNING',\n 'technology-preview.message': 'Composer is currently in beta.',\n 'learn-more.label': 'Learn more',\n 'released.message': 'This version was 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 'github.label': 'GitHub',\n 'feedback.label': 'Feedback',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKE,EAAE,GAAG;QACT,eAAe;QACf,iBAAiB;QACjB,8BAA8B;QAC9B,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,2BAA2B;QAC3B,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;MACpB;IACF;EACF;;",
|
|
6
|
+
"names": ["meta", "translations", "id"]
|
|
7
|
+
}
|