@easyling/sanity-connector 0.0.1 → 0.0.2-rc.1

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 (242) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/package.json +18 -12
  3. package/dist/actions/bulkTranslate.d.ts +0 -7
  4. package/dist/actions/bulkTranslate.d.ts.map +0 -1
  5. package/dist/actions/bulkTranslate.js +0 -543
  6. package/dist/actions/bulkTranslate.js.map +0 -1
  7. package/dist/actions/manageDNTFields.d.ts +0 -12
  8. package/dist/actions/manageDNTFields.d.ts.map +0 -1
  9. package/dist/actions/manageDNTFields.js +0 -100
  10. package/dist/actions/manageDNTFields.js.map +0 -1
  11. package/dist/actions/translateDocument.d.ts +0 -7
  12. package/dist/actions/translateDocument.d.ts.map +0 -1
  13. package/dist/actions/translateDocument.js +0 -256
  14. package/dist/actions/translateDocument.js.map +0 -1
  15. package/dist/components/RadioWithDefault.d.ts +0 -17
  16. package/dist/components/RadioWithDefault.d.ts.map +0 -1
  17. package/dist/components/RadioWithDefault.js +0 -29
  18. package/dist/components/RadioWithDefault.js.map +0 -1
  19. package/dist/components/auth/AuthNavbar.d.ts +0 -18
  20. package/dist/components/auth/AuthNavbar.d.ts.map +0 -1
  21. package/dist/components/auth/AuthNavbar.js +0 -15
  22. package/dist/components/auth/AuthNavbar.js.map +0 -1
  23. package/dist/components/auth/AuthStatus.d.ts +0 -27
  24. package/dist/components/auth/AuthStatus.d.ts.map +0 -1
  25. package/dist/components/auth/AuthStatus.js +0 -82
  26. package/dist/components/auth/AuthStatus.js.map +0 -1
  27. package/dist/components/auth/AuthStatusWrapper.d.ts +0 -15
  28. package/dist/components/auth/AuthStatusWrapper.d.ts.map +0 -1
  29. package/dist/components/auth/AuthStatusWrapper.js +0 -39
  30. package/dist/components/auth/AuthStatusWrapper.js.map +0 -1
  31. package/dist/components/auth/MigrationPrompt.d.ts +0 -20
  32. package/dist/components/auth/MigrationPrompt.d.ts.map +0 -1
  33. package/dist/components/auth/MigrationPrompt.js +0 -16
  34. package/dist/components/auth/MigrationPrompt.js.map +0 -1
  35. package/dist/components/auth/MigrationPromptWrapper.d.ts +0 -14
  36. package/dist/components/auth/MigrationPromptWrapper.d.ts.map +0 -1
  37. package/dist/components/auth/MigrationPromptWrapper.js +0 -16
  38. package/dist/components/auth/MigrationPromptWrapper.js.map +0 -1
  39. package/dist/components/auth/OAuthCallback.d.ts +0 -20
  40. package/dist/components/auth/OAuthCallback.d.ts.map +0 -1
  41. package/dist/components/auth/OAuthCallback.js +0 -12
  42. package/dist/components/auth/OAuthCallback.js.map +0 -1
  43. package/dist/components/auth/index.d.ts +0 -15
  44. package/dist/components/auth/index.d.ts.map +0 -1
  45. package/dist/components/auth/index.js +0 -12
  46. package/dist/components/auth/index.js.map +0 -1
  47. package/dist/components/config/LocaleConfigTool.d.ts +0 -17
  48. package/dist/components/config/LocaleConfigTool.d.ts.map +0 -1
  49. package/dist/components/config/LocaleConfigTool.js +0 -186
  50. package/dist/components/config/LocaleConfigTool.js.map +0 -1
  51. package/dist/components/config/LocaleConfigToolWrapper.d.ts +0 -13
  52. package/dist/components/config/LocaleConfigToolWrapper.d.ts.map +0 -1
  53. package/dist/components/config/LocaleConfigToolWrapper.js +0 -26
  54. package/dist/components/config/LocaleConfigToolWrapper.js.map +0 -1
  55. package/dist/components/config/OAuthConfig.d.ts +0 -26
  56. package/dist/components/config/OAuthConfig.d.ts.map +0 -1
  57. package/dist/components/config/OAuthConfig.js +0 -152
  58. package/dist/components/config/OAuthConfig.js.map +0 -1
  59. package/dist/components/config/OAuthConfigWrapper.d.ts +0 -13
  60. package/dist/components/config/OAuthConfigWrapper.d.ts.map +0 -1
  61. package/dist/components/config/OAuthConfigWrapper.js +0 -41
  62. package/dist/components/config/OAuthConfigWrapper.js.map +0 -1
  63. package/dist/components/config/PasswordInput.d.ts +0 -14
  64. package/dist/components/config/PasswordInput.d.ts.map +0 -1
  65. package/dist/components/config/PasswordInput.js +0 -23
  66. package/dist/components/config/PasswordInput.js.map +0 -1
  67. package/dist/components/config/index.d.ts +0 -9
  68. package/dist/components/config/index.d.ts.map +0 -1
  69. package/dist/components/config/index.js +0 -8
  70. package/dist/components/config/index.js.map +0 -1
  71. package/dist/components/config/localeConfigToolDefinition.d.ts +0 -13
  72. package/dist/components/config/localeConfigToolDefinition.d.ts.map +0 -1
  73. package/dist/components/config/localeConfigToolDefinition.js +0 -19
  74. package/dist/components/config/localeConfigToolDefinition.js.map +0 -1
  75. package/dist/components/config/oauthConfigToolDefinition.d.ts +0 -13
  76. package/dist/components/config/oauthConfigToolDefinition.d.ts.map +0 -1
  77. package/dist/components/config/oauthConfigToolDefinition.js +0 -19
  78. package/dist/components/config/oauthConfigToolDefinition.js.map +0 -1
  79. package/dist/components/dialogs/ConfirmationDialog.d.ts +0 -21
  80. package/dist/components/dialogs/ConfirmationDialog.d.ts.map +0 -1
  81. package/dist/components/dialogs/ConfirmationDialog.js +0 -28
  82. package/dist/components/dialogs/ConfirmationDialog.js.map +0 -1
  83. package/dist/components/dialogs/ErrorDialog.d.ts +0 -21
  84. package/dist/components/dialogs/ErrorDialog.d.ts.map +0 -1
  85. package/dist/components/dialogs/ErrorDialog.js +0 -28
  86. package/dist/components/dialogs/ErrorDialog.js.map +0 -1
  87. package/dist/components/dialogs/LocaleSelectionDialog.d.ts +0 -41
  88. package/dist/components/dialogs/LocaleSelectionDialog.d.ts.map +0 -1
  89. package/dist/components/dialogs/LocaleSelectionDialog.js +0 -117
  90. package/dist/components/dialogs/LocaleSelectionDialog.js.map +0 -1
  91. package/dist/components/dialogs/SuccessDialog.d.ts +0 -19
  92. package/dist/components/dialogs/SuccessDialog.d.ts.map +0 -1
  93. package/dist/components/dialogs/SuccessDialog.js +0 -37
  94. package/dist/components/dialogs/SuccessDialog.js.map +0 -1
  95. package/dist/components/dialogs/index.d.ts +0 -12
  96. package/dist/components/dialogs/index.d.ts.map +0 -1
  97. package/dist/components/dialogs/index.js +0 -8
  98. package/dist/components/dialogs/index.js.map +0 -1
  99. package/dist/components/dnt/DNTFieldBadge.d.ts +0 -16
  100. package/dist/components/dnt/DNTFieldBadge.d.ts.map +0 -1
  101. package/dist/components/dnt/DNTFieldBadge.js +0 -56
  102. package/dist/components/dnt/DNTFieldBadge.js.map +0 -1
  103. package/dist/components/dnt/DNTFieldComponent.d.ts +0 -17
  104. package/dist/components/dnt/DNTFieldComponent.d.ts.map +0 -1
  105. package/dist/components/dnt/DNTFieldComponent.js +0 -21
  106. package/dist/components/dnt/DNTFieldComponent.js.map +0 -1
  107. package/dist/components/dnt/DNTFieldInput.d.ts +0 -14
  108. package/dist/components/dnt/DNTFieldInput.d.ts.map +0 -1
  109. package/dist/components/dnt/DNTFieldInput.js +0 -76
  110. package/dist/components/dnt/DNTFieldInput.js.map +0 -1
  111. package/dist/components/dnt/index.d.ts +0 -7
  112. package/dist/components/dnt/index.d.ts.map +0 -1
  113. package/dist/components/dnt/index.js +0 -7
  114. package/dist/components/dnt/index.js.map +0 -1
  115. package/dist/config/index.d.ts +0 -6
  116. package/dist/config/index.d.ts.map +0 -1
  117. package/dist/config/index.js +0 -6
  118. package/dist/config/index.js.map +0 -1
  119. package/dist/config/pluginConfig.d.ts +0 -163
  120. package/dist/config/pluginConfig.d.ts.map +0 -1
  121. package/dist/config/pluginConfig.js +0 -548
  122. package/dist/config/pluginConfig.js.map +0 -1
  123. package/dist/index.d.ts +0 -12
  124. package/dist/index.d.ts.map +0 -1
  125. package/dist/index.js +0 -12
  126. package/dist/index.js.map +0 -1
  127. package/dist/plugin.d.ts +0 -3
  128. package/dist/plugin.d.ts.map +0 -1
  129. package/dist/plugin.js +0 -137
  130. package/dist/plugin.js.map +0 -1
  131. package/dist/services/authStateManager.d.ts +0 -94
  132. package/dist/services/authStateManager.d.ts.map +0 -1
  133. package/dist/services/authStateManager.js +0 -208
  134. package/dist/services/authStateManager.js.map +0 -1
  135. package/dist/services/contentExtractor.d.ts +0 -95
  136. package/dist/services/contentExtractor.d.ts.map +0 -1
  137. package/dist/services/contentExtractor.js +0 -516
  138. package/dist/services/contentExtractor.js.map +0 -1
  139. package/dist/services/dialogService.d.ts +0 -96
  140. package/dist/services/dialogService.d.ts.map +0 -1
  141. package/dist/services/dialogService.js +0 -244
  142. package/dist/services/dialogService.js.map +0 -1
  143. package/dist/services/dntServiceManager.d.ts +0 -44
  144. package/dist/services/dntServiceManager.d.ts.map +0 -1
  145. package/dist/services/dntServiceManager.js +0 -74
  146. package/dist/services/dntServiceManager.js.map +0 -1
  147. package/dist/services/dntStorageAdapter.d.ts +0 -73
  148. package/dist/services/dntStorageAdapter.d.ts.map +0 -1
  149. package/dist/services/dntStorageAdapter.js +0 -192
  150. package/dist/services/dntStorageAdapter.js.map +0 -1
  151. package/dist/services/documentCreationService.d.ts +0 -139
  152. package/dist/services/documentCreationService.d.ts.map +0 -1
  153. package/dist/services/documentCreationService.js +0 -938
  154. package/dist/services/documentCreationService.js.map +0 -1
  155. package/dist/services/localeService.d.ts +0 -160
  156. package/dist/services/localeService.d.ts.map +0 -1
  157. package/dist/services/localeService.js +0 -300
  158. package/dist/services/localeService.js.map +0 -1
  159. package/dist/services/localeStorageAdapter.d.ts +0 -42
  160. package/dist/services/localeStorageAdapter.d.ts.map +0 -1
  161. package/dist/services/localeStorageAdapter.js +0 -107
  162. package/dist/services/localeStorageAdapter.js.map +0 -1
  163. package/dist/services/oauthConfigStorage.d.ts +0 -46
  164. package/dist/services/oauthConfigStorage.d.ts.map +0 -1
  165. package/dist/services/oauthConfigStorage.js +0 -122
  166. package/dist/services/oauthConfigStorage.js.map +0 -1
  167. package/dist/services/oauthService.d.ts +0 -48
  168. package/dist/services/oauthService.d.ts.map +0 -1
  169. package/dist/services/oauthService.js +0 -71
  170. package/dist/services/oauthService.js.map +0 -1
  171. package/dist/services/oauthServiceManager.d.ts +0 -189
  172. package/dist/services/oauthServiceManager.d.ts.map +0 -1
  173. package/dist/services/oauthServiceManager.js +0 -380
  174. package/dist/services/oauthServiceManager.js.map +0 -1
  175. package/dist/services/tokenStorage.d.ts +0 -54
  176. package/dist/services/tokenStorage.d.ts.map +0 -1
  177. package/dist/services/tokenStorage.js +0 -140
  178. package/dist/services/tokenStorage.js.map +0 -1
  179. package/dist/services/translationService.d.ts +0 -374
  180. package/dist/services/translationService.d.ts.map +0 -1
  181. package/dist/services/translationService.js +0 -687
  182. package/dist/services/translationService.js.map +0 -1
  183. package/dist/services/unifiedConfigStorage.d.ts +0 -124
  184. package/dist/services/unifiedConfigStorage.d.ts.map +0 -1
  185. package/dist/services/unifiedConfigStorage.js +0 -304
  186. package/dist/services/unifiedConfigStorage.js.map +0 -1
  187. package/dist/test-utils.d.ts +0 -9
  188. package/dist/test-utils.d.ts.map +0 -1
  189. package/dist/test-utils.js +0 -13
  190. package/dist/test-utils.js.map +0 -1
  191. package/dist/types/dialog.d.ts +0 -107
  192. package/dist/types/dialog.d.ts.map +0 -1
  193. package/dist/types/dialog.js +0 -6
  194. package/dist/types/dialog.js.map +0 -1
  195. package/dist/types/dnt.d.ts +0 -84
  196. package/dist/types/dnt.d.ts.map +0 -1
  197. package/dist/types/dnt.js +0 -5
  198. package/dist/types/dnt.js.map +0 -1
  199. package/dist/types/index.d.ts +0 -12
  200. package/dist/types/index.d.ts.map +0 -1
  201. package/dist/types/index.js +0 -6
  202. package/dist/types/index.js.map +0 -1
  203. package/dist/types/locale.d.ts +0 -116
  204. package/dist/types/locale.d.ts.map +0 -1
  205. package/dist/types/locale.js +0 -189
  206. package/dist/types/locale.js.map +0 -1
  207. package/dist/types/oauth.d.ts +0 -90
  208. package/dist/types/oauth.d.ts.map +0 -1
  209. package/dist/types/oauth.js +0 -62
  210. package/dist/types/oauth.js.map +0 -1
  211. package/dist/types/pluginConfig.d.ts +0 -45
  212. package/dist/types/pluginConfig.d.ts.map +0 -1
  213. package/dist/types/pluginConfig.js +0 -6
  214. package/dist/types/pluginConfig.js.map +0 -1
  215. package/dist/types/translation.d.ts +0 -122
  216. package/dist/types/translation.d.ts.map +0 -1
  217. package/dist/types/translation.js +0 -6
  218. package/dist/types/translation.js.map +0 -1
  219. package/dist/utils/htmlFormatter.d.ts +0 -66
  220. package/dist/utils/htmlFormatter.d.ts.map +0 -1
  221. package/dist/utils/htmlFormatter.js +0 -191
  222. package/dist/utils/htmlFormatter.js.map +0 -1
  223. package/dist/utils/index.d.ts +0 -15
  224. package/dist/utils/index.d.ts.map +0 -1
  225. package/dist/utils/index.js +0 -16
  226. package/dist/utils/index.js.map +0 -1
  227. package/dist/utils/logger.d.ts +0 -105
  228. package/dist/utils/logger.d.ts.map +0 -1
  229. package/dist/utils/logger.js +0 -229
  230. package/dist/utils/logger.js.map +0 -1
  231. package/dist/utils/oauthErrorFeedback.d.ts +0 -76
  232. package/dist/utils/oauthErrorFeedback.d.ts.map +0 -1
  233. package/dist/utils/oauthErrorFeedback.js +0 -134
  234. package/dist/utils/oauthErrorFeedback.js.map +0 -1
  235. package/dist/utils/oauthLogger.d.ts +0 -176
  236. package/dist/utils/oauthLogger.d.ts.map +0 -1
  237. package/dist/utils/oauthLogger.js +0 -282
  238. package/dist/utils/oauthLogger.js.map +0 -1
  239. package/dist/utils/validator.d.ts +0 -67
  240. package/dist/utils/validator.d.ts.map +0 -1
  241. package/dist/utils/validator.js +0 -390
  242. package/dist/utils/validator.js.map +0 -1
@@ -1,117 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * LocaleSelectionDialog Component
4
- * Requirements: 2.1, 2.2, 2.3, 2.4, 2.6, 2.7
5
- *
6
- * A dialog for selecting target locales for translation with search and validation
7
- */
8
- import { useState, useEffect, useRef, useMemo } from 'react';
9
- import { Dialog, Box, Stack, Text, Button, Card, Checkbox, TextInput, Flex, Radio } from '@sanity/ui';
10
- import { SearchIcon } from '@sanity/icons';
11
- /**
12
- * LocaleSelectionDialog component with search and multi-select functionality
13
- */
14
- export const LocaleSelectionDialog = ({ open, title, message, availableLocales, selectedLocales: initialSelectedLocales, selectedDocuments = [], mode, allowMultiple = true, required = true, showCreationModeOption = false, defaultCreationMode = 'draft', onConfirm, onCancel, }) => {
15
- const [selectedLocales, setSelectedLocales] = useState(new Set(initialSelectedLocales));
16
- const [creationMode, setCreationMode] = useState(defaultCreationMode);
17
- const [searchQuery, setSearchQuery] = useState('');
18
- const [validationError, setValidationError] = useState(null);
19
- const searchInputRef = useRef(null);
20
- const confirmButtonRef = useRef(null);
21
- // Reset state when dialog opens
22
- useEffect(() => {
23
- if (open) {
24
- setSelectedLocales(new Set(initialSelectedLocales));
25
- setCreationMode(defaultCreationMode);
26
- setSearchQuery('');
27
- setValidationError(null);
28
- // Focus search input when dialog opens
29
- setTimeout(() => {
30
- searchInputRef.current?.focus();
31
- }, 100);
32
- }
33
- }, [open, initialSelectedLocales, defaultCreationMode]);
34
- // Filter locales based on search query
35
- const filteredLocales = useMemo(() => {
36
- if (!searchQuery.trim()) {
37
- return availableLocales.filter(locale => locale.enabled);
38
- }
39
- const query = searchQuery.toLowerCase();
40
- return availableLocales
41
- .filter(locale => locale.enabled)
42
- .filter(locale => locale.code.toLowerCase().includes(query) ||
43
- locale.displayName.toLowerCase().includes(query));
44
- }, [availableLocales, searchQuery]);
45
- // Handle locale selection toggle
46
- const handleLocaleToggle = (localeCode) => {
47
- setValidationError(null);
48
- const newSelected = new Set(selectedLocales);
49
- if (newSelected.has(localeCode)) {
50
- newSelected.delete(localeCode);
51
- }
52
- else {
53
- if (!allowMultiple) {
54
- // Single selection mode - clear others
55
- newSelected.clear();
56
- }
57
- newSelected.add(localeCode);
58
- }
59
- setSelectedLocales(newSelected);
60
- };
61
- // Handle select all
62
- const handleSelectAll = () => {
63
- setValidationError(null);
64
- const allFilteredCodes = new Set(filteredLocales.map(locale => locale.code));
65
- setSelectedLocales(allFilteredCodes);
66
- };
67
- // Handle clear all
68
- const handleClearAll = () => {
69
- setValidationError(null);
70
- setSelectedLocales(new Set());
71
- };
72
- // Validate and confirm selection
73
- const handleConfirm = () => {
74
- // Validate selection
75
- if (required && selectedLocales.size === 0) {
76
- setValidationError('Please select at least one locale');
77
- return;
78
- }
79
- // Convert Set to Array and confirm with creation mode if applicable
80
- onConfirm(Array.from(selectedLocales), showCreationModeOption ? creationMode : undefined);
81
- };
82
- // Handle keyboard navigation
83
- useEffect(() => {
84
- if (!open)
85
- return;
86
- const handleKeyDown = (event) => {
87
- if (event.key === 'Escape') {
88
- event.preventDefault();
89
- onCancel();
90
- }
91
- else if (event.key === 'Enter' && event.ctrlKey) {
92
- // Ctrl+Enter to confirm
93
- event.preventDefault();
94
- handleConfirm();
95
- }
96
- };
97
- document.addEventListener('keydown', handleKeyDown);
98
- return () => {
99
- document.removeEventListener('keydown', handleKeyDown);
100
- };
101
- }, [open, selectedLocales, onCancel]);
102
- if (!open)
103
- return null;
104
- const documentCount = selectedDocuments.length || 1;
105
- const isValid = !required || selectedLocales.size > 0;
106
- return (_jsx(Dialog, { id: "locale-selection-dialog", header: title, onClose: onCancel, onClickOutside: onCancel, width: 1, role: "dialog", "aria-labelledby": "locale-selection-dialog-title", "aria-describedby": "locale-selection-dialog-description", children: _jsx(Box, { padding: 4, children: _jsxs(Stack, { space: 4, children: [_jsx(Card, { children: _jsx(Box, { padding: 3, children: _jsxs(Stack, { space: 3, children: [_jsx(Text, { id: "locale-selection-dialog-description", size: 2, weight: "regular", children: message }), _jsx(Text, { size: 1, muted: true, children: mode === 'bulk'
107
- ? `Translating ${documentCount} document${documentCount !== 1 ? 's' : ''}`
108
- : 'Translating 1 document' })] }) }) }), _jsx(Box, { children: _jsx(TextInput, { ref: searchInputRef, icon: SearchIcon, placeholder: "Search locales by code or name...", value: searchQuery, onChange: (event) => setSearchQuery(event.currentTarget.value), "aria-label": "Search locales" }) }), _jsx(Card, { border: true, padding: 3, children: _jsxs(Stack, { space: 3, children: [allowMultiple && filteredLocales.length > 1 && (_jsxs(Flex, { justify: "space-between", align: "center", children: [_jsxs(Text, { size: 1, weight: "semibold", children: [selectedLocales.size, " of ", filteredLocales.length, " selected"] }), _jsxs(Flex, { gap: 2, children: [_jsx(Button, { text: "Select All", mode: "ghost", fontSize: 1, padding: 2, onClick: handleSelectAll, disabled: selectedLocales.size === filteredLocales.length }), _jsx(Button, { text: "Clear All", mode: "ghost", fontSize: 1, padding: 2, onClick: handleClearAll, disabled: selectedLocales.size === 0 })] })] })), _jsx(Box, { style: { maxHeight: '300px', overflowY: 'auto' }, children: _jsx(Stack, { space: 2, children: filteredLocales.length === 0 ? (_jsx(Box, { padding: 3, children: _jsx(Text, { size: 1, muted: true, align: "center", children: searchQuery
109
- ? 'No locales match your search'
110
- : 'No locales available. Please configure locales first.' }) })) : (filteredLocales.map((locale) => (_jsx(Card, { padding: 3, radius: 2, shadow: 1, style: { cursor: 'pointer' }, onClick: () => handleLocaleToggle(locale.code), role: "checkbox", "aria-checked": selectedLocales.has(locale.code), tabIndex: 0, onKeyDown: (e) => {
111
- if (e.key === 'Enter' || e.key === ' ') {
112
- e.preventDefault();
113
- handleLocaleToggle(locale.code);
114
- }
115
- }, children: _jsxs(Flex, { align: "center", gap: 3, children: [_jsx(Checkbox, { checked: selectedLocales.has(locale.code), readOnly: true, "aria-label": `Select ${locale.displayName}` }), _jsxs(Stack, { space: 1, flex: 1, children: [_jsx(Text, { size: 2, weight: "medium", children: locale.displayName }), _jsx(Text, { size: 1, muted: true, children: locale.code })] })] }) }, locale.code)))) }) })] }) }), showCreationModeOption && (_jsx(Card, { border: true, padding: 3, children: _jsxs(Stack, { space: 3, children: [_jsx(Text, { size: 1, weight: "semibold", children: "Document Creation Mode" }), _jsx(Text, { size: 1, muted: true, children: "Choose whether to create translated documents as drafts or publish them immediately." }), _jsxs(Stack, { space: 2, children: [_jsx(Card, { padding: 3, radius: 2, tone: creationMode === 'draft' ? 'primary' : 'default', style: { cursor: 'pointer' }, onClick: () => setCreationMode('draft'), children: _jsxs(Flex, { align: "center", gap: 3, children: [_jsx(Radio, { checked: creationMode === 'draft', readOnly: true, "aria-label": "Create as draft" }), _jsxs(Stack, { space: 1, flex: 1, children: [_jsx(Text, { size: 2, weight: "medium", children: "Draft" }), _jsx(Text, { size: 1, muted: true, children: "Create documents as drafts that need to be published manually" })] })] }) }), _jsx(Card, { padding: 3, radius: 2, tone: creationMode === 'published' ? 'primary' : 'default', style: { cursor: 'pointer' }, onClick: () => setCreationMode('published'), children: _jsxs(Flex, { align: "center", gap: 3, children: [_jsx(Radio, { checked: creationMode === 'published', readOnly: true, "aria-label": "Create as published" }), _jsxs(Stack, { space: 1, flex: 1, children: [_jsx(Text, { size: 2, weight: "medium", children: "Published" }), _jsx(Text, { size: 1, muted: true, children: "Create and publish documents immediately" })] })] }) })] })] }) })), validationError && (_jsx(Card, { tone: "critical", padding: 3, children: _jsx(Text, { size: 1, style: { color: 'var(--card-fg-color)' }, children: validationError }) })), _jsxs(Stack, { space: 2, children: [_jsx(Button, { ref: confirmButtonRef, text: `Translate to ${selectedLocales.size} locale${selectedLocales.size !== 1 ? 's' : ''}`, tone: "primary", onClick: handleConfirm, disabled: !isValid || filteredLocales.length === 0, mode: "default", "aria-label": "Confirm locale selection and start translation" }), _jsx(Button, { text: "Cancel", tone: "default", onClick: onCancel, mode: "ghost", "aria-label": "Cancel locale selection" })] }), _jsx(Text, { size: 1, muted: true, align: "center", children: "Press Ctrl+Enter to confirm, Esc to cancel" })] }) }) }));
116
- };
117
- //# sourceMappingURL=LocaleSelectionDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocaleSelectionDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/LocaleSelectionDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * SuccessDialog Component
3
- * Requirements: 3.6, 3.8
4
- *
5
- * A success notification dialog with accessibility support
6
- */
7
- import React from 'react';
8
- import type { SuccessDialogOptions } from '../../types/dialog';
9
- export interface SuccessDialogProps extends SuccessDialogOptions {
10
- /** Whether the dialog is open */
11
- open: boolean;
12
- /** Callback when dialog is closed */
13
- onClose: () => void;
14
- }
15
- /**
16
- * SuccessDialog component for displaying success messages
17
- */
18
- export declare const SuccessDialog: React.FC<SuccessDialogProps>;
19
- //# sourceMappingURL=SuccessDialog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuccessDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/SuccessDialog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgFtD,CAAC"}
@@ -1,37 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * SuccessDialog Component
4
- * Requirements: 3.6, 3.8
5
- *
6
- * A success notification dialog with accessibility support
7
- */
8
- import { useEffect, useRef } from 'react';
9
- import { Dialog, Box, Stack, Text, Button, Card } from '@sanity/ui';
10
- import { CheckmarkCircleIcon } from '@sanity/icons';
11
- /**
12
- * SuccessDialog component for displaying success messages
13
- */
14
- export const SuccessDialog = ({ open, title, message, details, autoCloseTimeout, closable = true, onClose, }) => {
15
- const closeButtonRef = useRef(null);
16
- // Focus the close button when dialog opens
17
- useEffect(() => {
18
- if (open && closeButtonRef.current) {
19
- setTimeout(() => {
20
- closeButtonRef.current?.focus();
21
- }, 100);
22
- }
23
- }, [open]);
24
- // Auto-close functionality
25
- useEffect(() => {
26
- if (!open || !autoCloseTimeout)
27
- return;
28
- const timer = setTimeout(() => {
29
- onClose();
30
- }, autoCloseTimeout);
31
- return () => clearTimeout(timer);
32
- }, [open, autoCloseTimeout, onClose]);
33
- if (!open)
34
- return null;
35
- return (_jsx(Dialog, { id: "success-dialog", header: title, onClose: closable ? onClose : undefined, onClickOutside: closable ? onClose : undefined, width: 1, role: "dialog", "aria-labelledby": "success-dialog-title", "aria-describedby": "success-dialog-description", children: _jsx(Box, { padding: 4, children: _jsxs(Stack, { space: 4, children: [_jsx(Card, { tone: "positive", padding: 3, radius: 2, children: _jsxs(Stack, { space: 3, children: [_jsx(Box, { children: _jsx(Text, { size: 3, children: _jsx(CheckmarkCircleIcon, {}) }) }), _jsx(Text, { id: "success-dialog-description", size: 2, weight: "regular", children: message }), details && (_jsx(Text, { size: 1, muted: true, children: details }))] }) }), _jsx(Button, { ref: closeButtonRef, text: "Close", tone: "positive", onClick: onClose, mode: "default", "aria-label": "Close success dialog" })] }) }) }));
36
- };
37
- //# sourceMappingURL=SuccessDialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuccessDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/SuccessDialog.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAUpD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,QAAQ,GAAG,IAAI,EACf,OAAO,GACR,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,2CAA2C;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YACnC,UAAU,CAAC,GAAG,EAAE;gBACd,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAErB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,KAAC,MAAM,IACL,EAAE,EAAC,gBAAgB,EACnB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACvC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,IAAI,EAAC,QAAQ,qBACG,sBAAsB,sBACrB,4BAA4B,YAE7C,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,MAAC,KAAK,IAAC,KAAK,EAAE,CAAC,aACb,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,YACzC,MAAC,KAAK,IAAC,KAAK,EAAE,CAAC,aACb,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,YACX,KAAC,mBAAmB,KAAG,GAClB,GACH,EACN,KAAC,IAAI,IACH,EAAE,EAAC,4BAA4B,EAC/B,IAAI,EAAE,CAAC,EACP,MAAM,EAAC,SAAS,YAEf,OAAO,GACH,EACN,OAAO,IAAI,CACV,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,kBACjB,OAAO,GACH,CACR,IACK,GACH,EAEP,KAAC,MAAM,IACL,GAAG,EAAE,cAAc,EACnB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,SAAS,gBACH,sBAAsB,GACjC,IACI,GACJ,GACC,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Dialog components exports
3
- */
4
- export { ConfirmationDialog } from './ConfirmationDialog';
5
- export type { ConfirmationDialogProps } from './ConfirmationDialog';
6
- export { SuccessDialog } from './SuccessDialog';
7
- export type { SuccessDialogProps } from './SuccessDialog';
8
- export { ErrorDialog } from './ErrorDialog';
9
- export type { ErrorDialogProps } from './ErrorDialog';
10
- export { LocaleSelectionDialog } from './LocaleSelectionDialog';
11
- export type { LocaleSelectionDialogProps } from './LocaleSelectionDialog';
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Dialog components exports
3
- */
4
- export { ConfirmationDialog } from './ConfirmationDialog';
5
- export { SuccessDialog } from './SuccessDialog';
6
- export { ErrorDialog } from './ErrorDialog';
7
- export { LocaleSelectionDialog } from './LocaleSelectionDialog';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/dialogs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * DNT Field Badge Component
3
- * Displays a badge on fields indicating their translation status and allows toggling
4
- *
5
- * Now uses document-type-based configuration: toggling DNT for a field applies to
6
- * ALL documents of the same type.
7
- */
8
- interface DNTFieldBadgeProps {
9
- documentId: string;
10
- documentType: string;
11
- fieldPath: string;
12
- fieldTitle?: string;
13
- }
14
- export declare function DNTFieldBadge(props: DNTFieldBadgeProps): import("react/jsx-runtime").JSX.Element | null;
15
- export {};
16
- //# sourceMappingURL=DNTFieldBadge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldBadge.d.ts","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldBadge.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,kDA4EtD"}
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * DNT Field Badge Component
4
- * Displays a badge on fields indicating their translation status and allows toggling
5
- *
6
- * Now uses document-type-based configuration: toggling DNT for a field applies to
7
- * ALL documents of the same type.
8
- */
9
- import { useState, useEffect, useCallback } from 'react';
10
- import { Badge, Button, Flex, Tooltip } from '@sanity/ui';
11
- import { TranslateIcon, BlockElementIcon } from '@sanity/icons';
12
- import { getDNTStorage } from '../../services/dntServiceManager';
13
- export function DNTFieldBadge(props) {
14
- const { documentId, documentType, fieldPath, fieldTitle } = props;
15
- const [isDNT, setIsDNT] = useState(false);
16
- const [isLoading, setIsLoading] = useState(true);
17
- // Load initial DNT status
18
- useEffect(() => {
19
- const loadDNTStatus = async () => {
20
- try {
21
- setIsLoading(true);
22
- const dntStorage = getDNTStorage();
23
- const status = await dntStorage.getFieldDNT(documentType, fieldPath);
24
- setIsDNT(status);
25
- }
26
- catch (error) {
27
- console.error('Failed to load DNT status:', error);
28
- }
29
- finally {
30
- setIsLoading(false);
31
- }
32
- };
33
- if (documentType && fieldPath) {
34
- loadDNTStatus();
35
- }
36
- }, [documentType, fieldPath]);
37
- // Toggle DNT status (applies to all documents of this type)
38
- const handleToggle = useCallback(async () => {
39
- try {
40
- const dntStorage = getDNTStorage();
41
- const newStatus = await dntStorage.toggleFieldDNT(documentType, fieldPath);
42
- setIsDNT(newStatus);
43
- }
44
- catch (error) {
45
- console.error('Failed to toggle DNT status:', error);
46
- }
47
- }, [documentType, fieldPath]);
48
- if (isLoading) {
49
- return null;
50
- }
51
- const tooltipContent = isDNT
52
- ? `This field will NOT be translated for ALL ${documentType} documents. Click to make it translatable.`
53
- : `This field will be translated. Click to mark as "Do Not Translate" for ALL ${documentType} documents.`;
54
- return (_jsx(Tooltip, { content: _jsxs(Flex, { padding: 2, direction: "column", gap: 2, children: [_jsx("div", { style: { fontWeight: 'bold' }, children: fieldTitle || fieldPath }), _jsx("div", { children: tooltipContent })] }), placement: "top", children: _jsx(Button, { mode: "bleed", padding: 2, onClick: handleToggle, style: { minHeight: 'auto' }, children: _jsx(Badge, { tone: isDNT ? 'critical' : 'positive', mode: isDNT ? 'default' : 'outline', children: _jsxs(Flex, { align: "center", gap: 1, children: [isDNT ? _jsx(BlockElementIcon, {}) : _jsx(TranslateIcon, {}), _jsx("span", { style: { fontSize: '0.75rem' }, children: isDNT ? 'DNT' : 'Translate' })] }) }) }) }));
55
- }
56
- //# sourceMappingURL=DNTFieldBadge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldBadge.js","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldBadge.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * DNT Field Component
3
- * A wrapper component that adds DNT toggle functionality to any field
4
- */
5
- import React from 'react';
6
- import { ObjectInputProps, StringInputProps, NumberInputProps, BooleanInputProps, ArrayOfObjectsInputProps } from 'sanity';
7
- type FieldInputProps = ObjectInputProps | StringInputProps | NumberInputProps | BooleanInputProps | ArrayOfObjectsInputProps;
8
- interface DNTFieldComponentProps {
9
- documentId?: string;
10
- documentType?: string;
11
- }
12
- /**
13
- * Higher-order component that wraps field components with DNT functionality
14
- */
15
- export declare function withDNTBadge<P extends FieldInputProps>(Component: React.ComponentType<P>): React.ComponentType<P & DNTFieldComponentProps>;
16
- export {};
17
- //# sourceMappingURL=DNTFieldComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldComponent.d.ts","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldComponent.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAI3H,KAAK,eAAe,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,wBAAwB,CAAC;AAE7B,UAAU,sBAAsB;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EACpD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,sBAAsB,CAAC,CA4BjD"}
@@ -1,21 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Stack } from '@sanity/ui';
3
- import { DNTFieldBadge } from './DNTFieldBadge';
4
- /**
5
- * Higher-order component that wraps field components with DNT functionality
6
- */
7
- export function withDNTBadge(Component) {
8
- return function DNTFieldComponent(props) {
9
- const { documentId, documentType, ...fieldProps } = props;
10
- const typedProps = fieldProps;
11
- // Get field information
12
- const fieldPath = typedProps.path?.join('.') || '';
13
- const fieldTitle = typedProps.schemaType?.title;
14
- // Don't show badge if we don't have necessary info
15
- if (!documentId || !fieldPath) {
16
- return _jsx(Component, { ...typedProps });
17
- }
18
- return (_jsxs(Stack, { space: 2, children: [_jsx(Component, { ...typedProps }), _jsx("div", { style: { marginTop: '0.25rem' }, children: _jsx(DNTFieldBadge, { documentId: documentId, documentType: documentType || 'document', fieldPath: fieldPath, fieldTitle: fieldTitle }) })] }));
19
- };
20
- }
21
- //# sourceMappingURL=DNTFieldComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldComponent.js","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldComponent.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAiC;IAEjC,OAAO,SAAS,iBAAiB,CAAC,KAAiC;QACjE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAC1D,MAAM,UAAU,GAAG,UAAe,CAAC;QAEnC,wBAAwB;QACxB,MAAM,SAAS,GAAI,UAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAI,UAAkB,CAAC,UAAU,EAAE,KAAK,CAAC;QAEzD,mDAAmD;QACnD,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,KAAC,SAAS,OAAK,UAAU,GAAI,CAAC;QACvC,CAAC;QAED,OAAO,CACL,MAAC,KAAK,IAAC,KAAK,EAAE,CAAC,aACb,KAAC,SAAS,OAAK,UAAU,GAAI,EAC7B,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAClC,KAAC,aAAa,IACZ,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,IAAI,UAAU,EACxC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACtB,GACE,IACA,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * DNT Field Input Component
3
- * Wraps any field with a DNT toggle badge
4
- *
5
- * Now uses document-type-based configuration: toggling DNT for a field applies to
6
- * ALL documents of the same type.
7
- */
8
- import React from 'react';
9
- import { FieldProps } from 'sanity';
10
- /**
11
- * Field component that adds DNT badge
12
- */
13
- export declare function DNTFieldInput(props: FieldProps): React.JSX.Element;
14
- //# sourceMappingURL=DNTFieldInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldInput.d.ts","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldInput.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,UAAU,EAAgB,MAAM,QAAQ,CAAC;AAKlD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,qBA+F9C"}
@@ -1,76 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * DNT Field Input Component
4
- * Wraps any field with a DNT toggle badge
5
- *
6
- * Now uses document-type-based configuration: toggling DNT for a field applies to
7
- * ALL documents of the same type.
8
- */
9
- import { useCallback, useEffect, useState } from 'react';
10
- import { useFormValue } from 'sanity';
11
- import { Box, Button, Flex, Stack, Text, Tooltip } from '@sanity/ui';
12
- import { TranslateIcon, BlockElementIcon } from '@sanity/icons';
13
- import { getDNTStorage } from '../../services/dntServiceManager';
14
- /**
15
- * Field component that adds DNT badge
16
- */
17
- export function DNTFieldInput(props) {
18
- const { renderDefault, schemaType, path } = props;
19
- // Get document from form context using Sanity hook
20
- const document = useFormValue([]);
21
- // Get document info
22
- const documentId = document?._id;
23
- const documentType = document?._type;
24
- const fieldPath = path?.join('.') || '';
25
- const fieldTitle = schemaType?.title || fieldPath;
26
- // Don't show DNT badges for plugin configuration documents
27
- const pluginConfigTypes = ['EL_PluginConfiguration', 'EL_oauth-config', 'EL_translation-plugin-config'];
28
- if (documentType && pluginConfigTypes.includes(documentType)) {
29
- return renderDefault(props);
30
- }
31
- const [isDNT, setIsDNT] = useState(false);
32
- const [isLoading, setIsLoading] = useState(true);
33
- // Load DNT status on mount (based on document type)
34
- useEffect(() => {
35
- if (!documentType || !fieldPath) {
36
- setIsLoading(false);
37
- return;
38
- }
39
- const loadDNTStatus = async () => {
40
- try {
41
- const dntStorage = getDNTStorage();
42
- const status = await dntStorage.getFieldDNT(documentType, fieldPath);
43
- setIsDNT(status);
44
- }
45
- catch (error) {
46
- console.error('Failed to load DNT status:', error);
47
- }
48
- finally {
49
- setIsLoading(false);
50
- }
51
- };
52
- loadDNTStatus();
53
- }, [documentType, fieldPath]);
54
- // Toggle DNT status (applies to all documents of this type)
55
- const handleToggleDNT = useCallback(async () => {
56
- if (!documentType || !fieldPath)
57
- return;
58
- try {
59
- const dntStorage = getDNTStorage();
60
- const newStatus = await dntStorage.toggleFieldDNT(documentType, fieldPath);
61
- setIsDNT(newStatus);
62
- }
63
- catch (error) {
64
- console.error('Failed to toggle DNT:', error);
65
- }
66
- }, [documentType, fieldPath]);
67
- // Don't show badge for system fields or if no document ID
68
- if (!documentId || !fieldPath || fieldPath.startsWith('_')) {
69
- return renderDefault(props);
70
- }
71
- const tooltipContent = isDNT
72
- ? `This field will NOT be translated for ALL ${documentType} documents. Click to make it translatable.`
73
- : `This field will be translated. Click to mark as "Do Not Translate" for ALL ${documentType} documents.`;
74
- return (_jsxs(Stack, { space: 2, children: [_jsx(Box, { children: renderDefault(props) }), !isLoading && (_jsxs(Flex, { align: "center", gap: 2, paddingTop: 2, children: [_jsx(Tooltip, { content: _jsx(Box, { padding: 2, children: _jsx(Text, { size: 1, children: tooltipContent }) }), placement: "top", children: _jsx(Button, { mode: "ghost", tone: isDNT ? 'critical' : 'positive', padding: 2, fontSize: 1, onClick: handleToggleDNT, icon: isDNT ? BlockElementIcon : TranslateIcon, text: isDNT ? 'Do Not Translate' : 'Will Translate' }) }), _jsxs(Text, { muted: true, size: 1, children: ["Translation: ", _jsx("strong", { children: isDNT ? 'Disabled' : 'Enabled' }), " for ", fieldTitle] })] }))] }));
75
- }
76
- //# sourceMappingURL=DNTFieldInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DNTFieldInput.js","sourceRoot":"","sources":["../../../src/components/dnt/DNTFieldInput.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * DNT (Do Not Translate) Components
3
- */
4
- export { DNTFieldBadge } from './DNTFieldBadge';
5
- export { withDNTBadge } from './DNTFieldComponent';
6
- export { DNTFieldInput } from './DNTFieldInput';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dnt/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * DNT (Do Not Translate) Components
3
- */
4
- export { DNTFieldBadge } from './DNTFieldBadge';
5
- export { withDNTBadge } from './DNTFieldComponent';
6
- export { DNTFieldInput } from './DNTFieldInput';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/dnt/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Configuration exports
3
- * Centralized exports for plugin configuration
4
- */
5
- export { pluginConfigSchema, defaultLocaleConfig, commonLocales, validateLocaleCode, createLocaleDefinition, updateLocaleDefinition } from './pluginConfig';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Configuration exports
3
- * Centralized exports for plugin configuration
4
- */
5
- export { pluginConfigSchema, defaultLocaleConfig, commonLocales, validateLocaleCode, createLocaleDefinition, updateLocaleDefinition } from './pluginConfig';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC"}