sanity-plugin-media 4.3.5 → 5.0.0

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.
Files changed (166) hide show
  1. package/dist/index.d.ts +190 -413
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +2532 -3564
  4. package/dist/index.js.map +1 -1
  5. package/package.json +29 -35
  6. package/dist/index.cjs +0 -5753
  7. package/dist/index.cjs.map +0 -1
  8. package/dist/index.d.cts +0 -462
  9. package/sanity.json +0 -8
  10. package/src/__tests__/fixtures/createEpicTestStore.ts +0 -28
  11. package/src/__tests__/fixtures/listenMock.ts +0 -9
  12. package/src/__tests__/fixtures/mockSanityClient.ts +0 -84
  13. package/src/__tests__/fixtures/renderWithProviders.tsx +0 -55
  14. package/src/__tests__/fixtures/rootState.ts +0 -27
  15. package/src/__tests__/fixtures/withinDialog.ts +0 -28
  16. package/src/components/AssetGridVirtualized/index.tsx +0 -94
  17. package/src/components/AssetMetadata/index.tsx +0 -122
  18. package/src/components/AssetTableVirtualized/index.tsx +0 -73
  19. package/src/components/AutoTagInputWrapper/index.tsx +0 -87
  20. package/src/components/Browser/Browser.test.tsx +0 -45
  21. package/src/components/Browser/index.tsx +0 -90
  22. package/src/components/Browser/useBrowserInit.ts +0 -126
  23. package/src/components/ButtonAssetCopy/index.tsx +0 -65
  24. package/src/components/ButtonViewGroup/index.tsx +0 -39
  25. package/src/components/CardAsset/CardAsset.test.tsx +0 -323
  26. package/src/components/CardAsset/index.tsx +0 -290
  27. package/src/components/CardUpload/index.tsx +0 -161
  28. package/src/components/Controls/index.tsx +0 -136
  29. package/src/components/DebugControls/index.tsx +0 -80
  30. package/src/components/Dialog/index.tsx +0 -11
  31. package/src/components/DialogAssetEdit/Details.tsx +0 -181
  32. package/src/components/DialogAssetEdit/DialogAssetEdit.test.tsx +0 -216
  33. package/src/components/DialogAssetEdit/index.tsx +0 -492
  34. package/src/components/DialogConfirm/index.tsx +0 -88
  35. package/src/components/DialogSearchFacets/index.tsx +0 -42
  36. package/src/components/DialogTagCreate/DialogTagCreate.test.tsx +0 -121
  37. package/src/components/DialogTagCreate/index.tsx +0 -103
  38. package/src/components/DialogTagEdit/DialogTagEdit.test.tsx +0 -165
  39. package/src/components/DialogTagEdit/index.tsx +0 -190
  40. package/src/components/DialogTags/index.tsx +0 -45
  41. package/src/components/Dialogs/index.tsx +0 -76
  42. package/src/components/DocumentList/index.tsx +0 -62
  43. package/src/components/FileAssetPreview/index.tsx +0 -37
  44. package/src/components/FileIcon/index.tsx +0 -43
  45. package/src/components/FormBuilderTool/FormBuilderTool.test.tsx +0 -63
  46. package/src/components/FormBuilderTool/index.tsx +0 -69
  47. package/src/components/FormFieldInputLabel/index.tsx +0 -66
  48. package/src/components/FormFieldInputTags/index.tsx +0 -98
  49. package/src/components/FormFieldInputText/index.tsx +0 -41
  50. package/src/components/FormFieldInputTextarea/index.tsx +0 -43
  51. package/src/components/FormSubmitButton/index.tsx +0 -59
  52. package/src/components/Header/index.tsx +0 -80
  53. package/src/components/Image/index.tsx +0 -41
  54. package/src/components/Items/index.tsx +0 -68
  55. package/src/components/Notifications/index.tsx +0 -24
  56. package/src/components/OrderSelect/index.tsx +0 -66
  57. package/src/components/PickedBar/index.tsx +0 -77
  58. package/src/components/Progress/index.tsx +0 -38
  59. package/src/components/ReduxProvider/index.tsx +0 -96
  60. package/src/components/SearchFacet/index.tsx +0 -66
  61. package/src/components/SearchFacetNumber/index.tsx +0 -133
  62. package/src/components/SearchFacetSelect/index.tsx +0 -110
  63. package/src/components/SearchFacetString/index.tsx +0 -88
  64. package/src/components/SearchFacetTags/index.tsx +0 -121
  65. package/src/components/SearchFacets/index.tsx +0 -72
  66. package/src/components/SearchFacetsControl/index.tsx +0 -140
  67. package/src/components/TableHeader/index.tsx +0 -110
  68. package/src/components/TableHeaderItem/index.tsx +0 -61
  69. package/src/components/TableRowAsset/index.tsx +0 -420
  70. package/src/components/TableRowUpload/index.tsx +0 -164
  71. package/src/components/Tag/index.tsx +0 -200
  72. package/src/components/TagIcon/index.tsx +0 -22
  73. package/src/components/TagView/index.tsx +0 -39
  74. package/src/components/TagViewHeader/index.tsx +0 -70
  75. package/src/components/TagsPanel/index.tsx +0 -40
  76. package/src/components/TagsVirtualized/index.tsx +0 -160
  77. package/src/components/TextInputNumber/index.tsx +0 -32
  78. package/src/components/TextInputSearch/index.tsx +0 -60
  79. package/src/components/Tool/index.tsx +0 -13
  80. package/src/components/UploadDropzone/UploadDropzone.test.tsx +0 -40
  81. package/src/components/UploadDropzone/index.tsx +0 -173
  82. package/src/config/orders.ts +0 -28
  83. package/src/config/searchFacets.ts +0 -312
  84. package/src/constants.ts +0 -87
  85. package/src/contexts/AssetSourceDispatchContext.tsx +0 -37
  86. package/src/contexts/DropzoneDispatchContext.tsx +0 -34
  87. package/src/contexts/ToolOptionsContext.tsx +0 -65
  88. package/src/formSchema/index.test.ts +0 -56
  89. package/src/formSchema/index.ts +0 -39
  90. package/src/hooks/useBreakpointIndex.ts +0 -49
  91. package/src/hooks/useKeyPress.ts +0 -39
  92. package/src/hooks/useOnScreen.ts +0 -34
  93. package/src/hooks/usePortalPopoverProps.ts +0 -13
  94. package/src/hooks/useTypedSelector.ts +0 -7
  95. package/src/hooks/useVersionedClient.ts +0 -6
  96. package/src/index.ts +0 -5
  97. package/src/modules/assets/actions.ts +0 -42
  98. package/src/modules/assets/deleteAndUpdateEpics.test.ts +0 -87
  99. package/src/modules/assets/fetchEpic.test.ts +0 -73
  100. package/src/modules/assets/index.ts +0 -825
  101. package/src/modules/assets/reducer.test.ts +0 -91
  102. package/src/modules/assets/tagsAndListenerEpics.test.ts +0 -206
  103. package/src/modules/debug/index.ts +0 -28
  104. package/src/modules/dialog/actions.ts +0 -10
  105. package/src/modules/dialog/epics.test.ts +0 -168
  106. package/src/modules/dialog/index.ts +0 -238
  107. package/src/modules/dialog/reducer.test.ts +0 -185
  108. package/src/modules/index.ts +0 -124
  109. package/src/modules/notifications/epics.test.ts +0 -374
  110. package/src/modules/notifications/index.ts +0 -199
  111. package/src/modules/notifications/reducer.test.ts +0 -54
  112. package/src/modules/search/index.test.ts +0 -36
  113. package/src/modules/search/index.ts +0 -167
  114. package/src/modules/selected/index.ts +0 -22
  115. package/src/modules/selectors.test.ts +0 -21
  116. package/src/modules/selectors.ts +0 -17
  117. package/src/modules/tags/epics.test.ts +0 -96
  118. package/src/modules/tags/index.test.ts +0 -42
  119. package/src/modules/tags/index.ts +0 -540
  120. package/src/modules/types.ts +0 -3
  121. package/src/modules/uploads/actions.ts +0 -13
  122. package/src/modules/uploads/epics.test.ts +0 -109
  123. package/src/modules/uploads/index.test.ts +0 -59
  124. package/src/modules/uploads/index.ts +0 -282
  125. package/src/operators/checkTagName.test.ts +0 -29
  126. package/src/operators/checkTagName.ts +0 -33
  127. package/src/operators/debugThrottle.ts +0 -25
  128. package/src/plugin.tsx +0 -54
  129. package/src/schemas/tag.ts +0 -28
  130. package/src/styled/GlobalStyles/index.tsx +0 -40
  131. package/src/styled/react-select/creatable.tsx +0 -184
  132. package/src/styled/react-select/single.tsx +0 -184
  133. package/src/types/index.ts +0 -379
  134. package/src/types/sanity-ui.d.ts +0 -6
  135. package/src/utils/applyMediaTags.ts +0 -87
  136. package/src/utils/blocksToText.test.ts +0 -43
  137. package/src/utils/blocksToText.ts +0 -27
  138. package/src/utils/constructFilter.test.ts +0 -120
  139. package/src/utils/constructFilter.ts +0 -98
  140. package/src/utils/generatePreviewBlobUrl.test.ts +0 -70
  141. package/src/utils/generatePreviewBlobUrl.ts +0 -53
  142. package/src/utils/getAssetResolution.test.ts +0 -13
  143. package/src/utils/getAssetResolution.ts +0 -7
  144. package/src/utils/getDocumentAssetIds.test.ts +0 -50
  145. package/src/utils/getDocumentAssetIds.ts +0 -35
  146. package/src/utils/getSchemeColor.test.ts +0 -12
  147. package/src/utils/getSchemeColor.ts +0 -43
  148. package/src/utils/getTagSelectOptions.test.ts +0 -44
  149. package/src/utils/getTagSelectOptions.ts +0 -16
  150. package/src/utils/getUniqueDocuments.test.ts +0 -26
  151. package/src/utils/getUniqueDocuments.ts +0 -15
  152. package/src/utils/imageDprUrl.test.ts +0 -46
  153. package/src/utils/imageDprUrl.ts +0 -27
  154. package/src/utils/isSupportedAssetType.test.ts +0 -16
  155. package/src/utils/isSupportedAssetType.ts +0 -15
  156. package/src/utils/mediaField.ts +0 -73
  157. package/src/utils/sanitizeFormData.test.ts +0 -59
  158. package/src/utils/sanitizeFormData.ts +0 -26
  159. package/src/utils/typeGuards.test.ts +0 -18
  160. package/src/utils/typeGuards.ts +0 -9
  161. package/src/utils/uploadSanityAsset.test.ts +0 -29
  162. package/src/utils/uploadSanityAsset.ts +0 -97
  163. package/src/utils/withMaxConcurrency.test.ts +0 -43
  164. package/src/utils/withMaxConcurrency.ts +0 -55
  165. package/src/utils/zodFormResolver.ts +0 -17
  166. package/v2-incompatible.js +0 -11
@@ -1,184 +0,0 @@
1
- import {AddIcon, ChevronDownIcon, CloseIcon} from '@sanity/icons'
2
- import {Box, Card, Flex, rem, studioTheme, Text, type ThemeColorSchemeKey} from '@sanity/ui'
3
- import {components, type StylesConfig} from 'react-select'
4
- import {Virtuoso} from 'react-virtuoso'
5
-
6
- import {getSchemeColor} from '../../utils/getSchemeColor'
7
-
8
- const {radius: themeRadius, space: themeSpace} = studioTheme
9
-
10
- export const reactSelectStyles = (scheme: ThemeColorSchemeKey): StylesConfig => {
11
- return {
12
- control: (styles, {isFocused}) => {
13
- let boxShadow = `inset 0 0 0 1px var(--card-border-color)`
14
- if (isFocused) {
15
- boxShadow = `inset 0 0 0 1px ${getSchemeColor(scheme, 'inputEnabledBorder')},
16
- 0 0 0 1px var(--card-bg-color),
17
- 0 0 0 3px var(--card-focus-ring-color) !important`
18
- }
19
-
20
- return {
21
- ...styles,
22
- 'backgroundColor': 'var(--card-bg-color)',
23
- 'color': 'inherit',
24
- 'border': 'none',
25
- 'borderRadius': themeRadius[1],
26
- boxShadow,
27
- 'margin': 0,
28
- 'minHeight': '35px',
29
- 'outline': 'none',
30
- 'padding': rem(themeSpace[1]),
31
- 'transition': 'none',
32
- '&:hover': {
33
- boxShadow: `inset 0 0 0 1px ${getSchemeColor(scheme, 'inputHoveredBorder')}`,
34
- },
35
- }
36
- },
37
- indicatorsContainer: (styles, {isDisabled}) => ({
38
- ...styles,
39
- opacity: isDisabled ? 0.25 : 1,
40
- }),
41
- input: (styles) => ({
42
- ...styles,
43
- color: 'var(--card-fg-color)',
44
- fontFamily: studioTheme.fonts.text.family,
45
- marginLeft: rem(themeSpace[2]),
46
- }),
47
- menuList: (styles) => ({
48
- ...styles,
49
- }),
50
- multiValue: (styles, {isDisabled}) => ({
51
- ...styles,
52
- backgroundColor: getSchemeColor(scheme, 'mutedHoveredBg'),
53
- borderRadius: themeRadius[2],
54
- opacity: isDisabled ? 0.5 : 1,
55
- }),
56
- multiValueLabel: () => ({
57
- color: getSchemeColor(scheme, 'mutedHoveredFg'),
58
- fontSize: 'inherit',
59
- padding: 0,
60
- }),
61
- multiValueRemove: (styles) => ({
62
- ...styles,
63
- 'borderTopLeftRadius': 0,
64
- 'borderBottomLeftRadius': 0,
65
- 'svg': {color: getSchemeColor(scheme, 'mutedHoveredFg')},
66
- '&:hover': {
67
- backgroundColor: getSchemeColor(scheme, 'mutedSelectedBg'),
68
- },
69
- }),
70
- noOptionsMessage: (styles) => ({
71
- ...styles,
72
- fontFamily: studioTheme.fonts.text.family,
73
- lineHeight: '1em',
74
- }),
75
- option: (styles, {isFocused}) => ({
76
- ...styles,
77
- 'backgroundColor': isFocused ? getSchemeColor(scheme, 'spotBlue') : 'transparent',
78
- 'borderRadius': themeRadius[2],
79
- 'color': isFocused ? getSchemeColor(scheme, 'bg') : 'inherit',
80
- 'padding': `${rem(themeSpace[1])} ${rem(themeSpace[2])}`,
81
- '&:hover': {
82
- backgroundColor: getSchemeColor(scheme, 'spotBlue'),
83
- color: getSchemeColor(scheme, 'bg'),
84
- },
85
- }),
86
- placeholder: (styles) => ({
87
- ...styles,
88
- marginLeft: rem(themeSpace[2]),
89
- }),
90
- valueContainer: (styles) => ({
91
- ...styles,
92
- margin: 0,
93
- padding: 0,
94
- }),
95
- }
96
- }
97
-
98
- const DropdownIndicator = (props: any) => {
99
- return (
100
- <components.DropdownIndicator {...props}>
101
- <Box paddingX={2}>
102
- <Text size={1}>
103
- <ChevronDownIcon />
104
- </Text>
105
- </Box>
106
- </components.DropdownIndicator>
107
- )
108
- }
109
-
110
- const Menu = (props: any) => {
111
- return (
112
- <components.Menu {...props}>
113
- <Card radius={1} shadow={2}>
114
- {props.children}
115
- </Card>
116
- </components.Menu>
117
- )
118
- }
119
-
120
- const MenuList = (props: any) => {
121
- const {children} = props
122
-
123
- const MAX_ROWS = 5
124
- const OPTION_HEIGHT = 37
125
-
126
- if (Array.isArray(children)) {
127
- const height =
128
- children.length > MAX_ROWS ? OPTION_HEIGHT * MAX_ROWS : children.length * OPTION_HEIGHT
129
-
130
- return (
131
- <Virtuoso
132
- className="media__custom-scrollbar"
133
- itemContent={(index) => {
134
- const item = children[index]
135
- return <Option {...item.props} />
136
- }}
137
- style={{height}}
138
- totalCount={children.length}
139
- />
140
- )
141
- }
142
- return <components.MenuList {...props}>{children}</components.MenuList>
143
- }
144
-
145
- const MultiValueLabel = (props: any) => {
146
- return (
147
- <Box padding={2} paddingRight={1}>
148
- <Text size={1} weight="medium">
149
- <components.MultiValueLabel {...props} />
150
- </Text>
151
- </Box>
152
- )
153
- }
154
-
155
- const MultiValueRemove = (props: any) => {
156
- return (
157
- <components.MultiValueRemove {...props}>
158
- <CloseIcon color="#1f2123" />
159
- </components.MultiValueRemove>
160
- )
161
- }
162
-
163
- const Option = (props: any) => {
164
- return (
165
- <Box paddingX={1} paddingY={1}>
166
- <components.Option {...props}>
167
- <Flex align="center">
168
- {props.data.__isNew__ && <AddIcon style={{marginRight: '3px'}} />}
169
- {props.children}
170
- </Flex>
171
- </components.Option>
172
- </Box>
173
- )
174
- }
175
-
176
- export const reactSelectComponents = {
177
- DropdownIndicator,
178
- IndicatorSeparator: null,
179
- Menu,
180
- MenuList,
181
- MultiValueLabel,
182
- MultiValueRemove,
183
- Option,
184
- }
@@ -1,184 +0,0 @@
1
- import {CloseIcon} from '@sanity/icons'
2
- import {Box, Card, rem, studioTheme, Text, type ThemeColorSchemeKey} from '@sanity/ui'
3
- import {components, type StylesConfig} from 'react-select'
4
- import {Virtuoso} from 'react-virtuoso'
5
-
6
- import {getSchemeColor} from '../../utils/getSchemeColor'
7
-
8
- const {
9
- fonts: {
10
- text: {sizes: themeTextSizes},
11
- },
12
- radius: themeRadius,
13
- space: themeSpace,
14
- } = studioTheme
15
-
16
- export const reactSelectStyles = (scheme: ThemeColorSchemeKey): StylesConfig => {
17
- return {
18
- control: (styles, {isDisabled, isFocused}) => {
19
- let boxShadow = `inset 0 0 0 1px var(--card-border-color)`
20
- if (isFocused) {
21
- boxShadow = `inset 0 0 0 1px ${getSchemeColor(scheme, 'inputEnabledBorder')},
22
- 0 0 0 1px ${getSchemeColor(scheme, 'bg2')},
23
- 0 0 0 3px var(--card-focus-ring-color) !important`
24
- }
25
-
26
- return {
27
- ...styles,
28
- 'backgroundColor': 'var(--card-bg-color)',
29
- 'color': 'inherit',
30
- 'border': 'none',
31
- 'borderRadius': themeRadius[2],
32
- boxShadow,
33
- 'fontSize': themeTextSizes[1].fontSize,
34
- 'minHeight': '25px',
35
- 'opacity': isDisabled ? 0.5 : 'inherit',
36
- 'outline': 'none',
37
- 'transition': 'none',
38
- '&:hover': {
39
- boxShadow: `inset 0 0 0 1px ${getSchemeColor(scheme, 'inputHoveredBorder')}`,
40
- },
41
- }
42
- },
43
- input: (styles) => ({
44
- ...styles,
45
- color: 'var(--card-fg-color)',
46
- fontFamily: studioTheme.fonts.text.family,
47
- fontSize: themeTextSizes[1].fontSize,
48
- marginLeft: rem(themeSpace[2]),
49
- }),
50
- menuList: (styles) => ({
51
- ...styles,
52
- padding: 0,
53
- }),
54
- noOptionsMessage: (styles) => ({
55
- ...styles,
56
- fontFamily: studioTheme.fonts.text.family,
57
- fontSize: themeTextSizes[1].fontSize,
58
- lineHeight: '1em',
59
- }),
60
- option: (styles, {isFocused}) => ({
61
- ...styles,
62
- 'backgroundColor': isFocused ? getSchemeColor(scheme, 'spotBlue') : 'transparent',
63
- 'borderRadius': themeRadius[2],
64
- 'color': isFocused ? getSchemeColor(scheme, 'bg') : 'inherit',
65
- 'fontSize': themeTextSizes[1].fontSize,
66
- 'lineHeight': '1em',
67
- 'margin': 0,
68
- 'padding': rem(themeSpace[1]),
69
- '&:hover': {
70
- backgroundColor: getSchemeColor(scheme, 'spotBlue'),
71
- color: getSchemeColor(scheme, 'bg'),
72
- },
73
- }),
74
- placeholder: (styles) => ({
75
- ...styles,
76
- fontSize: themeTextSizes[1].fontSize,
77
- marginLeft: rem(themeSpace[2]),
78
- paddingLeft: 0,
79
- }),
80
- singleValue: (styles) => ({
81
- ...styles,
82
- alignItems: 'center',
83
- display: 'inline-flex',
84
- height: '100%',
85
- marginLeft: rem(themeSpace[2]),
86
- }),
87
- valueContainer: (styles) => ({
88
- ...styles,
89
- margin: 0,
90
- padding: 0,
91
- }),
92
- }
93
- }
94
-
95
- const ClearIndicator = (props: any) => {
96
- return (
97
- <components.ClearIndicator {...props}>
98
- <Box
99
- paddingRight={1}
100
- style={{
101
- transform: 'scale(0.85)',
102
- }}
103
- >
104
- <Text muted size={0}>
105
- <CloseIcon />
106
- </Text>
107
- </Box>
108
- </components.ClearIndicator>
109
- )
110
- }
111
-
112
- const Menu = (props: any) => {
113
- return (
114
- <components.Menu {...props}>
115
- <Card radius={1} shadow={2}>
116
- {props.children}
117
- </Card>
118
- </components.Menu>
119
- )
120
- }
121
-
122
- const MenuList = (props: any) => {
123
- const {children} = props
124
-
125
- const MAX_ROWS = 5
126
- const OPTION_HEIGHT = 33
127
-
128
- if (Array.isArray(children)) {
129
- const height =
130
- children.length > MAX_ROWS ? OPTION_HEIGHT * MAX_ROWS : children.length * OPTION_HEIGHT
131
-
132
- return (
133
- <Virtuoso
134
- className="media__custom-scrollbar"
135
- itemContent={(index) => {
136
- const item = children[index]
137
- return <Option {...item.props} />
138
- }}
139
- style={{height}}
140
- totalCount={children.length}
141
- />
142
- )
143
- }
144
- return <components.MenuList {...props}>{children}</components.MenuList>
145
- }
146
-
147
- const NoOptionsMessage = (props: any) => {
148
- return <components.NoOptionsMessage {...props}>{props.children}</components.NoOptionsMessage>
149
- }
150
-
151
- const Option = (props: any) => {
152
- return (
153
- <Box padding={1}>
154
- <components.Option {...props}>
155
- <Box paddingY={1}>
156
- <Text size={1} style={{color: 'inherit'}} textOverflow="ellipsis">
157
- {props.children}
158
- </Text>
159
- </Box>
160
- </components.Option>
161
- </Box>
162
- )
163
- }
164
-
165
- const SingleValue = (props: any) => {
166
- return (
167
- <components.SingleValue {...props}>
168
- <Text size={1} textOverflow="ellipsis">
169
- {props.children}
170
- </Text>
171
- </components.SingleValue>
172
- )
173
- }
174
-
175
- export const reactSelectComponents = {
176
- ClearIndicator,
177
- DropdownIndicator: null,
178
- IndicatorSeparator: null,
179
- Menu,
180
- MenuList,
181
- NoOptionsMessage,
182
- Option,
183
- SingleValue,
184
- }