sanity 5.3.0-next.18 → 5.3.0-next.23

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.
@@ -58,10 +58,7 @@ function ListPaneContent(props) {
58
58
  $[2] !== items ? (t1 = (itemIndex) => items?.find((_, i) => i === itemIndex)?.type === "divider", $[2] = items, $[3] = t1) : t1 = $[3];
59
59
  const getItemDisabled = t1;
60
60
  let t2;
61
- $[4] !== showIcons ? (t2 = (item_0) => {
62
- const itemShowIcon = item_0.displayOptions?.showIcon;
63
- return typeof itemShowIcon < "u" ? itemShowIcon !== !1 : showIcons !== !1;
64
- }, $[4] = showIcons, $[5] = t2) : t2 = $[5];
61
+ $[4] !== showIcons ? (t2 = (item_0) => item_0.displayOptions?.showIcon ?? showIcons ?? !1, $[4] = showIcons, $[5] = t2) : t2 = $[5];
65
62
  const shouldShowIconForItem = t2;
66
63
  let t3;
67
64
  $[6] !== childItemId || $[7] !== getI18nText || $[8] !== isActive || $[9] !== layout || $[10] !== shouldShowIconForItem ? (t3 = (item_1, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index2.js","sources":["../../src/structure/panes/list/ListPaneContent.tsx","../../src/structure/panes/list/ListPaneHeader.tsx","../../src/structure/panes/list/ListPane.tsx"],"sourcesContent":["import {Box, Text} from '@sanity/ui'\nimport {useCallback} from 'react'\nimport {\n CommandList,\n type CommandListItemContext,\n type GeneralPreviewLayoutKey,\n useGetI18nText,\n useI18nText,\n} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport {PaneContent, PaneItem, usePaneLayout} from '../../components'\nimport {type PaneListItem, type PaneListItemDivider} from '../../types'\n\ninterface ListPaneContentProps {\n childItemId?: string\n isActive?: boolean\n items: (PaneListItem<unknown> | PaneListItemDivider)[] | undefined\n layout?: GeneralPreviewLayoutKey\n showIcons: boolean\n title: string\n}\n\nconst DividerContainer = styled(Box)`\n display: flex;\n align-items: center;\n gap: 1rem;\n margin: 0.75rem 0 0.25rem 0;\n`\n\nconst Divider = styled.hr`\n flex: 1;\n background-color: var(--card-border-color);\n height: 1px;\n margin: 0;\n border: none;\n`\n\nconst DividerTitle = styled(Text)`\n padding-bottom: 0.75rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n`\n\ninterface DividerItemProps {\n item: PaneListItemDivider\n}\n\nfunction DividerItem({item}: DividerItemProps) {\n const {title: dividerTitle} = useI18nText(item)\n return (\n <DividerContainer>\n <DividerTitle weight=\"semibold\" muted size={1}>\n {dividerTitle}\n </DividerTitle>\n\n <Divider />\n </DividerContainer>\n )\n}\n\n/**\n * @internal\n */\nexport function ListPaneContent(props: ListPaneContentProps) {\n const {childItemId, items, isActive, layout, showIcons, title} = props\n const {collapsed: layoutCollapsed} = usePaneLayout()\n const getI18nText = useGetI18nText(\n items?.filter(\n (item): item is Exclude<typeof item, {type: 'divider'}> => item.type !== 'divider',\n ),\n )\n\n const getItemDisabled = useCallback(\n (itemIndex: number) => {\n return items?.find((_, i) => i === itemIndex)?.type === 'divider'\n },\n [items],\n )\n\n const shouldShowIconForItem = useCallback(\n (item: PaneListItem): boolean => {\n const itemShowIcon = item.displayOptions?.showIcon\n\n // Specific true/false on item should have precedence over list setting\n if (typeof itemShowIcon !== 'undefined') {\n return itemShowIcon !== false // Boolean(item.icon)\n }\n\n // If no item setting is defined, defer to the pane settings\n return showIcons !== false // Boolean(item.icon)\n },\n [showIcons],\n )\n\n const renderItem = useCallback(\n (item: PaneListItem<unknown> | PaneListItemDivider, ctx: CommandListItemContext) => {\n const {virtualIndex: itemIndex} = ctx\n\n if (item.type === 'divider') {\n return (\n <Box key={`divider-${itemIndex}`} marginBottom={1}>\n {item.title ? <DividerItem item={item} /> : <Divider />}\n </Box>\n )\n }\n\n const pressed = !isActive && childItemId === item.id\n const selected = isActive && childItemId === item.id\n // If this is a document list item, pass on the ID and type,\n // otherwise leave it undefined to use the passed title and gang\n const value =\n item._id && item.schemaType\n ? {_id: item._id, _type: item.schemaType.name, title: item.title}\n : undefined\n\n return (\n <PaneItem\n key={item.id}\n icon={shouldShowIconForItem(item) ? item.icon : false}\n id={item.id}\n layout={layout}\n marginBottom={1}\n pressed={pressed}\n schemaType={item.schemaType}\n selected={selected}\n title={getI18nText(item).title}\n value={value}\n />\n )\n },\n [childItemId, getI18nText, isActive, layout, shouldShowIconForItem],\n )\n\n return (\n <PaneContent overflow={layoutCollapsed ? 'hidden' : 'auto'}>\n {items && items.length > 0 && (\n <CommandList\n activeItemDataAttr=\"data-hovered\"\n ariaLabel={title}\n canReceiveFocus\n getItemDisabled={getItemDisabled}\n itemHeight={51}\n items={items}\n onlyShowSelectionWhenActive\n paddingBottom={1}\n paddingX={3}\n renderItem={renderItem}\n wrapAround={false}\n />\n )}\n </PaneContent>\n )\n}\n","import {ArrowLeftIcon} from '@sanity/icons'\n\nimport {Button} from '../../../ui-components'\nimport {BackLink, PaneHeader, PaneHeaderActions, usePane} from '../../components'\nimport {type PaneMenuItem, type PaneMenuItemGroup} from '../../types'\nimport {useStructureTool} from '../../useStructureTool'\n\ninterface ListPaneHeaderProps {\n index: number\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n title: string\n}\n\nexport const ListPaneHeader = ({index, menuItems, menuItemGroups, title}: ListPaneHeaderProps) => {\n const {features} = useStructureTool()\n const {collapsed, isLast} = usePane()\n // Prevent focus if this is the last (non-collapsed) pane.\n const tabIndex = isLast && !collapsed ? -1 : 0\n\n return (\n <PaneHeader\n actions={<PaneHeaderActions menuItems={menuItems} menuItemGroups={menuItemGroups} />}\n backButton={\n features.backButton &&\n index > 0 && (\n <Button\n as={BackLink}\n data-as=\"a\"\n icon={ArrowLeftIcon}\n mode=\"bleed\"\n tooltipProps={{content: 'Back'}}\n />\n )\n }\n tabIndex={tabIndex}\n title={title}\n />\n )\n}\n","import {Card, Code} from '@sanity/ui'\nimport {useI18nText} from 'sanity'\n\nimport {Pane} from '../../components'\nimport {_DEBUG} from '../../constants'\nimport {type BaseStructureToolPaneProps} from '../types'\nimport {ListPaneContent} from './ListPaneContent'\nimport {ListPaneHeader} from './ListPaneHeader'\n\ntype ListPaneProps = BaseStructureToolPaneProps<'list'>\n\n/**\n * @internal\n */\nexport function ListPane(props: ListPaneProps) {\n const {childItemId, index, isActive, isSelected, pane, paneKey} = props\n\n const {defaultLayout, displayOptions, items, menuItems, menuItemGroups} = pane\n const showIcons = displayOptions?.showIcons !== false\n const {title} = useI18nText(pane)\n\n return (\n <Pane\n currentMaxWidth={350}\n data-testid=\"structure-tool-list-pane\"\n data-ui=\"ListPane\"\n id={paneKey}\n maxWidth={640}\n minWidth={320}\n selected={isSelected}\n >\n {_DEBUG && (\n <Card padding={4} tone=\"transparent\">\n <Code>{pane.source || '(none)'}</Code>\n </Card>\n )}\n\n <ListPaneHeader\n index={index}\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n title={title}\n />\n\n <ListPaneContent\n key={paneKey}\n childItemId={childItemId}\n isActive={isActive}\n items={items}\n layout={defaultLayout}\n showIcons={showIcons}\n title={title}\n />\n </Pane>\n )\n}\n"],"names":["DividerContainer","styled","Box","Divider","hr","DividerTitle","Text","DividerItem","t0","$","_c","item","title","dividerTitle","useI18nText","t1","t2","Symbol","for","t3","ListPaneContent","props","childItemId","items","isActive","layout","showIcons","collapsed","layoutCollapsed","usePaneLayout","filter","_temp","getI18nText","useGetI18nText","itemIndex","find","_","i","type","getItemDisabled","item_0","itemShowIcon","displayOptions","showIcon","shouldShowIconForItem","item_1","ctx","virtualIndex","itemIndex_0","pressed","id","selected","value","_id","schemaType","_type","name","undefined","icon","renderItem","t4","t5","length","t6","ListPaneHeader","index","menuItems","menuItemGroups","features","useStructureTool","isLast","usePane","tabIndex","backButton","BackLink","ArrowLeftIcon","content","ListPane","isSelected","pane","paneKey","defaultLayout","source","_DEBUG"],"mappings":"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"}
1
+ {"version":3,"file":"index2.js","sources":["../../src/structure/panes/list/ListPaneContent.tsx","../../src/structure/panes/list/ListPaneHeader.tsx","../../src/structure/panes/list/ListPane.tsx"],"sourcesContent":["import {Box, Text} from '@sanity/ui'\nimport {useCallback} from 'react'\nimport {\n CommandList,\n type CommandListItemContext,\n type GeneralPreviewLayoutKey,\n useGetI18nText,\n useI18nText,\n} from 'sanity'\nimport {styled} from 'styled-components'\n\nimport {PaneContent, PaneItem, usePaneLayout} from '../../components'\nimport {type PaneListItem, type PaneListItemDivider} from '../../types'\n\ninterface ListPaneContentProps {\n childItemId?: string\n isActive?: boolean\n items: (PaneListItem | PaneListItemDivider)[] | undefined\n layout?: GeneralPreviewLayoutKey\n showIcons: boolean\n title: string\n}\n\nconst DividerContainer = styled(Box)`\n display: flex;\n align-items: center;\n gap: 1rem;\n margin: 0.75rem 0 0.25rem 0;\n`\n\nconst Divider = styled.hr`\n flex: 1;\n background-color: var(--card-border-color);\n height: 1px;\n margin: 0;\n border: none;\n`\n\nconst DividerTitle = styled(Text)`\n padding-bottom: 0.75rem;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n`\n\ninterface DividerItemProps {\n item: PaneListItemDivider\n}\n\nfunction DividerItem({item}: DividerItemProps) {\n const {title: dividerTitle} = useI18nText(item)\n return (\n <DividerContainer>\n <DividerTitle weight=\"semibold\" muted size={1}>\n {dividerTitle}\n </DividerTitle>\n\n <Divider />\n </DividerContainer>\n )\n}\n\n/**\n * @internal\n */\nexport function ListPaneContent(props: ListPaneContentProps) {\n const {childItemId, items, isActive, layout, showIcons, title} = props\n const {collapsed: layoutCollapsed} = usePaneLayout()\n const getI18nText = useGetI18nText(\n items?.filter(\n (item): item is Exclude<typeof item, {type: 'divider'}> => item.type !== 'divider',\n ),\n )\n\n const getItemDisabled = useCallback(\n (itemIndex: number) => {\n return items?.find((_, i) => i === itemIndex)?.type === 'divider'\n },\n [items],\n )\n\n const shouldShowIconForItem = useCallback(\n (item: PaneListItem): boolean => {\n // Specific true/false on item should have precedence over list setting\n // If no item setting is defined, defer to the pane settings\n return item.displayOptions?.showIcon ?? showIcons ?? false\n },\n [showIcons],\n )\n\n const renderItem = useCallback(\n (item: PaneListItem | PaneListItemDivider, ctx: CommandListItemContext) => {\n const {virtualIndex: itemIndex} = ctx\n\n if (item.type === 'divider') {\n return (\n <Box key={`divider-${itemIndex}`} marginBottom={1}>\n {item.title ? <DividerItem item={item} /> : <Divider />}\n </Box>\n )\n }\n\n const pressed = !isActive && childItemId === item.id\n const selected = isActive && childItemId === item.id\n // If this is a document list item, pass on the ID and type,\n // otherwise leave it undefined to use the passed title and gang\n const value =\n item._id && item.schemaType\n ? {_id: item._id, _type: item.schemaType.name, title: item.title}\n : undefined\n\n return (\n <PaneItem\n key={item.id}\n icon={shouldShowIconForItem(item) ? item.icon : false}\n id={item.id}\n layout={layout}\n marginBottom={1}\n pressed={pressed}\n schemaType={item.schemaType}\n selected={selected}\n title={getI18nText(item).title}\n value={value}\n />\n )\n },\n [childItemId, getI18nText, isActive, layout, shouldShowIconForItem],\n )\n\n return (\n <PaneContent overflow={layoutCollapsed ? 'hidden' : 'auto'}>\n {items && items.length > 0 && (\n <CommandList\n activeItemDataAttr=\"data-hovered\"\n ariaLabel={title}\n canReceiveFocus\n getItemDisabled={getItemDisabled}\n itemHeight={51}\n items={items}\n onlyShowSelectionWhenActive\n paddingBottom={1}\n paddingX={3}\n renderItem={renderItem}\n wrapAround={false}\n />\n )}\n </PaneContent>\n )\n}\n","import {ArrowLeftIcon} from '@sanity/icons'\n\nimport {Button} from '../../../ui-components'\nimport {BackLink, PaneHeader, PaneHeaderActions, usePane} from '../../components'\nimport {type PaneMenuItem, type PaneMenuItemGroup} from '../../types'\nimport {useStructureTool} from '../../useStructureTool'\n\ninterface ListPaneHeaderProps {\n index: number\n menuItems?: PaneMenuItem[]\n menuItemGroups?: PaneMenuItemGroup[]\n title: string\n}\n\nexport const ListPaneHeader = ({index, menuItems, menuItemGroups, title}: ListPaneHeaderProps) => {\n const {features} = useStructureTool()\n const {collapsed, isLast} = usePane()\n // Prevent focus if this is the last (non-collapsed) pane.\n const tabIndex = isLast && !collapsed ? -1 : 0\n\n return (\n <PaneHeader\n actions={<PaneHeaderActions menuItems={menuItems} menuItemGroups={menuItemGroups} />}\n backButton={\n features.backButton &&\n index > 0 && (\n <Button\n as={BackLink}\n data-as=\"a\"\n icon={ArrowLeftIcon}\n mode=\"bleed\"\n tooltipProps={{content: 'Back'}}\n />\n )\n }\n tabIndex={tabIndex}\n title={title}\n />\n )\n}\n","import {Card, Code} from '@sanity/ui'\nimport {useI18nText} from 'sanity'\n\nimport {Pane} from '../../components'\nimport {_DEBUG} from '../../constants'\nimport {type BaseStructureToolPaneProps} from '../types'\nimport {ListPaneContent} from './ListPaneContent'\nimport {ListPaneHeader} from './ListPaneHeader'\n\ntype ListPaneProps = BaseStructureToolPaneProps<'list'>\n\n/**\n * @internal\n */\nexport function ListPane(props: ListPaneProps) {\n const {childItemId, index, isActive, isSelected, pane, paneKey} = props\n\n const {defaultLayout, displayOptions, items, menuItems, menuItemGroups} = pane\n const showIcons = displayOptions?.showIcons !== false\n const {title} = useI18nText(pane)\n\n return (\n <Pane\n currentMaxWidth={350}\n data-testid=\"structure-tool-list-pane\"\n data-ui=\"ListPane\"\n id={paneKey}\n maxWidth={640}\n minWidth={320}\n selected={isSelected}\n >\n {_DEBUG && (\n <Card padding={4} tone=\"transparent\">\n <Code>{pane.source || '(none)'}</Code>\n </Card>\n )}\n\n <ListPaneHeader\n index={index}\n menuItems={menuItems}\n menuItemGroups={menuItemGroups}\n title={title}\n />\n\n <ListPaneContent\n key={paneKey}\n childItemId={childItemId}\n isActive={isActive}\n items={items}\n layout={defaultLayout}\n showIcons={showIcons}\n title={title}\n />\n </Pane>\n )\n}\n"],"names":["DividerContainer","styled","Box","Divider","hr","DividerTitle","Text","DividerItem","t0","$","_c","item","title","dividerTitle","useI18nText","t1","t2","Symbol","for","t3","ListPaneContent","props","childItemId","items","isActive","layout","showIcons","collapsed","layoutCollapsed","usePaneLayout","filter","_temp","getI18nText","useGetI18nText","itemIndex","find","_","i","type","getItemDisabled","item_0","displayOptions","showIcon","shouldShowIconForItem","item_1","ctx","virtualIndex","itemIndex_0","pressed","id","selected","value","_id","schemaType","_type","name","undefined","icon","renderItem","t4","t5","length","t6","ListPaneHeader","index","menuItems","menuItemGroups","features","useStructureTool","isLast","usePane","tabIndex","backButton","BackLink","ArrowLeftIcon","content","ListPane","isSelected","pane","paneKey","defaultLayout","source","_DEBUG"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var version = "5.3.0-next.18+679e81db41", peerDependencies = {
1
+ var version = "5.3.0-next.23+4a9a83bde9", peerDependencies = {
2
2
  "styled-components": "^6.1.15"
3
3
  };
4
4
  export {
@@ -2200,9 +2200,7 @@ function hasObsoleteDraft({
2200
2200
  }
2201
2201
  }
2202
2202
  } = workspace;
2203
- return draftExists === !1 ? {
2204
- result: !1
2205
- } : isDraftModelEnabled ? isLiveEditEnabled(schemaType) ? {
2203
+ return draftExists ? isDraftModelEnabled ? isLiveEditEnabled(schemaType) ? {
2206
2204
  result: !0,
2207
2205
  reason: "LIVE_EDIT_ACTIVE"
2208
2206
  } : {
@@ -2210,6 +2208,8 @@ function hasObsoleteDraft({
2210
2208
  } : {
2211
2209
  result: !0,
2212
2210
  reason: "DRAFT_MODEL_INACTIVE"
2211
+ } : {
2212
+ result: !1
2213
2213
  };
2214
2214
  }
2215
2215
  function mustChooseNewDocumentDestination({
@@ -5616,7 +5616,7 @@ const usePublishAction = (props) => {
5616
5616
  const doPublish = t5;
5617
5617
  let t6;
5618
5618
  $[18] !== doPublish || $[19] !== hasValidationErrors || $[20] !== isSyncing || $[21] !== publishScheduled || $[22] !== revision || $[23] !== validationStatus.isValidating || $[24] !== validationStatus.revision ? (t6 = () => {
5619
- const validationComplete = validationStatus.isValidating === !1 && validationStatus.revision !== revision;
5619
+ const validationComplete = !validationStatus.isValidating && validationStatus.revision !== revision;
5620
5620
  !publishScheduled || isSyncing || !validationComplete || (hasValidationErrors || doPublish(), setPublishScheduled(!1));
5621
5621
  }, $[18] = doPublish, $[19] = hasValidationErrors, $[20] = isSyncing, $[21] = publishScheduled, $[22] = revision, $[23] = validationStatus.isValidating, $[24] = validationStatus.revision, $[25] = t6) : t6 = $[25];
5622
5622
  let t7;
@@ -9735,7 +9735,7 @@ function DocumentListPaneContent(props) {
9735
9735
  activeIndex
9736
9736
  } = t42, publishedId = getPublishedId(item._id), isSelected = childItemId === publishedId, pressed = !isActive && isSelected, selected = isActive && isSelected, isLastItem = activeIndex === items.length - 1, showSpinner = isLastItem && isLazyLoading, showMaxItemsMessage = isLastItem && hasMaxItems;
9737
9737
  return /* @__PURE__ */ jsxs(Fragment, { children: [
9738
- /* @__PURE__ */ jsx(PaneItem, { icon: showIcons === !1 ? !1 : void 0, id: publishedId, layout, marginBottom: 1, pressed, schemaType: schema.get(item._type), selected, sortOrder, value: item }),
9738
+ /* @__PURE__ */ jsx(PaneItem, { icon: showIcons ? void 0 : !1, id: publishedId, layout, marginBottom: 1, pressed, schemaType: schema.get(item._type), selected, sortOrder, value: item }),
9739
9739
  showSpinner && /* @__PURE__ */ jsx(LoadingBlock, {}),
9740
9740
  showMaxItemsMessage && /* @__PURE__ */ jsx(Box, { marginY: 1, paddingX: 3, paddingY: 4, children: /* @__PURE__ */ jsx(Text, { align: "center", muted: !0, size: 1, children: t("panes.document-list-pane.max-items.text", {
9741
9741
  limit: FULL_LIST_LIMIT