@dxos/plugin-status-bar 0.9.1-staging.ee54ba693a → 0.11.0
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/StatusBarPlugin.mjs +11 -0
- package/dist/lib/StatusBarPlugin.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +7 -0
- package/dist/lib/capabilities.mjs.map +1 -0
- package/dist/lib/chunk-StatusBarActions.mjs +18 -0
- package/dist/lib/chunk-StatusBarActions.mjs.map +1 -0
- package/dist/lib/chunk-StatusBarPanel.mjs +21 -0
- package/dist/lib/chunk-StatusBarPanel.mjs.map +1 -0
- package/dist/lib/chunk-VersionNumber.mjs +56 -0
- package/dist/lib/chunk-VersionNumber.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-2E5P36ZS.mjs → chunk-meta.mjs} +14 -23
- package/dist/lib/chunk-meta.mjs.map +1 -0
- package/dist/lib/chunk-react-surface.mjs +27 -0
- package/dist/lib/chunk-react-surface.mjs.map +1 -0
- package/dist/lib/components.mjs +49 -0
- package/dist/lib/components.mjs.map +1 -0
- package/dist/lib/containers.mjs +9 -0
- package/dist/lib/containers.mjs.map +1 -0
- package/dist/lib/index.mjs +2 -0
- package/dist/lib/meta.mjs +2 -0
- package/dist/lib/plugin.mjs +8 -0
- package/dist/lib/plugin.mjs.map +1 -0
- package/dist/lib/translations.mjs +10 -0
- package/dist/lib/translations.mjs.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts +4 -1
- package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts.map +1 -1
- package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts +4 -1
- package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts.map +1 -1
- package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts +4 -1
- package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +28 -28
- package/src/capabilities/{react-surface.tsx → react-surface.ts} +3 -4
- package/src/containers/StatusBarActions/StatusBarActions.tsx +2 -0
- package/src/containers/StatusBarPanel/StatusBarPanel.tsx +2 -0
- package/src/containers/VersionNumber/VersionNumber.tsx +2 -0
- package/dist/lib/neutral/StatusBarActions-IBHBWRO6.mjs +0 -8
- package/dist/lib/neutral/StatusBarActions-IBHBWRO6.mjs.map +0 -7
- package/dist/lib/neutral/StatusBarPanel-DDRUA5HW.mjs +0 -21
- package/dist/lib/neutral/StatusBarPanel-DDRUA5HW.mjs.map +0 -7
- package/dist/lib/neutral/StatusBarPlugin.mjs +0 -17
- package/dist/lib/neutral/StatusBarPlugin.mjs.map +0 -7
- package/dist/lib/neutral/VersionNumber-5GAKJ4C7.mjs +0 -7
- package/dist/lib/neutral/VersionNumber-5GAKJ4C7.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/index.mjs +0 -7
- package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
- package/dist/lib/neutral/chunk-2E5P36ZS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-2ELP7HQP.mjs +0 -42
- package/dist/lib/neutral/chunk-2ELP7HQP.mjs.map +0 -7
- package/dist/lib/neutral/chunk-HD6YMFEZ.mjs +0 -18
- package/dist/lib/neutral/chunk-HD6YMFEZ.mjs.map +0 -7
- package/dist/lib/neutral/components/index.mjs +0 -48
- package/dist/lib/neutral/components/index.mjs.map +0 -7
- package/dist/lib/neutral/containers/index.mjs +0 -11
- package/dist/lib/neutral/containers/index.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -7
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/meta.mjs +0 -7
- package/dist/lib/neutral/meta.mjs.map +0 -7
- package/dist/lib/neutral/plugin.mjs +0 -11
- package/dist/lib/neutral/plugin.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-RHO32HV4.mjs +0 -28
- package/dist/lib/neutral/react-surface-RHO32HV4.mjs.map +0 -7
- package/dist/lib/neutral/translations.mjs +0 -16
- package/dist/lib/neutral/translations.mjs.map +0 -7
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Plugin } from "@dxos/app-framework";
|
|
2
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
3
|
+
import { ReactSurface } from "#capabilities";
|
|
4
|
+
import { meta } from "#meta";
|
|
5
|
+
import { translations } from "#translations";
|
|
6
|
+
//#region src/StatusBarPlugin.ts
|
|
7
|
+
var StatusBarPlugin = Plugin.define(meta).pipe(AppPlugin.addSurfaceModule({ activate: ReactSurface }), AppPlugin.addTranslationsModule({ translations }), Plugin.make);
|
|
8
|
+
//#endregion
|
|
9
|
+
export { StatusBarPlugin, StatusBarPlugin as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=StatusBarPlugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBarPlugin.mjs","names":[],"sources":["../../src/StatusBarPlugin.ts"],"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"],"mappings":";;;;;;AAWA,IAAa,kBAAkB,OAAO,OAAO,IAAI,CAAC,CAAC,KACjD,UAAU,iBAAiB,EAAE,UAAU,aAAa,CAAC,GACrD,UAAU,sBAAsB,EAAE,aAAa,CAAC,GAChD,OAAO,IACT"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Capability } from "@dxos/app-framework";
|
|
2
|
+
//#region src/capabilities/index.ts
|
|
3
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("./chunk-react-surface.mjs"));
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ReactSurface };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=capabilities.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/index.ts"],"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"],"mappings":";;AAMA,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { n as VersionNumber, r as __exportAll } from "./chunk-VersionNumber.mjs";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/containers/StatusBarActions/StatusBarActions.tsx
|
|
5
|
+
var StatusBarActions = (_props) => {
|
|
6
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
7
|
+
className: "h-full flex items-center px-2 gap-2",
|
|
8
|
+
children: [/* @__PURE__ */ jsx(VersionNumber, {}), /* @__PURE__ */ jsx("div", { className: "grow" })]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
StatusBarActions.displayName = "StatusBarActions";
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/containers/StatusBarActions/index.ts
|
|
14
|
+
var StatusBarActions_exports = /* @__PURE__ */ __exportAll({ default: () => StatusBarActions });
|
|
15
|
+
//#endregion
|
|
16
|
+
export { StatusBarActions as n, StatusBarActions_exports as t };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=chunk-StatusBarActions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-StatusBarActions.mjs","names":[],"sources":["../../src/containers/StatusBarActions/StatusBarActions.tsx","../../src/containers/StatusBarActions/index.ts"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport VersionNumber from '../VersionNumber';\n\nexport type StatusBarActionsProps = {};\n\nexport const StatusBarActions = (_props: StatusBarActionsProps) => {\n return (\n <div className='h-full flex items-center px-2 gap-2'>\n <VersionNumber />\n <div className='grow' />\n {/* TODO(burdon): Show EDGE service status? */}\n </div>\n );\n};\n\nStatusBarActions.displayName = 'StatusBarActions';\n","//\n// Copyright 2024 DXOS.org\n//\n\nexport { StatusBarActions as default } from './StatusBarActions';\n"],"mappings":";;;;AAUA,IAAa,oBAAoB,WAAkC;CACjE,OACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,oBAAC,OAAD,EAAK,WAAU,OAAQ,CAAA,CAEpB;;AAET;AAEA,iBAAiB,cAAc"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { n as StatusBarActions } from "./chunk-StatusBarActions.mjs";
|
|
2
|
+
import "react";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
5
|
+
import { StatusBar } from "@dxos/plugin-deck";
|
|
6
|
+
//#region src/containers/StatusBarPanel/StatusBarPanel.tsx
|
|
7
|
+
var StatusBarPanel = (_props) => {
|
|
8
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9
|
+
/* @__PURE__ */ jsx(StatusBarActions, {}),
|
|
10
|
+
/* @__PURE__ */ jsx("span", {
|
|
11
|
+
role: "separator",
|
|
12
|
+
className: "grow"
|
|
13
|
+
}),
|
|
14
|
+
/* @__PURE__ */ jsx(Surface.Surface, { type: StatusBar })
|
|
15
|
+
] });
|
|
16
|
+
};
|
|
17
|
+
StatusBarPanel.displayName = "StatusBarPanel";
|
|
18
|
+
//#endregion
|
|
19
|
+
export { StatusBarPanel as default };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=chunk-StatusBarPanel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-StatusBarPanel.mjs","names":[],"sources":["../../src/containers/StatusBarPanel/StatusBarPanel.tsx"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { StatusBar } from '@dxos/plugin-deck';\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 type={StatusBar} />\n </>\n );\n};\n\nStatusBarPanel.displayName = 'StatusBarPanel';\n"],"mappings":";;;;;;AAaA,IAAa,kBAAkB,WAAgC;CAC7D,OACE,qBAAA,UAAA,EAAA,UAAA;EACE,oBAAC,kBAAD,CAA0B,CAAA;EAC1B,oBAAC,QAAD;GAAM,MAAK;GAAY,WAAU;EAAQ,CAAA;EACzC,oBAAC,QAAQ,SAAT,EAAiB,MAAM,UAAY,CAAA;CACnC,EAAA,CAAA;AAEN;AAEA,eAAe,cAAc"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { meta } from "#meta";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { formatDistance, isValid } from "date-fns";
|
|
5
|
+
import { useConfig } from "@dxos/react-client";
|
|
6
|
+
import { Tooltip, useTranslation } from "@dxos/react-ui";
|
|
7
|
+
import { StatusBar } from "#components";
|
|
8
|
+
//#region \0rolldown/runtime.js
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __exportAll = (all, no_symbols) => {
|
|
11
|
+
let target = {};
|
|
12
|
+
for (var name in all) __defProp(target, name, {
|
|
13
|
+
get: all[name],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
17
|
+
return target;
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/containers/VersionNumber/VersionNumber.tsx
|
|
21
|
+
var VERSION_REGEX = /([\d.]+)/;
|
|
22
|
+
var VersionNumber = (_props) => {
|
|
23
|
+
const { t } = useTranslation(meta.profile.key);
|
|
24
|
+
const { version, timestamp } = useConfig().values.runtime?.app?.build ?? {};
|
|
25
|
+
const [_, short] = version?.match(VERSION_REGEX) ?? [];
|
|
26
|
+
if (!short) return null;
|
|
27
|
+
const releasedAt = timestamp ? new Date(timestamp) : void 0;
|
|
28
|
+
const released = releasedAt && isValid(releasedAt) ? t("released.message", { released: formatDistance(releasedAt, /* @__PURE__ */ new Date(), { addSuffix: true }) }) : void 0;
|
|
29
|
+
const content = /* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: "flex flex-col items-start gap-0.5",
|
|
31
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
32
|
+
className: "font-mono",
|
|
33
|
+
children: version
|
|
34
|
+
}), released && /* @__PURE__ */ jsx("span", {
|
|
35
|
+
className: "text-xs",
|
|
36
|
+
children: released
|
|
37
|
+
})]
|
|
38
|
+
});
|
|
39
|
+
return /* @__PURE__ */ jsx(Tooltip.Trigger, {
|
|
40
|
+
asChild: true,
|
|
41
|
+
content,
|
|
42
|
+
side: "top",
|
|
43
|
+
children: /* @__PURE__ */ jsx(StatusBar.Button, {
|
|
44
|
+
classNames: "h-full text-xs",
|
|
45
|
+
children: short
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
VersionNumber.displayName = "VersionNumber";
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/containers/VersionNumber/index.ts
|
|
52
|
+
var VersionNumber_exports = /* @__PURE__ */ __exportAll({ default: () => VersionNumber });
|
|
53
|
+
//#endregion
|
|
54
|
+
export { VersionNumber as n, __exportAll as r, VersionNumber_exports as t };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=chunk-VersionNumber.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-VersionNumber.mjs","names":[],"sources":["../../src/containers/VersionNumber/VersionNumber.tsx","../../src/containers/VersionNumber/index.ts"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport { formatDistance, isValid } from 'date-fns';\nimport React from 'react';\n\nimport { useConfig } from '@dxos/react-client';\nimport { Tooltip, useTranslation } from '@dxos/react-ui';\n\nimport { StatusBar } from '#components';\nimport { meta } from '#meta';\n\nexport type VersionNumberProps = {};\n\nconst VERSION_REGEX = /([\\d.]+)/;\n\nexport const VersionNumber = (_props: VersionNumberProps) => {\n const { t } = useTranslation(meta.profile.key);\n const config = useConfig();\n const { version, timestamp } = config.values.runtime?.app?.build ?? {};\n const [_, short] = version?.match(VERSION_REGEX) ?? [];\n\n if (!short) {\n return null;\n }\n\n const releasedAt = timestamp ? new Date(timestamp) : undefined;\n const released =\n releasedAt && isValid(releasedAt)\n ? t('released.message', { released: formatDistance(releasedAt, new Date(), { addSuffix: true }) })\n : undefined;\n\n const content = (\n <div className='flex flex-col items-start gap-0.5'>\n <span className='font-mono'>{version}</span>\n {released && <span className='text-xs'>{released}</span>}\n </div>\n );\n\n return (\n <Tooltip.Trigger asChild content={content} side='top'>\n <StatusBar.Button classNames='h-full text-xs'>{short}</StatusBar.Button>\n </Tooltip.Trigger>\n );\n};\n\nVersionNumber.displayName = 'VersionNumber';\n","//\n// Copyright 2024 DXOS.org\n//\n\nexport { VersionNumber as default } from './VersionNumber';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,IAAM,gBAAgB;AAEtB,IAAa,iBAAiB,WAA+B;CAC3D,MAAM,EAAE,MAAM,eAAe,KAAK,QAAQ,GAAG;CAE7C,MAAM,EAAE,SAAS,cADF,UACgB,CAAA,CAAO,OAAO,SAAS,KAAK,SAAS,CAAC;CACrE,MAAM,CAAC,GAAG,SAAS,SAAS,MAAM,aAAa,KAAK,CAAC;CAErD,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,aAAa,YAAY,IAAI,KAAK,SAAS,IAAI,KAAA;CACrD,MAAM,WACJ,cAAc,QAAQ,UAAU,IAC5B,EAAE,oBAAoB,EAAE,UAAU,eAAe,4BAAY,IAAI,KAAK,GAAG,EAAE,WAAW,KAAK,CAAC,EAAE,CAAC,IAC/F,KAAA;CAEN,MAAM,UACJ,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,oBAAC,QAAD;GAAM,WAAU;aAAa;EAAc,CAAA,GAC1C,YAAY,oBAAC,QAAD;GAAM,WAAU;aAAW;EAAe,CAAA,CACpD;;CAGP,OACE,oBAAC,QAAQ,SAAT;EAAiB,SAAA;EAAiB;EAAS,MAAK;YAC9C,oBAAC,UAAU,QAAX;GAAkB,YAAW;aAAkB;EAAwB,CAAA;CACxD,CAAA;AAErB;AAEA,cAAc,cAAc"}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
// src/meta.ts
|
|
2
1
|
import { Plugin } from "@dxos/app-framework";
|
|
3
|
-
|
|
4
|
-
// dx.config.ts
|
|
5
2
|
import { Config2 } from "@dxos/app-framework/config";
|
|
6
3
|
import { trim } from "@dxos/util";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
//#region dx.config.ts
|
|
5
|
+
var dx_config_default = Config2.make({ plugin: {
|
|
6
|
+
key: "org.dxos.plugin.statusBar",
|
|
7
|
+
name: "Status Bar",
|
|
8
|
+
author: "DXOS",
|
|
9
|
+
description: trim`
|
|
13
10
|
Persistent bottom bar displaying workspace status information and quick actions.
|
|
14
11
|
Access connection state, notifications, and common commands without leaving your current context.
|
|
15
12
|
`,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
]
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
// src/meta.ts
|
|
13
|
+
icon: { key: "ph--info--regular" },
|
|
14
|
+
tags: ["system"]
|
|
15
|
+
} });
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/meta.ts
|
|
26
18
|
var meta = Plugin.getMetaFromConfig(dx_config_default);
|
|
19
|
+
//#endregion
|
|
20
|
+
export { meta as t };
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
meta
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=chunk-2E5P36ZS.mjs.map
|
|
22
|
+
//# sourceMappingURL=chunk-meta.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-meta.mjs","names":[],"sources":["../../dx.config.ts","../../src/meta.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Config2 } from '@dxos/app-framework/config';\nimport { trim } from '@dxos/util';\n\nexport default Config2.make({\n plugin: {\n key: 'org.dxos.plugin.statusBar',\n name: 'Status Bar',\n author: 'DXOS',\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: { key: 'ph--info--regular' },\n tags: ['system'],\n },\n});\n","//\n// Copyright 2024 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport config from '../dx.config';\n\nexport const meta = Plugin.getMetaFromConfig(config);\n"],"mappings":";;;;AAOA,IAAA,oBAAe,QAAQ,KAAK,EAC1B,QAAQ;CACN,KAAK;CACL,MAAM;CACN,QAAQ;CACR,aAAa,IAAI;;;;CAIjB,MAAM,EAAE,KAAK,oBAAoB;CACjC,MAAM,CAAC,QAAQ;AACjB,EACF,CAAC;;;ACXD,IAAa,OAAO,OAAO,kBAAkB,iBAAM"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
4
|
+
import { StatusBar, StatusBarFooter, VersionInfo } from "@dxos/plugin-deck";
|
|
5
|
+
import { StatusBarActions, StatusBarPanel, VersionNumber } from "#containers";
|
|
6
|
+
//#region src/capabilities/react-surface.ts
|
|
7
|
+
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
|
|
8
|
+
Surface.create({
|
|
9
|
+
id: "statusBar",
|
|
10
|
+
filter: Surface.makeFilter(StatusBar),
|
|
11
|
+
component: StatusBarPanel
|
|
12
|
+
}),
|
|
13
|
+
Surface.create({
|
|
14
|
+
id: "statusBarFooter",
|
|
15
|
+
filter: Surface.makeFilter(StatusBarFooter),
|
|
16
|
+
component: StatusBarActions
|
|
17
|
+
}),
|
|
18
|
+
Surface.create({
|
|
19
|
+
id: "versionInfo",
|
|
20
|
+
filter: Surface.makeFilter(VersionInfo),
|
|
21
|
+
component: VersionNumber
|
|
22
|
+
})
|
|
23
|
+
])));
|
|
24
|
+
//#endregion
|
|
25
|
+
export { react_surface_default as default };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=chunk-react-surface.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-react-surface.mjs","names":[],"sources":["../../src/capabilities/react-surface.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { StatusBar, StatusBarFooter, VersionInfo } from '@dxos/plugin-deck';\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: 'statusBar',\n filter: Surface.makeFilter(StatusBar),\n component: StatusBarPanel,\n }),\n Surface.create({\n id: 'statusBarFooter',\n filter: Surface.makeFilter(StatusBarFooter),\n component: StatusBarActions,\n }),\n Surface.create({\n id: 'versionInfo',\n filter: Surface.makeFilter(VersionInfo),\n component: VersionNumber,\n }),\n ]),\n ),\n);\n"],"mappings":";;;;;;AAYA,IAAA,wBAAe,WAAW,iBACxB,OAAO,QACL,WAAW,YAAY,aAAa,cAAc;CAChD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,QAAQ,WAAW,SAAS;EACpC,WAAW;CACb,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,QAAQ,WAAW,eAAe;EAC1C,WAAW;CACb,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,QAAQ,WAAW,WAAW;EACtC,WAAW;CACb,CAAC;AACH,CAAC,CACH,CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { mx } from "@dxos/ui-theme";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
var StatusBar = {
|
|
6
|
+
Item: forwardRef(({ classNames, children, ...props }, forwardedRef) => {
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
...props,
|
|
9
|
+
role: "status",
|
|
10
|
+
className: mx("grid place-items-center", classNames),
|
|
11
|
+
ref: forwardedRef,
|
|
12
|
+
children
|
|
13
|
+
});
|
|
14
|
+
}),
|
|
15
|
+
Text: forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ jsx("span", {
|
|
16
|
+
className: mx(classNames),
|
|
17
|
+
ref: forwardedRef,
|
|
18
|
+
children
|
|
19
|
+
})),
|
|
20
|
+
Button: forwardRef(({ classNames, children, asChild, ...props }, forwardedRef) => {
|
|
21
|
+
const classes = mx("flex items-center justify-center gap-2 p-1 px-2 rounded-xs", "select-none cursor-pointer dx-focus-ring text-description text-xs", "hover:bg-neutral-100 active:bg-neutral-200 dark:hover:bg-neutral-700 dark:active:bg-neutral-600", classNames);
|
|
22
|
+
return asChild ? /* @__PURE__ */ jsx(Slot, {
|
|
23
|
+
role: "button",
|
|
24
|
+
ref: forwardedRef,
|
|
25
|
+
className: classes,
|
|
26
|
+
...props,
|
|
27
|
+
children
|
|
28
|
+
}) : /* @__PURE__ */ jsx("button", {
|
|
29
|
+
className: classes,
|
|
30
|
+
ref: forwardedRef,
|
|
31
|
+
...props,
|
|
32
|
+
children
|
|
33
|
+
});
|
|
34
|
+
}),
|
|
35
|
+
StartContent: forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ jsx("div", {
|
|
36
|
+
className: mx("flex-grow flex items-center space-x-2", classNames),
|
|
37
|
+
ref: forwardedRef,
|
|
38
|
+
children
|
|
39
|
+
})),
|
|
40
|
+
EndContent: forwardRef(({ classNames, children }, forwardedRef) => /* @__PURE__ */ jsx("div", {
|
|
41
|
+
className: mx("flex-grow flex items-center justify-end", classNames),
|
|
42
|
+
ref: forwardedRef,
|
|
43
|
+
children
|
|
44
|
+
}))
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { StatusBar };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=components.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.mjs","names":[],"sources":["../../src/components/StatusBar/StatusBar.tsx"],"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"],"mappings":";;;;AAgGA,IAAa,YAAY;CACvB,MAjFoB,YACnB,EAAE,YAAY,UAAU,GAAG,SAAS,iBAAiB;EACpD,OACE,oBAAC,OAAD;GAAK,GAAI;GAAO,MAAK;GAAS,WAAW,GAAG,2BAA2B,UAAU;GAAG,KAAK;GACtF;EACE,CAAA;CAET,CA0EM;CACN,MAlEoB,YAAiD,EAAE,YAAY,YAAY,iBAC/F,oBAAC,QAAD;EAAM,WAAW,GAAG,UAAU;EAAG,KAAK;EACnC;CACG,CAAA,CA+DA;CACN,QApDsB,YACrB,EAAE,YAAY,UAAU,SAAS,GAAG,SAAS,iBAAiB;EAC7D,MAAM,UAAU,GACd,8DACA,qEACA,mGACA,UACF;EAEA,OAAO,UACL,oBAAC,MAAD;GAAM,MAAK;GAAS,KAAK;GAAc,WAAW;GAAS,GAAI;GAC5D;EACG,CAAA,IAEN,oBAAC,UAAD;GAAQ,WAAW;GAAS,KAAK;GAAc,GAAI;GAChD;EACK,CAAA;CAEZ,CAkCQ;CACR,cA1BmB,YAA+C,EAAE,YAAY,YAAY,iBAC5F,oBAAC,OAAD;EAAK,WAAW,GAAG,yCAAyC,UAAU;EAAG,KAAK;EAC3E;CACE,CAAA,CAuBL;CACA,YAfiB,YAA6C,EAAE,YAAY,YAAY,iBACxF,oBAAC,OAAD;EAAK,WAAW,GAAG,2CAA2C,UAAU;EAAG,KAAK;EAC7E;CACE,CAAA,CAYL;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { lazy } from "react";
|
|
2
|
+
//#region src/containers/index.ts
|
|
3
|
+
var StatusBarActions = lazy(() => import("./chunk-StatusBarActions.mjs").then((n) => n.t));
|
|
4
|
+
var StatusBarPanel = lazy(() => import("./chunk-StatusBarPanel.mjs"));
|
|
5
|
+
var VersionNumber = lazy(() => import("./chunk-VersionNumber.mjs").then((n) => n.t));
|
|
6
|
+
//#endregion
|
|
7
|
+
export { StatusBarActions, StatusBarPanel, VersionNumber };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=containers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"containers.mjs","names":[],"sources":["../../src/containers/index.ts"],"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"],"mappings":";;AAMA,IAAa,mBAAuC,WAAW,OAAO,+BAAqB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;AAC3F,IAAa,iBAAqC,WAAW,OAAO,6BAAmB;AACvF,IAAa,gBAAoC,WAAW,OAAO,4BAAkB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { t as meta } from "./chunk-meta.mjs";
|
|
2
|
+
import { Plugin } from "@dxos/app-framework";
|
|
3
|
+
//#region src/plugin.ts
|
|
4
|
+
var StatusBarPlugin = Plugin.lazy(meta, () => import("#plugin"));
|
|
5
|
+
//#endregion
|
|
6
|
+
export { StatusBarPlugin };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=plugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.mjs","names":[],"sources":["../../src/plugin.ts"],"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"],"mappings":";;;AAQA,IAAa,kBAAkB,OAAO,KAAK,YAAY,OAAO,UAAU"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { meta } from "#meta";
|
|
2
|
+
//#region src/translations.ts
|
|
3
|
+
var translations = [{ "en-US": { [meta.profile.key]: {
|
|
4
|
+
"plugin.name": "Status Bar",
|
|
5
|
+
"released.message": "Released {{released}}"
|
|
6
|
+
} } }];
|
|
7
|
+
//#endregion
|
|
8
|
+
export { translations };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=translations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translations.mjs","names":[],"sources":["../../src/translations.ts"],"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.profile.key]: {\n 'plugin.name': 'Status Bar',\n 'released.message': 'Released {{released}}',\n },\n },\n },\n] as const satisfies Resource[];\n"],"mappings":";;AAQA,IAAa,eAAe,CAC1B,EACE,SAAS,GACN,KAAK,QAAQ,MAAM;CAClB,eAAe;CACf,oBAAoB;AACtB,EACF,EACF,CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Effect from 'effect/Effect';
|
|
2
2
|
import { Capability } from '@dxos/app-framework';
|
|
3
|
-
declare const _default: (props: void) => Effect.Effect<Capability.Any, never,
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type StatusBarActionsProps = {};
|
|
3
|
-
export declare
|
|
3
|
+
export declare function StatusBarActions(_props: StatusBarActionsProps): React.JSX.Element;
|
|
4
|
+
export declare namespace StatusBarActions {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
4
7
|
//# sourceMappingURL=StatusBarActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarActions.d.ts","sourceRoot":"","sources":["../../../../../src/containers/StatusBarActions/StatusBarActions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBarActions.d.ts","sourceRoot":"","sources":["../../../../../src/containers/StatusBarActions/StatusBarActions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;yCAEN,MAAM,EAAE,qBAAqB"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type StatusBarPanelProps = {};
|
|
3
|
-
export declare
|
|
3
|
+
export declare function StatusBarPanel(_props: StatusBarPanelProps): React.JSX.Element;
|
|
4
|
+
export declare namespace StatusBarPanel {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
4
7
|
//# sourceMappingURL=StatusBarPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarPanel.d.ts","sourceRoot":"","sources":["../../../../../src/containers/StatusBarPanel/StatusBarPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,MAAM,mBAAmB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBarPanel.d.ts","sourceRoot":"","sources":["../../../../../src/containers/StatusBarPanel/StatusBarPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,MAAM,mBAAmB,GAAG,EAAE,CAAC;uCAEN,MAAM,EAAE,mBAAmB"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export type VersionNumberProps = {};
|
|
3
|
-
export declare
|
|
3
|
+
export declare function VersionNumber(_props: VersionNumberProps): React.JSX.Element | null;
|
|
4
|
+
export declare namespace VersionNumber {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
4
7
|
//# sourceMappingURL=VersionNumber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionNumber.d.ts","sourceRoot":"","sources":["../../../../../src/containers/VersionNumber/VersionNumber.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"VersionNumber.d.ts","sourceRoot":"","sources":["../../../../../src/containers/VersionNumber/VersionNumber.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC;sCAIN,MAAM,EAAE,kBAAkB"}
|