sanity 6.4.0-next.21 → 6.4.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.
- package/lib/_chunks-dts/ActiveWorkspaceMatcherContext.d.ts +1 -1
- package/lib/_chunks-es/CalendarFilter.js +3 -1
- package/lib/_chunks-es/CalendarFilter.js.map +1 -1
- package/lib/_chunks-es/CommentsInspector.js +58 -1
- package/lib/_chunks-es/CommentsInspector.js.map +1 -1
- package/lib/_chunks-es/PresentationToolGrantsCheck.js +9 -1
- package/lib/_chunks-es/PresentationToolGrantsCheck.js.map +1 -1
- package/lib/_chunks-es/ReleasesStudioLayout.js +58 -1
- package/lib/_chunks-es/ReleasesStudioLayout.js.map +1 -1
- package/lib/_chunks-es/ReleasesTool.js +68 -1
- package/lib/_chunks-es/ReleasesTool.js.map +1 -1
- package/lib/_chunks-es/StructureToolProvider.js +4 -1
- package/lib/_chunks-es/StructureToolProvider.js.map +1 -1
- package/lib/_chunks-es/Table.js +2 -1
- package/lib/_chunks-es/Table.js.map +1 -1
- package/lib/_chunks-es/TasksDocumentInputLayout.js +58 -1
- package/lib/_chunks-es/TasksDocumentInputLayout.js.map +1 -1
- package/lib/_chunks-es/TasksFooterOpenTasks.js +59 -1
- package/lib/_chunks-es/TasksFooterOpenTasks.js.map +1 -1
- package/lib/_chunks-es/TasksStudioActiveToolLayout.js +58 -1
- package/lib/_chunks-es/TasksStudioActiveToolLayout.js.map +1 -1
- package/lib/_chunks-es/TasksStudioLayout.js +58 -1
- package/lib/_chunks-es/TasksStudioLayout.js.map +1 -1
- package/lib/_chunks-es/TasksStudioNavbar.js +58 -1
- package/lib/_chunks-es/TasksStudioNavbar.js.map +1 -1
- package/lib/_chunks-es/Tool.js +7 -1
- package/lib/_chunks-es/Tool.js.map +1 -1
- package/lib/_chunks-es/VariantsStudioNavbar.js +58 -1
- package/lib/_chunks-es/VariantsStudioNavbar.js.map +1 -1
- package/lib/_chunks-es/VariantsTool.js +59 -1
- package/lib/_chunks-es/VariantsTool.js.map +1 -1
- package/lib/_chunks-es/index2.js +98 -1
- package/lib/_chunks-es/index2.js.map +1 -1
- package/lib/_chunks-es/index3.js +58 -1
- package/lib/_chunks-es/index3.js.map +1 -1
- package/lib/_chunks-es/index4.js +3 -1
- package/lib/_chunks-es/index4.js.map +1 -1
- package/lib/_chunks-es/index5.js +3 -1
- package/lib/_chunks-es/index5.js.map +1 -1
- package/lib/_chunks-es/index6.js +60 -1
- package/lib/_chunks-es/index6.js.map +1 -1
- package/lib/_chunks-es/index7.js +58 -1
- package/lib/_chunks-es/index7.js.map +1 -1
- package/lib/_chunks-es/index8.js +59 -1
- package/lib/_chunks-es/index8.js.map +1 -1
- package/lib/_chunks-es/index9.js +8 -1
- package/lib/_chunks-es/index9.js.map +1 -1
- package/lib/_chunks-es/inputResolver.js +2 -1
- package/lib/_chunks-es/inputResolver.js.map +1 -1
- package/lib/_chunks-es/presentation.js +7 -1
- package/lib/_chunks-es/presentation.js.map +1 -1
- package/lib/_chunks-es/resources2.js +58 -1
- package/lib/_chunks-es/resources2.js.map +1 -1
- package/lib/_chunks-es/resources3.js +58 -1
- package/lib/_chunks-es/resources3.js.map +1 -1
- package/lib/_chunks-es/resources4.js +58 -1
- package/lib/_chunks-es/resources4.js.map +1 -1
- package/lib/_chunks-es/resources5.js +58 -1
- package/lib/_chunks-es/resources5.js.map +1 -1
- package/lib/_chunks-es/resources6.js +58 -1
- package/lib/_chunks-es/resources6.js.map +1 -1
- package/lib/_chunks-es/resources7.js +58 -1
- package/lib/_chunks-es/resources7.js.map +1 -1
- package/lib/_chunks-es/structureTool.js +47 -1
- package/lib/_chunks-es/structureTool.js.map +1 -1
- package/lib/_chunks-es/version.js +2 -2
- package/lib/desk.js +4 -1
- package/lib/desk.js.map +1 -1
- package/lib/index.js +15 -1
- package/lib/index.js.map +1 -1
- package/lib/structure.js +3 -1
- package/lib/structure.js.map +1 -1
- package/package.json +11 -11
|
@@ -17,16 +17,21 @@ import "@sanity/client/csm";
|
|
|
17
17
|
import "quick-lru";
|
|
18
18
|
import "lodash-es/throttle.js";
|
|
19
19
|
import "lodash-es/isEqual.js";
|
|
20
|
-
import
|
|
20
|
+
import "@sanity/icons/Document";
|
|
21
|
+
import "@sanity/icons/Image";
|
|
21
22
|
import "@sanity/uuid";
|
|
22
23
|
import "@sanity/color";
|
|
23
24
|
import "color2k";
|
|
24
25
|
import "lodash-es/isString.js";
|
|
26
|
+
import "@sanity/icons/Copy";
|
|
27
|
+
import "@sanity/icons/Clipboard";
|
|
25
28
|
import "./createAgentBundlesStore.js";
|
|
26
29
|
import "@sanity/telemetry/react";
|
|
27
30
|
import "@portabletext/editor";
|
|
28
31
|
import "@sanity/util/paths";
|
|
29
32
|
import "@sanity/types";
|
|
33
|
+
import "@sanity/icons/ChevronRight";
|
|
34
|
+
import "@sanity/icons/Revert";
|
|
30
35
|
import "@sanity/diff-match-patch";
|
|
31
36
|
import "lodash-es/flatten.js";
|
|
32
37
|
import "lodash-es/orderBy.js";
|
|
@@ -34,17 +39,28 @@ import "lodash-es/uniq.js";
|
|
|
34
39
|
import "lodash-es/xor.js";
|
|
35
40
|
import "@sanity/diff-patch";
|
|
36
41
|
import "./version.js";
|
|
42
|
+
import "@sanity/icons/ErrorOutline";
|
|
37
43
|
import "@sanity/id-utils";
|
|
44
|
+
import { ChevronDownIcon } from "@sanity/icons/ChevronDown";
|
|
45
|
+
import "@sanity/icons/InfoOutline";
|
|
38
46
|
import "date-fns/addHours";
|
|
39
47
|
import "date-fns/startOfHour";
|
|
48
|
+
import "@sanity/icons/Bolt";
|
|
49
|
+
import "@sanity/icons/Clock";
|
|
50
|
+
import "@sanity/icons/Dot";
|
|
51
|
+
import "@sanity/icons/EarthGlobe";
|
|
40
52
|
import "date-fns/format";
|
|
41
53
|
import "date-fns/isValid";
|
|
42
54
|
import "date-fns/parse";
|
|
43
55
|
import "@sanity/util/legacyDateFormat";
|
|
56
|
+
import "@sanity/icons/Search";
|
|
44
57
|
import "@sanity/ui/theme";
|
|
58
|
+
import "@sanity/icons/Sync";
|
|
45
59
|
import "lodash-es/pick.js";
|
|
46
60
|
import "react-fast-compare";
|
|
61
|
+
import "@sanity/icons/AccessDenied";
|
|
47
62
|
import "lodash-es/startCase.js";
|
|
63
|
+
import "@sanity/icons/Close";
|
|
48
64
|
import "react-focus-lock";
|
|
49
65
|
import "lodash-es/debounce.js";
|
|
50
66
|
import "date-fns/differenceInDays";
|
|
@@ -54,8 +70,19 @@ import "date-fns/differenceInMonths";
|
|
|
54
70
|
import "date-fns/differenceInSeconds";
|
|
55
71
|
import "date-fns/differenceInWeeks";
|
|
56
72
|
import "date-fns/differenceInYears";
|
|
73
|
+
import "@sanity/icons/AddCircle";
|
|
74
|
+
import "@sanity/icons/Calendar";
|
|
75
|
+
import "@sanity/icons/Circle";
|
|
76
|
+
import "@sanity/icons/Edit";
|
|
77
|
+
import "@sanity/icons/Publish";
|
|
78
|
+
import "@sanity/icons/Timeline";
|
|
79
|
+
import "@sanity/icons/Trash";
|
|
80
|
+
import "@sanity/icons/Unpublish";
|
|
57
81
|
import "@sanity/diff";
|
|
58
82
|
import "mendoza";
|
|
83
|
+
import "@sanity/icons/ArrowDown";
|
|
84
|
+
import "@sanity/icons/ArrowRight";
|
|
85
|
+
import "@sanity/icons/WarningOutline";
|
|
59
86
|
import "@portabletext/sanity-bridge";
|
|
60
87
|
import "lodash-es/get.js";
|
|
61
88
|
import "@algorithm.ts/lcs";
|
|
@@ -73,6 +100,7 @@ import "lodash-es/toLower.js";
|
|
|
73
100
|
import "lodash-es/union.js";
|
|
74
101
|
import "lodash-es/words.js";
|
|
75
102
|
import "lodash-es/isFinite.js";
|
|
103
|
+
import "@sanity/icons/Add";
|
|
76
104
|
import "observable-callback";
|
|
77
105
|
import "@sanity/util/content";
|
|
78
106
|
import "lodash-es/isPlainObject.js";
|
|
@@ -80,6 +108,8 @@ import "@sanity/insert-menu";
|
|
|
80
108
|
import "@tanstack/react-virtual";
|
|
81
109
|
import "speakingurl";
|
|
82
110
|
import "@sanity/asset-utils";
|
|
111
|
+
import "@sanity/icons/HelpCircle";
|
|
112
|
+
import "@sanity/icons/Launch";
|
|
83
113
|
import "@sanity/image-url";
|
|
84
114
|
import "nanoid";
|
|
85
115
|
import "lodash-es/castArray.js";
|
|
@@ -87,8 +117,13 @@ import "rxjs-mergemap-array";
|
|
|
87
117
|
import "@sanity/mutator";
|
|
88
118
|
import "@portabletext/react";
|
|
89
119
|
import "lodash-es/findIndex.js";
|
|
120
|
+
import "@sanity/icons/EyeOpen";
|
|
121
|
+
import "@sanity/icons/Feedback";
|
|
90
122
|
import "@xstate/react";
|
|
91
123
|
import "xstate";
|
|
124
|
+
import "@sanity/icons/FaceHappy";
|
|
125
|
+
import "@sanity/icons/FaceIndifferent";
|
|
126
|
+
import "@sanity/icons/FaceSad";
|
|
92
127
|
import "@sentry/react";
|
|
93
128
|
import "@sanity/schema";
|
|
94
129
|
import "@sanity/util/client";
|
|
@@ -98,14 +133,29 @@ import "json-reduce";
|
|
|
98
133
|
import "rxjs-exhaustmap-with-trailing";
|
|
99
134
|
import "date-fns/isBefore";
|
|
100
135
|
import "date-fns/startOfMinute";
|
|
136
|
+
import "@sanity/icons/Documents";
|
|
137
|
+
import "@sanity/icons/Unknown";
|
|
101
138
|
import "@portabletext/toolkit";
|
|
139
|
+
import "@sanity/icons/CheckmarkCircle";
|
|
140
|
+
import "@sanity/icons/User";
|
|
141
|
+
import "@sanity/icons/Link";
|
|
142
|
+
import "@sanity/icons/ChevronLeft";
|
|
102
143
|
import "polished";
|
|
103
144
|
import "@sanity/client";
|
|
145
|
+
import "@sanity/icons/Reset";
|
|
104
146
|
import "react-is";
|
|
105
147
|
import "exif-component";
|
|
106
148
|
import "lodash-es/pickBy.js";
|
|
107
149
|
import "swr";
|
|
150
|
+
import "@sanity/icons/Download";
|
|
151
|
+
import "@sanity/icons/Upload";
|
|
152
|
+
import "@sanity/icons/BinaryDocument";
|
|
153
|
+
import "@sanity/icons/Lock";
|
|
154
|
+
import "@sanity/icons/AddDocument";
|
|
155
|
+
import "@sanity/icons/InsertAbove";
|
|
156
|
+
import "@sanity/icons/InsertBelow";
|
|
108
157
|
import "use-hot-module-reload";
|
|
158
|
+
import "@sanity/icons/EllipsisHorizontal";
|
|
109
159
|
import "lodash-es/memoize.js";
|
|
110
160
|
import "lodash-es/sortedIndex.js";
|
|
111
161
|
import "lodash-es/difference.js";
|
|
@@ -120,11 +170,18 @@ import "groq-js";
|
|
|
120
170
|
import "use-sync-external-store/with-selector";
|
|
121
171
|
import "is-network-error";
|
|
122
172
|
import "lodash-es/escapeRegExp.js";
|
|
173
|
+
import "@sanity/icons/Desktop";
|
|
174
|
+
import "@sanity/icons/Moon";
|
|
175
|
+
import "@sanity/icons/Sun";
|
|
123
176
|
import "lodash-es/isEmpty.js";
|
|
124
177
|
import "react-dom/server";
|
|
125
178
|
import "lodash-es/capitalize.js";
|
|
126
179
|
import "lodash-es/last.js";
|
|
127
180
|
import "react-dom/client";
|
|
181
|
+
import "@sanity/icons/ArrowLeft";
|
|
182
|
+
import "@sanity/icons/AddUser";
|
|
183
|
+
import "@sanity/icons/Cog";
|
|
184
|
+
import "@sanity/icons/Checkmark";
|
|
128
185
|
import "date-fns/addWeeks";
|
|
129
186
|
import "date-fns/isAfter";
|
|
130
187
|
import "semver";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariantsStudioNavbar.js","sources":["../../src/core/variants/plugin/components/PersonalizationIcons.tsx","../../src/core/variants/plugin/components/CurrentVariantLabel.tsx","../../src/core/variants/plugin/components/VariantsMenu.tsx","../../src/core/variants/plugin/components/VariantsNav.tsx","../../src/core/variants/plugin/components/VariantsStudioNavbar.tsx"],"sourcesContent":["import {forwardRef, type ForwardRefExoticComponent, type RefAttributes, type SVGProps} from 'react'\n\nexport const RhombusIcon: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, 'ref'> & RefAttributes<SVGSVGElement>\n> = forwardRef(function RhombusIcon(props, ref) {\n return (\n <svg\n data-sanity-icon=\"rhombus\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 21 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={ref}\n >\n <path\n d=\"M10.5 3.78L17.22 10.5L10.5 17.22L3.78 10.5L10.5 3.78Z\"\n stroke=\"currentColor\"\n strokeWidth={1.2}\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n})\n","// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Flex, Button, Text} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef, type HTMLProps, useMemo} from 'react'\nimport {IntentLink} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useTranslation} from '../../../i18n'\nimport {AnimatedTextWidth} from '../../../perspective/navbar/AnimatedTextWidth'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {getVariantId, getVariantTitle} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {VARIANTS_INTENT} from '../index'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst OversizedButton = styled(IntentLink)`\n ${oversizedButtonStyle}\n`\n\nfunction VariantDetailLink({variant}: {variant: SystemVariant}) {\n const encodedVariantId = getVariantId(variant._id)\n\n const VariantLink = useMemo(\n () =>\n forwardRef(function VariantLinkComponent(\n linkProps: HTMLProps<HTMLAnchorElement>,\n ref: ForwardedRef<HTMLAnchorElement>,\n ) {\n return (\n <OversizedButton\n {...linkProps}\n ref={ref}\n intent={VARIANTS_INTENT}\n params={{id: encodedVariantId}}\n />\n )\n }),\n [encodedVariantId],\n )\n\n return (\n <Button\n as={VariantLink}\n data-as=\"a\"\n data-testid=\"variants-nav-label-link\"\n icon={RhombusIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n style={{maxWidth: '180px'}}\n text={getVariantTitle(variant)}\n />\n )\n}\n\n/**\n * @internal\n */\nexport function CurrentVariantLabel({\n selectedVariant,\n}: {\n selectedVariant?: SystemVariant\n}): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n\n const animationKey = selectedVariant?._id ?? 'default'\n\n return (\n <AnimatedTextWidth text={animationKey}>\n {!selectedVariant ? (\n <Box padding={2} style={{userSelect: 'none', overflow: 'hidden'}}>\n <Flex align=\"center\" gap={2}>\n <Text size={0}>\n <RhombusIcon />\n </Text>\n <Text data-testid=\"variants-nav-label\" size={1} textOverflow=\"ellipsis\" weight=\"medium\">\n {t('navbar.variant.default')}\n </Text>\n </Flex>\n </Box>\n ) : (\n <VariantDetailLink variant={selectedVariant} />\n )}\n </AnimatedTextWidth>\n )\n}\n","import {ChevronDownIcon} from '@sanity/icons'\n// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Button, Menu, MenuDivider, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {useSetVariant} from '../../../perspective/useSetVariant'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {\n decodeVariantIdFromRoute,\n filterVariantsForSearch,\n getVariantId,\n getVariantTitle,\n} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst StyledMenu = styled(Menu)`\n min-width: 240px;\n max-width: 320px;\n\n > [data-ui='Stack'] {\n gap: 0;\n }\n`\n\nconst SectionHeader = styled(Text)`\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`\n\nconst OversizedButton = styled(Button)`\n ${oversizedButtonStyle}\n`\n\n/**\n * @internal\n */\nexport function VariantsMenu(): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n const router = useRouter()\n const setVariant = useSetVariant()\n const {data: variants} = useAllVariants()\n const [filterQuery, setFilterQuery] = useState('')\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n const selectedVariant = useMemo(\n () =>\n selectedVariantDocumentId\n ? variants.find((variant) => variant._id === selectedVariantDocumentId)\n : undefined,\n [selectedVariantDocumentId, variants],\n )\n\n const filteredVariants = useMemo(\n () => filterVariantsForSearch(variants, filterQuery),\n [filterQuery, variants],\n )\n\n const handleSelectDefault = useCallback(() => {\n setVariant(undefined)\n setFilterQuery('')\n }, [setVariant])\n\n const handleSelectVariant = useCallback(\n (variant: SystemVariant) => {\n setVariant(variant)\n setFilterQuery('')\n },\n [setVariant],\n )\n\n const handleFilterChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setFilterQuery(event.currentTarget.value)\n }, [])\n\n const handleMenuClose = useCallback(() => {\n setFilterQuery('')\n }, [])\n\n const isDefaultSelected = !selectedVariant\n\n return (\n <MenuButton\n button={\n <OversizedButton\n data-testid=\"variants-nav-menu-button\"\n iconRight={ChevronDownIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n />\n }\n id=\"variants-nav-menu\"\n onClose={handleMenuClose}\n menu={\n <StyledMenu data-testid=\"variants-nav-menu\" padding={0}>\n <Box padding={2}>\n <TextInput\n fontSize={1}\n onChange={handleFilterChange}\n placeholder={t('navbar.variant.filter-placeholder')}\n radius={2}\n value={filterQuery}\n />\n </Box>\n\n <MenuDivider />\n\n <MenuItem\n data-testid=\"variant-default\"\n icon={RhombusIcon}\n onClick={handleSelectDefault}\n pressed={isDefaultSelected}\n selected={isDefaultSelected}\n text={t('navbar.variant.default')}\n />\n\n {filteredVariants.length > 0 && (\n <>\n <Box padding={3} paddingBottom={2}>\n <SectionHeader muted size={0} weight=\"medium\">\n {t('navbar.variant.other')}\n </SectionHeader>\n </Box>\n\n {filteredVariants.map((variant) => {\n const isSelected = selectedVariant?._id === variant._id\n\n return (\n <MenuItem\n key={variant._id}\n data-testid={`variant-${getVariantId(variant._id)}`}\n icon={RhombusIcon}\n onClick={() => handleSelectVariant(variant)}\n pressed={isSelected}\n selected={isSelected}\n text={getVariantTitle(variant)}\n />\n )\n })}\n </>\n )}\n </StyledMenu>\n }\n popover={{\n __unstable_margins: [0, 0, 32, 0],\n constrainSize: true,\n fallbackPlacements: ['bottom-end'],\n placement: 'bottom-end',\n portal: true,\n // @ts-expect-error PopoverProps doesn't include `style`, but the Popover implementation accepts it via React.HTMLProps<HTMLDivElement>\n style: {overflow: 'hidden'} as React.CSSProperties,\n tone: 'default',\n zOffset: 3000,\n }}\n />\n )\n}\n","import {Card} from '@sanity/ui'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {decodeVariantIdFromRoute} from '../../tool/util'\nimport {CurrentVariantLabel} from './CurrentVariantLabel'\nimport {VariantsMenu} from './VariantsMenu'\n\nconst VariantsNavContainer = styled(Card)`\n position: relative;\n display: flex;\n &:not([hidden]) {\n display: flex;\n }\n align-items: center;\n gap: 2px;\n padding: 2px;\n margin: -3px 0;\n\n a:hover,\n button:hover {\n position: relative;\n z-index: 2;\n }\n`\n\n/**\n * @internal\n */\nexport function VariantsNav(): React.JSX.Element {\n const router = useRouter()\n const {byId} = useAllVariants()\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n\n const selectedVariant = selectedVariantDocumentId\n ? byId.get(selectedVariantDocumentId)\n : undefined\n\n return (\n <VariantsNavContainer flex=\"none\" tone=\"inherit\" radius=\"full\" data-ui=\"VariantsNav\">\n <CurrentVariantLabel selectedVariant={selectedVariant} />\n <VariantsMenu />\n </VariantsNavContainer>\n )\n}\n","import {Card, Flex, Text} from '@sanity/ui'\nimport {AnimatePresence, motion} from 'motion/react'\nimport {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../../ui-components/button/Button'\nimport {type NavbarProps} from '../../../config/studio/types'\nimport {useTranslation} from '../../../i18n'\nimport {ReleasesNav} from '../../../perspective/navbar/ReleasesNav'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {getReleaseTone} from '../../../releases/util/getReleaseTone'\nimport {isDraftPerspective, isPublishedPerspective} from '../../../releases/util/util'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {VariantsNav} from './VariantsNav'\n\nconst NavRowContainer = styled(Card)`\n [data-ui='ReleasesNav'],\n [data-ui='VariantsNav'] {\n margin: 0;\n }\n`\n\nexport function VariantsStudioNavbar(props: NavbarProps) {\n const {t} = useTranslation(variantsLocaleNamespace)\n const {selectedPerspective} = usePerspective()\n const router = useRouter()\n\n const hasVariantSelection = Boolean(router.stickyParams.variant)\n const hasNonDefaultPerspective =\n !isDraftPerspective(selectedPerspective) && !isPublishedPerspective(selectedPerspective)\n const canClear = hasVariantSelection || hasNonDefaultPerspective\n\n const handleClearViewAs = useCallback(() => {\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: '',\n variant: null,\n },\n })\n }, [router])\n\n return (\n <Flex direction=\"column\">\n {props.renderDefault(props)}\n <Card tone=\"neutral\" paddingY={2} paddingX={3} borderBottom>\n <Flex justify=\"center\" align=\"center\" gap={2}>\n <Text weight=\"medium\" size={1}>\n {t('navbar.view-as')}\n </Text>\n <NavRowContainer\n tone={getReleaseTone(selectedPerspective)}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.version')}</Text>\n </Flex>\n </Card>\n <ReleasesNav withReleasesToolButton border={false} />\n </Flex>\n </NavRowContainer>\n <NavRowContainer\n tone={hasVariantSelection ? 'suggest' : 'default'}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.variant')}</Text>\n </Flex>\n </Card>\n <VariantsNav />\n </Flex>\n </NavRowContainer>\n <AnimatePresence initial={false}>\n {canClear && (\n <motion.div\n key=\"view-as-clear-button\"\n animate={{clipPath: 'inset(0 0% 0 0%)', opacity: 1}}\n exit={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n initial={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n style={{display: 'flex'}}\n transition={{type: 'spring', bounce: 0, duration: 0.3}}\n >\n <Button\n data-testid=\"view-as-clear-button\"\n mode=\"bleed\"\n onClick={handleClearViewAs}\n text={t('navbar.clear')}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Card>\n </Flex>\n )\n}\n"],"names":["RhombusIcon","forwardRef","props","ref","$","_c","t0","Symbol","for","t1","OversizedButton","styled","IntentLink","withConfig","displayName","componentId","oversizedButtonStyle","VariantDetailLink","variant","_id","getVariantId","encodedVariantId","t2","linkProps","VARIANTS_INTENT","id","VariantLink","t3","maxWidth","t4","getVariantTitle","t5","CurrentVariantLabel","selectedVariant","t","useTranslation","variantsLocaleNamespace","animationKey","userSelect","overflow","StyledMenu","Menu","SectionHeader","Text","Button","VariantsMenu","router","useRouter","setVariant","useSetVariant","data","variants","useAllVariants","filterQuery","setFilterQuery","useState","stickyParams","undefined","decodeVariantIdFromRoute","selectedVariantDocumentId","find","filterVariantsForSearch","filteredVariants","handleSelectDefault","variant_0","handleSelectVariant","t6","event","currentTarget","value","handleFilterChange","t7","handleMenuClose","isDefaultSelected","t8","ChevronDownIcon","t9","t10","t11","t12","t13","t14","length","map","variant_1","isSelected","t15","t16","t17","t18","t19","__unstable_margins","constrainSize","fallbackPlacements","placement","portal","style","tone","zOffset","t20","VariantsNavContainer","Card","VariantsNav","byId","get","NavRowContainer","VariantsStudioNavbar","selectedPerspective","usePerspective","hasVariantSelection","Boolean","isDraftPerspective","isPublishedPerspective","canClear","navigate","excludedPerspectives","perspective","handleClearViewAs","renderDefault","getReleaseTone","clipPath","opacity","display","type","bounce","duration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VariantsStudioNavbar.js","sources":["../../src/core/variants/plugin/components/PersonalizationIcons.tsx","../../src/core/variants/plugin/components/CurrentVariantLabel.tsx","../../src/core/variants/plugin/components/VariantsMenu.tsx","../../src/core/variants/plugin/components/VariantsNav.tsx","../../src/core/variants/plugin/components/VariantsStudioNavbar.tsx"],"sourcesContent":["import {forwardRef, type ForwardRefExoticComponent, type RefAttributes, type SVGProps} from 'react'\n\nexport const RhombusIcon: ForwardRefExoticComponent<\n Omit<SVGProps<SVGSVGElement>, 'ref'> & RefAttributes<SVGSVGElement>\n> = forwardRef(function RhombusIcon(props, ref) {\n return (\n <svg\n data-sanity-icon=\"rhombus\"\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 21 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={ref}\n >\n <path\n d=\"M10.5 3.78L17.22 10.5L10.5 17.22L3.78 10.5L10.5 3.78Z\"\n stroke=\"currentColor\"\n strokeWidth={1.2}\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n})\n","// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Flex, Button, Text} from '@sanity/ui'\nimport {type ForwardedRef, forwardRef, type HTMLProps, useMemo} from 'react'\nimport {IntentLink} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useTranslation} from '../../../i18n'\nimport {AnimatedTextWidth} from '../../../perspective/navbar/AnimatedTextWidth'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {getVariantId, getVariantTitle} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {VARIANTS_INTENT} from '../index'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst OversizedButton = styled(IntentLink)`\n ${oversizedButtonStyle}\n`\n\nfunction VariantDetailLink({variant}: {variant: SystemVariant}) {\n const encodedVariantId = getVariantId(variant._id)\n\n const VariantLink = useMemo(\n () =>\n forwardRef(function VariantLinkComponent(\n linkProps: HTMLProps<HTMLAnchorElement>,\n ref: ForwardedRef<HTMLAnchorElement>,\n ) {\n return (\n <OversizedButton\n {...linkProps}\n ref={ref}\n intent={VARIANTS_INTENT}\n params={{id: encodedVariantId}}\n />\n )\n }),\n [encodedVariantId],\n )\n\n return (\n <Button\n as={VariantLink}\n data-as=\"a\"\n data-testid=\"variants-nav-label-link\"\n icon={RhombusIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n style={{maxWidth: '180px'}}\n text={getVariantTitle(variant)}\n />\n )\n}\n\n/**\n * @internal\n */\nexport function CurrentVariantLabel({\n selectedVariant,\n}: {\n selectedVariant?: SystemVariant\n}): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n\n const animationKey = selectedVariant?._id ?? 'default'\n\n return (\n <AnimatedTextWidth text={animationKey}>\n {!selectedVariant ? (\n <Box padding={2} style={{userSelect: 'none', overflow: 'hidden'}}>\n <Flex align=\"center\" gap={2}>\n <Text size={0}>\n <RhombusIcon />\n </Text>\n <Text data-testid=\"variants-nav-label\" size={1} textOverflow=\"ellipsis\" weight=\"medium\">\n {t('navbar.variant.default')}\n </Text>\n </Flex>\n </Box>\n ) : (\n <VariantDetailLink variant={selectedVariant} />\n )}\n </AnimatedTextWidth>\n )\n}\n","import {ChevronDownIcon} from '@sanity/icons/ChevronDown'\n// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Button, Menu, MenuDivider, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {MenuButton, MenuItem} from '../../../../ui-components'\nimport {useTranslation} from '../../../i18n'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {useSetVariant} from '../../../perspective/useSetVariant'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {\n decodeVariantIdFromRoute,\n filterVariantsForSearch,\n getVariantId,\n getVariantTitle,\n} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst StyledMenu = styled(Menu)`\n min-width: 240px;\n max-width: 320px;\n\n > [data-ui='Stack'] {\n gap: 0;\n }\n`\n\nconst SectionHeader = styled(Text)`\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`\n\nconst OversizedButton = styled(Button)`\n ${oversizedButtonStyle}\n`\n\n/**\n * @internal\n */\nexport function VariantsMenu(): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n const router = useRouter()\n const setVariant = useSetVariant()\n const {data: variants} = useAllVariants()\n const [filterQuery, setFilterQuery] = useState('')\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n const selectedVariant = useMemo(\n () =>\n selectedVariantDocumentId\n ? variants.find((variant) => variant._id === selectedVariantDocumentId)\n : undefined,\n [selectedVariantDocumentId, variants],\n )\n\n const filteredVariants = useMemo(\n () => filterVariantsForSearch(variants, filterQuery),\n [filterQuery, variants],\n )\n\n const handleSelectDefault = useCallback(() => {\n setVariant(undefined)\n setFilterQuery('')\n }, [setVariant])\n\n const handleSelectVariant = useCallback(\n (variant: SystemVariant) => {\n setVariant(variant)\n setFilterQuery('')\n },\n [setVariant],\n )\n\n const handleFilterChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setFilterQuery(event.currentTarget.value)\n }, [])\n\n const handleMenuClose = useCallback(() => {\n setFilterQuery('')\n }, [])\n\n const isDefaultSelected = !selectedVariant\n\n return (\n <MenuButton\n button={\n <OversizedButton\n data-testid=\"variants-nav-menu-button\"\n iconRight={ChevronDownIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n />\n }\n id=\"variants-nav-menu\"\n onClose={handleMenuClose}\n menu={\n <StyledMenu data-testid=\"variants-nav-menu\" padding={0}>\n <Box padding={2}>\n <TextInput\n fontSize={1}\n onChange={handleFilterChange}\n placeholder={t('navbar.variant.filter-placeholder')}\n radius={2}\n value={filterQuery}\n />\n </Box>\n\n <MenuDivider />\n\n <MenuItem\n data-testid=\"variant-default\"\n icon={RhombusIcon}\n onClick={handleSelectDefault}\n pressed={isDefaultSelected}\n selected={isDefaultSelected}\n text={t('navbar.variant.default')}\n />\n\n {filteredVariants.length > 0 && (\n <>\n <Box padding={3} paddingBottom={2}>\n <SectionHeader muted size={0} weight=\"medium\">\n {t('navbar.variant.other')}\n </SectionHeader>\n </Box>\n\n {filteredVariants.map((variant) => {\n const isSelected = selectedVariant?._id === variant._id\n\n return (\n <MenuItem\n key={variant._id}\n data-testid={`variant-${getVariantId(variant._id)}`}\n icon={RhombusIcon}\n onClick={() => handleSelectVariant(variant)}\n pressed={isSelected}\n selected={isSelected}\n text={getVariantTitle(variant)}\n />\n )\n })}\n </>\n )}\n </StyledMenu>\n }\n popover={{\n __unstable_margins: [0, 0, 32, 0],\n constrainSize: true,\n fallbackPlacements: ['bottom-end'],\n placement: 'bottom-end',\n portal: true,\n // @ts-expect-error PopoverProps doesn't include `style`, but the Popover implementation accepts it via React.HTMLProps<HTMLDivElement>\n style: {overflow: 'hidden'} as React.CSSProperties,\n tone: 'default',\n zOffset: 3000,\n }}\n />\n )\n}\n","import {Card} from '@sanity/ui'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {decodeVariantIdFromRoute} from '../../tool/util'\nimport {CurrentVariantLabel} from './CurrentVariantLabel'\nimport {VariantsMenu} from './VariantsMenu'\n\nconst VariantsNavContainer = styled(Card)`\n position: relative;\n display: flex;\n &:not([hidden]) {\n display: flex;\n }\n align-items: center;\n gap: 2px;\n padding: 2px;\n margin: -3px 0;\n\n a:hover,\n button:hover {\n position: relative;\n z-index: 2;\n }\n`\n\n/**\n * @internal\n */\nexport function VariantsNav(): React.JSX.Element {\n const router = useRouter()\n const {byId} = useAllVariants()\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n\n const selectedVariant = selectedVariantDocumentId\n ? byId.get(selectedVariantDocumentId)\n : undefined\n\n return (\n <VariantsNavContainer flex=\"none\" tone=\"inherit\" radius=\"full\" data-ui=\"VariantsNav\">\n <CurrentVariantLabel selectedVariant={selectedVariant} />\n <VariantsMenu />\n </VariantsNavContainer>\n )\n}\n","import {Card, Flex, Text} from '@sanity/ui'\nimport {AnimatePresence, motion} from 'motion/react'\nimport {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../../ui-components/button/Button'\nimport {type NavbarProps} from '../../../config/studio/types'\nimport {useTranslation} from '../../../i18n'\nimport {ReleasesNav} from '../../../perspective/navbar/ReleasesNav'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {getReleaseTone} from '../../../releases/util/getReleaseTone'\nimport {isDraftPerspective, isPublishedPerspective} from '../../../releases/util/util'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {VariantsNav} from './VariantsNav'\n\nconst NavRowContainer = styled(Card)`\n [data-ui='ReleasesNav'],\n [data-ui='VariantsNav'] {\n margin: 0;\n }\n`\n\nexport function VariantsStudioNavbar(props: NavbarProps) {\n const {t} = useTranslation(variantsLocaleNamespace)\n const {selectedPerspective} = usePerspective()\n const router = useRouter()\n\n const hasVariantSelection = Boolean(router.stickyParams.variant)\n const hasNonDefaultPerspective =\n !isDraftPerspective(selectedPerspective) && !isPublishedPerspective(selectedPerspective)\n const canClear = hasVariantSelection || hasNonDefaultPerspective\n\n const handleClearViewAs = useCallback(() => {\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: '',\n variant: null,\n },\n })\n }, [router])\n\n return (\n <Flex direction=\"column\">\n {props.renderDefault(props)}\n <Card tone=\"neutral\" paddingY={2} paddingX={3} borderBottom>\n <Flex justify=\"center\" align=\"center\" gap={2}>\n <Text weight=\"medium\" size={1}>\n {t('navbar.view-as')}\n </Text>\n <NavRowContainer\n tone={getReleaseTone(selectedPerspective)}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.version')}</Text>\n </Flex>\n </Card>\n <ReleasesNav withReleasesToolButton border={false} />\n </Flex>\n </NavRowContainer>\n <NavRowContainer\n tone={hasVariantSelection ? 'suggest' : 'default'}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.variant')}</Text>\n </Flex>\n </Card>\n <VariantsNav />\n </Flex>\n </NavRowContainer>\n <AnimatePresence initial={false}>\n {canClear && (\n <motion.div\n key=\"view-as-clear-button\"\n animate={{clipPath: 'inset(0 0% 0 0%)', opacity: 1}}\n exit={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n initial={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n style={{display: 'flex'}}\n transition={{type: 'spring', bounce: 0, duration: 0.3}}\n >\n <Button\n data-testid=\"view-as-clear-button\"\n mode=\"bleed\"\n onClick={handleClearViewAs}\n text={t('navbar.clear')}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Card>\n </Flex>\n )\n}\n"],"names":["RhombusIcon","forwardRef","props","ref","$","_c","t0","Symbol","for","t1","OversizedButton","styled","IntentLink","withConfig","displayName","componentId","oversizedButtonStyle","VariantDetailLink","variant","_id","getVariantId","encodedVariantId","t2","linkProps","VARIANTS_INTENT","id","VariantLink","t3","maxWidth","t4","getVariantTitle","t5","CurrentVariantLabel","selectedVariant","t","useTranslation","variantsLocaleNamespace","animationKey","userSelect","overflow","StyledMenu","Menu","SectionHeader","Text","Button","VariantsMenu","router","useRouter","setVariant","useSetVariant","data","variants","useAllVariants","filterQuery","setFilterQuery","useState","stickyParams","undefined","decodeVariantIdFromRoute","selectedVariantDocumentId","find","filterVariantsForSearch","filteredVariants","handleSelectDefault","variant_0","handleSelectVariant","t6","event","currentTarget","value","handleFilterChange","t7","handleMenuClose","isDefaultSelected","t8","ChevronDownIcon","t9","t10","t11","t12","t13","t14","length","map","variant_1","isSelected","t15","t16","t17","t18","t19","__unstable_margins","constrainSize","fallbackPlacements","placement","portal","style","tone","zOffset","t20","VariantsNavContainer","Card","VariantsNav","byId","get","NavRowContainer","VariantsStudioNavbar","selectedPerspective","usePerspective","hasVariantSelection","Boolean","isDraftPerspective","isPublishedPerspective","canClear","navigate","excludedPerspectives","perspective","handleClearViewAs","renderDefault","getReleaseTone","clipPath","opacity","display","type","bounce","duration"],"mappings":"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"}
|
|
@@ -14,18 +14,23 @@ import "@sanity/client/csm";
|
|
|
14
14
|
import "quick-lru";
|
|
15
15
|
import "lodash-es/throttle.js";
|
|
16
16
|
import "lodash-es/isEqual.js";
|
|
17
|
-
import
|
|
17
|
+
import "@sanity/icons/Document";
|
|
18
|
+
import "@sanity/icons/Image";
|
|
18
19
|
import "@sanity/uuid";
|
|
19
20
|
import "@sanity/color";
|
|
20
21
|
import "color2k";
|
|
21
22
|
import "styled-components";
|
|
22
23
|
import "lodash-es/isString.js";
|
|
24
|
+
import "@sanity/icons/Copy";
|
|
23
25
|
import "react-i18next";
|
|
26
|
+
import "@sanity/icons/Clipboard";
|
|
24
27
|
import "./createAgentBundlesStore.js";
|
|
25
28
|
import "@sanity/telemetry/react";
|
|
26
29
|
import "@portabletext/editor";
|
|
27
30
|
import "@sanity/util/paths";
|
|
28
31
|
import "@sanity/types";
|
|
32
|
+
import "@sanity/icons/ChevronRight";
|
|
33
|
+
import "@sanity/icons/Revert";
|
|
29
34
|
import "@sanity/diff-match-patch";
|
|
30
35
|
import "lodash-es/flatten.js";
|
|
31
36
|
import "lodash-es/orderBy.js";
|
|
@@ -33,6 +38,7 @@ import "lodash-es/uniq.js";
|
|
|
33
38
|
import "lodash-es/xor.js";
|
|
34
39
|
import "@sanity/diff-patch";
|
|
35
40
|
import "./version.js";
|
|
41
|
+
import "@sanity/icons/ErrorOutline";
|
|
36
42
|
import "@sanity/ui/theme";
|
|
37
43
|
import "date-fns/differenceInDays";
|
|
38
44
|
import "date-fns/differenceInHours";
|
|
@@ -41,16 +47,35 @@ import "date-fns/differenceInMonths";
|
|
|
41
47
|
import "date-fns/differenceInSeconds";
|
|
42
48
|
import "date-fns/differenceInWeeks";
|
|
43
49
|
import "date-fns/differenceInYears";
|
|
50
|
+
import "@sanity/icons/AddCircle";
|
|
51
|
+
import "@sanity/icons/Calendar";
|
|
52
|
+
import "@sanity/icons/Circle";
|
|
53
|
+
import "@sanity/icons/Close";
|
|
54
|
+
import "@sanity/icons/Edit";
|
|
55
|
+
import "@sanity/icons/Publish";
|
|
56
|
+
import "@sanity/icons/Timeline";
|
|
57
|
+
import { TrashIcon } from "@sanity/icons/Trash";
|
|
58
|
+
import "@sanity/icons/Unpublish";
|
|
44
59
|
import "@sanity/diff";
|
|
45
60
|
import "mendoza";
|
|
61
|
+
import "@sanity/icons/ArrowDown";
|
|
62
|
+
import "@sanity/icons/ArrowRight";
|
|
63
|
+
import "@sanity/icons/InfoOutline";
|
|
64
|
+
import "@sanity/icons/WarningOutline";
|
|
46
65
|
import "@portabletext/sanity-bridge";
|
|
47
66
|
import "@sanity/id-utils";
|
|
67
|
+
import "@sanity/icons/ChevronDown";
|
|
48
68
|
import "date-fns/addHours";
|
|
49
69
|
import "date-fns/startOfHour";
|
|
70
|
+
import "@sanity/icons/Bolt";
|
|
71
|
+
import "@sanity/icons/Clock";
|
|
72
|
+
import "@sanity/icons/Dot";
|
|
73
|
+
import "@sanity/icons/EarthGlobe";
|
|
50
74
|
import "date-fns/format";
|
|
51
75
|
import "date-fns/isValid";
|
|
52
76
|
import "date-fns/parse";
|
|
53
77
|
import "@sanity/util/legacyDateFormat";
|
|
78
|
+
import { SearchIcon } from "@sanity/icons/Search";
|
|
54
79
|
import "react-fast-compare";
|
|
55
80
|
import "motion/react";
|
|
56
81
|
import "lodash-es/pick.js";
|
|
@@ -70,6 +95,7 @@ import "lodash-es/toLower.js";
|
|
|
70
95
|
import "lodash-es/union.js";
|
|
71
96
|
import "lodash-es/words.js";
|
|
72
97
|
import "lodash-es/isFinite.js";
|
|
98
|
+
import { AddIcon } from "@sanity/icons/Add";
|
|
73
99
|
import "observable-callback";
|
|
74
100
|
import { randomKey } from "@sanity/util/content";
|
|
75
101
|
import "lodash-es/isPlainObject.js";
|
|
@@ -78,6 +104,9 @@ import "@tanstack/react-virtual";
|
|
|
78
104
|
import "lodash-es/startCase.js";
|
|
79
105
|
import "speakingurl";
|
|
80
106
|
import "@sanity/asset-utils";
|
|
107
|
+
import "@sanity/icons/AccessDenied";
|
|
108
|
+
import "@sanity/icons/HelpCircle";
|
|
109
|
+
import "@sanity/icons/Launch";
|
|
81
110
|
import "@sanity/image-url";
|
|
82
111
|
import { customAlphabet } from "nanoid";
|
|
83
112
|
import "lodash-es/castArray.js";
|
|
@@ -85,8 +114,13 @@ import "rxjs-mergemap-array";
|
|
|
85
114
|
import "@sanity/mutator";
|
|
86
115
|
import "@portabletext/react";
|
|
87
116
|
import "lodash-es/findIndex.js";
|
|
117
|
+
import "@sanity/icons/EyeOpen";
|
|
118
|
+
import "@sanity/icons/Feedback";
|
|
88
119
|
import "@xstate/react";
|
|
89
120
|
import "xstate";
|
|
121
|
+
import "@sanity/icons/FaceHappy";
|
|
122
|
+
import "@sanity/icons/FaceIndifferent";
|
|
123
|
+
import "@sanity/icons/FaceSad";
|
|
90
124
|
import "@sentry/react";
|
|
91
125
|
import "@sanity/schema";
|
|
92
126
|
import "@sanity/util/client";
|
|
@@ -96,15 +130,31 @@ import "json-reduce";
|
|
|
96
130
|
import "rxjs-exhaustmap-with-trailing";
|
|
97
131
|
import "date-fns/isBefore";
|
|
98
132
|
import "date-fns/startOfMinute";
|
|
133
|
+
import "@sanity/icons/Documents";
|
|
134
|
+
import "@sanity/icons/Unknown";
|
|
99
135
|
import "lodash-es/debounce.js";
|
|
136
|
+
import "@sanity/icons/CheckmarkCircle";
|
|
137
|
+
import "@sanity/icons/User";
|
|
100
138
|
import "react-focus-lock";
|
|
139
|
+
import "@sanity/icons/Link";
|
|
140
|
+
import "@sanity/icons/ChevronLeft";
|
|
101
141
|
import "polished";
|
|
102
142
|
import "@sanity/client";
|
|
143
|
+
import "@sanity/icons/Reset";
|
|
144
|
+
import "@sanity/icons/Sync";
|
|
103
145
|
import "react-is";
|
|
104
146
|
import "exif-component";
|
|
105
147
|
import "lodash-es/pickBy.js";
|
|
106
148
|
import "swr";
|
|
149
|
+
import "@sanity/icons/Download";
|
|
150
|
+
import "@sanity/icons/Upload";
|
|
151
|
+
import "@sanity/icons/BinaryDocument";
|
|
152
|
+
import "@sanity/icons/Lock";
|
|
153
|
+
import "@sanity/icons/AddDocument";
|
|
154
|
+
import "@sanity/icons/InsertAbove";
|
|
155
|
+
import "@sanity/icons/InsertBelow";
|
|
107
156
|
import "use-hot-module-reload";
|
|
157
|
+
import "@sanity/icons/EllipsisHorizontal";
|
|
108
158
|
import "lodash-es/memoize.js";
|
|
109
159
|
import "lodash-es/sortedIndex.js";
|
|
110
160
|
import "lodash-es/difference.js";
|
|
@@ -119,11 +169,18 @@ import "groq-js";
|
|
|
119
169
|
import "use-sync-external-store/with-selector";
|
|
120
170
|
import "is-network-error";
|
|
121
171
|
import "lodash-es/escapeRegExp.js";
|
|
172
|
+
import "@sanity/icons/Desktop";
|
|
173
|
+
import "@sanity/icons/Moon";
|
|
174
|
+
import "@sanity/icons/Sun";
|
|
122
175
|
import "lodash-es/isEmpty.js";
|
|
123
176
|
import "react-dom/server";
|
|
124
177
|
import "lodash-es/capitalize.js";
|
|
125
178
|
import "lodash-es/last.js";
|
|
126
179
|
import "react-dom/client";
|
|
180
|
+
import "@sanity/icons/ArrowLeft";
|
|
181
|
+
import "@sanity/icons/AddUser";
|
|
182
|
+
import "@sanity/icons/Cog";
|
|
183
|
+
import "@sanity/icons/Checkmark";
|
|
127
184
|
import "date-fns/addWeeks";
|
|
128
185
|
import "date-fns/isAfter";
|
|
129
186
|
import "semver";
|
|
@@ -131,6 +188,7 @@ import "lodash-es/isObject.js";
|
|
|
131
188
|
import { isPortableTextBlock, toPlainText } from "@portabletext/toolkit";
|
|
132
189
|
import { at, set } from "@sanity/mutate";
|
|
133
190
|
import { applyPatches } from "@sanity/mutate/_unstable_apply";
|
|
191
|
+
import { DiamondIcon } from "@sanity/icons/Diamond";
|
|
134
192
|
import { Table, Headers } from "./Table.js";
|
|
135
193
|
function createVariantOperationsStore(options) {
|
|
136
194
|
const client = variantsClient(options.client);
|