@payloadcms/ui 3.0.0-beta.70 → 3.0.0-beta.71

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 (251) hide show
  1. package/dist/elements/ArrayAction/index.d.ts +1 -1
  2. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +7 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Collapsible/index.d.ts +1 -1
  9. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  10. package/dist/elements/Collapsible/index.js +1 -1
  11. package/dist/elements/Collapsible/index.js.map +1 -1
  12. package/dist/elements/DocumentFields/index.d.ts +1 -2
  13. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  14. package/dist/elements/DocumentFields/index.js.map +1 -1
  15. package/dist/elements/Drawer/index.d.ts.map +1 -1
  16. package/dist/elements/Drawer/index.js +3 -0
  17. package/dist/elements/Drawer/index.js.map +1 -1
  18. package/dist/elements/Drawer/index.scss +2 -1
  19. package/dist/elements/EditMany/index.d.ts +1 -2
  20. package/dist/elements/EditMany/index.d.ts.map +1 -1
  21. package/dist/elements/EditMany/index.js.map +1 -1
  22. package/dist/elements/FieldSelect/index.d.ts +1 -2
  23. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  24. package/dist/elements/FieldSelect/index.js.map +1 -1
  25. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  26. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  27. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  28. package/dist/elements/ListControls/index.d.ts +1 -2
  29. package/dist/elements/ListControls/index.d.ts.map +1 -1
  30. package/dist/elements/ListControls/index.js.map +1 -1
  31. package/dist/elements/SortColumn/index.d.ts +2 -2
  32. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  33. package/dist/elements/SortColumn/index.js.map +1 -1
  34. package/dist/elements/StepNav/types.d.ts +2 -2
  35. package/dist/elements/StepNav/types.d.ts.map +1 -1
  36. package/dist/elements/StepNav/types.js.map +1 -1
  37. package/dist/elements/Table/index.d.ts +1 -2
  38. package/dist/elements/Table/index.d.ts.map +1 -1
  39. package/dist/elements/Table/index.js.map +1 -1
  40. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  41. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  42. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  43. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  44. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  45. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  46. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  47. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  48. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  49. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  50. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +7 -1
  51. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  52. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
  53. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  54. package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
  55. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  56. package/dist/elements/WhereBuilder/types.d.ts +1 -2
  57. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  58. package/dist/elements/WhereBuilder/types.js.map +1 -1
  59. package/dist/exports/client/index.d.ts +5 -6
  60. package/dist/exports/client/index.d.ts.map +1 -1
  61. package/dist/exports/client/index.js +18 -18
  62. package/dist/exports/client/index.js.map +3 -3
  63. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  64. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  65. package/dist/fields/Array/ArrayRow.js.map +1 -1
  66. package/dist/fields/Array/index.d.ts +1 -14
  67. package/dist/fields/Array/index.d.ts.map +1 -1
  68. package/dist/fields/Array/index.js +3 -1
  69. package/dist/fields/Array/index.js.map +1 -1
  70. package/dist/fields/Blocks/BlockRow.d.ts +2 -3
  71. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  72. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  73. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  74. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  75. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  76. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  77. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  78. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  79. package/dist/fields/Blocks/RowActions.js +1 -1
  80. package/dist/fields/Blocks/RowActions.js.map +1 -1
  81. package/dist/fields/Blocks/index.d.ts +1 -14
  82. package/dist/fields/Blocks/index.d.ts.map +1 -1
  83. package/dist/fields/Blocks/index.js +2 -2
  84. package/dist/fields/Blocks/index.js.map +1 -1
  85. package/dist/fields/Checkbox/Input.d.ts +1 -1
  86. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  87. package/dist/fields/Checkbox/Input.js.map +1 -1
  88. package/dist/fields/Checkbox/index.d.ts +1 -1
  89. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  90. package/dist/fields/Checkbox/index.js +2 -2
  91. package/dist/fields/Checkbox/index.js.map +1 -1
  92. package/dist/fields/Code/index.d.ts +1 -9
  93. package/dist/fields/Code/index.d.ts.map +1 -1
  94. package/dist/fields/Code/index.js +2 -2
  95. package/dist/fields/Code/index.js.map +1 -1
  96. package/dist/fields/Collapsible/index.d.ts +1 -7
  97. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  98. package/dist/fields/Collapsible/index.js +2 -2
  99. package/dist/fields/Collapsible/index.js.map +1 -1
  100. package/dist/fields/DateTime/index.d.ts +1 -9
  101. package/dist/fields/DateTime/index.d.ts.map +1 -1
  102. package/dist/fields/DateTime/index.js +2 -2
  103. package/dist/fields/DateTime/index.js.map +1 -1
  104. package/dist/fields/Email/index.d.ts +1 -9
  105. package/dist/fields/Email/index.d.ts.map +1 -1
  106. package/dist/fields/Email/index.js +2 -2
  107. package/dist/fields/Email/index.js.map +1 -1
  108. package/dist/fields/FieldDescription/index.d.ts +2 -2
  109. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  110. package/dist/fields/FieldDescription/index.js.map +1 -1
  111. package/dist/fields/FieldError/index.d.ts +2 -2
  112. package/dist/fields/FieldError/index.d.ts.map +1 -1
  113. package/dist/fields/FieldError/index.js.map +1 -1
  114. package/dist/fields/FieldLabel/index.d.ts +2 -2
  115. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  116. package/dist/fields/FieldLabel/index.js.map +1 -1
  117. package/dist/fields/Group/index.d.ts +2 -10
  118. package/dist/fields/Group/index.d.ts.map +1 -1
  119. package/dist/fields/Group/index.js +2 -2
  120. package/dist/fields/Group/index.js.map +1 -1
  121. package/dist/fields/Hidden/index.d.ts +2 -9
  122. package/dist/fields/Hidden/index.d.ts.map +1 -1
  123. package/dist/fields/Hidden/index.js +2 -2
  124. package/dist/fields/Hidden/index.js.map +1 -1
  125. package/dist/fields/JSON/index.d.ts +1 -9
  126. package/dist/fields/JSON/index.d.ts.map +1 -1
  127. package/dist/fields/JSON/index.js +2 -2
  128. package/dist/fields/JSON/index.js.map +1 -1
  129. package/dist/fields/Number/index.d.ts +1 -14
  130. package/dist/fields/Number/index.d.ts.map +1 -1
  131. package/dist/fields/Number/index.js +2 -2
  132. package/dist/fields/Number/index.js.map +1 -1
  133. package/dist/fields/Password/index.d.ts +1 -2
  134. package/dist/fields/Password/index.d.ts.map +1 -1
  135. package/dist/fields/Password/index.js +2 -2
  136. package/dist/fields/Password/index.js.map +1 -1
  137. package/dist/fields/Point/index.d.ts +2 -9
  138. package/dist/fields/Point/index.d.ts.map +1 -1
  139. package/dist/fields/Point/index.js +2 -2
  140. package/dist/fields/Point/index.js.map +1 -1
  141. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  142. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  143. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  144. package/dist/fields/RadioGroup/index.d.ts +1 -12
  145. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  146. package/dist/fields/RadioGroup/index.js +2 -2
  147. package/dist/fields/RadioGroup/index.js.map +1 -1
  148. package/dist/fields/Relationship/index.d.ts +1 -2
  149. package/dist/fields/Relationship/index.d.ts.map +1 -1
  150. package/dist/fields/Relationship/index.js +2 -2
  151. package/dist/fields/Relationship/index.js.map +1 -1
  152. package/dist/fields/Relationship/types.d.ts +1 -11
  153. package/dist/fields/Relationship/types.d.ts.map +1 -1
  154. package/dist/fields/Relationship/types.js.map +1 -1
  155. package/dist/fields/RichText/index.d.ts +2 -8
  156. package/dist/fields/RichText/index.d.ts.map +1 -1
  157. package/dist/fields/RichText/index.js.map +1 -1
  158. package/dist/fields/Row/index.d.ts +1 -2
  159. package/dist/fields/Row/index.d.ts.map +1 -1
  160. package/dist/fields/Row/index.js +2 -2
  161. package/dist/fields/Row/index.js.map +1 -1
  162. package/dist/fields/Row/index.scss +1 -5
  163. package/dist/fields/Select/Input.d.ts +1 -2
  164. package/dist/fields/Select/Input.d.ts.map +1 -1
  165. package/dist/fields/Select/Input.js.map +1 -1
  166. package/dist/fields/Select/index.d.ts +1 -13
  167. package/dist/fields/Select/index.d.ts.map +1 -1
  168. package/dist/fields/Select/index.js +2 -2
  169. package/dist/fields/Select/index.js.map +1 -1
  170. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  171. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  172. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  173. package/dist/fields/Tabs/index.d.ts +1 -9
  174. package/dist/fields/Tabs/index.d.ts.map +1 -1
  175. package/dist/fields/Tabs/index.js +24 -24
  176. package/dist/fields/Tabs/index.js.map +1 -1
  177. package/dist/fields/Text/index.d.ts +3 -2
  178. package/dist/fields/Text/index.d.ts.map +1 -1
  179. package/dist/fields/Text/index.js +2 -2
  180. package/dist/fields/Text/index.js.map +1 -1
  181. package/dist/fields/Text/types.d.ts +1 -15
  182. package/dist/fields/Text/types.d.ts.map +1 -1
  183. package/dist/fields/Text/types.js.map +1 -1
  184. package/dist/fields/Textarea/index.d.ts +3 -2
  185. package/dist/fields/Textarea/index.d.ts.map +1 -1
  186. package/dist/fields/Textarea/index.js +2 -2
  187. package/dist/fields/Textarea/index.js.map +1 -1
  188. package/dist/fields/Textarea/types.d.ts +1 -11
  189. package/dist/fields/Textarea/types.d.ts.map +1 -1
  190. package/dist/fields/Textarea/types.js.map +1 -1
  191. package/dist/fields/Upload/Input.d.ts +1 -2
  192. package/dist/fields/Upload/Input.d.ts.map +1 -1
  193. package/dist/fields/Upload/Input.js.map +1 -1
  194. package/dist/fields/Upload/index.d.ts +1 -1
  195. package/dist/fields/Upload/index.d.ts.map +1 -1
  196. package/dist/fields/Upload/index.js +2 -2
  197. package/dist/fields/Upload/index.js.map +1 -1
  198. package/dist/fields/shared/index.d.ts +1 -25
  199. package/dist/fields/shared/index.d.ts.map +1 -1
  200. package/dist/fields/shared/index.js.map +1 -1
  201. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  202. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  203. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  204. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  205. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  206. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  207. package/dist/forms/RenderFields/types.d.ts +1 -2
  208. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  209. package/dist/forms/RenderFields/types.js.map +1 -1
  210. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  211. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  212. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  213. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  214. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  215. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  216. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  217. package/dist/hooks/usePayloadAPI.js +5 -1
  218. package/dist/hooks/usePayloadAPI.js.map +1 -1
  219. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  220. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  221. package/dist/hooks/useUseAsTitle.js.map +1 -1
  222. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -2
  223. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  224. package/dist/providers/ComponentMap/buildComponentMap/fields.js +126 -95
  225. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  226. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -56
  227. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  228. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  229. package/dist/providers/ComponentMap/index.d.ts +2 -1
  230. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  231. package/dist/providers/ComponentMap/index.js.map +1 -1
  232. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  233. package/dist/providers/DocumentInfo/index.js +5 -1
  234. package/dist/providers/DocumentInfo/index.js.map +1 -1
  235. package/dist/styles.css +1 -1
  236. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  237. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  238. package/dist/utilities/flattenFieldMap.js.map +1 -1
  239. package/package.json +4 -4
  240. package/dist/fields/Checkbox/types.d.ts +0 -12
  241. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  242. package/dist/fields/Checkbox/types.js +0 -3
  243. package/dist/fields/Checkbox/types.js.map +0 -1
  244. package/dist/fields/Row/types.d.ts +0 -12
  245. package/dist/fields/Row/types.d.ts.map +0 -1
  246. package/dist/fields/Row/types.js +0 -3
  247. package/dist/fields/Row/types.js.map +0 -1
  248. package/dist/fields/Upload/types.d.ts +0 -10
  249. package/dist/fields/Upload/types.d.ts.map +0 -1
  250. package/dist/fields/Upload/types.js +0 -3
  251. package/dist/fields/Upload/types.js.map +0 -1
@@ -17,7 +17,7 @@ import './index.scss';
17
17
  import { TabsProvider } from './provider.js';
18
18
  const baseClass = 'tabs-field';
19
19
  export { TabsProvider };
20
- const _TabsField = (props)=>{
20
+ const TabsFieldComponent = (props)=>{
21
21
  const { name, CustomDescription, className, descriptionProps, forceRender = false, path: pathFromProps, readOnly: readOnlyFromProps, tabs = [] } = props;
22
22
  const { indexPath, path: pathFromContext, readOnly: readOnlyFromContext, schemaPath, siblingPermissions } = useFieldProps();
23
23
  const readOnly = readOnlyFromProps || readOnlyFromContext;
@@ -102,7 +102,9 @@ const _TabsField = (props)=>{
102
102
  return /*#__PURE__*/ _jsx(TabComponent, {
103
103
  isActive: activeTabIndex === tabIndex,
104
104
  parentPath: path,
105
- setIsActive: ()=>handleTabChange(tabIndex),
105
+ setIsActive: ()=>{
106
+ void handleTabChange(tabIndex);
107
+ },
106
108
  tab: tab
107
109
  }, tabIndex);
108
110
  })
@@ -110,33 +112,31 @@ const _TabsField = (props)=>{
110
112
  }),
111
113
  /*#__PURE__*/ _jsx("div", {
112
114
  className: `${baseClass}__content-wrap`,
113
- children: activeTabConfig && /*#__PURE__*/ _jsx(React.Fragment, {
114
- children: /*#__PURE__*/ _jsxs("div", {
115
- className: [
116
- `${baseClass}__tab`,
117
- activeTabConfig.label && `${baseClass}__tabConfigLabel-${toKebabCase(getTranslation(activeTabConfig.label, i18n))}`
118
- ].filter(Boolean).join(' '),
119
- children: [
120
- CustomDescription ? CustomDescription : /*#__PURE__*/ _jsx(FieldDescription, {
121
- ...descriptionProps || {}
122
- }),
123
- /*#__PURE__*/ _jsx(RenderFields, {
124
- fieldMap: activeTabConfig.fieldMap,
125
- forceRender: forceRender,
126
- margins: "small",
127
- path: generateTabPath(),
128
- permissions: 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields ? siblingPermissions[activeTabConfig.name]?.fields : siblingPermissions,
129
- readOnly: readOnly,
130
- schemaPath: `${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`
131
- }, activeTabConfig.label ? getTranslation(activeTabConfig.label, i18n) : activeTabConfig['name'])
132
- ]
133
- })
115
+ children: activeTabConfig && /*#__PURE__*/ _jsxs("div", {
116
+ className: [
117
+ `${baseClass}__tab`,
118
+ activeTabConfig.label && `${baseClass}__tabConfigLabel-${toKebabCase(getTranslation(activeTabConfig.label, i18n))}`
119
+ ].filter(Boolean).join(' '),
120
+ children: [
121
+ CustomDescription ? CustomDescription : /*#__PURE__*/ _jsx(FieldDescription, {
122
+ ...descriptionProps || {}
123
+ }),
124
+ /*#__PURE__*/ _jsx(RenderFields, {
125
+ fieldMap: activeTabConfig.fieldMap,
126
+ forceRender: forceRender,
127
+ margins: "small",
128
+ path: generateTabPath(),
129
+ permissions: 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields ? siblingPermissions[activeTabConfig.name]?.fields : siblingPermissions,
130
+ readOnly: readOnly,
131
+ schemaPath: `${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`
132
+ }, activeTabConfig.label ? getTranslation(activeTabConfig.label, i18n) : activeTabConfig['name'])
133
+ ]
134
134
  })
135
135
  })
136
136
  ]
137
137
  })
138
138
  });
139
139
  };
140
- export const TabsField = withCondition(_TabsField);
140
+ export const TabsField = withCondition(TabsFieldComponent);
141
141
 
142
142
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toKebabCase } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { MappedTab } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nexport type TabsFieldProps = {\n forceRender?: boolean\n name?: string\n path?: string\n tabs?: MappedTab[]\n width?: string\n} & FormFieldBase\n\nconst _TabsField: React.FC<TabsFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n className,\n descriptionProps,\n forceRender = false,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n tabs = [],\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n const path = pathFromContext ?? pathFromProps ?? name\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n if (preferencesKey) {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number) => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n function generateTabPath() {\n let tabPath = path\n if (path && activeTabConfig.name) {\n tabPath = `${path}.${activeTabConfig.name}`\n } else if (!path && activeTabConfig.name) {\n tabPath = activeTabConfig.name\n }\n\n return tabPath\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => handleTabChange(tabIndex)}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <React.Fragment>\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {CustomDescription ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n <RenderFields\n fieldMap={activeTabConfig.fieldMap}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={generateTabPath()}\n permissions={\n 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields\n ? siblingPermissions[activeTabConfig.name]?.fields\n : siblingPermissions\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n </React.Fragment>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const TabsField = withCondition(_TabsField)\n"],"names":["getTranslation","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","FieldDescription","fieldBaseClass","TabComponent","TabsProvider","baseClass","_TabsField","props","name","CustomDescription","className","descriptionProps","forceRender","path","pathFromProps","readOnly","readOnlyFromProps","tabs","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","generateTabPath","tabPath","div","filter","Boolean","join","map","tab","isActive","parentPath","setIsActive","Fragment","label","fieldMap","margins","permissions","TabsField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Tabs/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentPreferences, TabsFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toKebabCase } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useCollapsible } from '../../elements/Collapsible/provider.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { TabComponent } from './Tab/index.js'\nimport './index.scss'\nimport { TabsProvider } from './provider.js'\n\nconst baseClass = 'tabs-field'\n\nexport { TabsProvider }\n\nconst TabsFieldComponent: React.FC<TabsFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n className,\n descriptionProps,\n forceRender = false,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n tabs = [],\n } = props\n\n const {\n indexPath,\n path: pathFromContext,\n readOnly: readOnlyFromContext,\n schemaPath,\n siblingPermissions,\n } = useFieldProps()\n\n const readOnly = readOnlyFromProps || readOnlyFromContext\n const path = pathFromContext ?? pathFromProps ?? name\n const { getPreference, setPreference } = usePreferences()\n const { preferencesKey } = useDocumentInfo()\n const { i18n } = useTranslation()\n const { isWithinCollapsible } = useCollapsible()\n const [activeTabIndex, setActiveTabIndex] = useState<number>(0)\n const tabsPrefKey = `tabs-${indexPath}`\n\n useEffect(() => {\n if (preferencesKey) {\n const getInitialPref = async () => {\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n const initialIndex = path\n ? existingPreferences?.fields?.[path]?.tabIndex\n : existingPreferences?.fields?.[tabsPrefKey]?.tabIndex\n setActiveTabIndex(initialIndex || 0)\n }\n void getInitialPref()\n }\n }, [path, getPreference, preferencesKey, tabsPrefKey])\n\n const handleTabChange = useCallback(\n async (incomingTabIndex: number): Promise<void> => {\n setActiveTabIndex(incomingTabIndex)\n\n const existingPreferences: DocumentPreferences = await getPreference(preferencesKey)\n\n if (preferencesKey) {\n void setPreference(preferencesKey, {\n ...existingPreferences,\n ...(path\n ? {\n fields: {\n ...(existingPreferences?.fields || {}),\n [path]: {\n ...existingPreferences?.fields?.[path],\n tabIndex: incomingTabIndex,\n },\n },\n }\n : {\n fields: {\n ...existingPreferences?.fields,\n [tabsPrefKey]: {\n ...existingPreferences?.fields?.[tabsPrefKey],\n tabIndex: incomingTabIndex,\n },\n },\n }),\n })\n }\n },\n [preferencesKey, getPreference, setPreference, path, tabsPrefKey],\n )\n\n const activeTabConfig = tabs[activeTabIndex]\n\n function generateTabPath() {\n let tabPath = path\n if (path && activeTabConfig.name) {\n tabPath = `${path}.${activeTabConfig.name}`\n } else if (!path && activeTabConfig.name) {\n tabPath = activeTabConfig.name\n }\n\n return tabPath\n }\n\n return (\n <div\n className={[\n fieldBaseClass,\n className,\n baseClass,\n isWithinCollapsible && `${baseClass}--within-collapsible`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <TabsProvider>\n <div className={`${baseClass}__tabs-wrap`}>\n <div className={`${baseClass}__tabs`}>\n {tabs.map((tab, tabIndex) => {\n return (\n <TabComponent\n isActive={activeTabIndex === tabIndex}\n key={tabIndex}\n parentPath={path}\n setIsActive={() => {\n void handleTabChange(tabIndex)\n }}\n tab={tab}\n />\n )\n })}\n </div>\n </div>\n <div className={`${baseClass}__content-wrap`}>\n {activeTabConfig && (\n <div\n className={[\n `${baseClass}__tab`,\n activeTabConfig.label &&\n `${baseClass}__tabConfigLabel-${toKebabCase(\n getTranslation(activeTabConfig.label, i18n),\n )}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {CustomDescription ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n <RenderFields\n fieldMap={activeTabConfig.fieldMap}\n forceRender={forceRender}\n key={\n activeTabConfig.label\n ? getTranslation(activeTabConfig.label, i18n)\n : activeTabConfig['name']\n }\n margins=\"small\"\n path={generateTabPath()}\n permissions={\n 'name' in activeTabConfig && siblingPermissions?.[activeTabConfig.name]?.fields\n ? siblingPermissions[activeTabConfig.name]?.fields\n : siblingPermissions\n }\n readOnly={readOnly}\n schemaPath={`${schemaPath ? `${schemaPath}` : ''}${activeTabConfig.name ? `.${activeTabConfig.name}` : ''}`}\n />\n </div>\n )}\n </div>\n </TabsProvider>\n </div>\n )\n}\n\nexport const TabsField = withCondition(TabsFieldComponent)\n"],"names":["getTranslation","toKebabCase","React","useCallback","useEffect","useState","useCollapsible","useFieldProps","RenderFields","withCondition","useDocumentInfo","usePreferences","useTranslation","FieldDescription","fieldBaseClass","TabComponent","TabsProvider","baseClass","TabsFieldComponent","props","name","CustomDescription","className","descriptionProps","forceRender","path","pathFromProps","readOnly","readOnlyFromProps","tabs","indexPath","pathFromContext","readOnlyFromContext","schemaPath","siblingPermissions","getPreference","setPreference","preferencesKey","i18n","isWithinCollapsible","activeTabIndex","setActiveTabIndex","tabsPrefKey","getInitialPref","existingPreferences","initialIndex","fields","tabIndex","handleTabChange","incomingTabIndex","activeTabConfig","generateTabPath","tabPath","div","filter","Boolean","join","map","tab","isActive","parentPath","setIsActive","label","fieldMap","margins","permissions","TabsField"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import type { TextFieldProps } from 'payload';
1
2
  import React from 'react';
2
- import type { TextFieldProps, TextInputProps } from './types.js';
3
+ import type { TextInputProps } from './types.js';
3
4
  import { TextInput } from './Input.js';
4
5
  import './index.scss';
5
- export { TextFieldProps, TextInput, TextInputProps };
6
+ export { TextInput, TextInputProps };
6
7
  export declare const TextField: React.FC<TextFieldProps>;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAQhE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AA0IpD,eAAO,MAAM,SAAS,0BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7D,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAQhD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AA0IpC,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -10,7 +10,7 @@ import { isFieldRTL } from '../shared/index.js';
10
10
  import { TextInput } from './Input.js';
11
11
  import './index.scss';
12
12
  export { TextInput };
13
- const _TextField = (props)=>{
13
+ const TextFieldComponent = (props)=>{
14
14
  const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, hasMany, inputRef, label, labelProps, localized, maxLength, maxRows, minLength, minRows, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, rtl, style, validate, width } = props;
15
15
  const locale = useLocale();
16
16
  const { localization: localizationConfig } = useConfig();
@@ -108,6 +108,6 @@ const _TextField = (props)=>{
108
108
  width: width
109
109
  });
110
110
  };
111
- export const TextField = withCondition(_TextField);
111
+ export const TextField = withCondition(TextFieldComponent);
112
112
 
113
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextFieldProps, TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextFieldProps, TextInput, TextInputProps }\n\nconst _TextField: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n label,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n label={label}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(_TextField)\n"],"names":["React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","_TextField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","label","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","toString","onChange","e","target","TextField"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Text/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, TextFieldProps } from 'payload'\n\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\nimport type { TextInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextInput } from './Input.js'\nimport './index.scss'\n\nexport { TextInput, TextInputProps }\n\nconst TextFieldComponent: React.FC<TextFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n inputRef,\n label,\n labelProps,\n localized,\n maxLength,\n maxRows,\n minLength,\n minRows,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const locale = useLocale()\n\n const { localization: localizationConfig } = useConfig()\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, minLength, maxLength, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const renderRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localizationConfig || undefined,\n })\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!disabled) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value?.value || option.value)\n } else {\n newValue = [selectedOption.value?.value || selectedOption.value]\n }\n\n setValue(newValue)\n }\n },\n [disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n // React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n toString: () => `${val}${index}`,\n value: val?.value || val,\n },\n }\n }),\n )\n }\n }, [value, hasMany])\n\n return (\n <TextInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n hasMany={hasMany}\n inputRef={inputRef}\n label={label}\n labelProps={labelProps}\n maxRows={maxRows}\n minRows={minRows}\n onChange={\n hasMany\n ? handleHasManyChange\n : (e) => {\n setValue(e.target.value)\n }\n }\n path={path}\n placeholder={placeholder}\n readOnly={disabled}\n required={required}\n rtl={renderRTL}\n showError={showError}\n style={style}\n value={(value as string) || ''}\n valueToRender={valueToRender as Option[]}\n width={width}\n />\n )\n}\n\nexport const TextField = withCondition(TextFieldComponent)\n"],"names":["React","useCallback","useEffect","useState","useFieldProps","useField","withCondition","useConfig","useLocale","isFieldRTL","TextInput","TextFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","hasMany","inputRef","label","labelProps","localized","maxLength","maxRows","minLength","minRows","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rtl","style","validate","width","locale","localization","localizationConfig","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","renderRTL","fieldLocalized","fieldRTL","undefined","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","val","index","id","toString","onChange","e","target","TextField"],"mappings":"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"}
@@ -1,20 +1,6 @@
1
- import type { TextField } from 'payload';
1
+ import type { TextFieldProps } from 'payload';
2
2
  import type { ChangeEvent } from 'react';
3
3
  import type { Option, ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js';
4
- import type { FormFieldBase } from '../shared/index.js';
5
- export type TextFieldProps = {
6
- hasMany?: boolean;
7
- inputRef?: React.MutableRefObject<HTMLInputElement>;
8
- maxLength?: number;
9
- maxRows?: number;
10
- minLength?: number;
11
- minRows?: number;
12
- name?: string;
13
- onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
14
- path?: string;
15
- placeholder?: TextField['admin']['placeholder'];
16
- width?: string;
17
- } & FormFieldBase;
18
4
  export type SharedTextFieldProps = {
19
5
  hasMany?: false;
20
6
  onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,aAAa,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAC5B;IACE,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;CACtD,GACD;IACE,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;CAC/C,CAAA;AAEL,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAC9B,oBAAoB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Text/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAE1F,MAAM,MAAM,oBAAoB,GAC5B;IACE,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;CACtD,GACD;IACE,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,CAAA;CAC/C,CAAA;AAEL,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACnD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAC9B,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Text/types.ts"],"sourcesContent":["import type { TextField } from 'payload'\nimport type { ChangeEvent } from 'react'\n\nimport type { Option, ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type TextFieldProps = {\n hasMany?: boolean\n inputRef?: React.MutableRefObject<HTMLInputElement>\n maxLength?: number\n maxRows?: number\n minLength?: number\n minRows?: number\n name?: string\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n path?: string\n placeholder?: TextField['admin']['placeholder']\n width?: string\n} & FormFieldBase\n\nexport type SharedTextFieldProps =\n | {\n hasMany?: false\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void\n }\n | {\n hasMany?: true\n onChange?: ReactSelectAdapterProps['onChange']\n }\n\nexport type TextInputProps = {\n inputRef?: React.MutableRefObject<HTMLInputElement>\n maxRows?: number\n minRows?: number\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n showError?: boolean\n value?: string\n valueToRender?: Option[]\n} & Omit<TextFieldProps, 'type'> &\n SharedTextFieldProps\n"],"names":[],"mappings":"AA8BA,WASsB"}
1
+ {"version":3,"sources":["../../../src/fields/Text/types.ts"],"sourcesContent":["import type { TextFieldProps } from 'payload'\nimport type { ChangeEvent } from 'react'\n\nimport type { Option, ReactSelectAdapterProps } from '../../elements/ReactSelect/types.js'\n\nexport type SharedTextFieldProps =\n | {\n hasMany?: false\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void\n }\n | {\n hasMany?: true\n onChange?: ReactSelectAdapterProps['onChange']\n }\n\nexport type TextInputProps = {\n inputRef?: React.MutableRefObject<HTMLInputElement>\n maxRows?: number\n minRows?: number\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n showError?: boolean\n value?: string\n valueToRender?: Option[]\n} & Omit<TextFieldProps, 'type'> &\n SharedTextFieldProps\n"],"names":[],"mappings":"AAeA,WASsB"}
@@ -1,7 +1,8 @@
1
+ import type { TextareaFieldProps } from 'payload';
1
2
  import React from 'react';
2
- import type { TextAreaInputProps, TextareaFieldProps } from './types.js';
3
+ import type { TextAreaInputProps } from './types.js';
3
4
  import { TextareaInput } from './Input.js';
4
5
  import './index.scss';
5
- export { TextAreaInputProps, TextareaFieldProps, TextareaInput };
6
+ export { TextAreaInputProps, TextareaInput };
6
7
  export declare const TextareaField: React.FC<TextareaFieldProps>;
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQxE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA;AAuFhE,eAAO,MAAM,aAAa,8BAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjE,OAAO,KAAsB,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAQpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAA;AAuF5C,eAAO,MAAM,aAAa,8BAAwC,CAAA"}
@@ -11,7 +11,7 @@ import { isFieldRTL } from '../shared/index.js';
11
11
  import { TextareaInput } from './Input.js';
12
12
  import './index.scss';
13
13
  export { TextareaInput };
14
- const _TextareaField = (props)=>{
14
+ const TextareaFieldComponent = (props)=>{
15
15
  const { name, AfterInput, BeforeInput, CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, locale, localized, maxLength, minLength, path: pathFromProps, placeholder, readOnly: readOnlyFromProps, required, rows, rtl, style, validate, width } = props;
16
16
  const { i18n } = useTranslation();
17
17
  const { localization } = useConfig();
@@ -66,6 +66,6 @@ const _TextareaField = (props)=>{
66
66
  width: width
67
67
  });
68
68
  };
69
- export const TextareaField = withCondition(_TextareaField);
69
+ export const TextareaField = withCondition(TextareaFieldComponent);
70
70
 
71
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps, TextareaFieldProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaFieldProps, TextareaInput }\n\nconst _TextareaField: React.FC<TextareaFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n locale,\n localized,\n maxLength,\n minLength,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rows,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const { localization } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <TextareaInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n label={label}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const TextareaField = withCondition(_TextareaField)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","_TextareaField","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","locale","localized","maxLength","minLength","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rows","rtl","style","validate","width","i18n","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","onChange","e","target","TextareaField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAC1C,OAAO,eAAc;AAErB,SAAiDA,aAAa,GAAE;AAEhE,MAAMC,iBAA+C,CAACC;IACpD,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG1B;IAEJ,MAAM,EAAE2B,IAAI,EAAE,GAAG/B;IAEjB,MAAM,EAAEgC,YAAY,EAAE,GAAGjC;IAEzB,MAAMkC,QAAQhC,WAAW;QACvBiC,gBAAgBjB;QAChBkB,UAAUR;QACVX;QACAoB,oBAAoBJ,gBAAgBK;IACtC;IAEA,MAAMC,mBAAmC3C,YACvC,CAAC4C,OAAOC;QACN,IAAI,OAAOX,aAAa,YACtB,OAAOA,SAASU,OAAO;YAAE,GAAGC,OAAO;YAAEtB;YAAWC;YAAWM;QAAS;IACxE,GACA;QAACI;QAAUJ;QAAUP;QAAWC;KAAU;IAG5C,MAAM,EAAEC,MAAMqB,eAAe,EAAElB,UAAUmB,mBAAmB,EAAE,GAAG9C;IAEjE,MAAM,EAAE+C,gBAAgB,EAAEC,cAAc,EAAExB,IAAI,EAAEyB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAG1C,SAAiB;QAC9FuB,MAAMqB,mBAAmBpB,iBAAiBhB;QAC1CwB,UAAUS;IACZ;IAEA,MAAMS,WAAWvB,qBAAqBkB,uBAAuBE,kBAAkBD;IAE/E,qBACE,KAACzC;QACCI,YAAYA;QACZC,aAAaA;QACbC,mBAAmBA;QACnBC,aAAaA;QACbC,aAAaA;QACbC,WAAWA;QACXC,kBAAkBA;QAClBC,YAAYA;QACZC,OAAOA;QACPC,YAAYA;QACZiC,UAAU,CAACC;YACTJ,SAASI,EAAEC,MAAM,CAACX,KAAK;QACzB;QACAnB,MAAMA;QACNE,aAAa7B,eAAe6B,aAAaS;QACzCR,UAAUwB;QACVtB,UAAUA;QACVC,MAAMA;QACNC,KAAKM;QACLa,WAAWA;QACXlB,OAAOA;QACPW,OAAOA;QACPT,OAAOA;;AAGb;AAEA,OAAO,MAAMqB,gBAAgBrD,cAAcK,gBAAe"}
1
+ {"version":3,"sources":["../../../src/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientValidate, TextareaFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback } from 'react'\n\nimport type { TextAreaInputProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isFieldRTL } from '../shared/index.js'\nimport { TextareaInput } from './Input.js'\nimport './index.scss'\n\nexport { TextAreaInputProps, TextareaInput }\n\nconst TextareaFieldComponent: React.FC<TextareaFieldProps> = (props) => {\n const {\n name,\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n locale,\n localized,\n maxLength,\n minLength,\n path: pathFromProps,\n placeholder,\n readOnly: readOnlyFromProps,\n required,\n rows,\n rtl,\n style,\n validate,\n width,\n } = props\n\n const { i18n } = useTranslation()\n\n const { localization } = useConfig()\n\n const isRTL = isFieldRTL({\n fieldLocalized: localized,\n fieldRTL: rtl,\n locale,\n localizationConfig: localization || undefined,\n })\n\n const memoizedValidate: ClientValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function')\n return validate(value, { ...options, maxLength, minLength, required })\n },\n [validate, required, maxLength, minLength],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const { formInitializing, formProcessing, path, setValue, showError, value } = useField<string>({\n path: pathFromContext ?? pathFromProps ?? name,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n return (\n <TextareaInput\n AfterInput={AfterInput}\n BeforeInput={BeforeInput}\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n className={className}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n label={label}\n labelProps={labelProps}\n onChange={(e) => {\n setValue(e.target.value)\n }}\n path={path}\n placeholder={getTranslation(placeholder, i18n)}\n readOnly={disabled}\n required={required}\n rows={rows}\n rtl={isRTL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n}\n\nexport const TextareaField = withCondition(TextareaFieldComponent)\n"],"names":["getTranslation","React","useCallback","useFieldProps","useField","withCondition","useConfig","useTranslation","isFieldRTL","TextareaInput","TextareaFieldComponent","props","name","AfterInput","BeforeInput","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","locale","localized","maxLength","minLength","path","pathFromProps","placeholder","readOnly","readOnlyFromProps","required","rows","rtl","style","validate","width","i18n","localization","isRTL","fieldLocalized","fieldRTL","localizationConfig","undefined","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","formInitializing","formProcessing","setValue","showError","disabled","onChange","e","target","TextareaField"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAI1C,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,UAAU,QAAQ,qBAAoB;AAC/C,SAASC,aAAa,QAAQ,aAAY;AAC1C,OAAO,eAAc;AAErB,SAA6BA,aAAa,GAAE;AAE5C,MAAMC,yBAAuD,CAACC;IAC5D,MAAM,EACJC,IAAI,EACJC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,MAAMC,aAAa,EACnBC,WAAW,EACXC,UAAUC,iBAAiB,EAC3BC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAG1B;IAEJ,MAAM,EAAE2B,IAAI,EAAE,GAAG/B;IAEjB,MAAM,EAAEgC,YAAY,EAAE,GAAGjC;IAEzB,MAAMkC,QAAQhC,WAAW;QACvBiC,gBAAgBjB;QAChBkB,UAAUR;QACVX;QACAoB,oBAAoBJ,gBAAgBK;IACtC;IAEA,MAAMC,mBAAmC3C,YACvC,CAAC4C,OAAOC;QACN,IAAI,OAAOX,aAAa,YACtB,OAAOA,SAASU,OAAO;YAAE,GAAGC,OAAO;YAAEtB;YAAWC;YAAWM;QAAS;IACxE,GACA;QAACI;QAAUJ;QAAUP;QAAWC;KAAU;IAG5C,MAAM,EAAEC,MAAMqB,eAAe,EAAElB,UAAUmB,mBAAmB,EAAE,GAAG9C;IAEjE,MAAM,EAAE+C,gBAAgB,EAAEC,cAAc,EAAExB,IAAI,EAAEyB,QAAQ,EAAEC,SAAS,EAAEP,KAAK,EAAE,GAAG1C,SAAiB;QAC9FuB,MAAMqB,mBAAmBpB,iBAAiBhB;QAC1CwB,UAAUS;IACZ;IAEA,MAAMS,WAAWvB,qBAAqBkB,uBAAuBE,kBAAkBD;IAE/E,qBACE,KAACzC;QACCI,YAAYA;QACZC,aAAaA;QACbC,mBAAmBA;QACnBC,aAAaA;QACbC,aAAaA;QACbC,WAAWA;QACXC,kBAAkBA;QAClBC,YAAYA;QACZC,OAAOA;QACPC,YAAYA;QACZiC,UAAU,CAACC;YACTJ,SAASI,EAAEC,MAAM,CAACX,KAAK;QACzB;QACAnB,MAAMA;QACNE,aAAa7B,eAAe6B,aAAaS;QACzCR,UAAUwB;QACVtB,UAAUA;QACVC,MAAMA;QACNC,KAAKM;QACLa,WAAWA;QACXlB,OAAOA;QACPW,OAAOA;QACPT,OAAOA;;AAGb;AAEA,OAAO,MAAMqB,gBAAgBrD,cAAcK,wBAAuB"}
@@ -1,15 +1,5 @@
1
- import type { TextareaField as TextareaFieldType } from 'payload';
1
+ import type { TextareaFieldProps } from 'payload';
2
2
  import { type ChangeEvent } from 'react';
3
- import type { FormFieldBase } from '../shared/index.js';
4
- export type TextareaFieldProps = {
5
- maxLength?: number;
6
- minLength?: number;
7
- name?: string;
8
- path?: string;
9
- placeholder?: TextareaFieldType['admin']['placeholder'];
10
- rows?: number;
11
- width?: string;
12
- } & FormFieldBase;
13
3
  export type TextAreaInputProps = {
14
4
  onChange?: (e: ChangeEvent<HTMLTextAreaElement>) => void;
15
5
  rows?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAA;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,aAAa,CAAA;AAEjB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fields/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Textarea/types.ts"],"sourcesContent":["import type { TextareaField as TextareaFieldType } from 'payload'\n\nimport { type ChangeEvent } from 'react'\n\nimport type { FormFieldBase } from '../shared/index.js'\n\nexport type TextareaFieldProps = {\n maxLength?: number\n minLength?: number\n name?: string\n path?: string\n placeholder?: TextareaFieldType['admin']['placeholder']\n rows?: number\n width?: string\n} & FormFieldBase\n\nexport type TextAreaInputProps = {\n onChange?: (e: ChangeEvent<HTMLTextAreaElement>) => void\n rows?: number\n showError?: boolean\n value?: string\n} & TextareaFieldProps\n"],"names":[],"mappings":"AAgBA,WAKsB"}
1
+ {"version":3,"sources":["../../../src/fields/Textarea/types.ts"],"sourcesContent":["import type { TextareaFieldProps } from 'payload'\n\nimport { type ChangeEvent } from 'react'\n\nexport type TextAreaInputProps = {\n onChange?: (e: ChangeEvent<HTMLTextAreaElement>) => void\n rows?: number\n showError?: boolean\n value?: string\n} & TextareaFieldProps\n"],"names":[],"mappings":"AAIA,WAKsB"}
@@ -1,6 +1,5 @@
1
- import type { ClientCollectionConfig, FilterOptionsResult, UploadField } from 'payload';
1
+ import type { ClientCollectionConfig, FilterOptionsResult, UploadField, UploadFieldProps } from 'payload';
2
2
  import React from 'react';
3
- import type { UploadFieldProps } from './types.js';
4
3
  import './index.scss';
5
4
  export type UploadInputProps = {
6
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGvF,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAWlD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;AAE3C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsKlD,CAAA"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA2C,MAAM,OAAO,CAAA;AAc/D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;AAE3C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsKlD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, FilterOptionsResult, UploadField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { FileDetails } from '../../elements/FileDetails/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload'\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n allowNewUpload?: boolean\n api?: string\n collection?: ClientCollectionConfig\n customUploadActions?: React.ReactNode[]\n filterOptions?: FilterOptionsResult\n onChange?: (e) => void\n relationTo?: UploadField['relationTo']\n serverURL?: string\n showError?: boolean\n value?: string\n} & Omit<UploadFieldProps, 'filterOptions'>\n\nexport const UploadInput: React.FC<UploadInputProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n allowNewUpload,\n api = '/api',\n className,\n collection,\n customUploadActions,\n descriptionProps,\n errorProps,\n filterOptions,\n label,\n labelProps,\n onChange,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const [fileDoc, setFileDoc] = useState(undefined)\n const [missingFile, setMissingFile] = useState(false)\n const [collectionSlugs] = useState([collection?.slug])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n collectionSlug: collectionSlugs[0],\n })\n\n const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({\n collectionSlugs,\n filterOptions,\n })\n\n useEffect(() => {\n if (value !== null && typeof value !== 'undefined' && value !== '') {\n const fetchFile = async () => {\n const response = await fetch(`${serverURL}${api}/${relationTo}/${value}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n if (response.ok) {\n const json = await response.json()\n setFileDoc(json)\n } else {\n setMissingFile(true)\n setFileDoc(undefined)\n }\n }\n\n void fetchFile()\n } else {\n setFileDoc(undefined)\n }\n }, [value, relationTo, api, serverURL, i18n])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setMissingFile(false)\n onChange(args.doc)\n closeDrawer()\n },\n [onChange, closeDrawer],\n )\n\n const onSelect = useCallback<ListDrawerProps['onSelect']>(\n (args) => {\n setMissingFile(false)\n onChange({\n id: args.docID,\n })\n closeListDrawer()\n },\n [onChange, closeListDrawer],\n )\n\n if (collection.upload) {\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n\n {collection?.upload && (\n <React.Fragment>\n {fileDoc && !missingFile && (\n <FileDetails\n collectionSlug={relationTo}\n customUploadActions={customUploadActions}\n doc={fileDoc}\n handleRemove={\n readOnly\n ? undefined\n : () => {\n onChange(null)\n }\n }\n uploadConfig={collection.upload}\n />\n )}\n {(!fileDoc || missingFile) && (\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__buttons`}>\n {allowNewUpload && (\n <DocumentDrawerToggler\n className={`${baseClass}__toggler`}\n disabled={readOnly}\n >\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:uploadNewLabel', {\n label: getTranslation(collection.labels.singular, i18n),\n })}\n </Button>\n </DocumentDrawerToggler>\n )}\n <ListDrawerToggler className={`${baseClass}__toggler`} disabled={readOnly}>\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:chooseFromExisting')}\n </Button>\n </ListDrawerToggler>\n </div>\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </React.Fragment>\n )}\n {!readOnly && <DocumentDrawer onSave={onSave} />}\n {!readOnly && <ListDrawer onSelect={onSelect} />}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useCallback","useEffect","useState","Button","useDocumentDrawer","FileDetails","useListDrawer","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","baseClass","UploadInput","props","CustomDescription","CustomError","CustomLabel","allowNewUpload","api","className","collection","customUploadActions","descriptionProps","errorProps","filterOptions","label","labelProps","onChange","readOnly","relationTo","required","serverURL","showError","style","value","width","i18n","t","fileDoc","setFileDoc","undefined","missingFile","setMissingFile","collectionSlugs","slug","DocumentDrawer","DocumentDrawerToggler","closeDrawer","collectionSlug","ListDrawer","ListDrawerToggler","closeListDrawer","fetchFile","response","fetch","credentials","headers","language","ok","json","onSave","args","doc","onSelect","id","docID","upload","div","filter","Boolean","join","Fragment","handleRemove","uploadConfig","disabled","buttonStyle","el","labels","singular"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FilterOptionsResult,\n UploadField,\n UploadFieldProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { FileDetails } from '../../elements/FileDetails/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'upload'\n\nexport type UploadInputProps = {\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n allowNewUpload?: boolean\n api?: string\n collection?: ClientCollectionConfig\n customUploadActions?: React.ReactNode[]\n filterOptions?: FilterOptionsResult\n onChange?: (e) => void\n relationTo?: UploadField['relationTo']\n serverURL?: string\n showError?: boolean\n value?: string\n} & Omit<UploadFieldProps, 'filterOptions'>\n\nexport const UploadInput: React.FC<UploadInputProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n allowNewUpload,\n api = '/api',\n className,\n collection,\n customUploadActions,\n descriptionProps,\n errorProps,\n filterOptions,\n label,\n labelProps,\n onChange,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const [fileDoc, setFileDoc] = useState(undefined)\n const [missingFile, setMissingFile] = useState(false)\n const [collectionSlugs] = useState([collection?.slug])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n collectionSlug: collectionSlugs[0],\n })\n\n const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({\n collectionSlugs,\n filterOptions,\n })\n\n useEffect(() => {\n if (value !== null && typeof value !== 'undefined' && value !== '') {\n const fetchFile = async () => {\n const response = await fetch(`${serverURL}${api}/${relationTo}/${value}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n if (response.ok) {\n const json = await response.json()\n setFileDoc(json)\n } else {\n setMissingFile(true)\n setFileDoc(undefined)\n }\n }\n\n void fetchFile()\n } else {\n setFileDoc(undefined)\n }\n }, [value, relationTo, api, serverURL, i18n])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n setMissingFile(false)\n onChange(args.doc)\n closeDrawer()\n },\n [onChange, closeDrawer],\n )\n\n const onSelect = useCallback<ListDrawerProps['onSelect']>(\n (args) => {\n setMissingFile(false)\n onChange({\n id: args.docID,\n })\n closeListDrawer()\n },\n [onChange, closeListDrawer],\n )\n\n if (collection.upload) {\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} {...(errorProps || {})} />\n\n {collection?.upload && (\n <React.Fragment>\n {fileDoc && !missingFile && (\n <FileDetails\n collectionSlug={relationTo}\n customUploadActions={customUploadActions}\n doc={fileDoc}\n handleRemove={\n readOnly\n ? undefined\n : () => {\n onChange(null)\n }\n }\n uploadConfig={collection.upload}\n />\n )}\n {(!fileDoc || missingFile) && (\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__buttons`}>\n {allowNewUpload && (\n <DocumentDrawerToggler\n className={`${baseClass}__toggler`}\n disabled={readOnly}\n >\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:uploadNewLabel', {\n label: getTranslation(collection.labels.singular, i18n),\n })}\n </Button>\n </DocumentDrawerToggler>\n )}\n <ListDrawerToggler className={`${baseClass}__toggler`} disabled={readOnly}>\n <Button buttonStyle=\"secondary\" disabled={readOnly} el=\"div\">\n {t('fields:chooseFromExisting')}\n </Button>\n </ListDrawerToggler>\n </div>\n </div>\n )}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </React.Fragment>\n )}\n {!readOnly && <DocumentDrawer onSave={onSave} />}\n {!readOnly && <ListDrawer onSelect={onSelect} />}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useCallback","useEffect","useState","Button","useDocumentDrawer","FileDetails","useListDrawer","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","baseClass","UploadInput","props","CustomDescription","CustomError","CustomLabel","allowNewUpload","api","className","collection","customUploadActions","descriptionProps","errorProps","filterOptions","label","labelProps","onChange","readOnly","relationTo","required","serverURL","showError","style","value","width","i18n","t","fileDoc","setFileDoc","undefined","missingFile","setMissingFile","collectionSlugs","slug","DocumentDrawer","DocumentDrawerToggler","closeDrawer","collectionSlug","ListDrawer","ListDrawerToggler","closeListDrawer","fetchFile","response","fetch","credentials","headers","language","ok","json","onSave","args","doc","onSelect","id","docID","upload","div","filter","Boolean","join","Fragment","handleRemove","uploadConfig","disabled","buttonStyle","el","labels","singular"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import type { UploadFieldProps } from 'payload';
1
2
  import React from 'react';
2
3
  import type { UploadInputProps } from './Input.js';
3
- import type { UploadFieldProps } from './types.js';
4
4
  import { UploadInput } from './Input.js';
5
5
  import './index.scss';
6
6
  export { UploadFieldProps, UploadInput };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOlD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAqGhC,eAAO,MAAM,WAAW,4BAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOlD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAqGhC,eAAO,MAAM,WAAW,4BAAiC,CAAA"}
@@ -9,7 +9,7 @@ import { useConfig } from '../../providers/Config/index.js';
9
9
  import { UploadInput } from './Input.js';
10
10
  import './index.scss';
11
11
  export { UploadInput };
12
- const _Upload = (props)=>{
12
+ const UploadComponent = (props)=>{
13
13
  const { CustomDescription, CustomError, CustomLabel, className, descriptionProps, errorProps, label, labelProps, path: pathFromProps, readOnly: readOnlyFromProps, relationTo, required, style, validate, width } = props;
14
14
  const { collections, routes: { api: apiRoute }, serverURL } = useConfig();
15
15
  const { permissions } = useAuth();
@@ -77,6 +77,6 @@ const _Upload = (props)=>{
77
77
  }
78
78
  return null;
79
79
  };
80
- export const UploadField = withCondition(_Upload);
80
+ export const UploadField = withCondition(UploadComponent);
81
81
 
82
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\nimport type { UploadFieldProps } from './types.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\nconst _Upload: React.FC<UploadFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n relationTo,\n required,\n style,\n validate,\n width,\n } = props\n\n const {\n collections,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const { permissions } = useAuth()\n\n const collection = collections.find((coll) => coll.slug === relationTo)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n // Checks if the user has permissions to create a new document in the related collection\n const canCreate = useMemo(() => {\n if (permissions?.collections && permissions.collections?.[relationTo]?.create) {\n if (permissions.collections[relationTo].create?.permission === true) {\n return true\n }\n }\n\n return false\n }, [relationTo, permissions])\n\n const { filterOptions, formInitializing, formProcessing, path, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onChange = useCallback(\n (incomingValue) => {\n const incomingID = incomingValue?.id || incomingValue\n setValue(incomingID)\n },\n [setValue],\n )\n\n if (collection.upload) {\n return (\n <UploadInput\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n allowNewUpload={canCreate}\n api={apiRoute}\n className={className}\n collection={collection}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n filterOptions={filterOptions}\n label={label}\n labelProps={labelProps}\n onChange={onChange}\n path={path}\n readOnly={disabled}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n }\n\n return null\n}\n\nexport const UploadField = withCondition(_Upload)\n"],"names":["React","useCallback","useMemo","useFieldProps","useField","withCondition","useAuth","useConfig","UploadInput","_Upload","props","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","relationTo","required","style","validate","width","collections","routes","api","apiRoute","serverURL","permissions","collection","find","coll","slug","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","canCreate","create","permission","filterOptions","formInitializing","formProcessing","setValue","showError","disabled","onChange","incomingValue","incomingID","id","upload","allowNewUpload","UploadField"],"mappings":"AAAA;;AAEA,OAAOA,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAO;AAKnD,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,WAAW,QAAQ,aAAY;AACxC,OAAO,eAAc;AAErB,SAA2BA,WAAW,GAAE;AAGxC,MAAMC,UAAsC,CAACC;IAC3C,MAAM,EACJC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGjB;IAEJ,MAAM,EACJkB,WAAW,EACXC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAGzB;IAEJ,MAAM,EAAE0B,WAAW,EAAE,GAAG3B;IAExB,MAAM4B,aAAaN,YAAYO,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKd;IAE5D,MAAMe,mBAAmBrC,YACvB,CAACsC,OAAOC;QACN,IAAI,OAAOd,aAAa,YAAY;YAClC,OAAOA,SAASa,OAAO;gBAAE,GAAGC,OAAO;gBAAEhB;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMsB,eAAe,EAAEpB,UAAUqB,mBAAmB,EAAE,GAAGvC;IAEjE,wFAAwF;IACxF,MAAMwC,YAAYzC,QAAQ;QACxB,IAAI+B,aAAaL,eAAeK,YAAYL,WAAW,EAAE,CAACL,WAAW,EAAEqB,QAAQ;YAC7E,IAAIX,YAAYL,WAAW,CAACL,WAAW,CAACqB,MAAM,EAAEC,eAAe,MAAM;gBACnE,OAAO;YACT;QACF;QAEA,OAAO;IACT,GAAG;QAACtB;QAAYU;KAAY;IAE5B,MAAM,EAAEa,aAAa,EAAEC,gBAAgB,EAAEC,cAAc,EAAE7B,IAAI,EAAE8B,QAAQ,EAAEC,SAAS,EAAEX,KAAK,EAAE,GACzFnC,SAAiB;QACfe,MAAMsB,mBAAmBrB;QACzBM,UAAUY;IACZ;IAEF,MAAMa,WAAW7B,qBAAqBoB,uBAAuBM,kBAAkBD;IAE/E,MAAMK,WAAWnD,YACf,CAACoD;QACC,MAAMC,aAAaD,eAAeE,MAAMF;QACxCJ,SAASK;IACX,GACA;QAACL;KAAS;IAGZ,IAAIf,WAAWsB,MAAM,EAAE;QACrB,qBACE,KAAChD;YACCG,mBAAmBA;YACnBC,aAAaA;YACbC,aAAaA;YACb4C,gBAAgBd;YAChBb,KAAKC;YACLjB,WAAWA;YACXoB,YAAYA;YACZnB,kBAAkBA;YAClBC,YAAYA;YACZ8B,eAAeA;YACf7B,OAAOA;YACPC,YAAYA;YACZkC,UAAUA;YACVjC,MAAMA;YACNE,UAAU8B;YACV5B,YAAYA;YACZC,UAAUA;YACVQ,WAAWA;YACXkB,WAAWA;YACXzB,OAAOA;YACPc,OAAOA;YACPZ,OAAOA;;IAGb;IAEA,OAAO;AACT;AAEA,OAAO,MAAM+B,cAAcrD,cAAcI,SAAQ"}
1
+ {"version":3,"sources":["../../../src/fields/Upload/index.tsx"],"sourcesContent":["'use client'\n\nimport type { UploadFieldProps } from 'payload'\n\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { UploadInputProps } from './Input.js'\n\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { UploadInput } from './Input.js'\nimport './index.scss'\n\nexport { UploadFieldProps, UploadInput }\nexport type { UploadInputProps }\n\nconst UploadComponent: React.FC<UploadFieldProps> = (props) => {\n const {\n CustomDescription,\n CustomError,\n CustomLabel,\n className,\n descriptionProps,\n errorProps,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n relationTo,\n required,\n style,\n validate,\n width,\n } = props\n\n const {\n collections,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const { permissions } = useAuth()\n\n const collection = collections.find((coll) => coll.slug === relationTo)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n },\n [validate, required],\n )\n\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n // Checks if the user has permissions to create a new document in the related collection\n const canCreate = useMemo(() => {\n if (permissions?.collections && permissions.collections?.[relationTo]?.create) {\n if (permissions.collections[relationTo].create?.permission === true) {\n return true\n }\n }\n\n return false\n }, [relationTo, permissions])\n\n const { filterOptions, formInitializing, formProcessing, path, setValue, showError, value } =\n useField<string>({\n path: pathFromContext ?? pathFromProps,\n validate: memoizedValidate,\n })\n\n const disabled = readOnlyFromProps || readOnlyFromContext || formProcessing || formInitializing\n\n const onChange = useCallback(\n (incomingValue) => {\n const incomingID = incomingValue?.id || incomingValue\n setValue(incomingID)\n },\n [setValue],\n )\n\n if (collection.upload) {\n return (\n <UploadInput\n CustomDescription={CustomDescription}\n CustomError={CustomError}\n CustomLabel={CustomLabel}\n allowNewUpload={canCreate}\n api={apiRoute}\n className={className}\n collection={collection}\n descriptionProps={descriptionProps}\n errorProps={errorProps}\n filterOptions={filterOptions}\n label={label}\n labelProps={labelProps}\n onChange={onChange}\n path={path}\n readOnly={disabled}\n relationTo={relationTo}\n required={required}\n serverURL={serverURL}\n showError={showError}\n style={style}\n value={value}\n width={width}\n />\n )\n }\n\n return null\n}\n\nexport const UploadField = withCondition(UploadComponent)\n"],"names":["React","useCallback","useMemo","useFieldProps","useField","withCondition","useAuth","useConfig","UploadInput","UploadComponent","props","CustomDescription","CustomError","CustomLabel","className","descriptionProps","errorProps","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","relationTo","required","style","validate","width","collections","routes","api","apiRoute","serverURL","permissions","collection","find","coll","slug","memoizedValidate","value","options","pathFromContext","readOnlyFromContext","canCreate","create","permission","filterOptions","formInitializing","formProcessing","setValue","showError","disabled","onChange","incomingValue","incomingID","id","upload","allowNewUpload","UploadField"],"mappings":"AAAA;;AAIA,OAAOA,SAASC,WAAW,EAAEC,OAAO,QAAQ,QAAO;AAInD,SAASC,aAAa,QAAQ,0CAAyC;AACvE,SAASC,QAAQ,QAAQ,gCAA+B;AACxD,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,WAAW,QAAQ,aAAY;AACxC,OAAO,eAAc;AAErB,SAA2BA,WAAW,GAAE;AAGxC,MAAMC,kBAA8C,CAACC;IACnD,MAAM,EACJC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,KAAK,EACLC,UAAU,EACVC,MAAMC,aAAa,EACnBC,UAAUC,iBAAiB,EAC3BC,UAAU,EACVC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACN,GAAGjB;IAEJ,MAAM,EACJkB,WAAW,EACXC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAGzB;IAEJ,MAAM,EAAE0B,WAAW,EAAE,GAAG3B;IAExB,MAAM4B,aAAaN,YAAYO,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKd;IAE5D,MAAMe,mBAAmBrC,YACvB,CAACsC,OAAOC;QACN,IAAI,OAAOd,aAAa,YAAY;YAClC,OAAOA,SAASa,OAAO;gBAAE,GAAGC,OAAO;gBAAEhB;YAAS;QAChD;IACF,GACA;QAACE;QAAUF;KAAS;IAGtB,MAAM,EAAEL,MAAMsB,eAAe,EAAEpB,UAAUqB,mBAAmB,EAAE,GAAGvC;IAEjE,wFAAwF;IACxF,MAAMwC,YAAYzC,QAAQ;QACxB,IAAI+B,aAAaL,eAAeK,YAAYL,WAAW,EAAE,CAACL,WAAW,EAAEqB,QAAQ;YAC7E,IAAIX,YAAYL,WAAW,CAACL,WAAW,CAACqB,MAAM,EAAEC,eAAe,MAAM;gBACnE,OAAO;YACT;QACF;QAEA,OAAO;IACT,GAAG;QAACtB;QAAYU;KAAY;IAE5B,MAAM,EAAEa,aAAa,EAAEC,gBAAgB,EAAEC,cAAc,EAAE7B,IAAI,EAAE8B,QAAQ,EAAEC,SAAS,EAAEX,KAAK,EAAE,GACzFnC,SAAiB;QACfe,MAAMsB,mBAAmBrB;QACzBM,UAAUY;IACZ;IAEF,MAAMa,WAAW7B,qBAAqBoB,uBAAuBM,kBAAkBD;IAE/E,MAAMK,WAAWnD,YACf,CAACoD;QACC,MAAMC,aAAaD,eAAeE,MAAMF;QACxCJ,SAASK;IACX,GACA;QAACL;KAAS;IAGZ,IAAIf,WAAWsB,MAAM,EAAE;QACrB,qBACE,KAAChD;YACCG,mBAAmBA;YACnBC,aAAaA;YACbC,aAAaA;YACb4C,gBAAgBd;YAChBb,KAAKC;YACLjB,WAAWA;YACXoB,YAAYA;YACZnB,kBAAkBA;YAClBC,YAAYA;YACZ8B,eAAeA;YACf7B,OAAOA;YACPC,YAAYA;YACZkC,UAAUA;YACVjC,MAAMA;YACNE,UAAU8B;YACV5B,YAAYA;YACZC,UAAUA;YACVQ,WAAWA;YACXkB,WAAWA;YACXzB,OAAOA;YACPc,OAAOA;YACPZ,OAAOA;;IAGb;IAEA,OAAO;AACT;AAEA,OAAO,MAAM+B,cAAcrD,cAAcI,iBAAgB"}
@@ -1,29 +1,5 @@
1
- import type { DocumentPreferences, ErrorProps, FieldDescriptionProps, LabelProps, Locale, SanitizedLabelProps, SanitizedLocalizationConfig, User, Validate } from 'payload';
1
+ import type { Locale, SanitizedLocalizationConfig } from 'payload';
2
2
  export declare const fieldBaseClass = "field-type";
3
- export type FormFieldBase = {
4
- AfterInput?: React.ReactNode;
5
- BeforeInput?: React.ReactNode;
6
- CustomDescription?: React.ReactNode;
7
- CustomError?: React.ReactNode;
8
- CustomLabel?: React.ReactNode;
9
- className?: string;
10
- custom?: Record<string, any>;
11
- descriptionProps?: FieldDescriptionProps;
12
- disabled?: boolean;
13
- docPreferences?: DocumentPreferences;
14
- errorProps?: ErrorProps;
15
- label?: LabelProps['label'];
16
- labelProps?: SanitizedLabelProps;
17
- locale?: Locale;
18
- localized?: boolean;
19
- path?: string;
20
- readOnly?: boolean;
21
- required?: boolean;
22
- rtl?: boolean;
23
- style?: React.CSSProperties;
24
- user?: User;
25
- validate?: Validate;
26
- };
27
3
  /**
28
4
  * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.
29
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,2BAA2B,EAC3B,IAAI,EACJ,QAAQ,EACT,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD,WAiBA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/shared/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAElE,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;CACjD,WAiBA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["import type {\n DocumentPreferences,\n ErrorProps,\n FieldDescriptionProps,\n LabelProps,\n Locale,\n SanitizedLabelProps,\n SanitizedLocalizationConfig,\n User,\n Validate,\n} from 'payload'\n\nexport const fieldBaseClass = 'field-type'\n\nexport type FormFieldBase = {\n AfterInput?: React.ReactNode\n BeforeInput?: React.ReactNode\n CustomDescription?: React.ReactNode\n CustomError?: React.ReactNode\n CustomLabel?: React.ReactNode\n className?: string\n custom?: Record<string, any>\n descriptionProps?: FieldDescriptionProps\n disabled?: boolean\n docPreferences?: DocumentPreferences\n errorProps?: ErrorProps\n label?: LabelProps['label']\n labelProps?: SanitizedLabelProps\n locale?: Locale\n localized?: boolean\n path?: string\n readOnly?: boolean\n required?: boolean\n rtl?: boolean\n style?: React.CSSProperties\n user?: User\n validate?: Validate\n}\n\n/**\n * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.\n\n * @returns Whether the field should be displayed as RTL.\n */\nexport function isFieldRTL({\n fieldLocalized,\n fieldRTL,\n locale,\n localizationConfig,\n}: {\n fieldLocalized: boolean\n fieldRTL: boolean\n locale: Locale\n localizationConfig?: SanitizedLocalizationConfig\n}) {\n const hasMultipleLocales =\n locale &&\n localizationConfig &&\n localizationConfig.locales &&\n localizationConfig.locales.length > 1\n\n const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale\n\n return (\n (fieldRTL !== false &&\n locale?.rtl === true &&\n (fieldLocalized ||\n (!fieldLocalized && !hasMultipleLocales) || // If there is only one locale which is also rtl, that field is rtl too\n (!fieldLocalized && isCurrentLocaleDefaultLocale))) || // If the current locale is the default locale, but the field is not localized, that field is rtl too\n fieldRTL === true\n ) // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.\n}\n"],"names":["fieldBaseClass","isFieldRTL","fieldLocalized","fieldRTL","locale","localizationConfig","hasMultipleLocales","locales","length","isCurrentLocaleDefaultLocale","code","defaultLocale","rtl"],"mappings":"AAYA,OAAO,MAAMA,iBAAiB,aAAY;AA2B1C;;;;CAIC,GACD,OAAO,SAASC,WAAW,EACzBC,cAAc,EACdC,QAAQ,EACRC,MAAM,EACNC,kBAAkB,EAMnB;IACC,MAAMC,qBACJF,UACAC,sBACAA,mBAAmBE,OAAO,IAC1BF,mBAAmBE,OAAO,CAACC,MAAM,GAAG;IAEtC,MAAMC,+BAA+BL,QAAQM,SAASL,oBAAoBM;IAE1E,OACE,AAACR,aAAa,SACZC,QAAQQ,QAAQ,QACfV,CAAAA,kBACE,CAACA,kBAAkB,CAACI,sBAAuB,uEAAuE;IAClH,CAACJ,kBAAkBO,4BAA4B,KAAO,qGAAqG;IAChKN,aAAa,KACb,gJAAgJ;;AACpJ"}
1
+ {"version":3,"sources":["../../../src/fields/shared/index.tsx"],"sourcesContent":["import type { Locale, SanitizedLocalizationConfig } from 'payload'\n\nexport const fieldBaseClass = 'field-type'\n\n/**\n * Determines whether a field should be displayed as right-to-left (RTL) based on its configuration, payload's localization configuration and the adming user's currently enabled locale.\n\n * @returns Whether the field should be displayed as RTL.\n */\nexport function isFieldRTL({\n fieldLocalized,\n fieldRTL,\n locale,\n localizationConfig,\n}: {\n fieldLocalized: boolean\n fieldRTL: boolean\n locale: Locale\n localizationConfig?: SanitizedLocalizationConfig\n}) {\n const hasMultipleLocales =\n locale &&\n localizationConfig &&\n localizationConfig.locales &&\n localizationConfig.locales.length > 1\n\n const isCurrentLocaleDefaultLocale = locale?.code === localizationConfig?.defaultLocale\n\n return (\n (fieldRTL !== false &&\n locale?.rtl === true &&\n (fieldLocalized ||\n (!fieldLocalized && !hasMultipleLocales) || // If there is only one locale which is also rtl, that field is rtl too\n (!fieldLocalized && isCurrentLocaleDefaultLocale))) || // If the current locale is the default locale, but the field is not localized, that field is rtl too\n fieldRTL === true\n ) // If fieldRTL is true. This should be useful for when no localization is set at all in the payload config, but you still want fields to be rtl.\n}\n"],"names":["fieldBaseClass","isFieldRTL","fieldLocalized","fieldRTL","locale","localizationConfig","hasMultipleLocales","locales","length","isCurrentLocaleDefaultLocale","code","defaultLocale","rtl"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB,aAAY;AAE1C;;;;CAIC,GACD,OAAO,SAASC,WAAW,EACzBC,cAAc,EACdC,QAAQ,EACRC,MAAM,EACNC,kBAAkB,EAMnB;IACC,MAAMC,qBACJF,UACAC,sBACAA,mBAAmBE,OAAO,IAC1BF,mBAAmBE,OAAO,CAACC,MAAM,GAAG;IAEtC,MAAMC,+BAA+BL,QAAQM,SAASL,oBAAoBM;IAE1E,OACE,AAACR,aAAa,SACZC,QAAQQ,QAAQ,QACfV,CAAAA,kBACE,CAACA,kBAAkB,CAACI,sBAAuB,uEAAuE;IAClH,CAACJ,kBAAkBO,4BAA4B,KAAO,qGAAqG;IAChKN,aAAa,KACb,gJAAgJ;;AACpJ"}
@@ -1,5 +1,4 @@
1
- import type { Field } from 'payload';
2
- import type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js';
1
+ import type { Field, MappedField } from 'payload';
3
2
  export declare const createNestedFieldPath: (parentPath: string, field: Field) => string;
4
3
  export declare const createNestedClientFieldPath: (parentPath: string, field: MappedField) => string;
5
4
  //# sourceMappingURL=createNestedFieldPath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNestedFieldPath.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/createNestedFieldPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AAE1F,eAAO,MAAM,qBAAqB,eAAgB,MAAM,SAAS,KAAK,KAAG,MAcxE,CAAA;AAED,eAAO,MAAM,2BAA2B,eAAgB,MAAM,SAAS,WAAW,KAAG,MAYpF,CAAA"}
1
+ {"version":3,"file":"createNestedFieldPath.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/createNestedFieldPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAIjD,eAAO,MAAM,qBAAqB,eAAgB,MAAM,SAAS,KAAK,KAAG,MAcxE,CAAA;AAED,eAAO,MAAM,2BAA2B,eAAgB,MAAM,SAAS,WAAW,KAAG,MAYpF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/forms/Form/createNestedFieldPath.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nimport type { MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nexport const createNestedFieldPath = (parentPath: string, field: Field): string => {\n if (parentPath) {\n if (fieldAffectsData(field)) {\n return `${parentPath}.${field.name}`\n }\n\n return parentPath\n }\n\n if (fieldAffectsData(field)) {\n return field.name\n }\n\n return ''\n}\n\nexport const createNestedClientFieldPath = (parentPath: string, field: MappedField): string => {\n if (parentPath) {\n if (field.isFieldAffectingData) {\n return `${parentPath}.${field.name}`\n }\n }\n\n if (field.isFieldAffectingData) {\n return field.name\n }\n\n return field.name\n}\n"],"names":["fieldAffectsData","createNestedFieldPath","parentPath","field","name","createNestedClientFieldPath","isFieldAffectingData"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,iBAAgB;AAIjD,OAAO,MAAMC,wBAAwB,CAACC,YAAoBC;IACxD,IAAID,YAAY;QACd,IAAIF,iBAAiBG,QAAQ;YAC3B,OAAO,CAAC,EAAED,WAAW,CAAC,EAAEC,MAAMC,IAAI,CAAC,CAAC;QACtC;QAEA,OAAOF;IACT;IAEA,IAAIF,iBAAiBG,QAAQ;QAC3B,OAAOA,MAAMC,IAAI;IACnB;IAEA,OAAO;AACT,EAAC;AAED,OAAO,MAAMC,8BAA8B,CAACH,YAAoBC;IAC9D,IAAID,YAAY;QACd,IAAIC,MAAMG,oBAAoB,EAAE;YAC9B,OAAO,CAAC,EAAEJ,WAAW,CAAC,EAAEC,MAAMC,IAAI,CAAC,CAAC;QACtC;IACF;IAEA,IAAID,MAAMG,oBAAoB,EAAE;QAC9B,OAAOH,MAAMC,IAAI;IACnB;IAEA,OAAOD,MAAMC,IAAI;AACnB,EAAC"}
1
+ {"version":3,"sources":["../../../src/forms/Form/createNestedFieldPath.ts"],"sourcesContent":["import type { Field, MappedField } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nexport const createNestedFieldPath = (parentPath: string, field: Field): string => {\n if (parentPath) {\n if (fieldAffectsData(field)) {\n return `${parentPath}.${field.name}`\n }\n\n return parentPath\n }\n\n if (fieldAffectsData(field)) {\n return field.name\n }\n\n return ''\n}\n\nexport const createNestedClientFieldPath = (parentPath: string, field: MappedField): string => {\n if (parentPath) {\n if (field.isFieldAffectingData) {\n return `${parentPath}.${field.name}`\n }\n }\n\n if (field.isFieldAffectingData) {\n return field.name\n }\n\n return field.name\n}\n"],"names":["fieldAffectsData","createNestedFieldPath","parentPath","field","name","createNestedClientFieldPath","isFieldAffectingData"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,iBAAgB;AAEjD,OAAO,MAAMC,wBAAwB,CAACC,YAAoBC;IACxD,IAAID,YAAY;QACd,IAAIF,iBAAiBG,QAAQ;YAC3B,OAAO,CAAC,EAAED,WAAW,CAAC,EAAEC,MAAMC,IAAI,CAAC,CAAC;QACtC;QAEA,OAAOF;IACT;IAEA,IAAIF,iBAAiBG,QAAQ;QAC3B,OAAOA,MAAMC,IAAI;IACnB;IAEA,OAAO;AACT,EAAC;AAED,OAAO,MAAMC,8BAA8B,CAACH,YAAoBC;IAC9D,IAAID,YAAY;QACd,IAAIC,MAAMG,oBAAoB,EAAE;YAC9B,OAAO,CAAC,EAAEJ,WAAW,CAAC,EAAEC,MAAMC,IAAI,CAAC,CAAC;QACtC;IACF;IAEA,IAAID,MAAMG,oBAAoB,EAAE;QAC9B,OAAOH,MAAMC,IAAI;IACnB;IAEA,OAAOD,MAAMC,IAAI;AACnB,EAAC"}