sanity-plugin-asset-source-unsplash 7.0.18 → 7.0.20
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader-BKAt74MR.js","names":["Flex","Spinner","Loader","$","_c","t0","Symbol","for"],"sources":["../src/components/Loader.tsx"],"sourcesContent":["import {Flex, Spinner} from '@sanity/ui'\n\nexport function Loader() {\n return (\n <Flex align=\"center\" justify=\"center\" padding={3}>\n <Spinner muted />\n </Flex>\n )\n}\n"],"mappings":";;;AAEA,SAAOE,SAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAII,OAJJF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,KAEHF,KAAA,oBAAC,MAAD;EAAY,OAAA;EAAiB,SAAA;EAAkB,SAAA;
|
|
1
|
+
{"version":3,"file":"Loader-BKAt74MR.js","names":["Flex","Spinner","Loader","$","_c","t0","Symbol","for"],"sources":["../src/components/Loader.tsx"],"sourcesContent":["import {Flex, Spinner} from '@sanity/ui'\n\nexport function Loader() {\n return (\n <Flex align=\"center\" justify=\"center\" padding={3}>\n <Spinner muted />\n </Flex>\n )\n}\n"],"mappings":";;;AAEA,SAAOE,SAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAII,OAJJF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,KAEHF,KAAA,oBAAC,MAAD;EAAY,OAAA;EAAiB,SAAA;EAAkB,SAAA;EAC7C,UAAA,oBAAC,SAAD,EAAS,OAAA,GAAK,CAAA;CADX,CAAA,GAEEF,EAAA,KAAAE,MAAAA,KAAAF,EAAA,IAFPE;AAEO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnsplashPhotoGallery-CEo30_Cn.js","names":["SanityClient","UnsplashPhoto","fetchDownloadUrl","client","photo","Promise","downloadUrl","links","download_location","replace","url","request","withCredentials","method","Text","Card","getTheme_v2","styled","CreditLineLink","a","CreditLine","theme","v2","sanity","color","fg","bg","UTM_SOURCE","UnsplashCreditLine","t0","$","_c","link","id","userName","T0","t1","url","URL","searchParams","set","toString","t2","t3","t4","_temp","event","stopPropagation","Box","Text","use","Activity","RowsPhotoAlbum","InfiniteScroll","AssetFromSource","AssetSourceComponentProps","SanityClient","fetchDownloadUrl","FetcherResult","UnsplashPhoto","Loader","UnsplashCreditLine","PHOTO_SPACING","PHOTO_PADDING","mapUnsplashToPhotoAlbumPhoto","photo","src","urls","small","width","height","key","id","data","UnsplashAssetSourceGallery","t0","$","_c","client","query","fetcher","scrollContainerRef","onSelect","initialDataPromise","t1","total","t2","t3","t4","t5","current","t6","results","map","t7","index","total_pages","t8","Symbol","for","t9","t10","t11","t12","downloadUrl","description","undefined","asset","kind","value","assetDocumentProps","_type","source","name","url","links","html","creditLine","user","_temp","extras","_temp2","container","style","marginBottom","t13","t14","t15","_","context","username"],"sources":["../src/datastores/unsplash.ts","../src/components/UnsplashCreditLine.tsx","../src/components/UnsplashPhotoGallery.tsx"],"sourcesContent":["import type {SanityClient} from 'sanity'\n\nimport type {UnsplashPhoto} from '../types'\n\nexport async function fetchDownloadUrl(\n client: SanityClient,\n photo: UnsplashPhoto,\n): Promise<string> {\n const downloadUrl = photo.links.download_location.replace(\n 'https://api.unsplash.com',\n '/addons/unsplash',\n )\n const {url} = await client.request<{url: string}>({\n url: downloadUrl,\n withCredentials: true,\n method: 'GET',\n })\n\n return url\n}\n","import {Text, Card} from '@sanity/ui'\nimport {getTheme_v2} from '@sanity/ui/theme'\nimport {styled} from 'styled-components'\n\nconst CreditLineLink = styled.a`\n text-decoration: none;\n cursor: pointer;\n &:hover,\n &:focus {\n [data-ui='Text'] {\n text-decoration: underline;\n }\n }\n`\n\nconst CreditLine = styled(Card)`\n ${({theme}) => {\n const v2 = getTheme_v2({sanity: theme.sanity})\n return `\n --creditline-fg: ${v2.color.fg};\n --creditline-bg: ${v2.color.bg};\n `\n }};\n -webkit-user-drag: none;\n position: absolute;\n background-color: var(--creditline-bg);\n bottom: 0;\n\n [data-ui='Text'] {\n color: var(--creditline-fg);\n }\n`\n\nconst UTM_SOURCE = 'sanity-plugin-asset-source-unsplash'\nexport function UnsplashCreditLine({\n link,\n id,\n userName,\n}: {\n link: string\n id: string\n userName: string\n}) {\n const url = new URL(link)\n url.searchParams.set('utm_source', UTM_SOURCE)\n url.searchParams.set('utm_medium', 'referral')\n\n return (\n <CreditLineLink\n href={url.toString()}\n target={id}\n rel=\"noreferrer noopener\"\n onClick={(event) => event.stopPropagation()}\n >\n <CreditLine padding={1} radius={1} margin={1}>\n <Text size={0} title={`Open image by ${userName} on Unsplash in new window`}>\n By @{userName}\n </Text>\n </CreditLine>\n </CreditLineLink>\n )\n}\n","import {Box, Text} from '@sanity/ui'\nimport {use, Activity} from 'react'\n\nimport 'react-photo-album/rows.css'\nimport {RowsPhotoAlbum} from 'react-photo-album'\nimport InfiniteScroll from 'react-photo-album/scroll'\nimport {type AssetFromSource, type AssetSourceComponentProps, type SanityClient} from 'sanity'\n\nimport {fetchDownloadUrl} from '../datastores/unsplash'\nimport type {FetcherResult, UnsplashPhoto} from '../types'\nimport {Loader} from './Loader'\nimport {UnsplashCreditLine} from './UnsplashCreditLine'\n\nconst PHOTO_SPACING = 2\nconst PHOTO_PADDING = 1 // offset the 1px border width\n\nfunction mapUnsplashToPhotoAlbumPhoto(photo: UnsplashPhoto) {\n return {\n src: photo.urls.small,\n width: photo.width,\n height: photo.height,\n key: photo.id,\n data: photo,\n }\n}\n\nexport default function UnsplashAssetSourceGallery({\n client,\n query,\n fetcher,\n scrollContainerRef,\n onSelect,\n initialDataPromise,\n}: {\n client: SanityClient\n query: string\n fetcher: (query: string, index: number) => Promise<FetcherResult>\n scrollContainerRef: React.RefObject<HTMLDivElement | null>\n initialDataPromise: Promise<FetcherResult>\n} & Pick<AssetSourceComponentProps, 'onSelect'>) {\n const data = use(initialDataPromise)\n\n return (\n <>\n <Activity mode={data.total === 0 ? 'visible' : 'hidden'}>\n <Box paddingX={2} paddingY={3}>\n <Text size={1} muted>\n No results found for \"{query}\"\n </Text>\n </Box>\n </Activity>\n <Activity mode={data.total === 0 ? 'hidden' : 'visible'}>\n <InfiniteScroll\n key={query}\n scrollContainer={() => scrollContainerRef.current}\n photos={data.results.map(mapUnsplashToPhotoAlbumPhoto)}\n fetch={async (index) => {\n const {results, total_pages} = await fetcher(query, index + 1)\n\n if (index < total_pages) {\n return results.map(mapUnsplashToPhotoAlbumPhoto)\n }\n\n return null\n }}\n loading={<Loader />}\n finished={\n query && (\n <Box paddingX={2} paddingY={3}>\n <Text size={1} muted>\n No more results\n </Text>\n </Box>\n )\n }\n onClick={async ({photo: {data: photo}}) => {\n const downloadUrl = await fetchDownloadUrl(client, photo)\n\n const description = photo.description || undefined\n const asset: AssetFromSource = {\n kind: 'url',\n value: downloadUrl,\n // @ts-expect-error TODO: this is a partial assetDocumentProps, update types.\n assetDocumentProps: {\n _type: 'sanity.imageAsset',\n source: {\n name: 'unsplash',\n id: photo.id,\n url: photo.links.html,\n },\n description,\n creditLine: `${photo.user.name} by Unsplash`,\n },\n }\n return onSelect([asset])\n }}\n >\n <RowsPhotoAlbum<ReturnType<typeof mapUnsplashToPhotoAlbumPhoto>>\n photos={[]}\n spacing={PHOTO_SPACING}\n padding={PHOTO_PADDING}\n targetRowHeight={(width) => {\n if (width < 300) return 150\n if (width < 600) return 200\n return 300\n }}\n render={{\n extras: (_, context) => {\n return (\n <UnsplashCreditLine\n id={context.photo.data.id}\n link={context.photo.data.links.html}\n userName={context.photo.data.user.username}\n />\n )\n },\n }}\n componentsProps={{container: {style: {marginBottom: PHOTO_SPACING}}}}\n />\n </InfiniteScroll>\n </Activity>\n </>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UnsplashPhotoGallery-CEo30_Cn.js","names":["SanityClient","UnsplashPhoto","fetchDownloadUrl","client","photo","Promise","downloadUrl","links","download_location","replace","url","request","withCredentials","method","Text","Card","getTheme_v2","styled","CreditLineLink","a","CreditLine","theme","v2","sanity","color","fg","bg","UTM_SOURCE","UnsplashCreditLine","t0","$","_c","link","id","userName","T0","t1","url","URL","searchParams","set","toString","t2","t3","t4","_temp","event","stopPropagation","Box","Text","use","Activity","RowsPhotoAlbum","InfiniteScroll","AssetFromSource","AssetSourceComponentProps","SanityClient","fetchDownloadUrl","FetcherResult","UnsplashPhoto","Loader","UnsplashCreditLine","PHOTO_SPACING","PHOTO_PADDING","mapUnsplashToPhotoAlbumPhoto","photo","src","urls","small","width","height","key","id","data","UnsplashAssetSourceGallery","t0","$","_c","client","query","fetcher","scrollContainerRef","onSelect","initialDataPromise","t1","total","t2","t3","t4","t5","current","t6","results","map","t7","index","total_pages","t8","Symbol","for","t9","t10","t11","t12","downloadUrl","description","undefined","asset","kind","value","assetDocumentProps","_type","source","name","url","links","html","creditLine","user","_temp","extras","_temp2","container","style","marginBottom","t13","t14","t15","_","context","username"],"sources":["../src/datastores/unsplash.ts","../src/components/UnsplashCreditLine.tsx","../src/components/UnsplashPhotoGallery.tsx"],"sourcesContent":["import type {SanityClient} from 'sanity'\n\nimport type {UnsplashPhoto} from '../types'\n\nexport async function fetchDownloadUrl(\n client: SanityClient,\n photo: UnsplashPhoto,\n): Promise<string> {\n const downloadUrl = photo.links.download_location.replace(\n 'https://api.unsplash.com',\n '/addons/unsplash',\n )\n const {url} = await client.request<{url: string}>({\n url: downloadUrl,\n withCredentials: true,\n method: 'GET',\n })\n\n return url\n}\n","import {Text, Card} from '@sanity/ui'\nimport {getTheme_v2} from '@sanity/ui/theme'\nimport {styled} from 'styled-components'\n\nconst CreditLineLink = styled.a`\n text-decoration: none;\n cursor: pointer;\n &:hover,\n &:focus {\n [data-ui='Text'] {\n text-decoration: underline;\n }\n }\n`\n\nconst CreditLine = styled(Card)`\n ${({theme}) => {\n const v2 = getTheme_v2({sanity: theme.sanity})\n return `\n --creditline-fg: ${v2.color.fg};\n --creditline-bg: ${v2.color.bg};\n `\n }};\n -webkit-user-drag: none;\n position: absolute;\n background-color: var(--creditline-bg);\n bottom: 0;\n\n [data-ui='Text'] {\n color: var(--creditline-fg);\n }\n`\n\nconst UTM_SOURCE = 'sanity-plugin-asset-source-unsplash'\nexport function UnsplashCreditLine({\n link,\n id,\n userName,\n}: {\n link: string\n id: string\n userName: string\n}) {\n const url = new URL(link)\n url.searchParams.set('utm_source', UTM_SOURCE)\n url.searchParams.set('utm_medium', 'referral')\n\n return (\n <CreditLineLink\n href={url.toString()}\n target={id}\n rel=\"noreferrer noopener\"\n onClick={(event) => event.stopPropagation()}\n >\n <CreditLine padding={1} radius={1} margin={1}>\n <Text size={0} title={`Open image by ${userName} on Unsplash in new window`}>\n By @{userName}\n </Text>\n </CreditLine>\n </CreditLineLink>\n )\n}\n","import {Box, Text} from '@sanity/ui'\nimport {use, Activity} from 'react'\n\nimport 'react-photo-album/rows.css'\nimport {RowsPhotoAlbum} from 'react-photo-album'\nimport InfiniteScroll from 'react-photo-album/scroll'\nimport {type AssetFromSource, type AssetSourceComponentProps, type SanityClient} from 'sanity'\n\nimport {fetchDownloadUrl} from '../datastores/unsplash'\nimport type {FetcherResult, UnsplashPhoto} from '../types'\nimport {Loader} from './Loader'\nimport {UnsplashCreditLine} from './UnsplashCreditLine'\n\nconst PHOTO_SPACING = 2\nconst PHOTO_PADDING = 1 // offset the 1px border width\n\nfunction mapUnsplashToPhotoAlbumPhoto(photo: UnsplashPhoto) {\n return {\n src: photo.urls.small,\n width: photo.width,\n height: photo.height,\n key: photo.id,\n data: photo,\n }\n}\n\nexport default function UnsplashAssetSourceGallery({\n client,\n query,\n fetcher,\n scrollContainerRef,\n onSelect,\n initialDataPromise,\n}: {\n client: SanityClient\n query: string\n fetcher: (query: string, index: number) => Promise<FetcherResult>\n scrollContainerRef: React.RefObject<HTMLDivElement | null>\n initialDataPromise: Promise<FetcherResult>\n} & Pick<AssetSourceComponentProps, 'onSelect'>) {\n const data = use(initialDataPromise)\n\n return (\n <>\n <Activity mode={data.total === 0 ? 'visible' : 'hidden'}>\n <Box paddingX={2} paddingY={3}>\n <Text size={1} muted>\n No results found for \"{query}\"\n </Text>\n </Box>\n </Activity>\n <Activity mode={data.total === 0 ? 'hidden' : 'visible'}>\n <InfiniteScroll\n key={query}\n scrollContainer={() => scrollContainerRef.current}\n photos={data.results.map(mapUnsplashToPhotoAlbumPhoto)}\n fetch={async (index) => {\n const {results, total_pages} = await fetcher(query, index + 1)\n\n if (index < total_pages) {\n return results.map(mapUnsplashToPhotoAlbumPhoto)\n }\n\n return null\n }}\n loading={<Loader />}\n finished={\n query && (\n <Box paddingX={2} paddingY={3}>\n <Text size={1} muted>\n No more results\n </Text>\n </Box>\n )\n }\n onClick={async ({photo: {data: photo}}) => {\n const downloadUrl = await fetchDownloadUrl(client, photo)\n\n const description = photo.description || undefined\n const asset: AssetFromSource = {\n kind: 'url',\n value: downloadUrl,\n // @ts-expect-error TODO: this is a partial assetDocumentProps, update types.\n assetDocumentProps: {\n _type: 'sanity.imageAsset',\n source: {\n name: 'unsplash',\n id: photo.id,\n url: photo.links.html,\n },\n description,\n creditLine: `${photo.user.name} by Unsplash`,\n },\n }\n return onSelect([asset])\n }}\n >\n <RowsPhotoAlbum<ReturnType<typeof mapUnsplashToPhotoAlbumPhoto>>\n photos={[]}\n spacing={PHOTO_SPACING}\n padding={PHOTO_PADDING}\n targetRowHeight={(width) => {\n if (width < 300) return 150\n if (width < 600) return 200\n return 300\n }}\n render={{\n extras: (_, context) => {\n return (\n <UnsplashCreditLine\n id={context.photo.data.id}\n link={context.photo.data.links.html}\n userName={context.photo.data.user.username}\n />\n )\n },\n }}\n componentsProps={{container: {style: {marginBottom: PHOTO_SPACING}}}}\n />\n </InfiniteScroll>\n </Activity>\n </>\n )\n}\n"],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["UnsplashIcon","$","_c","t0","Symbol","for","SearchIcon","SpinnerIcon","TextInput","startTransition","useOptimistic","styled","keyframes","rotate","AnimatedSpinnerIcon","SearchInput","t0","$","_c","value","changeAction","inputValue","setInputValue","isPending","t1","handleChange","newValue","t2","length","t3","t4","event","currentTarget","t5","t6","Dialog","Stack","Box","memoize","lazy","Suspense","useMemo","useRef","useState","AssetSourceComponentProps","useClient","styled","FetcherResult","UnsplashPhoto","Loader","SearchInput","RESULTS_PER_PAGE","StyledDialog","UnsplashAssetSourceGallery","UnsplashAssetSource","t0","$","_c","onClose","onSelect","t1","Symbol","for","apiVersion","client","t2","fetcher","query","page","searchParams","URLSearchParams","per_page","trim","set","request","url","withCredentials","method","then","_temp","_temp2","query_1","setQuery","scrollContainerRef","t3","t4","overflow","overflowX","overflowY","t5","position","top","zIndex","t6","t7","t8","t9","t10","t11","query_0","page_0","JSON","stringify","results","total","length","total_pages","Math","ceil","AssetSource","definePlugin","Plugin","UnsplashIcon","UnsplashAssetSource","Asset","AssetDocument","UnsplashPhoto","unsplashAssetSource","name","title","component","icon","unsplashImageAsset","form","image","assetSources"],"sources":["../src/components/Icon.tsx","../src/components/SearchInput.tsx","../src/components/UnsplashAssetSource.tsx","../src/index.ts"],"sourcesContent":["/**\n * @public\n */\nexport function UnsplashIcon(): React.JSX.Element {\n return (\n <svg\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"img\"\n viewBox=\"0 0 25 25\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n >\n <title>Unsplash</title>\n <path d=\"M9 9V4h7v5H9Zm7 3h5v9H4v-9h5v5h7v-5Z\" />\n </svg>\n )\n}\n","import {SearchIcon} from '@sanity/icons/Search'\nimport {SpinnerIcon} from '@sanity/icons/Spinner'\nimport {TextInput} from '@sanity/ui'\nimport {startTransition, useOptimistic} from 'react'\nimport {styled, keyframes} from 'styled-components'\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n\nexport function SearchInput({\n value,\n changeAction,\n}: {\n value: string\n changeAction: (value: string) => Promise<void> | void\n}) {\n const [inputValue, setInputValue] = useOptimistic(value)\n const isPending = inputValue !== value\n function handleChange(newValue: string) {\n startTransition(async () => {\n setInputValue(newValue)\n await changeAction(newValue)\n })\n }\n\n return (\n <TextInput\n clearButton={inputValue.length > 0 && !isPending}\n icon={SearchIcon}\n onChange={(event) => handleChange(event.currentTarget.value)}\n onClear={() => handleChange('')}\n placeholder=\"Search by topics or colors\"\n value={inputValue}\n iconRight={isPending && AnimatedSpinnerIcon}\n />\n )\n}\n","import {Dialog, Stack, Box} from '@sanity/ui'\nimport memoize from 'lodash-es/memoize.js'\nimport {lazy, Suspense, useMemo, useRef, useState} from 'react'\nimport {type AssetSourceComponentProps, useClient} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport type {FetcherResult, UnsplashPhoto} from '../types'\nimport {Loader} from './Loader'\nimport {SearchInput} from './SearchInput'\n\nconst RESULTS_PER_PAGE = 42\n\nconst StyledDialog = styled(Dialog)`\n & > [data-ui='DialogCard'] > [data-ui='Card'] {\n height: 100%;\n }\n`\n\nconst UnsplashAssetSourceGallery = lazy(() => import('./UnsplashPhotoGallery'))\n\nexport function UnsplashAssetSource({onClose, onSelect}: AssetSourceComponentProps) {\n const client = useClient({apiVersion: '2022-09-01'})\n const fetcher = useMemo(\n () =>\n memoize(\n async function fetcher(query: string, page: number): Promise<FetcherResult> {\n const searchParams = new URLSearchParams({\n page: `${page}`,\n per_page: `${RESULTS_PER_PAGE}`,\n })\n if (query.trim()) {\n searchParams.set('query', query.trim())\n return client.request<{\n results: UnsplashPhoto[]\n total: number\n total_pages: number\n }>({\n url: `/addons/unsplash/search/photos?${searchParams}`,\n withCredentials: true,\n method: 'GET',\n })\n }\n searchParams.set('order_by', 'popular')\n return client\n .request<UnsplashPhoto[]>({\n url: `/addons/unsplash/photos?${searchParams}`,\n withCredentials: true,\n method: 'GET',\n })\n .then((results) => ({\n results,\n total: results.length,\n total_pages: Math.ceil(results.length / RESULTS_PER_PAGE),\n }))\n },\n (query, page) => JSON.stringify({query, page}),\n ),\n [client],\n )\n\n const [query, setQuery] = useState('')\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n\n return (\n <StyledDialog\n animate\n id=\"unsplash-asset-source\"\n header=\"Select image from Unsplash\"\n onClose={() => onClose()}\n open\n height=\"100%\"\n width={4}\n >\n <Stack\n ref={scrollContainerRef}\n gap={1}\n paddingLeft={3}\n height=\"stretch\"\n style={{overflow: 'hidden scroll', overflowX: 'clip', overflowY: 'scroll'}}\n >\n <Box style={{position: 'sticky', top: 0, zIndex: 1}}>\n <SearchInput changeAction={setQuery} value={query} />\n </Box>\n <Suspense fallback={<Loader />}>\n <UnsplashAssetSourceGallery\n client={client}\n query={query}\n fetcher={fetcher}\n scrollContainerRef={scrollContainerRef}\n onSelect={onSelect}\n initialDataPromise={fetcher(query, 1)}\n />\n </Suspense>\n </Stack>\n </StyledDialog>\n )\n}\n","import {type AssetSource, definePlugin, type Plugin} from 'sanity'\n\nimport {UnsplashIcon} from './components/Icon'\nimport {UnsplashAssetSource} from './components/UnsplashAssetSource'\n\nexport type {Asset, AssetDocument, UnsplashPhoto} from './types'\n\n/**\n * @public\n */\nexport const unsplashAssetSource: AssetSource = {\n name: 'unsplash',\n // oxlint-disable-next-line no-deprecated -- `i18nKey` requires a locale bundle; a plain title is intentional here\n title: 'Unsplash',\n component: UnsplashAssetSource,\n icon: UnsplashIcon,\n}\n\n/**\n * @public\n */\nexport const unsplashImageAsset: Plugin = definePlugin({\n name: 'asset-source-unsplash-plugin',\n\n form: {\n image: {\n assetSources: [unsplashAssetSource],\n },\n },\n})\n\nexport {UnsplashIcon}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["UnsplashIcon","$","_c","t0","Symbol","for","SearchIcon","SpinnerIcon","TextInput","startTransition","useOptimistic","styled","keyframes","rotate","AnimatedSpinnerIcon","SearchInput","t0","$","_c","value","changeAction","inputValue","setInputValue","isPending","t1","handleChange","newValue","t2","length","t3","t4","event","currentTarget","t5","t6","Dialog","Stack","Box","memoize","lazy","Suspense","useMemo","useRef","useState","AssetSourceComponentProps","useClient","styled","FetcherResult","UnsplashPhoto","Loader","SearchInput","RESULTS_PER_PAGE","StyledDialog","UnsplashAssetSourceGallery","UnsplashAssetSource","t0","$","_c","onClose","onSelect","t1","Symbol","for","apiVersion","client","t2","fetcher","query","page","searchParams","URLSearchParams","per_page","trim","set","request","url","withCredentials","method","then","_temp","_temp2","query_1","setQuery","scrollContainerRef","t3","t4","overflow","overflowX","overflowY","t5","position","top","zIndex","t6","t7","t8","t9","t10","t11","query_0","page_0","JSON","stringify","results","total","length","total_pages","Math","ceil","AssetSource","definePlugin","Plugin","UnsplashIcon","UnsplashAssetSource","Asset","AssetDocument","UnsplashPhoto","unsplashAssetSource","name","title","component","icon","unsplashImageAsset","form","image","assetSources"],"sources":["../src/components/Icon.tsx","../src/components/SearchInput.tsx","../src/components/UnsplashAssetSource.tsx","../src/index.ts"],"sourcesContent":["/**\n * @public\n */\nexport function UnsplashIcon(): React.JSX.Element {\n return (\n <svg\n // oxlint-disable-next-line prefer-tag-over-role\n role=\"img\"\n viewBox=\"0 0 25 25\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n >\n <title>Unsplash</title>\n <path d=\"M9 9V4h7v5H9Zm7 3h5v9H4v-9h5v5h7v-5Z\" />\n </svg>\n )\n}\n","import {SearchIcon} from '@sanity/icons/Search'\nimport {SpinnerIcon} from '@sanity/icons/Spinner'\nimport {TextInput} from '@sanity/ui'\nimport {startTransition, useOptimistic} from 'react'\nimport {styled, keyframes} from 'styled-components'\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst AnimatedSpinnerIcon = styled(SpinnerIcon)`\n animation: ${rotate} 500ms linear infinite;\n`\n\nexport function SearchInput({\n value,\n changeAction,\n}: {\n value: string\n changeAction: (value: string) => Promise<void> | void\n}) {\n const [inputValue, setInputValue] = useOptimistic(value)\n const isPending = inputValue !== value\n function handleChange(newValue: string) {\n startTransition(async () => {\n setInputValue(newValue)\n await changeAction(newValue)\n })\n }\n\n return (\n <TextInput\n clearButton={inputValue.length > 0 && !isPending}\n icon={SearchIcon}\n onChange={(event) => handleChange(event.currentTarget.value)}\n onClear={() => handleChange('')}\n placeholder=\"Search by topics or colors\"\n value={inputValue}\n iconRight={isPending && AnimatedSpinnerIcon}\n />\n )\n}\n","import {Dialog, Stack, Box} from '@sanity/ui'\nimport memoize from 'lodash-es/memoize.js'\nimport {lazy, Suspense, useMemo, useRef, useState} from 'react'\nimport {type AssetSourceComponentProps, useClient} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport type {FetcherResult, UnsplashPhoto} from '../types'\nimport {Loader} from './Loader'\nimport {SearchInput} from './SearchInput'\n\nconst RESULTS_PER_PAGE = 42\n\nconst StyledDialog = styled(Dialog)`\n & > [data-ui='DialogCard'] > [data-ui='Card'] {\n height: 100%;\n }\n`\n\nconst UnsplashAssetSourceGallery = lazy(() => import('./UnsplashPhotoGallery'))\n\nexport function UnsplashAssetSource({onClose, onSelect}: AssetSourceComponentProps) {\n const client = useClient({apiVersion: '2022-09-01'})\n const fetcher = useMemo(\n () =>\n memoize(\n async function fetcher(query: string, page: number): Promise<FetcherResult> {\n const searchParams = new URLSearchParams({\n page: `${page}`,\n per_page: `${RESULTS_PER_PAGE}`,\n })\n if (query.trim()) {\n searchParams.set('query', query.trim())\n return client.request<{\n results: UnsplashPhoto[]\n total: number\n total_pages: number\n }>({\n url: `/addons/unsplash/search/photos?${searchParams}`,\n withCredentials: true,\n method: 'GET',\n })\n }\n searchParams.set('order_by', 'popular')\n return client\n .request<UnsplashPhoto[]>({\n url: `/addons/unsplash/photos?${searchParams}`,\n withCredentials: true,\n method: 'GET',\n })\n .then((results) => ({\n results,\n total: results.length,\n total_pages: Math.ceil(results.length / RESULTS_PER_PAGE),\n }))\n },\n (query, page) => JSON.stringify({query, page}),\n ),\n [client],\n )\n\n const [query, setQuery] = useState('')\n const scrollContainerRef = useRef<HTMLDivElement>(null)\n\n return (\n <StyledDialog\n animate\n id=\"unsplash-asset-source\"\n header=\"Select image from Unsplash\"\n onClose={() => onClose()}\n open\n height=\"100%\"\n width={4}\n >\n <Stack\n ref={scrollContainerRef}\n gap={1}\n paddingLeft={3}\n height=\"stretch\"\n style={{overflow: 'hidden scroll', overflowX: 'clip', overflowY: 'scroll'}}\n >\n <Box style={{position: 'sticky', top: 0, zIndex: 1}}>\n <SearchInput changeAction={setQuery} value={query} />\n </Box>\n <Suspense fallback={<Loader />}>\n <UnsplashAssetSourceGallery\n client={client}\n query={query}\n fetcher={fetcher}\n scrollContainerRef={scrollContainerRef}\n onSelect={onSelect}\n initialDataPromise={fetcher(query, 1)}\n />\n </Suspense>\n </Stack>\n </StyledDialog>\n )\n}\n","import {type AssetSource, definePlugin, type Plugin} from 'sanity'\n\nimport {UnsplashIcon} from './components/Icon'\nimport {UnsplashAssetSource} from './components/UnsplashAssetSource'\n\nexport type {Asset, AssetDocument, UnsplashPhoto} from './types'\n\n/**\n * @public\n */\nexport const unsplashAssetSource: AssetSource = {\n name: 'unsplash',\n // oxlint-disable-next-line no-deprecated -- `i18nKey` requires a locale bundle; a plain title is intentional here\n title: 'Unsplash',\n component: UnsplashAssetSource,\n icon: UnsplashIcon,\n}\n\n/**\n * @public\n */\nexport const unsplashImageAsset: Plugin = definePlugin({\n name: 'asset-source-unsplash-plugin',\n\n form: {\n image: {\n assetSources: [unsplashAssetSource],\n },\n },\n})\n\nexport {UnsplashIcon}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sanity-plugin-asset-source-unsplash",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.20",
|
|
4
4
|
"description": "Use images from Unsplash.com in your Sanity Studio",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"assets",
|
|
@@ -31,22 +31,22 @@
|
|
|
31
31
|
"./package.json": "./package.json"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@sanity/icons": "^5.
|
|
35
|
-
"@sanity/ui": "^3.
|
|
34
|
+
"@sanity/icons": "^5.2.0",
|
|
35
|
+
"@sanity/ui": "^3.4.0",
|
|
36
36
|
"lodash-es": "^4.18.1",
|
|
37
37
|
"react-photo-album": "^3.6.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@sanity/tsconfig": "^2.2.1",
|
|
41
|
-
"@sanity/tsdown-config": "^0.
|
|
41
|
+
"@sanity/tsdown-config": "^0.19.6",
|
|
42
42
|
"@types/lodash-es": "^4.17.12",
|
|
43
43
|
"@types/node": "^24.13.3",
|
|
44
44
|
"@types/react": "^19.2.17",
|
|
45
45
|
"babel-plugin-react-compiler": "^1.0.0",
|
|
46
46
|
"react": "^19.2.7",
|
|
47
47
|
"sanity": "^6.5.0",
|
|
48
|
-
"styled-components": "^6.4.
|
|
49
|
-
"tsdown": "^0.22.
|
|
48
|
+
"styled-components": "^6.4.4",
|
|
49
|
+
"tsdown": "^0.22.12"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "^19.2",
|