@multiplatform.one/backoffice 6.4.0 → 6.4.2
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/cjs/chrome/CommandPalette.cjs +20 -9
- package/dist/cjs/chrome/CommandPalette.native.js +18 -10
- package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
- package/dist/cjs/i18n/en.cjs +21 -0
- package/dist/cjs/i18n/en.native.js +21 -0
- package/dist/cjs/i18n/en.native.js.map +1 -1
- package/dist/cjs/index.cjs +49 -1
- package/dist/cjs/index.native.js +48 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/types.cjs +18 -0
- package/dist/cjs/shared/types.native.js +21 -0
- package/dist/cjs/shared/types.native.js.map +1 -0
- package/dist/cjs/shared/useDocinfo.cjs +116 -0
- package/dist/cjs/shared/useDocinfo.native.js +167 -0
- package/dist/cjs/shared/useDocinfo.native.js.map +1 -0
- package/dist/cjs/shared/useDoctypeMeta.cjs +124 -0
- package/dist/cjs/shared/useDoctypeMeta.native.js +158 -0
- package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/cjs/shared/useRecentVisit.cjs +40 -0
- package/dist/cjs/shared/useRecentVisit.native.js +43 -0
- package/dist/cjs/shared/useRecentVisit.native.js.map +1 -0
- package/dist/cjs/shared/useSessionUserId.cjs +54 -0
- package/dist/cjs/shared/useSessionUserId.native.js +59 -0
- package/dist/cjs/shared/useSessionUserId.native.js.map +1 -0
- package/dist/cjs/shared/useSlugTarget.cjs +138 -0
- package/dist/cjs/shared/useSlugTarget.native.js +166 -0
- package/dist/cjs/shared/useSlugTarget.native.js.map +1 -0
- package/dist/cjs/shared/useUserRoles.cjs +72 -0
- package/dist/cjs/shared/useUserRoles.native.js +79 -0
- package/dist/cjs/shared/useUserRoles.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.cjs +136 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js +144 -0
- package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceGrid.cjs +91 -0
- package/dist/cjs/workspace/WorkspaceGrid.native.js +126 -0
- package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.cjs +139 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js +155 -0
- package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +110 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +127 -0
- package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.cjs +133 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js +138 -0
- package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceQuickList.cjs +112 -0
- package/dist/cjs/workspace/WorkspaceQuickList.native.js +130 -0
- package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceRecents.cjs +116 -0
- package/dist/cjs/workspace/WorkspaceRecents.native.js +132 -0
- package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceScreen.cjs +291 -0
- package/dist/cjs/workspace/WorkspaceScreen.native.js +323 -0
- package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/cjs/workspace/WorkspaceShortcut.cjs +185 -0
- package/dist/cjs/workspace/WorkspaceShortcut.native.js +202 -0
- package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/cjs/workspace/parseContent.cjs +180 -0
- package/dist/cjs/workspace/parseContent.native.js +299 -0
- package/dist/cjs/workspace/parseContent.native.js.map +1 -0
- package/dist/cjs/workspace/types.cjs +18 -0
- package/dist/cjs/workspace/types.native.js +21 -0
- package/dist/cjs/workspace/types.native.js.map +1 -0
- package/dist/cjs/workspace/useDashboardChart.cjs +96 -0
- package/dist/cjs/workspace/useDashboardChart.native.js +110 -0
- package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/cjs/workspace/useWorkspaceDoc.cjs +103 -0
- package/dist/cjs/workspace/useWorkspaceDoc.native.js +120 -0
- package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/dist/esm/chrome/CommandPalette.mjs +20 -9
- package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
- package/dist/esm/chrome/CommandPalette.native.js +18 -10
- package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
- package/dist/esm/i18n/en.mjs +21 -0
- package/dist/esm/i18n/en.mjs.map +1 -1
- package/dist/esm/i18n/en.native.js +21 -0
- package/dist/esm/i18n/en.native.js.map +1 -1
- package/dist/esm/index.mjs +19 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +19 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/types.mjs +2 -0
- package/dist/esm/shared/types.mjs.map +1 -0
- package/dist/esm/shared/types.native.js +2 -0
- package/dist/esm/shared/types.native.js.map +1 -0
- package/dist/esm/shared/useDocinfo.mjs +90 -0
- package/dist/esm/shared/useDocinfo.mjs.map +1 -0
- package/dist/esm/shared/useDocinfo.native.js +138 -0
- package/dist/esm/shared/useDocinfo.native.js.map +1 -0
- package/dist/esm/shared/useDoctypeMeta.mjs +99 -0
- package/dist/esm/shared/useDoctypeMeta.mjs.map +1 -0
- package/dist/esm/shared/useDoctypeMeta.native.js +130 -0
- package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/esm/shared/useRecentVisit.mjs +15 -0
- package/dist/esm/shared/useRecentVisit.mjs.map +1 -0
- package/dist/esm/shared/useRecentVisit.native.js +15 -0
- package/dist/esm/shared/useRecentVisit.native.js.map +1 -0
- package/dist/esm/shared/useSessionUserId.mjs +29 -0
- package/dist/esm/shared/useSessionUserId.mjs.map +1 -0
- package/dist/esm/shared/useSessionUserId.native.js +31 -0
- package/dist/esm/shared/useSessionUserId.native.js.map +1 -0
- package/dist/esm/shared/useSlugTarget.mjs +113 -0
- package/dist/esm/shared/useSlugTarget.mjs.map +1 -0
- package/dist/esm/shared/useSlugTarget.native.js +138 -0
- package/dist/esm/shared/useSlugTarget.native.js.map +1 -0
- package/dist/esm/shared/useUserRoles.mjs +47 -0
- package/dist/esm/shared/useUserRoles.mjs.map +1 -0
- package/dist/esm/shared/useUserRoles.native.js +51 -0
- package/dist/esm/shared/useUserRoles.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceChartBlock.mjs +111 -0
- package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceChartBlock.native.js +116 -0
- package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceGrid.mjs +66 -0
- package/dist/esm/workspace/WorkspaceGrid.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceGrid.native.js +98 -0
- package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkCard.mjs +113 -0
- package/dist/esm/workspace/WorkspaceLinkCard.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkCard.native.js +126 -0
- package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +84 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +98 -0
- package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceNumberCard.mjs +108 -0
- package/dist/esm/workspace/WorkspaceNumberCard.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceNumberCard.native.js +110 -0
- package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceQuickList.mjs +87 -0
- package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceQuickList.native.js +102 -0
- package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceRecents.mjs +91 -0
- package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceRecents.native.js +104 -0
- package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceScreen.mjs +266 -0
- package/dist/esm/workspace/WorkspaceScreen.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceScreen.native.js +295 -0
- package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/esm/workspace/WorkspaceShortcut.mjs +159 -0
- package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -0
- package/dist/esm/workspace/WorkspaceShortcut.native.js +173 -0
- package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/esm/workspace/parseContent.mjs +148 -0
- package/dist/esm/workspace/parseContent.mjs.map +1 -0
- package/dist/esm/workspace/parseContent.native.js +264 -0
- package/dist/esm/workspace/parseContent.native.js.map +1 -0
- package/dist/esm/workspace/types.mjs +2 -0
- package/dist/esm/workspace/types.mjs.map +1 -0
- package/dist/esm/workspace/types.native.js +2 -0
- package/dist/esm/workspace/types.native.js.map +1 -0
- package/dist/esm/workspace/useDashboardChart.mjs +71 -0
- package/dist/esm/workspace/useDashboardChart.mjs.map +1 -0
- package/dist/esm/workspace/useDashboardChart.native.js +82 -0
- package/dist/esm/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/esm/workspace/useWorkspaceDoc.mjs +77 -0
- package/dist/esm/workspace/useWorkspaceDoc.mjs.map +1 -0
- package/dist/esm/workspace/useWorkspaceDoc.native.js +91 -0
- package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/dist/jsx/chrome/CommandPalette.mjs +20 -9
- package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
- package/dist/jsx/chrome/CommandPalette.native.js +18 -10
- package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
- package/dist/jsx/i18n/en.mjs +21 -0
- package/dist/jsx/i18n/en.mjs.map +1 -1
- package/dist/jsx/i18n/en.native.js +21 -0
- package/dist/jsx/i18n/en.native.js.map +1 -1
- package/dist/jsx/index.js +19 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +19 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +48 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/types.mjs +2 -0
- package/dist/jsx/shared/types.mjs.map +1 -0
- package/dist/jsx/shared/types.native.js +21 -0
- package/dist/jsx/shared/types.native.js.map +1 -0
- package/dist/jsx/shared/useDocinfo.mjs +90 -0
- package/dist/jsx/shared/useDocinfo.mjs.map +1 -0
- package/dist/jsx/shared/useDocinfo.native.js +167 -0
- package/dist/jsx/shared/useDocinfo.native.js.map +1 -0
- package/dist/jsx/shared/useDoctypeMeta.mjs +99 -0
- package/dist/jsx/shared/useDoctypeMeta.mjs.map +1 -0
- package/dist/jsx/shared/useDoctypeMeta.native.js +158 -0
- package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -0
- package/dist/jsx/shared/useRecentVisit.mjs +15 -0
- package/dist/jsx/shared/useRecentVisit.mjs.map +1 -0
- package/dist/jsx/shared/useRecentVisit.native.js +43 -0
- package/dist/jsx/shared/useRecentVisit.native.js.map +1 -0
- package/dist/jsx/shared/useSessionUserId.mjs +29 -0
- package/dist/jsx/shared/useSessionUserId.mjs.map +1 -0
- package/dist/jsx/shared/useSessionUserId.native.js +59 -0
- package/dist/jsx/shared/useSessionUserId.native.js.map +1 -0
- package/dist/jsx/shared/useSlugTarget.mjs +113 -0
- package/dist/jsx/shared/useSlugTarget.mjs.map +1 -0
- package/dist/jsx/shared/useSlugTarget.native.js +166 -0
- package/dist/jsx/shared/useSlugTarget.native.js.map +1 -0
- package/dist/jsx/shared/useUserRoles.mjs +47 -0
- package/dist/jsx/shared/useUserRoles.mjs.map +1 -0
- package/dist/jsx/shared/useUserRoles.native.js +79 -0
- package/dist/jsx/shared/useUserRoles.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs +111 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js +144 -0
- package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceGrid.mjs +66 -0
- package/dist/jsx/workspace/WorkspaceGrid.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceGrid.native.js +126 -0
- package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs +113 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js +155 -0
- package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +84 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +127 -0
- package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs +108 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js +138 -0
- package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceQuickList.mjs +87 -0
- package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceQuickList.native.js +130 -0
- package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceRecents.mjs +91 -0
- package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceRecents.native.js +132 -0
- package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceScreen.mjs +266 -0
- package/dist/jsx/workspace/WorkspaceScreen.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceScreen.native.js +323 -0
- package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -0
- package/dist/jsx/workspace/WorkspaceShortcut.mjs +159 -0
- package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -0
- package/dist/jsx/workspace/WorkspaceShortcut.native.js +202 -0
- package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -0
- package/dist/jsx/workspace/parseContent.mjs +148 -0
- package/dist/jsx/workspace/parseContent.mjs.map +1 -0
- package/dist/jsx/workspace/parseContent.native.js +299 -0
- package/dist/jsx/workspace/parseContent.native.js.map +1 -0
- package/dist/jsx/workspace/types.mjs +2 -0
- package/dist/jsx/workspace/types.mjs.map +1 -0
- package/dist/jsx/workspace/types.native.js +21 -0
- package/dist/jsx/workspace/types.native.js.map +1 -0
- package/dist/jsx/workspace/useDashboardChart.mjs +71 -0
- package/dist/jsx/workspace/useDashboardChart.mjs.map +1 -0
- package/dist/jsx/workspace/useDashboardChart.native.js +110 -0
- package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -0
- package/dist/jsx/workspace/useWorkspaceDoc.mjs +77 -0
- package/dist/jsx/workspace/useWorkspaceDoc.mjs.map +1 -0
- package/dist/jsx/workspace/useWorkspaceDoc.native.js +120 -0
- package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -0
- package/package.json +12 -12
- package/src/chrome/CommandPalette.tsx +35 -15
- package/src/i18n/en.ts +21 -0
- package/src/index.ts +69 -0
- package/src/shared/types.ts +14 -0
- package/src/shared/useDocinfo.ts +163 -0
- package/src/shared/useDoctypeMeta.ts +243 -0
- package/src/shared/useRecentVisit.ts +33 -0
- package/src/shared/useSessionUserId.ts +42 -0
- package/src/shared/useSlugTarget.ts +143 -0
- package/src/shared/useUserRoles.ts +66 -0
- package/src/workspace/WorkspaceChartBlock.tsx +115 -0
- package/src/workspace/WorkspaceGrid.tsx +82 -0
- package/src/workspace/WorkspaceLinkCard.tsx +134 -0
- package/src/workspace/WorkspaceLinkDirectory.tsx +126 -0
- package/src/workspace/WorkspaceNumberCard.tsx +126 -0
- package/src/workspace/WorkspaceQuickList.tsx +100 -0
- package/src/workspace/WorkspaceRecents.tsx +100 -0
- package/src/workspace/WorkspaceScreen.tsx +322 -0
- package/src/workspace/WorkspaceShortcut.tsx +223 -0
- package/src/workspace/parseContent.spec.ts +327 -0
- package/src/workspace/parseContent.ts +240 -0
- package/src/workspace/types.ts +135 -0
- package/src/workspace/useDashboardChart.ts +115 -0
- package/src/workspace/useWorkspaceDoc.ts +111 -0
- package/types/chrome/CommandPalette.d.ts.map +1 -1
- package/types/i18n/en.d.ts +19 -0
- package/types/i18n/en.d.ts.map +1 -1
- package/types/index.d.ts +34 -0
- package/types/index.d.ts.map +1 -1
- package/types/shared/types.d.ts +21 -0
- package/types/shared/types.d.ts.map +1 -0
- package/types/shared/useDocinfo.d.ts +61 -0
- package/types/shared/useDocinfo.d.ts.map +1 -0
- package/types/shared/useDoctypeMeta.d.ts +118 -0
- package/types/shared/useDoctypeMeta.d.ts.map +1 -0
- package/types/shared/useRecentVisit.d.ts +10 -0
- package/types/shared/useRecentVisit.d.ts.map +1 -0
- package/types/shared/useSessionUserId.d.ts +6 -0
- package/types/shared/useSessionUserId.d.ts.map +1 -0
- package/types/shared/useSlugTarget.d.ts +18 -0
- package/types/shared/useSlugTarget.d.ts.map +1 -0
- package/types/shared/useUserRoles.d.ts +15 -0
- package/types/shared/useUserRoles.d.ts.map +1 -0
- package/types/workspace/WorkspaceChartBlock.d.ts +6 -0
- package/types/workspace/WorkspaceChartBlock.d.ts.map +1 -0
- package/types/workspace/WorkspaceGrid.d.ts +23 -0
- package/types/workspace/WorkspaceGrid.d.ts.map +1 -0
- package/types/workspace/WorkspaceLinkCard.d.ts +20 -0
- package/types/workspace/WorkspaceLinkCard.d.ts.map +1 -0
- package/types/workspace/WorkspaceLinkDirectory.d.ts +19 -0
- package/types/workspace/WorkspaceLinkDirectory.d.ts.map +1 -0
- package/types/workspace/WorkspaceNumberCard.d.ts +19 -0
- package/types/workspace/WorkspaceNumberCard.d.ts.map +1 -0
- package/types/workspace/WorkspaceQuickList.d.ts +6 -0
- package/types/workspace/WorkspaceQuickList.d.ts.map +1 -0
- package/types/workspace/WorkspaceRecents.d.ts +2 -0
- package/types/workspace/WorkspaceRecents.d.ts.map +1 -0
- package/types/workspace/WorkspaceScreen.d.ts +24 -0
- package/types/workspace/WorkspaceScreen.d.ts.map +1 -0
- package/types/workspace/WorkspaceShortcut.d.ts +27 -0
- package/types/workspace/WorkspaceShortcut.d.ts.map +1 -0
- package/types/workspace/parseContent.d.ts +77 -0
- package/types/workspace/parseContent.d.ts.map +1 -0
- package/types/workspace/types.d.ts +112 -0
- package/types/workspace/types.d.ts.map +1 -0
- package/types/workspace/useDashboardChart.d.ts +29 -0
- package/types/workspace/useDashboardChart.d.ts.map +1 -0
- package/types/workspace/useWorkspaceDoc.d.ts +18 -0
- package/types/workspace/useWorkspaceDoc.d.ts.map +1 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { AsyncBoundary, Card, SizableText, Skeleton, YStack } from "@multiplatform.one/components";
|
|
2
|
+
import { ChartCard } from "@multiplatform.one/frappe-ui";
|
|
3
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
|
|
7
|
+
import { useDashboardChartData } from "./useDashboardChart.mjs";
|
|
8
|
+
import { useFrappeDoc } from "./useWorkspaceDoc.mjs";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
function toChartType(frappeType) {
|
|
11
|
+
switch (frappeType) {
|
|
12
|
+
case "Line":
|
|
13
|
+
return "line";
|
|
14
|
+
case "Pie":
|
|
15
|
+
case "Donut":
|
|
16
|
+
case "Percentage":
|
|
17
|
+
return "pie";
|
|
18
|
+
default:
|
|
19
|
+
return "bar";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function WorkspaceChartBlock({
|
|
23
|
+
row
|
|
24
|
+
}) {
|
|
25
|
+
const {
|
|
26
|
+
t
|
|
27
|
+
} = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
28
|
+
const {
|
|
29
|
+
knobProps
|
|
30
|
+
} = useResolvedKnobs();
|
|
31
|
+
const title = row.label || row.chart_name;
|
|
32
|
+
const {
|
|
33
|
+
doc: chartDoc,
|
|
34
|
+
isLoading: docLoading,
|
|
35
|
+
error: docError
|
|
36
|
+
} = useFrappeDoc("Dashboard Chart", row.chart_name);
|
|
37
|
+
const {
|
|
38
|
+
series,
|
|
39
|
+
isLoading: dataLoading,
|
|
40
|
+
error: dataError,
|
|
41
|
+
unsupported
|
|
42
|
+
} = useDashboardChartData(row.chart_name);
|
|
43
|
+
const config = useMemo(() => {
|
|
44
|
+
if (!series) return void 0;
|
|
45
|
+
const dataset = series.datasets?.[0];
|
|
46
|
+
if (!dataset) return void 0;
|
|
47
|
+
return {
|
|
48
|
+
id: `workspace-chart-${row.name}`,
|
|
49
|
+
title,
|
|
50
|
+
type: toChartType(chartDoc?.type),
|
|
51
|
+
data: series.labels.map((label, index) => ({
|
|
52
|
+
label,
|
|
53
|
+
value: dataset.values[index] ?? 0
|
|
54
|
+
})),
|
|
55
|
+
height: 220
|
|
56
|
+
};
|
|
57
|
+
}, [series, chartDoc?.type, row.name, title]);
|
|
58
|
+
if (unsupported) {
|
|
59
|
+
return /* @__PURE__ */jsx(Card, {
|
|
60
|
+
flexGrow: 1,
|
|
61
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
62
|
+
...knobProps.panelPadding,
|
|
63
|
+
...knobProps.gap,
|
|
64
|
+
children: [/* @__PURE__ */jsx(SizableText, {
|
|
65
|
+
size: "$4",
|
|
66
|
+
fontWeight: "700",
|
|
67
|
+
children: title
|
|
68
|
+
}), /* @__PURE__ */jsx(SizableText, {
|
|
69
|
+
size: "$2",
|
|
70
|
+
color: "$color10",
|
|
71
|
+
children: t("workspaceChartFixture", "Chart data is only available on a live bench")
|
|
72
|
+
})]
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (docLoading || dataLoading) {
|
|
77
|
+
return /* @__PURE__ */jsx(Card, {
|
|
78
|
+
flexGrow: 1,
|
|
79
|
+
"aria-busy": true,
|
|
80
|
+
"aria-label": t("loading", "Loading"),
|
|
81
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
82
|
+
...knobProps.panelPadding,
|
|
83
|
+
...knobProps.gap,
|
|
84
|
+
children: [/* @__PURE__ */jsx(Skeleton, {
|
|
85
|
+
width: "40%",
|
|
86
|
+
height: 16
|
|
87
|
+
}), /* @__PURE__ */jsx(Skeleton, {
|
|
88
|
+
variant: "rounded",
|
|
89
|
+
width: "100%",
|
|
90
|
+
height: 220
|
|
91
|
+
})]
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
const error = docError ?? dataError;
|
|
96
|
+
if (error || !config) {
|
|
97
|
+
return /* @__PURE__ */jsx(AsyncBoundary, {
|
|
98
|
+
compact: true,
|
|
99
|
+
error: error ?? true,
|
|
100
|
+
errorTitle: t("workspaceChartError", "Couldn't load chart {{title}}", {
|
|
101
|
+
title
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return /* @__PURE__ */jsx(ChartCard, {
|
|
106
|
+
config,
|
|
107
|
+
flexGrow: 1
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
export { WorkspaceChartBlock };
|
|
111
|
+
//# sourceMappingURL=WorkspaceChartBlock.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AsyncBoundary","Card","SizableText","Skeleton","YStack","ChartCard","useResolvedKnobs","useMemo","useTranslation","BACKOFFICE_I18N_NAMESPACE","useDashboardChartData","useFrappeDoc","jsx","jsxs","toChartType","frappeType","WorkspaceChartBlock","row","t","knobProps","title","label","chart_name","doc","chartDoc","isLoading","docLoading","error","docError","series","dataLoading","dataError","unsupported","config","dataset","datasets","id","name","type","data","labels","map","index","value","values","height","flexGrow","children","panelPadding","gap","size","fontWeight","color","width","variant","compact","errorTitle"],"sources":["../../../src/workspace/WorkspaceChartBlock.tsx"],"sourcesContent":[null],"mappings":"AAUA,SAASA,aAAA,EAAeC,IAAA,EAAMC,WAAA,EAAaC,QAAA,EAAUC,MAAA,QAAc;AACnE,SAASC,SAAA,QAAmD;AAC5D,SAASC,gBAAA,QAAwB;AACjC,SAASC,OAAA,QAAe;AACxB,SAASC,cAAA,QAAsB;AAC/B,SAASC,yBAAA,QAAiC;AAE1C,SAASC,qBAAA,QAAqD;AAC9D,SAASC,YAAA,QAAoB;AAwDrB,SACEC,GAAA,EADFC,IAAA;AAtDR,SAASC,YAAYC,UAAA,EAA2C;EAC9D,QAAQA,UAAA;IACN,KAAK;MACH,OAAO;IACT,KAAK;IACL,KAAK;IACL,KAAK;MACH,OAAO;IACT;MAEE,OAAO;EACX;AACF;AAMO,SAASC,oBAAoB;EAAEC;AAAI,GAA6B;EACrE,MAAM;IAAEC;EAAE,IAAIV,cAAA,CAAeC,yBAAyB;EACtD,MAAM;IAAEU;EAAU,IAAIb,gBAAA,CAAiB;EACvC,MAAMc,KAAA,GAAQH,GAAA,CAAII,KAAA,IAASJ,GAAA,CAAIK,UAAA;EAE/B,MAAM;IACJC,GAAA,EAAKC,QAAA;IACLC,SAAA,EAAWC,UAAA;IACXC,KAAA,EAAOC;EACT,IAAIjB,YAAA,CAAgC,mBAAmBM,GAAA,CAAIK,UAAU;EACrE,MAAM;IACJO,MAAA;IACAJ,SAAA,EAAWK,WAAA;IACXH,KAAA,EAAOI,SAAA;IACPC;EACF,IAAItB,qBAAA,CAAsBO,GAAA,CAAIK,UAAU;EAExC,MAAMW,MAAA,GAAS1B,OAAA,CAAiC,MAAM;IACpD,IAAI,CAACsB,MAAA,EAAQ,OAAO;IACpB,MAAMK,OAAA,GAAUL,MAAA,CAAOM,QAAA,GAAW,CAAC;IACnC,IAAI,CAACD,OAAA,EAAS,OAAO;IACrB,OAAO;MACLE,EAAA,EAAI,mBAAmBnB,GAAA,CAAIoB,IAAI;MAC/BjB,KAAA;MACAkB,IAAA,EAAMxB,WAAA,CAAYU,QAAA,EAAUc,IAAI;MAChCC,IAAA,EAAMV,MAAA,CAAOW,MAAA,CAAOC,GAAA,CAAI,CAACpB,KAAA,EAAOqB,KAAA,MAAW;QACzCrB,KAAA;QACAsB,KAAA,EAAOT,OAAA,CAAQU,MAAA,CAAOF,KAAK,KAAK;MAClC,EAAE;MACFG,MAAA,EAAQ;IACV;EACF,GAAG,CAAChB,MAAA,EAAQL,QAAA,EAAUc,IAAA,EAAMrB,GAAA,CAAIoB,IAAA,EAAMjB,KAAK,CAAC;EAE5C,IAAIY,WAAA,EAAa;IACf,OACE,eAAApB,GAAA,CAACX,IAAA;MAAK6C,QAAA,EAAU;MACdC,QAAA,iBAAAlC,IAAA,CAACT,MAAA;QAAQ,GAAGe,SAAA,CAAU6B,YAAA;QAAe,GAAG7B,SAAA,CAAU8B,GAAA;QAChDF,QAAA,kBAAAnC,GAAA,CAACV,WAAA;UAAYgD,IAAA,EAAK;UAAKC,UAAA,EAAW;UAC/BJ,QAAA,EAAA3B;QAAA,CACH,GACA,eAAAR,GAAA,CAACV,WAAA;UAAYgD,IAAA,EAAK;UAAKE,KAAA,EAAM;UAC1BL,QAAA,EAAA7B,CAAA,CACC,yBACA,8CACF;QAAA,CACF;MAAA,CACF;IAAA,CACF;EAEJ;EAEA,IAAIQ,UAAA,IAAcI,WAAA,EAAa;IAC7B,OACE,eAAAlB,GAAA,CAACX,IAAA;MAAK6C,QAAA,EAAU;MAAG,aAAS;MAAC,cAAY5B,CAAA,CAAE,WAAW,SAAS;MAC7D6B,QAAA,iBAAAlC,IAAA,CAACT,MAAA;QAAQ,GAAGe,SAAA,CAAU6B,YAAA;QAAe,GAAG7B,SAAA,CAAU8B,GAAA;QAChDF,QAAA,kBAAAnC,GAAA,CAACT,QAAA;UAASkD,KAAA,EAAM;UAAMR,MAAA,EAAQ;QAAA,CAAI,GAClC,eAAAjC,GAAA,CAACT,QAAA;UAASmD,OAAA,EAAQ;UAAUD,KAAA,EAAM;UAAOR,MAAA,EAAQ;QAAA,CAAK;MAAA,CACxD;IAAA,CACF;EAEJ;EAEA,MAAMlB,KAAA,GAAQC,QAAA,IAAYG,SAAA;EAC1B,IAAIJ,KAAA,IAAS,CAACM,MAAA,EAAQ;IACpB,OACE,eAAArB,GAAA,CAACZ,aAAA;MACCuD,OAAA,EAAO;MACP5B,KAAA,EAAOA,KAAA,IAAS;MAChB6B,UAAA,EAAYtC,CAAA,CAAE,uBAAuB,iCAAiC;QACpEE;MACF,CAAC;IAAA,CACH;EAEJ;EAEA,OAAO,eAAAR,GAAA,CAACP,SAAA;IAAU4B,MAAA;IAAgBa,QAAA,EAAU;EAAA,CAAG;AACjD","ignoreList":[]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var WorkspaceChartBlock_exports = {};
|
|
26
|
+
__export(WorkspaceChartBlock_exports, {
|
|
27
|
+
WorkspaceChartBlock: () => WorkspaceChartBlock
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(WorkspaceChartBlock_exports);
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
var import_components = require("@multiplatform.one/components");
|
|
32
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
33
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
34
|
+
var import_react = require("react");
|
|
35
|
+
var import_react_i18next = require("react-i18next");
|
|
36
|
+
var import_i18n = require("../i18n/index.native.js");
|
|
37
|
+
var import_useDashboardChart = require("./useDashboardChart.native.js");
|
|
38
|
+
var import_useWorkspaceDoc = require("./useWorkspaceDoc.native.js");
|
|
39
|
+
function toChartType(frappeType) {
|
|
40
|
+
switch (frappeType) {
|
|
41
|
+
case "Line":
|
|
42
|
+
return "line";
|
|
43
|
+
case "Pie":
|
|
44
|
+
case "Donut":
|
|
45
|
+
case "Percentage":
|
|
46
|
+
return "pie";
|
|
47
|
+
default:
|
|
48
|
+
return "bar";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function WorkspaceChartBlock(param) {
|
|
52
|
+
var {
|
|
53
|
+
row
|
|
54
|
+
} = param;
|
|
55
|
+
var {
|
|
56
|
+
t
|
|
57
|
+
} = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
|
|
58
|
+
var {
|
|
59
|
+
knobProps
|
|
60
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
61
|
+
var title = row.label || row.chart_name;
|
|
62
|
+
var {
|
|
63
|
+
doc: chartDoc,
|
|
64
|
+
isLoading: docLoading,
|
|
65
|
+
error: docError
|
|
66
|
+
} = (0, import_useWorkspaceDoc.useFrappeDoc)("Dashboard Chart", row.chart_name);
|
|
67
|
+
var {
|
|
68
|
+
series,
|
|
69
|
+
isLoading: dataLoading,
|
|
70
|
+
error: dataError,
|
|
71
|
+
unsupported
|
|
72
|
+
} = (0, import_useDashboardChart.useDashboardChartData)(row.chart_name);
|
|
73
|
+
var config = (0, import_react.useMemo)(function () {
|
|
74
|
+
var _series_datasets;
|
|
75
|
+
if (!series) return void 0;
|
|
76
|
+
var dataset = (_series_datasets = series.datasets) === null || _series_datasets === void 0 ? void 0 : _series_datasets[0];
|
|
77
|
+
if (!dataset) return void 0;
|
|
78
|
+
return {
|
|
79
|
+
id: `workspace-chart-${row.name}`,
|
|
80
|
+
title,
|
|
81
|
+
type: toChartType(chartDoc === null || chartDoc === void 0 ? void 0 : chartDoc.type),
|
|
82
|
+
data: series.labels.map(function (label, index) {
|
|
83
|
+
var _dataset_values_index;
|
|
84
|
+
return {
|
|
85
|
+
label,
|
|
86
|
+
value: (_dataset_values_index = dataset.values[index]) !== null && _dataset_values_index !== void 0 ? _dataset_values_index : 0
|
|
87
|
+
};
|
|
88
|
+
}),
|
|
89
|
+
height: 220
|
|
90
|
+
};
|
|
91
|
+
}, [series, chartDoc === null || chartDoc === void 0 ? void 0 : chartDoc.type, row.name, title]);
|
|
92
|
+
if (unsupported) {
|
|
93
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Card, {
|
|
94
|
+
flexGrow: 1,
|
|
95
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
96
|
+
...knobProps.panelPadding,
|
|
97
|
+
...knobProps.gap,
|
|
98
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
|
|
99
|
+
size: "$4",
|
|
100
|
+
fontWeight: "700",
|
|
101
|
+
children: title
|
|
102
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
|
|
103
|
+
size: "$2",
|
|
104
|
+
color: "$color10",
|
|
105
|
+
children: t("workspaceChartFixture", "Chart data is only available on a live bench")
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (docLoading || dataLoading) {
|
|
111
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Card, {
|
|
112
|
+
flexGrow: 1,
|
|
113
|
+
"aria-busy": true,
|
|
114
|
+
"aria-label": t("loading", "Loading"),
|
|
115
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
116
|
+
...knobProps.panelPadding,
|
|
117
|
+
...knobProps.gap,
|
|
118
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Skeleton, {
|
|
119
|
+
width: "40%",
|
|
120
|
+
height: 16
|
|
121
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Skeleton, {
|
|
122
|
+
variant: "rounded",
|
|
123
|
+
width: "100%",
|
|
124
|
+
height: 220
|
|
125
|
+
})]
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
var error = docError !== null && docError !== void 0 ? docError : dataError;
|
|
130
|
+
if (error || !config) {
|
|
131
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.AsyncBoundary, {
|
|
132
|
+
compact: true,
|
|
133
|
+
error: error !== null && error !== void 0 ? error : true,
|
|
134
|
+
errorTitle: t("workspaceChartError", "Couldn't load chart {{title}}", {
|
|
135
|
+
title
|
|
136
|
+
})
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.ChartCard, {
|
|
140
|
+
config,
|
|
141
|
+
flexGrow: 1
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=WorkspaceChartBlock.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","WorkspaceChartBlock_exports","WorkspaceChartBlock","module","exports","import_jsx_runtime","require","import_components","import_frappe_ui","import_theme","import_react","import_react_i18next","import_i18n","import_useDashboardChart","import_useWorkspaceDoc","toChartType","frappeType","param","row","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","knobProps","useResolvedKnobs","title","label","chart_name","doc","chartDoc","isLoading","docLoading","error","docError","useFrappeDoc","series","dataLoading","dataError","unsupported","useDashboardChartData","config","useMemo","_series_datasets","dataset","datasets","id","type","data","labels","map","index","_dataset_values_index","values","height","jsx","Card","flexGrow","children","jsxs","YStack","panelPadding","gap"],"sources":["../../../src/workspace/WorkspaceChartBlock.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { XStack, YStack } from "@multiplatform.one/components";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
const NARROW_MAX = 640;
|
|
6
|
+
const MEDIUM_MAX = 960;
|
|
7
|
+
function effectiveSpan(raw, width) {
|
|
8
|
+
const span = Math.min(Math.max(Math.round(raw ?? 12), 1), 12);
|
|
9
|
+
if (width <= 0) return span;
|
|
10
|
+
if (width < NARROW_MAX) return 12;
|
|
11
|
+
if (width < MEDIUM_MAX) return span <= 6 ? 6 : 12;
|
|
12
|
+
return span;
|
|
13
|
+
}
|
|
14
|
+
function WorkspaceGrid({
|
|
15
|
+
items,
|
|
16
|
+
...stackProps
|
|
17
|
+
}) {
|
|
18
|
+
const {
|
|
19
|
+
knobProps
|
|
20
|
+
} = useResolvedKnobs();
|
|
21
|
+
const [width, setWidth] = useState(0);
|
|
22
|
+
const rows = [];
|
|
23
|
+
let current = [];
|
|
24
|
+
let used = 0;
|
|
25
|
+
for (const item of items) {
|
|
26
|
+
const span = effectiveSpan(item.col, width);
|
|
27
|
+
if (used + span > 12 && current.length > 0) {
|
|
28
|
+
rows.push(current);
|
|
29
|
+
current = [];
|
|
30
|
+
used = 0;
|
|
31
|
+
}
|
|
32
|
+
current.push({
|
|
33
|
+
item,
|
|
34
|
+
span
|
|
35
|
+
});
|
|
36
|
+
used += span;
|
|
37
|
+
}
|
|
38
|
+
if (current.length > 0) rows.push(current);
|
|
39
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
40
|
+
...knobProps.gap,
|
|
41
|
+
onLayout: event => setWidth(event.nativeEvent.layout.width),
|
|
42
|
+
...stackProps,
|
|
43
|
+
children: rows.map((row, rowIndex) => {
|
|
44
|
+
const rowUsed = row.reduce((sum, cell) => sum + cell.span, 0);
|
|
45
|
+
return /* @__PURE__ */jsxs(XStack, {
|
|
46
|
+
...knobProps.gap,
|
|
47
|
+
alignItems: "stretch",
|
|
48
|
+
children: [row.map(({
|
|
49
|
+
item,
|
|
50
|
+
span
|
|
51
|
+
}) => /* @__PURE__ */jsx(YStack, {
|
|
52
|
+
flexGrow: span,
|
|
53
|
+
flexShrink: 1,
|
|
54
|
+
flexBasis: 0,
|
|
55
|
+
minWidth: 0,
|
|
56
|
+
children: item.node
|
|
57
|
+
}, item.key)), rowUsed < 12 ? /* @__PURE__ */jsx(YStack, {
|
|
58
|
+
flexGrow: 12 - rowUsed,
|
|
59
|
+
flexBasis: 0
|
|
60
|
+
}) : null]
|
|
61
|
+
}, row[0]?.item.key ?? rowIndex);
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export { WorkspaceGrid };
|
|
66
|
+
//# sourceMappingURL=WorkspaceGrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["XStack","YStack","useResolvedKnobs","useState","jsx","jsxs","NARROW_MAX","MEDIUM_MAX","effectiveSpan","raw","width","span","Math","min","max","round","WorkspaceGrid","items","stackProps","knobProps","setWidth","rows","current","used","item","col","length","push","gap","onLayout","event","nativeEvent","layout","children","map","row","rowIndex","rowUsed","reduce","sum","cell","alignItems","flexGrow","flexShrink","flexBasis","minWidth","node","key"],"sources":["../../../src/workspace/WorkspaceGrid.tsx"],"sourcesContent":[null],"mappings":"AAUA,SAASA,MAAA,EAAQC,MAAA,QAAgC;AACjD,SAASC,gBAAA,QAAwB;AACjC,SAASC,QAAA,QAAgC;AAuD/B,SAEIC,GAAA,EAFJC,IAAA;AApDV,MAAMC,UAAA,GAAa;AAEnB,MAAMC,UAAA,GAAa;AASnB,SAASC,cAAcC,GAAA,EAAyBC,KAAA,EAAuB;EACrE,MAAMC,IAAA,GAAOC,IAAA,CAAKC,GAAA,CAAID,IAAA,CAAKE,GAAA,CAAIF,IAAA,CAAKG,KAAA,CAAMN,GAAA,IAAO,EAAE,GAAG,CAAC,GAAG,EAAE;EAC5D,IAAIC,KAAA,IAAS,GAAG,OAAOC,IAAA;EACvB,IAAID,KAAA,GAAQJ,UAAA,EAAY,OAAO;EAC/B,IAAII,KAAA,GAAQH,UAAA,EAAY,OAAOI,IAAA,IAAQ,IAAI,IAAI;EAC/C,OAAOA,IAAA;AACT;AAMO,SAASK,cAAc;EAAEC,KAAA;EAAO,GAAGC;AAAW,GAAuB;EAC1E,MAAM;IAAEC;EAAU,IAAIjB,gBAAA,CAAiB;EACvC,MAAM,CAACQ,KAAA,EAAOU,QAAQ,IAAIjB,QAAA,CAAS,CAAC;EAGpC,MAAMkB,IAAA,GAAgE,EAAC;EACvE,IAAIC,OAAA,GAA4D,EAAC;EACjE,IAAIC,IAAA,GAAO;EACX,WAAWC,IAAA,IAAQP,KAAA,EAAO;IACxB,MAAMN,IAAA,GAAOH,aAAA,CAAcgB,IAAA,CAAKC,GAAA,EAAKf,KAAK;IAC1C,IAAIa,IAAA,GAAOZ,IAAA,GAAO,MAAMW,OAAA,CAAQI,MAAA,GAAS,GAAG;MAC1CL,IAAA,CAAKM,IAAA,CAAKL,OAAO;MACjBA,OAAA,GAAU,EAAC;MACXC,IAAA,GAAO;IACT;IACAD,OAAA,CAAQK,IAAA,CAAK;MAAEH,IAAA;MAAMb;IAAK,CAAC;IAC3BY,IAAA,IAAQZ,IAAA;EACV;EACA,IAAIW,OAAA,CAAQI,MAAA,GAAS,GAAGL,IAAA,CAAKM,IAAA,CAAKL,OAAO;EAEzC,OACE,eAAAlB,GAAA,CAACH,MAAA;IACE,GAAGkB,SAAA,CAAUS,GAAA;IACdC,QAAA,EAAWC,KAAA,IAAUV,QAAA,CAASU,KAAA,CAAMC,WAAA,CAAYC,MAAA,CAAOtB,KAAK;IAC3D,GAAGQ,UAAA;IAEHe,QAAA,EAAAZ,IAAA,CAAKa,GAAA,CAAI,CAACC,GAAA,EAAKC,QAAA,KAAa;MAC3B,MAAMC,OAAA,GAAUF,GAAA,CAAIG,MAAA,CAAO,CAACC,GAAA,EAAKC,IAAA,KAASD,GAAA,GAAMC,IAAA,CAAK7B,IAAA,EAAM,CAAC;MAC5D,OACE,eAAAN,IAAA,CAACL,MAAA;QAA2C,GAAGmB,SAAA,CAAUS,GAAA;QAAKa,UAAA,EAAW;QACtER,QAAA,GAAAE,GAAA,CAAID,GAAA,CAAI,CAAC;UAAEV,IAAA;UAAMb;QAAK,MACrB,eAAAP,GAAA,CAACH,MAAA;UAAsByC,QAAA,EAAU/B,IAAA;UAAMgC,UAAA,EAAY;UAAGC,SAAA,EAAW;UAAGC,QAAA,EAAU;UAC3EZ,QAAA,EAAAT,IAAA,CAAKsB;QAAA,GADKtB,IAAA,CAAKuB,GAElB,CACD,GAGAV,OAAA,GAAU,KAAK,eAAAjC,GAAA,CAACH,MAAA;UAAOyC,QAAA,EAAU,KAAKL,OAAA;UAASO,SAAA,EAAW;QAAA,CAAG,IAAK;MAAA,GARxDT,GAAA,CAAI,CAAC,GAAGX,IAAA,CAAKuB,GAAA,IAAOX,QASjC;IAEJ,CAAC;EAAA,CACH;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var WorkspaceGrid_exports = {};
|
|
26
|
+
__export(WorkspaceGrid_exports, {
|
|
27
|
+
WorkspaceGrid: () => WorkspaceGrid
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(WorkspaceGrid_exports);
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
var import_components = require("@multiplatform.one/components");
|
|
32
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
33
|
+
var import_react = require("react");
|
|
34
|
+
var NARROW_MAX = 640;
|
|
35
|
+
var MEDIUM_MAX = 960;
|
|
36
|
+
function effectiveSpan(raw, width) {
|
|
37
|
+
var span = Math.min(Math.max(Math.round(raw !== null && raw !== void 0 ? raw : 12), 1), 12);
|
|
38
|
+
if (width <= 0) return span;
|
|
39
|
+
if (width < NARROW_MAX) return 12;
|
|
40
|
+
if (width < MEDIUM_MAX) return span <= 6 ? 6 : 12;
|
|
41
|
+
return span;
|
|
42
|
+
}
|
|
43
|
+
function WorkspaceGrid(param) {
|
|
44
|
+
var {
|
|
45
|
+
items,
|
|
46
|
+
...stackProps
|
|
47
|
+
} = param;
|
|
48
|
+
var {
|
|
49
|
+
knobProps
|
|
50
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
51
|
+
var [width, setWidth] = (0, import_react.useState)(0);
|
|
52
|
+
var rows = [];
|
|
53
|
+
var current = [];
|
|
54
|
+
var used = 0;
|
|
55
|
+
var _iteratorNormalCompletion = true,
|
|
56
|
+
_didIteratorError = false,
|
|
57
|
+
_iteratorError = void 0;
|
|
58
|
+
try {
|
|
59
|
+
for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
60
|
+
var item = _step.value;
|
|
61
|
+
var span = effectiveSpan(item.col, width);
|
|
62
|
+
if (used + span > 12 && current.length > 0) {
|
|
63
|
+
rows.push(current);
|
|
64
|
+
current = [];
|
|
65
|
+
used = 0;
|
|
66
|
+
}
|
|
67
|
+
current.push({
|
|
68
|
+
item,
|
|
69
|
+
span
|
|
70
|
+
});
|
|
71
|
+
used += span;
|
|
72
|
+
}
|
|
73
|
+
} catch (err) {
|
|
74
|
+
_didIteratorError = true;
|
|
75
|
+
_iteratorError = err;
|
|
76
|
+
} finally {
|
|
77
|
+
try {
|
|
78
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
79
|
+
_iterator.return();
|
|
80
|
+
}
|
|
81
|
+
} finally {
|
|
82
|
+
if (_didIteratorError) {
|
|
83
|
+
throw _iteratorError;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (current.length > 0) rows.push(current);
|
|
88
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
89
|
+
...knobProps.gap,
|
|
90
|
+
onLayout: function onLayout(event) {
|
|
91
|
+
return setWidth(event.nativeEvent.layout.width);
|
|
92
|
+
},
|
|
93
|
+
...stackProps,
|
|
94
|
+
children: rows.map(function (row, rowIndex) {
|
|
95
|
+
var _ref;
|
|
96
|
+
var _row_;
|
|
97
|
+
var rowUsed = row.reduce(function (sum, cell) {
|
|
98
|
+
return sum + cell.span;
|
|
99
|
+
}, 0);
|
|
100
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
101
|
+
...knobProps.gap,
|
|
102
|
+
alignItems: "stretch",
|
|
103
|
+
children: [row.map(function (param2) {
|
|
104
|
+
var {
|
|
105
|
+
item: item2,
|
|
106
|
+
span: span2
|
|
107
|
+
} = param2;
|
|
108
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
109
|
+
flexGrow: span2,
|
|
110
|
+
flexShrink: 1,
|
|
111
|
+
flexBasis: 0,
|
|
112
|
+
minWidth: 0,
|
|
113
|
+
children: item2.node
|
|
114
|
+
}, item2.key);
|
|
115
|
+
}),
|
|
116
|
+
/* Filler keeps a partial row's cells at their 12-col width
|
|
117
|
+
(a lone col-3 shortcut stays ~25%, like desk). */
|
|
118
|
+
rowUsed < 12 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
119
|
+
flexGrow: 12 - rowUsed,
|
|
120
|
+
flexBasis: 0
|
|
121
|
+
}) : null]
|
|
122
|
+
}, (_ref = (_row_ = row[0]) === null || _row_ === void 0 ? void 0 : _row_.item.key) !== null && _ref !== void 0 ? _ref : rowIndex);
|
|
123
|
+
})
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=WorkspaceGrid.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","WorkspaceGrid_exports","WorkspaceGrid","module","exports","import_jsx_runtime","require","import_components","import_theme","import_react","NARROW_MAX","MEDIUM_MAX","effectiveSpan","raw","width","span","Math","min","max","round","param","items","stackProps","knobProps","useResolvedKnobs","setWidth","useState","rows","current","used","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done"],"sources":["../../../src/workspace/WorkspaceGrid.tsx"],"sourcesContent":[null],"mappings":"AAUA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAwB;AACjC,IAAAC,gBAAS,GAAAF,MAAgC,CAAAG,wBAAA;AAuD/B,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AApDV,IAAAC,YAAM,GAAaN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAEnB,IAAAC,QAAM,GAAAA,CAAAC,MAAa,EAAAC,GAAA;EASnB,SAASC,IAAA,IAAAD,GAAA,EACPZ,SAAM,CAAAW,MAAY,EAAAE,IAAI;IAAKC,GAAI,EAAAF,GAAK,CAAAC,IAAA,CAAM;IAAAE,UAAY,EAAC;EAAK;AAC5D;AACA,IAAAC,WAAY,GAAAA,CAAAC,EAAA,EAAAC,IAAY,EAAAC,MAAO,EAAAC,IAAA;EAC/B,IAAIF,IAAA,IAAQ,OAAAA,IAAY,aAAO,IAAQ,OAAQA,IAAA;IAC/C,KAAO,IAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACT,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAMOnB,SAAS,CAAAiB,EAAA,EAAAI,GAAgB;MAAAP,GAAO,EAAAA,CAAA,KAAGI,IAAA,CAAAG,GAAW,CAAuB;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAC1E;EACA,OAAOE,EAAA;AAGP;AACA,IAAAM,YAAgE,GAACC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACjE,IAAAE,qBAAW;AACXhB,QAAA,CAAAgB,qBAA0B;EACxBC,aAAM,EAAOA,CAAA,KAAAA;AACb;AACEC,MAAA,CAAAC,OAAK,GAAKN,YAAO,CAAAG,qBAAA;AACjB,IAAAI,kBAAW,GAAAC,OAAA;AACX,IAAAC,iBAAO,GAAAD,OAAA;AAAA,IACTE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAQ,GAAOH,OAAM,QAAM;AAC3B,IAAAI,UAAQ;AAAA,IACVC,UAAA;AACA,SAAIC,aAAQA,CAASC,GAAG,EAAAC,KAAK;EAE7B,IAAAC,IACE,GAAAC,IAAA,CAAAC,GAAA,CAAAD,IAAA,CAAAE,GAAA,CAAAF,IAAA,CAAAG,KAAA,CAAAN,GAAA,aAAAA,GAAA,cAAAA,GAAA;EAAA,IAACC,KAAA,cAAAC,IAAA;EAAA,IAAAD,KAAA,GAAAJ,UAAA;EAAA,IACEI,KAAG,GAAAH,UAAU,SAAAI,IAAA;EAAA,OACdA,IAAA;AAA4D;AACxD,SAEHb,aAAKA,CAAAkB,KAAK;EACT;IAAAC,KAAA;IAAM,GAAAC;EAAc,IAAAF,KAAQ;EAC5B;IAAAG;EACE,QAAAf,YAAC,CAAAgB,gBAA8C;EAC5C,KAAAV,KAAA,EAAIW,QAAO,KAAM,GAAAhB,YAChB,CAAAiB,QAAA;EAGD,IAAAC,IAGA;EAAkE,IAAAC,OARxD,KAAK;EASlB,IAEJC,IAAC;EAAA,IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACH;IAEJ,SAAAC,SAAA,GAAAZ,KAAA,CAAAa,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Card, SizableText, XStack, YStack } from "@multiplatform.one/components";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { useBackofficeCapabilities, useBackofficeNavigator, useBackofficePaths, useIsDoctypeAllowed } from "../config/BackofficeProvider.mjs";
|
|
5
|
+
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
|
|
6
|
+
import { createBackofficePaths } from "../navigation/paths.mjs";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
const defaultPaths = createBackofficePaths();
|
|
9
|
+
function resolveLinkTarget(row, paths = defaultPaths) {
|
|
10
|
+
const target = row.link_to ?? "";
|
|
11
|
+
if (!target) return {
|
|
12
|
+
disabled: true
|
|
13
|
+
};
|
|
14
|
+
const prefix = paths.base === "/" ? "" : paths.base;
|
|
15
|
+
switch (row.link_type) {
|
|
16
|
+
case "DocType":
|
|
17
|
+
return {
|
|
18
|
+
path: paths.list(target)
|
|
19
|
+
};
|
|
20
|
+
case "Report":
|
|
21
|
+
return {
|
|
22
|
+
path: paths.list(target)
|
|
23
|
+
};
|
|
24
|
+
case "Page":
|
|
25
|
+
return {
|
|
26
|
+
path: `${prefix}/${target}`
|
|
27
|
+
};
|
|
28
|
+
default:
|
|
29
|
+
return {
|
|
30
|
+
disabled: true
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function LinkRow({
|
|
35
|
+
row
|
|
36
|
+
}) {
|
|
37
|
+
const navigator = useBackofficeNavigator();
|
|
38
|
+
const paths = useBackofficePaths();
|
|
39
|
+
const target = resolveLinkTarget(row, paths);
|
|
40
|
+
return /* @__PURE__ */jsx(XStack, {
|
|
41
|
+
onPress: target.disabled ? void 0 : () => target.path && navigator.navigate(target.path),
|
|
42
|
+
disabled: target.disabled,
|
|
43
|
+
opacity: target.disabled ? 0.5 : 1,
|
|
44
|
+
cursor: target.disabled ? "default" : "pointer",
|
|
45
|
+
paddingVertical: "$1.5",
|
|
46
|
+
alignItems: "center",
|
|
47
|
+
role: "link",
|
|
48
|
+
"aria-label": row.label,
|
|
49
|
+
hoverStyle: target.disabled ? void 0 : {
|
|
50
|
+
backgroundColor: "$color3"
|
|
51
|
+
},
|
|
52
|
+
borderRadius: "$2",
|
|
53
|
+
children: /* @__PURE__ */jsx(SizableText, {
|
|
54
|
+
size: "$3",
|
|
55
|
+
color: target.disabled ? "$color10" : "$color12",
|
|
56
|
+
numberOfLines: 1,
|
|
57
|
+
flexShrink: 1,
|
|
58
|
+
hoverStyle: target.disabled ? void 0 : {
|
|
59
|
+
color: "$color12"
|
|
60
|
+
},
|
|
61
|
+
children: row.label
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function WorkspaceLinkCard({
|
|
66
|
+
group
|
|
67
|
+
}) {
|
|
68
|
+
const {
|
|
69
|
+
knobProps
|
|
70
|
+
} = useResolvedKnobs();
|
|
71
|
+
const {
|
|
72
|
+
t
|
|
73
|
+
} = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
74
|
+
const {
|
|
75
|
+
views
|
|
76
|
+
} = useBackofficeCapabilities();
|
|
77
|
+
const isDoctypeAllowed = useIsDoctypeAllowed();
|
|
78
|
+
const visibleLinks = group.links.filter(row => {
|
|
79
|
+
if (row.link_type === "DocType" || row.link_type === "Report") {
|
|
80
|
+
if (!views.enabled) return false;
|
|
81
|
+
if (row.link_type === "DocType" && row.link_to && !isDoctypeAllowed(row.link_to)) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
});
|
|
87
|
+
return /* @__PURE__ */jsx(Card, {
|
|
88
|
+
flexGrow: 1,
|
|
89
|
+
height: "100%",
|
|
90
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
91
|
+
...knobProps.panelPadding,
|
|
92
|
+
...knobProps.gap,
|
|
93
|
+
flex: 1,
|
|
94
|
+
children: [/* @__PURE__ */jsx(SizableText, {
|
|
95
|
+
size: "$2",
|
|
96
|
+
fontWeight: "600",
|
|
97
|
+
textTransform: "uppercase",
|
|
98
|
+
color: "$color11",
|
|
99
|
+
children: group.label
|
|
100
|
+
}), visibleLinks.length === 0 ? /* @__PURE__ */jsx(SizableText, {
|
|
101
|
+
size: "$2",
|
|
102
|
+
color: "$color10",
|
|
103
|
+
children: t("workspaceCardEmpty", "No links in this section")
|
|
104
|
+
}) : /* @__PURE__ */jsx(YStack, {
|
|
105
|
+
children: visibleLinks.map(row => /* @__PURE__ */jsx(LinkRow, {
|
|
106
|
+
row
|
|
107
|
+
}, row.name))
|
|
108
|
+
})]
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
export { WorkspaceLinkCard, resolveLinkTarget };
|
|
113
|
+
//# sourceMappingURL=WorkspaceLinkCard.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Card","SizableText","XStack","YStack","useResolvedKnobs","useTranslation","useBackofficeCapabilities","useBackofficeNavigator","useBackofficePaths","useIsDoctypeAllowed","BACKOFFICE_I18N_NAMESPACE","createBackofficePaths","jsx","jsxs","defaultPaths","resolveLinkTarget","row","paths","target","link_to","disabled","prefix","base","link_type","path","list","LinkRow","navigator","onPress","navigate","opacity","cursor","paddingVertical","alignItems","role","label","hoverStyle","backgroundColor","borderRadius","children","size","color","numberOfLines","flexShrink","WorkspaceLinkCard","group","knobProps","t","views","isDoctypeAllowed","visibleLinks","links","filter","enabled","flexGrow","height","panelPadding","gap","flex","fontWeight","textTransform","length","map","name"],"sources":["../../../src/workspace/WorkspaceLinkCard.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|