sanity-plugin-workspace-home 2.0.1 → 2.0.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/index.js CHANGED
@@ -9,15 +9,10 @@ import { isValidElementType } from "react-is";
9
9
  const createIcon = (Icon) => {
10
10
  if (isValidElementType(Icon)) return /* @__PURE__ */ jsx(Icon, {});
11
11
  if (isValidElement(Icon)) return Icon;
12
- }, MediaCard = styled(Card)`
13
- width: 35px;
14
- height: 35px;
15
-
16
- svg {
17
- width: 100%;
18
- height: 100%;
19
- }
20
- `;
12
+ }, MediaCard = styled(Card).withConfig({
13
+ displayName: "MediaCard",
14
+ componentId: "sc-1j7i10r-0"
15
+ })`width:35px;height:35px;svg{width:100%;height:100%;}`;
21
16
  function WorkspacePreview(props) {
22
17
  const $ = c(39), {
23
18
  workspace,
@@ -84,9 +79,10 @@ function WorkspacePreview(props) {
84
79
  let t19;
85
80
  return $[36] !== t1 || $[37] !== t18 ? (t19 = /* @__PURE__ */ jsx(Card, { borderTop: t1, tone: "default", children: t18 }), $[36] = t1, $[37] = t18, $[38] = t19) : t19 = $[38], t19;
86
81
  }
87
- const TallCard = styled(Card)`
88
- min-height: 100%;
89
- `;
82
+ const TallCard = styled(Card).withConfig({
83
+ displayName: "TallCard",
84
+ componentId: "sc-1rpeztf-0"
85
+ })`min-height:100%;`;
90
86
  function WorkspaceHome() {
91
87
  const $ = c(29), t0 = useWorkspaces();
92
88
  let workspaces;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/WorkspacePreview.tsx","../src/components/WorkspaceHome.tsx","../src/index.ts"],"sourcesContent":["import {DatabaseIcon} from '@sanity/icons'\nimport {Box, Button, Card, Flex, Grid, Hotkeys, Stack, Text} from '@sanity/ui'\nimport {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useActiveWorkspace, type WorkspaceSummary} from 'sanity'\nimport {styled} from 'styled-components'\n\nconst createIcon = (Icon: React.ComponentType | React.ReactNode) => {\n if (isValidElementType(Icon)) return <Icon />\n if (isValidElement(Icon)) return Icon\n return undefined\n}\n\nconst MediaCard = styled(Card)`\n width: 35px;\n height: 35px;\n\n svg {\n width: 100%;\n height: 100%;\n }\n`\n\nexport type WorkspacePreviewProps = {\n workspace: WorkspaceSummary\n index: number\n query: string\n}\n\nexport default function WorkspacePreview(props: WorkspacePreviewProps): React.JSX.Element {\n const {workspace, index, query} = props\n const {icon, title, name, subtitle, dataset} = workspace\n\n const {setActiveWorkspace} = useActiveWorkspace()\n const iconComponent = useMemo(() => createIcon(icon), [icon])\n\n // TODO: Favorites feature\n // get favorite workspace name from localStorage\n // const favoriteWorkspace = localStorage.getItem('favoriteWorkspace')\n // save local state to force re-render\n // const [isFavourite, setIsFavourite] = React.useState(favoriteWorkspace === name)\n\n // set favorite workspace name to localStorage\n // const setFavoriteWorkspace = useCallback(() => {\n // localStorage.setItem('favoriteWorkspace', name)\n // }, [name])\n\n const hotKeyIndex = index + 1 === 10 ? 0 : index + 1\n\n return (\n <Card borderTop={Boolean(index)} tone=\"default\">\n <Grid columns={5} gap={[2, 3, 4, 4]} paddingY={1}>\n <Card columnStart={1} columnEnd={4}>\n <Stack>\n <Button mode=\"bleed\" tone=\"default\" onClick={() => setActiveWorkspace(name)}>\n <Flex align=\"center\" gap={[2, 3, 4, 4]}>\n {iconComponent ? <MediaCard>{createIcon(iconComponent)}</MediaCard> : null}\n <Box flex={1}>\n <Stack space={[1, 2, 3, 3]}>\n <Text size={3} weight=\"semibold\" textOverflow=\"ellipsis\">\n {title || name}\n </Text>\n {subtitle ? <Text muted>{subtitle}</Text> : null}\n </Stack>\n </Box>\n </Flex>\n </Button>\n </Stack>\n </Card>\n <Card columnStart={4} columnEnd={5}>\n <Flex height=\"fill\" align=\"center\" gap={2}>\n <Text size={1} weight=\"semibold\">\n <DatabaseIcon />\n </Text>\n <Text size={1} weight=\"semibold\" textOverflow=\"ellipsis\">\n {dataset}\n </Text>\n </Flex>\n </Card>\n <Card paddingRight={[2, 3, 3, 3]}>\n <Flex height=\"fill\" align=\"center\" justify=\"flex-end\">\n {!query && hotKeyIndex < 10 ? (\n <Hotkeys keys={[String(hotKeyIndex)]} padding={2} />\n ) : null}\n </Flex>\n </Card>\n {/* <Button\n mode={isFavourite ? 'default' : 'bleed'}\n tone={isFavourite ? 'primary' : 'default'}\n icon={StarIcon}\n title=\"Favorite\"\n onClick={() => {\n setIsFavourite(!isFavourite)\n setFavoriteWorkspace()\n }}\n /> */}\n </Grid>\n </Card>\n )\n}\n","import {Box, Card, Container, Flex, Heading, Stack, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useActiveWorkspace, useWorkspaces} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport WorkspacePreview from './WorkspacePreview'\n\nconst TallCard = styled(Card)`\n min-height: 100%;\n`\n\nexport default function WorkspaceHome(): React.JSX.Element {\n const [, ...workspaces] = useWorkspaces()\n const {setActiveWorkspace} = useActiveWorkspace()\n\n // Handle search query\n const [query, setQuery] = useState('')\n const searchInput = useRef(null)\n const handleQuery = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(e.target.value)\n },\n [setQuery],\n )\n\n // filter workspaces if name, dataset or title matches query\n const filteredWorkspaces = useMemo(() => {\n return workspaces.filter((workspace) => {\n return (\n workspace.name.toLowerCase().includes(query.toLowerCase()) ||\n workspace.dataset.toLowerCase().includes(query.toLowerCase()) ||\n workspace.title.toLowerCase().includes(query.toLowerCase())\n )\n })\n }, [workspaces, query])\n\n // Listen to keypress of workspace index\n useEffect(() => {\n const handleKeypress = (event: KeyboardEvent) => {\n // Ignore if search query exists or search input is focused\n if (query || searchInput.current === document.activeElement) {\n return\n }\n\n const index = parseInt(event.key, 10) - 1\n if (index >= 0 && index < workspaces.length) {\n setActiveWorkspace(workspaces[index]!.name)\n }\n }\n\n window.addEventListener('keypress', handleKeypress)\n\n return () => {\n window.removeEventListener('keypress', handleKeypress)\n }\n }, [query, workspaces, setActiveWorkspace])\n\n return (\n <TallCard tone=\"transparent\">\n <Flex direction=\"column\" padding={[4, 5, 6, 6]}>\n <Container>\n <Stack space={4}>\n <Heading>Workspaces</Heading>\n <Card padding={[2, 3, 4, 4]} radius={3} shadow={2}>\n <Stack space={3}>\n <Stack space={2}>\n <Text size={1} weight=\"semibold\">\n Search\n </Text>\n <TextInput ref={searchInput} value={query} onChange={handleQuery} />\n </Stack>\n <Box>\n {filteredWorkspaces.map((workspace, index) => (\n <WorkspacePreview\n key={workspace.name}\n workspace={workspace}\n index={index}\n query={query}\n />\n ))}\n </Box>\n </Stack>\n </Card>\n </Stack>\n </Container>\n </Flex>\n </TallCard>\n )\n}\n","import {HomeIcon} from '@sanity/icons'\nimport {definePlugin, type WorkspaceOptions} from 'sanity'\n\nimport WorkspaceHome from './components/WorkspaceHome'\n\nexport const workspaceHome = definePlugin(() => {\n return {\n name: 'sanity-plugin-workspace-home',\n tools: [\n {\n title: 'Workspace Home',\n name: 'workspace-home',\n icon: HomeIcon,\n component: WorkspaceHome,\n },\n ],\n }\n})\n\ntype WorkspaceHomeConfigProps = {\n projectId: string\n dataset: string\n}\n\nexport const workspaceHomeConfig = ({\n projectId = ``,\n dataset = ``,\n}: WorkspaceHomeConfigProps): WorkspaceOptions => ({\n name: 'home',\n title: 'Home',\n basePath: '/home',\n projectId,\n dataset,\n icon: HomeIcon,\n plugins: [workspaceHome()],\n})\n"],"names":["createIcon","Icon","isValidElementType","isValidElement","MediaCard","styled","Card","WorkspacePreview","props","$","_c","workspace","index","query","icon","title","name","subtitle","dataset","setActiveWorkspace","useActiveWorkspace","t0","iconComponent","hotKeyIndex","t1","Boolean","t2","Symbol","for","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","String","t17","t18","t19","TallCard","WorkspaceHome","useWorkspaces","workspaces","setQuery","useState","searchInput","useRef","e","target","value","handleQuery","toLowerCase","includes","filter","filteredWorkspaces","handleKeypress","event","current","document","activeElement","parseInt","key","length","window","addEventListener","removeEventListener","useEffect","workspace_0","index_0","map","workspaceHome","definePlugin","tools","HomeIcon","component","workspaceHomeConfig","projectId","basePath","plugins"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/WorkspacePreview.tsx","../src/components/WorkspaceHome.tsx","../src/index.ts"],"sourcesContent":["import {DatabaseIcon} from '@sanity/icons'\nimport {Box, Button, Card, Flex, Grid, Hotkeys, Stack, Text} from '@sanity/ui'\nimport {isValidElement, useMemo} from 'react'\nimport {isValidElementType} from 'react-is'\nimport {useActiveWorkspace, type WorkspaceSummary} from 'sanity'\nimport {styled} from 'styled-components'\n\nconst createIcon = (Icon: React.ComponentType | React.ReactNode) => {\n if (isValidElementType(Icon)) return <Icon />\n if (isValidElement(Icon)) return Icon\n return undefined\n}\n\nconst MediaCard = styled(Card)`\n width: 35px;\n height: 35px;\n\n svg {\n width: 100%;\n height: 100%;\n }\n`\n\nexport type WorkspacePreviewProps = {\n workspace: WorkspaceSummary\n index: number\n query: string\n}\n\nexport default function WorkspacePreview(props: WorkspacePreviewProps): React.JSX.Element {\n const {workspace, index, query} = props\n const {icon, title, name, subtitle, dataset} = workspace\n\n const {setActiveWorkspace} = useActiveWorkspace()\n const iconComponent = useMemo(() => createIcon(icon), [icon])\n\n // TODO: Favorites feature\n // get favorite workspace name from localStorage\n // const favoriteWorkspace = localStorage.getItem('favoriteWorkspace')\n // save local state to force re-render\n // const [isFavourite, setIsFavourite] = React.useState(favoriteWorkspace === name)\n\n // set favorite workspace name to localStorage\n // const setFavoriteWorkspace = useCallback(() => {\n // localStorage.setItem('favoriteWorkspace', name)\n // }, [name])\n\n const hotKeyIndex = index + 1 === 10 ? 0 : index + 1\n\n return (\n <Card borderTop={Boolean(index)} tone=\"default\">\n <Grid columns={5} gap={[2, 3, 4, 4]} paddingY={1}>\n <Card columnStart={1} columnEnd={4}>\n <Stack>\n <Button mode=\"bleed\" tone=\"default\" onClick={() => setActiveWorkspace(name)}>\n <Flex align=\"center\" gap={[2, 3, 4, 4]}>\n {iconComponent ? <MediaCard>{createIcon(iconComponent)}</MediaCard> : null}\n <Box flex={1}>\n <Stack space={[1, 2, 3, 3]}>\n <Text size={3} weight=\"semibold\" textOverflow=\"ellipsis\">\n {title || name}\n </Text>\n {subtitle ? <Text muted>{subtitle}</Text> : null}\n </Stack>\n </Box>\n </Flex>\n </Button>\n </Stack>\n </Card>\n <Card columnStart={4} columnEnd={5}>\n <Flex height=\"fill\" align=\"center\" gap={2}>\n <Text size={1} weight=\"semibold\">\n <DatabaseIcon />\n </Text>\n <Text size={1} weight=\"semibold\" textOverflow=\"ellipsis\">\n {dataset}\n </Text>\n </Flex>\n </Card>\n <Card paddingRight={[2, 3, 3, 3]}>\n <Flex height=\"fill\" align=\"center\" justify=\"flex-end\">\n {!query && hotKeyIndex < 10 ? (\n <Hotkeys keys={[String(hotKeyIndex)]} padding={2} />\n ) : null}\n </Flex>\n </Card>\n {/* <Button\n mode={isFavourite ? 'default' : 'bleed'}\n tone={isFavourite ? 'primary' : 'default'}\n icon={StarIcon}\n title=\"Favorite\"\n onClick={() => {\n setIsFavourite(!isFavourite)\n setFavoriteWorkspace()\n }}\n /> */}\n </Grid>\n </Card>\n )\n}\n","import {Box, Card, Container, Flex, Heading, Stack, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useEffect, useMemo, useRef, useState} from 'react'\nimport {useActiveWorkspace, useWorkspaces} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport WorkspacePreview from './WorkspacePreview'\n\nconst TallCard = styled(Card)`\n min-height: 100%;\n`\n\nexport default function WorkspaceHome(): React.JSX.Element {\n const [, ...workspaces] = useWorkspaces()\n const {setActiveWorkspace} = useActiveWorkspace()\n\n // Handle search query\n const [query, setQuery] = useState('')\n const searchInput = useRef(null)\n const handleQuery = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(e.target.value)\n },\n [setQuery],\n )\n\n // filter workspaces if name, dataset or title matches query\n const filteredWorkspaces = useMemo(() => {\n return workspaces.filter((workspace) => {\n return (\n workspace.name.toLowerCase().includes(query.toLowerCase()) ||\n workspace.dataset.toLowerCase().includes(query.toLowerCase()) ||\n workspace.title.toLowerCase().includes(query.toLowerCase())\n )\n })\n }, [workspaces, query])\n\n // Listen to keypress of workspace index\n useEffect(() => {\n const handleKeypress = (event: KeyboardEvent) => {\n // Ignore if search query exists or search input is focused\n if (query || searchInput.current === document.activeElement) {\n return\n }\n\n const index = parseInt(event.key, 10) - 1\n if (index >= 0 && index < workspaces.length) {\n setActiveWorkspace(workspaces[index]!.name)\n }\n }\n\n window.addEventListener('keypress', handleKeypress)\n\n return () => {\n window.removeEventListener('keypress', handleKeypress)\n }\n }, [query, workspaces, setActiveWorkspace])\n\n return (\n <TallCard tone=\"transparent\">\n <Flex direction=\"column\" padding={[4, 5, 6, 6]}>\n <Container>\n <Stack space={4}>\n <Heading>Workspaces</Heading>\n <Card padding={[2, 3, 4, 4]} radius={3} shadow={2}>\n <Stack space={3}>\n <Stack space={2}>\n <Text size={1} weight=\"semibold\">\n Search\n </Text>\n <TextInput ref={searchInput} value={query} onChange={handleQuery} />\n </Stack>\n <Box>\n {filteredWorkspaces.map((workspace, index) => (\n <WorkspacePreview\n key={workspace.name}\n workspace={workspace}\n index={index}\n query={query}\n />\n ))}\n </Box>\n </Stack>\n </Card>\n </Stack>\n </Container>\n </Flex>\n </TallCard>\n )\n}\n","import {HomeIcon} from '@sanity/icons'\nimport {definePlugin, type WorkspaceOptions} from 'sanity'\n\nimport WorkspaceHome from './components/WorkspaceHome'\n\nexport const workspaceHome = definePlugin(() => {\n return {\n name: 'sanity-plugin-workspace-home',\n tools: [\n {\n title: 'Workspace Home',\n name: 'workspace-home',\n icon: HomeIcon,\n component: WorkspaceHome,\n },\n ],\n }\n})\n\ntype WorkspaceHomeConfigProps = {\n projectId: string\n dataset: string\n}\n\nexport const workspaceHomeConfig = ({\n projectId = ``,\n dataset = ``,\n}: WorkspaceHomeConfigProps): WorkspaceOptions => ({\n name: 'home',\n title: 'Home',\n basePath: '/home',\n projectId,\n dataset,\n icon: HomeIcon,\n plugins: [workspaceHome()],\n})\n"],"names":["createIcon","Icon","isValidElementType","isValidElement","MediaCard","styled","Card","withConfig","displayName","componentId","WorkspacePreview","props","$","_c","workspace","index","query","icon","title","name","subtitle","dataset","setActiveWorkspace","useActiveWorkspace","t0","iconComponent","hotKeyIndex","t1","Boolean","t2","Symbol","for","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","String","t17","t18","t19","TallCard","WorkspaceHome","useWorkspaces","workspaces","setQuery","useState","searchInput","useRef","e","target","value","handleQuery","toLowerCase","includes","filter","filteredWorkspaces","handleKeypress","event","current","document","activeElement","parseInt","key","length","window","addEventListener","removeEventListener","useEffect","workspace_0","index_0","map","workspaceHome","definePlugin","tools","HomeIcon","component","workspaceHomeConfig","projectId","basePath","plugins"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sanity-plugin-workspace-home",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "A home screen for your multi-workspace Sanity Studio",
5
5
  "keywords": [
6
6
  "sanity",
@@ -30,19 +30,20 @@
30
30
  "@sanity/icons": "^3.7.4",
31
31
  "@sanity/ui": "^3.1.11",
32
32
  "react-compiler-runtime": "^1.0.0",
33
- "react-is": "^19.2.0"
33
+ "react-is": "^19.2.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@sanity/pkg-utils": "^10.0.0",
36
+ "@sanity/pkg-utils": "^10.1.1",
37
37
  "@types/react": "^19.2.7",
38
38
  "@types/react-is": "^19.2.0",
39
- "@typescript/native-preview": "7.0.0-dev.20251129.1",
39
+ "@typescript/native-preview": "7.0.0-dev.20251202.1",
40
40
  "babel-plugin-react-compiler": "^1.0.0",
41
+ "babel-plugin-styled-components": "^2.1.4",
41
42
  "eslint": "^9.39.1",
42
- "react": "^19.2.0",
43
- "sanity": "^4.20.0",
43
+ "react": "^19.2.1",
44
+ "sanity": "^4.20.3",
44
45
  "typescript": "5.9.3",
45
- "@repo/eslint-config": "0.0.3",
46
+ "@repo/eslint-config": "0.0.4",
46
47
  "@repo/package.config": "0.0.0",
47
48
  "@repo/tsconfig": "1.0.0"
48
49
  },