@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.
Files changed (68) hide show
  1. package/dist/lib/StatusBarPlugin.mjs +11 -0
  2. package/dist/lib/StatusBarPlugin.mjs.map +1 -0
  3. package/dist/lib/capabilities.mjs +7 -0
  4. package/dist/lib/capabilities.mjs.map +1 -0
  5. package/dist/lib/chunk-StatusBarActions.mjs +18 -0
  6. package/dist/lib/chunk-StatusBarActions.mjs.map +1 -0
  7. package/dist/lib/chunk-StatusBarPanel.mjs +21 -0
  8. package/dist/lib/chunk-StatusBarPanel.mjs.map +1 -0
  9. package/dist/lib/chunk-VersionNumber.mjs +56 -0
  10. package/dist/lib/chunk-VersionNumber.mjs.map +1 -0
  11. package/dist/lib/{neutral/chunk-2E5P36ZS.mjs → chunk-meta.mjs} +14 -23
  12. package/dist/lib/chunk-meta.mjs.map +1 -0
  13. package/dist/lib/chunk-react-surface.mjs +27 -0
  14. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  15. package/dist/lib/components.mjs +49 -0
  16. package/dist/lib/components.mjs.map +1 -0
  17. package/dist/lib/containers.mjs +9 -0
  18. package/dist/lib/containers.mjs.map +1 -0
  19. package/dist/lib/index.mjs +2 -0
  20. package/dist/lib/meta.mjs +2 -0
  21. package/dist/lib/plugin.mjs +8 -0
  22. package/dist/lib/plugin.mjs.map +1 -0
  23. package/dist/lib/translations.mjs +10 -0
  24. package/dist/lib/translations.mjs.map +1 -0
  25. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  26. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  27. package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts +4 -1
  28. package/dist/types/src/containers/StatusBarActions/StatusBarActions.d.ts.map +1 -1
  29. package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts +4 -1
  30. package/dist/types/src/containers/StatusBarPanel/StatusBarPanel.d.ts.map +1 -1
  31. package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts +4 -1
  32. package/dist/types/src/containers/VersionNumber/VersionNumber.d.ts.map +1 -1
  33. package/dist/types/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +28 -28
  35. package/src/capabilities/{react-surface.tsx → react-surface.ts} +3 -4
  36. package/src/containers/StatusBarActions/StatusBarActions.tsx +2 -0
  37. package/src/containers/StatusBarPanel/StatusBarPanel.tsx +2 -0
  38. package/src/containers/VersionNumber/VersionNumber.tsx +2 -0
  39. package/dist/lib/neutral/StatusBarActions-IBHBWRO6.mjs +0 -8
  40. package/dist/lib/neutral/StatusBarActions-IBHBWRO6.mjs.map +0 -7
  41. package/dist/lib/neutral/StatusBarPanel-DDRUA5HW.mjs +0 -21
  42. package/dist/lib/neutral/StatusBarPanel-DDRUA5HW.mjs.map +0 -7
  43. package/dist/lib/neutral/StatusBarPlugin.mjs +0 -17
  44. package/dist/lib/neutral/StatusBarPlugin.mjs.map +0 -7
  45. package/dist/lib/neutral/VersionNumber-5GAKJ4C7.mjs +0 -7
  46. package/dist/lib/neutral/VersionNumber-5GAKJ4C7.mjs.map +0 -7
  47. package/dist/lib/neutral/capabilities/index.mjs +0 -7
  48. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  49. package/dist/lib/neutral/chunk-2E5P36ZS.mjs.map +0 -7
  50. package/dist/lib/neutral/chunk-2ELP7HQP.mjs +0 -42
  51. package/dist/lib/neutral/chunk-2ELP7HQP.mjs.map +0 -7
  52. package/dist/lib/neutral/chunk-HD6YMFEZ.mjs +0 -18
  53. package/dist/lib/neutral/chunk-HD6YMFEZ.mjs.map +0 -7
  54. package/dist/lib/neutral/components/index.mjs +0 -48
  55. package/dist/lib/neutral/components/index.mjs.map +0 -7
  56. package/dist/lib/neutral/containers/index.mjs +0 -11
  57. package/dist/lib/neutral/containers/index.mjs.map +0 -7
  58. package/dist/lib/neutral/index.mjs +0 -7
  59. package/dist/lib/neutral/index.mjs.map +0 -7
  60. package/dist/lib/neutral/meta.json +0 -1
  61. package/dist/lib/neutral/meta.mjs +0 -7
  62. package/dist/lib/neutral/meta.mjs.map +0 -7
  63. package/dist/lib/neutral/plugin.mjs +0 -11
  64. package/dist/lib/neutral/plugin.mjs.map +0 -7
  65. package/dist/lib/neutral/react-surface-RHO32HV4.mjs +0 -28
  66. package/dist/lib/neutral/react-surface-RHO32HV4.mjs.map +0 -7
  67. package/dist/lib/neutral/translations.mjs +0 -16
  68. 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
- var dx_config_default = Config2.make({
8
- plugin: {
9
- key: "org.dxos.plugin.statusBar",
10
- name: "Status Bar",
11
- author: "DXOS",
12
- description: trim`
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
- icon: {
17
- key: "ph--info--regular"
18
- },
19
- tags: [
20
- "system"
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
- export {
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,2 @@
1
+ import { t as meta } from "./chunk-meta.mjs";
2
+ export { meta };
@@ -0,0 +1,2 @@
1
+ import { t as meta } from "./chunk-meta.mjs";
2
+ export { meta };
@@ -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, 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.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
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 const StatusBarActions: (_props: StatusBarActionsProps) => React.JSX.Element;
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;AAEvC,eAAO,MAAM,gBAAgB,WAAY,qBAAqB,sBAQ7D,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 const StatusBarPanel: (_props: StatusBarPanelProps) => React.JSX.Element;
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;AAErC,eAAO,MAAM,cAAc,WAAY,mBAAmB,sBAQzD,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 const VersionNumber: (_props: VersionNumberProps) => React.JSX.Element | null;
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;AAIpC,eAAO,MAAM,aAAa,WAAY,kBAAkB,6BA4BvD,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"}