sanity-plugin-note-field
Version:
Display inline notes within your schemas
1 lines • 3.5 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../src/note-input.tsx","../src/note-field.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Card, Flex, Text } from '@sanity/ui'\nimport startCase from 'lodash/startCase.js'\n\nimport type { noteInputProps, NoteOptions } from './types'\n\nconst NoteInput = (\n props: noteInputProps & { ref?: React.Ref<HTMLDivElement> },\n): React.JSX.Element | null => {\n const { ref, ...args } = props\n const { title, description } = args.schemaType\n const options = args.schemaType.options as NoteOptions | undefined\n\n // get last item in args.path array\n const pathId = String(args.path[args.path.length - 1] ?? '')\n\n const displayTitle = startCase(pathId) === title ? null : title\n const Icon = options?.icon\n const tone = options?.tone ?? 'primary'\n\n // bail if nothing was set\n if (!displayTitle && !description) return null\n\n return (\n <Card ref={ref} data-note={pathId} padding={4} radius={2} tone={tone}>\n <Flex>\n {Icon && (\n <Box>\n <Text size={1} style={{ color: 'var(--card-icon-color)' }}>\n <Icon />\n </Text>\n </Box>\n )}\n <Box flex={1} marginLeft={Icon ? 3 : 0}>\n {displayTitle && (\n <Box marginBottom={description ? 3 : 0}>\n <Text size={1} weight=\"medium\">\n {displayTitle}\n </Text>\n </Box>\n )}\n\n {description && (\n <Text size={1} muted>\n {description}\n </Text>\n )}\n </Box>\n </Flex>\n </Card>\n )\n}\n\nNoteInput.displayName = 'NoteInput'\n\nexport default NoteInput\n","import { definePlugin, defineType } from 'sanity'\n\nimport NoteInput from './note-input'\n\nexport const noteField = definePlugin(() => {\n return {\n name: 'sanity-plugin-note-field',\n schema: {\n types: [\n defineType({\n title: 'Note',\n name: 'note',\n type: 'string',\n components: {\n input: NoteInput,\n field: (props) => <>{props.children}</>,\n },\n }),\n ],\n },\n }\n})\n"],"names":["startCase","Card","Flex","jsx","Box","Text","definePlugin","defineType","Fragment"],"mappings":";;;;;;;AAMA,MAAM,YAAY,CAChB,UAC6B;AAC7B,QAAM,EAAE,KAAK,GAAG,KAAA,IAAS,OACnB,EAAE,OAAO,gBAAgB,KAAK,YAC9B,UAAU,KAAK,WAAW,SAG1B,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,GAErD,eAAeA,mBAAAA,QAAU,MAAM,MAAM,QAAQ,OAAO,OACpD,OAAO,SAAS,MAChB,OAAO,SAAS,QAAQ;AAG9B,SAAI,CAAC,gBAAgB,CAAC,cAAoB,sCAGvCC,GAAAA,MAAA,EAAK,KAAU,aAAW,QAAQ,SAAS,GAAG,QAAQ,GAAG,MACxD,0CAACC,SAAA,EACE,UAAA;AAAA,IAAA,QACCC,2BAAAA,IAACC,GAAAA,KAAA,EACC,UAAAD,2BAAAA,IAACE,GAAAA,MAAA,EAAK,MAAM,GAAG,OAAO,EAAE,OAAO,yBAAA,GAC7B,UAAAF,2BAAAA,IAAC,MAAA,CAAA,CAAK,GACR,GACF;AAAA,oCAEDC,GAAAA,KAAA,EAAI,MAAM,GAAG,YAAY,OAAO,IAAI,GAClC,UAAA;AAAA,MAAA,gBACCD,2BAAAA,IAACC,GAAAA,KAAA,EAAI,cAAc,cAAc,IAAI,GACnC,UAAAD,2BAAAA,IAACE,GAAAA,MAAA,EAAK,MAAM,GAAG,QAAO,UACnB,wBACH,GACF;AAAA,MAGD,eACCF,2BAAAA,IAACE,GAAAA,MAAA,EAAK,MAAM,GAAG,OAAK,IACjB,UAAA,YAAA,CACH;AAAA,IAAA,EAAA,CAEJ;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;AAEA,UAAU,cAAc;ACjDjB,MAAM,YAAYC,OAAAA,aAAa,OAC7B;AAAA,EACL,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,OAAO;AAAA,MACLC,kBAAW;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,YAAY;AAAA,UACV,OAAO;AAAA,UACP,OAAO,CAAC,UAAUJ,2BAAAA,IAAAK,WAAAA,UAAA,EAAG,gBAAM,SAAA,CAAS;AAAA,QAAA;AAAA,MACtC,CACD;AAAA,IAAA;AAAA,EACH;AAEJ,EACD;;"}