@payloadcms/ui 3.0.0-canary.aceaf5d → 3.0.0-canary.af2bebe

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 (135) hide show
  1. package/dist/elements/FieldSelect/index.js +1 -0
  2. package/dist/elements/FieldSelect/index.js.map +1 -1
  3. package/dist/elements/ListDrawer/DrawerContent.js +1 -0
  4. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  5. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  6. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  7. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  8. package/dist/elements/Upload/index.js +1 -0
  9. package/dist/elements/Upload/index.js.map +1 -1
  10. package/dist/elements/ViewDescription/index.d.ts +5 -5
  11. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  12. package/dist/elements/ViewDescription/index.js +1 -1
  13. package/dist/elements/ViewDescription/index.js.map +1 -1
  14. package/dist/exports/client/index.js +7 -7
  15. package/dist/exports/client/index.js.map +3 -3
  16. package/dist/exports/shared/index.js +2 -2
  17. package/dist/exports/shared/index.js.map +3 -3
  18. package/dist/fields/Array/index.d.ts.map +1 -1
  19. package/dist/fields/Array/index.js +3 -0
  20. package/dist/fields/Array/index.js.map +1 -1
  21. package/dist/fields/Blocks/index.d.ts.map +1 -1
  22. package/dist/fields/Blocks/index.js +3 -0
  23. package/dist/fields/Blocks/index.js.map +1 -1
  24. package/dist/fields/Checkbox/Input.d.ts +5 -3
  25. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  26. package/dist/fields/Checkbox/Input.js +2 -0
  27. package/dist/fields/Checkbox/Input.js.map +1 -1
  28. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  29. package/dist/fields/Checkbox/index.js +2 -0
  30. package/dist/fields/Checkbox/index.js.map +1 -1
  31. package/dist/fields/Code/index.d.ts.map +1 -1
  32. package/dist/fields/Code/index.js +3 -0
  33. package/dist/fields/Code/index.js.map +1 -1
  34. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  35. package/dist/fields/Collapsible/index.js +1 -0
  36. package/dist/fields/Collapsible/index.js.map +1 -1
  37. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  38. package/dist/fields/ConfirmPassword/index.js +2 -0
  39. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  40. package/dist/fields/DateTime/index.d.ts.map +1 -1
  41. package/dist/fields/DateTime/index.js +3 -0
  42. package/dist/fields/DateTime/index.js.map +1 -1
  43. package/dist/fields/Email/index.d.ts.map +1 -1
  44. package/dist/fields/Email/index.js +4 -1
  45. package/dist/fields/Email/index.js.map +1 -1
  46. package/dist/fields/FieldDescription/index.d.ts +2 -3
  47. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  48. package/dist/fields/FieldDescription/index.js.map +1 -1
  49. package/dist/fields/FieldError/index.d.ts +2 -3
  50. package/dist/fields/FieldError/index.d.ts.map +1 -1
  51. package/dist/fields/FieldError/index.js.map +1 -1
  52. package/dist/fields/FieldLabel/index.d.ts +2 -3
  53. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  54. package/dist/fields/FieldLabel/index.js.map +1 -1
  55. package/dist/fields/Group/index.d.ts.map +1 -1
  56. package/dist/fields/Group/index.js +1 -0
  57. package/dist/fields/Group/index.js.map +1 -1
  58. package/dist/fields/JSON/index.d.ts.map +1 -1
  59. package/dist/fields/JSON/index.js +3 -0
  60. package/dist/fields/JSON/index.js.map +1 -1
  61. package/dist/fields/Number/index.d.ts.map +1 -1
  62. package/dist/fields/Number/index.js +3 -0
  63. package/dist/fields/Number/index.js.map +1 -1
  64. package/dist/fields/Password/input.d.ts.map +1 -1
  65. package/dist/fields/Password/input.js +33 -29
  66. package/dist/fields/Password/input.js.map +1 -1
  67. package/dist/fields/Password/types.d.ts +7 -3
  68. package/dist/fields/Password/types.d.ts.map +1 -1
  69. package/dist/fields/Password/types.js.map +1 -1
  70. package/dist/fields/Point/index.d.ts.map +1 -1
  71. package/dist/fields/Point/index.js +3 -0
  72. package/dist/fields/Point/index.js.map +1 -1
  73. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  74. package/dist/fields/RadioGroup/index.js +3 -0
  75. package/dist/fields/RadioGroup/index.js.map +1 -1
  76. package/dist/fields/Relationship/index.d.ts.map +1 -1
  77. package/dist/fields/Relationship/index.js +3 -0
  78. package/dist/fields/Relationship/index.js.map +1 -1
  79. package/dist/fields/Select/Input.d.ts +3 -1
  80. package/dist/fields/Select/Input.d.ts.map +1 -1
  81. package/dist/fields/Select/Input.js +60 -55
  82. package/dist/fields/Select/Input.js.map +1 -1
  83. package/dist/fields/Select/index.d.ts.map +1 -1
  84. package/dist/fields/Select/index.js +1 -0
  85. package/dist/fields/Select/index.js.map +1 -1
  86. package/dist/fields/Tabs/index.js +2 -1
  87. package/dist/fields/Tabs/index.js.map +1 -1
  88. package/dist/fields/Text/Input.d.ts.map +1 -1
  89. package/dist/fields/Text/Input.js +45 -40
  90. package/dist/fields/Text/Input.js.map +1 -1
  91. package/dist/fields/Text/index.d.ts.map +1 -1
  92. package/dist/fields/Text/index.js +1 -0
  93. package/dist/fields/Text/index.js.map +1 -1
  94. package/dist/fields/Text/types.d.ts +3 -1
  95. package/dist/fields/Text/types.d.ts.map +1 -1
  96. package/dist/fields/Text/types.js.map +1 -1
  97. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  98. package/dist/fields/Textarea/Input.js +39 -34
  99. package/dist/fields/Textarea/Input.js.map +1 -1
  100. package/dist/fields/Textarea/index.d.ts.map +1 -1
  101. package/dist/fields/Textarea/index.js +6 -0
  102. package/dist/fields/Textarea/index.js.map +1 -1
  103. package/dist/fields/Textarea/types.d.ts +6 -4
  104. package/dist/fields/Textarea/types.d.ts.map +1 -1
  105. package/dist/fields/Textarea/types.js.map +1 -1
  106. package/dist/fields/Upload/Input.d.ts +6 -4
  107. package/dist/fields/Upload/Input.d.ts.map +1 -1
  108. package/dist/fields/Upload/Input.js +58 -52
  109. package/dist/fields/Upload/Input.js.map +1 -1
  110. package/dist/fields/Upload/index.d.ts.map +1 -1
  111. package/dist/fields/Upload/index.js +6 -0
  112. package/dist/fields/Upload/index.js.map +1 -1
  113. package/dist/forms/RowLabel/types.d.ts +2 -2
  114. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  115. package/dist/forms/RowLabel/types.js.map +1 -1
  116. package/dist/forms/useField/index.js +1 -1
  117. package/dist/forms/useField/index.js.map +1 -1
  118. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  119. package/dist/providers/Config/createClientConfig/collections.js +12 -4
  120. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  121. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  122. package/dist/providers/Config/createClientConfig/fields.js +19 -14
  123. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  124. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -1
  125. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +10 -4
  126. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -1
  127. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -1
  128. package/dist/providers/Config/createClientConfig/globals.js +6 -2
  129. package/dist/providers/Config/createClientConfig/globals.js.map +1 -1
  130. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  131. package/dist/providers/DocumentInfo/index.js +1 -0
  132. package/dist/providers/DocumentInfo/index.js.map +1 -1
  133. package/package.json +6 -6
  134. package/dist/exports/client2/index.js +0 -181
  135. package/dist/exports/client2/index.js.map +0 -1
@@ -160,6 +160,7 @@ export const FieldSelect = t0 => {
160
160
  t3 = _jsxs("div", {
161
161
  className: baseClass,
162
162
  children: [_jsx(FieldLabel, {
163
+ field: null,
163
164
  label: t("fields:selectFieldsToEdit")
164
165
  }), _jsx(ReactSelect, {
165
166
  getOptionValue: _temp,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","_jsxs","_jsx","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","t1","options","dispatchFields","getFields","t2","selected","activeFields","map","t3","Object","keys","length","forEach","find","handleChange","className","children","getOptionValue","_temp","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) return null\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","React","Fragment","useState","FieldLabel","useForm","createNestedClientFieldPath","RenderComponent","useTranslation","ReactSelect","baseClass","combineLabel","customLabel","field","prefix","CustomLabelToRender","admin","components","Label","undefined","DefaultLabelToRender","label","type","Component","props","LabelToRender","RenderedComponent","_jsxs","_jsx","style","display","mappedComponent","reduceFields","fields","labelPrefix","path","reduce","fieldsToUse","disableBulkEdit","unique","hidden","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","t1","options","dispatchFields","getFields","t2","selected","activeFields","map","t3","Object","keys","length","forEach","find","handleChange","className","children","getOptionValue","_temp","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPath, MappedComponent } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields } from 'payload/shared'\nimport React, { Fragment, type JSX, useState } from 'react'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPath[]) => void\n}\n\nexport const combineLabel = ({\n customLabel,\n field,\n prefix,\n}: {\n customLabel?: string\n field?: ClientField\n prefix?: JSX.Element | string\n}): JSX.Element => {\n const CustomLabelToRender: MappedComponent =\n field?.admin?.components &&\n 'Label' in field.admin.components &&\n field?.admin?.components?.Label !== undefined\n ? field.admin.components.Label\n : null\n\n const DefaultLabelToRender: MappedComponent =\n field && 'label' in field && field.label\n ? {\n type: 'client',\n Component: FieldLabel,\n props: {\n Label:\n field.admin?.components && 'Label' in field.admin.components\n ? field.admin?.components?.Label\n : null,\n label: field.label,\n },\n }\n : null\n\n const LabelToRender: MappedComponent = CustomLabelToRender ||\n DefaultLabelToRender || {\n type: 'client',\n Component: null,\n RenderedComponent: customLabel,\n }\n\n if (!LabelToRender) return null\n\n return (\n <Fragment>\n {prefix && (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n )}\n <span style={{ display: 'inline-block' }}>\n <RenderComponent mappedComponent={LabelToRender} />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n labelPrefix?: JSX.Element | string\n path?: string\n}): { Label: JSX.Element; value: FieldWithPath }[] => {\n if (!fields) {\n return []\n }\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons\n if (\n fieldAffectsData(field) &&\n (field.admin.disableBulkEdit ||\n field.unique ||\n field.admin.hidden ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const [options] = useState(() => reduceFields({ fields }))\n\n const { dispatchFields, getFields } = useForm()\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel field={null} label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -465,6 +465,7 @@ export const ListDrawerContent = t0 => {
465
465
  }), t25, moreThanOneAvailableCollection && _jsxs("div", {
466
466
  className: `${baseClass}__select-collection-wrap`,
467
467
  children: [_jsx(FieldLabel, {
468
+ field: null,
468
469
  label: t("upload:selectCollectionToBrowse")
469
470
  }), _jsx(ReactSelect, {
470
471
  className: `${baseClass}__select-collection`,
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","onChange","options","coll","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","RenderComponent","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","t0","$","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","config","t1","collections","routes","t2","serverURL","api","t3","t4","t5","slug","includes","filter","enabledCollectionConfigs","find","slug_0","selectedCollectionConfig","setSelectedCollectionConfig","List","admin","components","views","list","Component","label","labels","singular","value","undefined","selectedOption","setSelectedOption","t6","_temp","t7","selectedConfig","t8","slug_1","preferenceKey","t9","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t10","documentDrawerSlug","t11","t12","Array","isArray","t13","slug_2","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","_temp2","initialParams","depth","t14","t15","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","t16","slug_3","t17","versions","listSearchableFields","useAsTitle","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","t18","t19","newPreferences","t20","t21","doc","docID","id","onCreateNew","Symbol","for","_jsx","plural","t22","t23","className","children","t24","t25","description","t26","t27","rowColl","rowData","Header","_jsxs","onClick","type","field","onChange","options","coll","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","mappedComponent","onSave","state"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const List = selectedCollectionConfig?.admin?.components.views.list.Component\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {\n initialParams: {\n depth: 0,\n },\n })\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n depth?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {\n depth: 0,\n }\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel field={null} label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n <RenderComponent mappedComponent={List} />\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA0InD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EAE1B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EA2InD,CAAA"}
@@ -62,6 +62,7 @@ export const buildColumnState = args => {
62
62
  ? field.admin.components.Label : undefined;
63
63
  const Label = /*#__PURE__*/_jsx(FieldLabel, {
64
64
  Label: CustomLabelToRender,
65
+ field: field,
65
66
  label: 'label' in field ? field.label : undefined,
66
67
  unstyled: true
67
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"buildColumnState.js","names":["React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","_jsx","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildColumnState.js","names":["React","FieldLabel","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fields","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","field","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","CustomLabelToRender","admin","components","Label","undefined","_jsx","label","unstyled","fieldAffectsDataSubFields","type","Heading","disable","_isPresentational","link","Cell","Component","RenderedComponent"],"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type {\n CellComponentProps,\n ClientField,\n SanitizedCollectionConfig,\n StaticLabel,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fields: ClientField[]\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fields, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fields)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => 'name' in field && field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => 'name' in field && column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const CustomLabelToRender =\n field &&\n 'admin' in field &&\n 'components' in field.admin &&\n 'Label' in field.admin.components &&\n field.admin.components.Label !== undefined // let it return `null`\n ? field.admin.components.Label\n : undefined\n\n const Label = (\n <FieldLabel\n Label={CustomLabelToRender}\n field={field}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || field?._isPresentational || undefined}\n label={'label' in field ? (field.label as StaticLabel) : undefined}\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n Label,\n accessor: 'name' in field ? field.name : undefined,\n active,\n cellProps: {\n field: {\n ...(field || ({} as ClientField)),\n ...(cellProps?.[index]?.field || ({} as ClientField)),\n } as ClientField,\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n },\n components: {\n Cell: field.admin?.components?.Cell || {\n type: 'client',\n Component: DefaultCell,\n RenderedComponent: null,\n },\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n Label: null,\n accessor: '_select',\n active: true,\n components: {\n Cell: {\n type: 'client',\n Component: null,\n RenderedComponent: <SelectRow />,\n },\n Heading: <SelectAll />,\n },\n })\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
@@ -407,6 +407,7 @@ export const Upload = props => {
407
407
  return _jsxs("div", {
408
408
  className: t15.join(" "),
409
409
  children: [_jsx(FieldError, {
410
+ field: null,
410
411
  message: errorMessage,
411
412
  showError
412
413
  }), t16, (!doc.filename || replacingFile) && _jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","Fragment","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","path","errorMessage","setValue","showError","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","newFile","File","URL","createObjectURL","handleFileChange","handleFileNameChange","e","updatedFileName","target","cursorPosition","selectionStart","current","fileValue","newFile_0","type","t4","inputElement","document","querySelector","setSelectionRange","t5","files","fileToUpload","handleFileSelection","t6","handleFileRemoval","t7","args","onEditsSave","t8","prev","handlePasteUrlClick","t9","response","fetch","data","blob","fileName","split","pop","file","t10","error","message","handleUrlSubmit","t11","t12","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","t13","t14","showCrop","showFocalPoint","t15","filter","t16","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","t17","Header","name","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","t18","hoverTitle","title","label","join","mimeTypes","onPasteUrlClick","e_1","ref","onClick","buttonStyle","icon","iconStyle","round","tooltip","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n }\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","isImage","reduceFieldsToValues","React","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useTranslation","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","Fragment","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","doc","setDoc","docPermissions","path","errorMessage","setValue","showError","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","cursorPositionRef","urlInputRef","newFile","File","URL","createObjectURL","handleFileChange","handleFileNameChange","e","updatedFileName","target","cursorPosition","selectionStart","current","fileValue","newFile_0","type","t4","inputElement","document","querySelector","setSelectionRange","t5","files","fileToUpload","handleFileSelection","t6","handleFileRemoval","t7","args","onEditsSave","t8","prev","handlePasteUrlClick","t9","response","fetch","data","blob","fileName","split","pop","file","t10","error","message","handleUrlSubmit","t11","t12","focus","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","t13","t14","showCrop","showFocalPoint","t15","filter","t16","filename","customUploadActions","handleRemove","imageCacheTag","updatedAt","t17","Header","name","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","t18","hoverTitle","title","label","join","field","mimeTypes","onPasteUrlClick","e_1","ref","onClick","buttonStyle","icon","iconStyle","round","tooltip","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage, reduceFieldsToValues } from 'payload/shared'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable = isImage(mimeType) && mimeType !== 'image/svg+xml'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) return null\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const cursorPositionRef = useRef(null)\n const urlInputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue],\n )\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n const cursorPosition = e.target.selectionStart\n\n cursorPositionRef.current = cursorPosition\n\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n handleFileChange(newFile)\n }\n }\n\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const inputElement = document.querySelector(`.${baseClass}__filename`) as HTMLInputElement\n if (inputElement && cursorPositionRef.current !== null) {\n inputElement.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current)\n }\n }, [value])\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n setDoc({})\n resetUploadEdits()\n setShowUrlInput(false)\n }, [handleFileChange, resetUploadEdits])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handlePasteUrlClick = () => {\n setShowUrlInput((prev) => !prev)\n }\n\n const handleUrlSubmit = async () => {\n if (fileUrl) {\n try {\n const response = await fetch(fileUrl)\n const data = await response.blob()\n\n // Extract the file name from the URL\n const fileName = fileUrl.split('/').pop()\n\n // Create a new File object from the Blob data\n const file = new File([data], fileName, { type: data.type })\n handleFileChange(file)\n } catch (e) {\n toast.error(e.message)\n }\n }\n }\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n }\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError field={null} message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={doc}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n onPasteUrlClick={handlePasteUrlClick}\n />\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && doc.filename && !replacingFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={doc?.url || fileSrc}\n imageCacheTag={doc.updatedAt}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || doc.focalX || 50,\n y: uploadEdits?.focalPoint?.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,12 @@
1
+ import type { DescriptionFunction, StaticDescription } from 'payload';
1
2
  import React from 'react';
2
3
  import './index.scss';
3
- export type DescriptionFunction = () => string;
4
- export type DescriptionComponent = React.ComponentType<any>;
5
- type Description = DescriptionComponent | DescriptionFunction | Record<string, string> | string;
4
+ export type ViewDescriptionComponent = React.ComponentType<any>;
5
+ type Description = DescriptionFunction | StaticDescription | ViewDescriptionComponent | string;
6
6
  export type ViewDescriptionProps = {
7
- description?: Description;
7
+ readonly description?: Description;
8
8
  };
9
- export declare function isComponent(description: Description): description is DescriptionComponent;
9
+ export declare function isComponent(description: Description): description is ViewDescriptionComponent;
10
10
  export declare const ViewDescription: React.FC<ViewDescriptionProps>;
11
11
  export {};
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ViewDescription/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAA;AAE9C,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AAE3D,KAAK,WAAW,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;AAE/F,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,IAAI,oBAAoB,CAEzF;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkB1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ViewDescription/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGrE,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AAE/D,KAAK,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,MAAM,CAAA;AAE9F,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,CAAA;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,IAAI,wBAAwB,CAE7F;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAc1D,CAAA"}
@@ -34,7 +34,7 @@ export const ViewDescription = props => {
34
34
  if ($[2] !== description || $[3] !== i18n) {
35
35
  t0 = _jsx("div", {
36
36
  className: "view-description",
37
- children: typeof description === "function" ? description() : getTranslation(description, i18n)
37
+ children: getTranslation(description, i18n)
38
38
  });
39
39
  $[2] = description;
40
40
  $[3] = i18n;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","$","i18n","Description","t0","_jsx","className","children"],"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type DescriptionFunction = () => string\n\nexport type DescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionComponent | DescriptionFunction | Record<string, string> | string\n\nexport type ViewDescriptionProps = {\n description?: Description\n}\n\nexport function isComponent(description: Description): description is DescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport const ViewDescription: React.FC<ViewDescriptionProps> = (props) => {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (isComponent(description)) {\n const Description = description\n return <Description />\n }\n\n if (description) {\n return (\n <div className=\"view-description\">\n {typeof description === 'function' ? description() : getTranslation(description, i18n)}\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAYP,OAAO,SAASC,YAAYC,WAAwB;EAClD,oBAAOH,KAAA,CAAMI,cAAc,CAACD,WAAA;AAC9B;AAEA,OAAO,MAAME,eAAA,GAAkDC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAC7D;IAAAU;EAAA,IAAiBP,cAAA;EACjB;IAAAE;EAAA,IAAwBG,KAAA;EAAA,IAEpBJ,WAAA,CAAYC,WAAA;IACd,MAAAM,WAAA,GAAoBN,WAAA;IAAA,IAAAO,EAAA;IAAA,IAAAH,CAAA,QAAAE,WAAA;MACbC,EAAA,GAAAC,IAAA,CAACF,WAAA;MAAAF,CAAA,MAAAE,WAAA;MAAAF,CAAA,MAAAG,EAAA;IAAA;MAAAA,EAAA,GAAAH,CAAA;IAAA;IAAA,OAADG,EAAC;EAAA;EAAA,IAGNP,WAAA;IAAA,IAAAO,EAAA;IAAA,IAAAH,CAAA,QAAAJ,WAAA,IAAAI,CAAA,QAAAC,IAAA;MAEAE,EAAA,GAAAC,IAAA,CAAC;QAAAC,SAAA,EAAc;QAAAC,QAAA,EACZ,OAAOV,WAAA,KAAgB,aAAaA,WAAA,KAAgBJ,cAAA,CAAeI,WAAA,EAAaK,IAAA;MAAA,C;;;;;;;WADnFE,E;;;CAON","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","$","i18n","Description","t0","_jsx","className","children"],"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport type { DescriptionFunction, StaticDescription } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type ViewDescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionFunction | StaticDescription | ViewDescriptionComponent | string\n\nexport type ViewDescriptionProps = {\n readonly description?: Description\n}\n\nexport function isComponent(description: Description): description is ViewDescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport const ViewDescription: React.FC<ViewDescriptionProps> = (props) => {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (isComponent(description)) {\n const Description = description\n return <Description />\n }\n\n if (description) {\n return <div className=\"view-description\">{getTranslation(description, i18n)}</div>\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAUP,OAAO,SAASC,YAAYC,WAAwB;EAClD,oBAAOH,KAAA,CAAMI,cAAc,CAACD,WAAA;AAC9B;AAEA,OAAO,MAAME,eAAA,GAAkDC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAC7D;IAAAU;EAAA,IAAiBP,cAAA;EACjB;IAAAE;EAAA,IAAwBG,KAAA;EAAA,IAEpBJ,WAAA,CAAYC,WAAA;IACd,MAAAM,WAAA,GAAoBN,WAAA;IAAA,IAAAO,EAAA;IAAA,IAAAH,CAAA,QAAAE,WAAA;MACbC,EAAA,GAAAC,IAAA,CAACF,WAAA;MAAAF,CAAA,MAAAE,WAAA;MAAAF,CAAA,MAAAG,EAAA;IAAA;MAAAA,EAAA,GAAAH,CAAA;IAAA;IAAA,OAADG,EAAC;EAAA;EAAA,IAGNP,WAAA;IAAA,IAAAO,EAAA;IAAA,IAAAH,CAAA,QAAAJ,WAAA,IAAAI,CAAA,QAAAC,IAAA;MACKE,EAAA,GAAAC,IAAA,CAAC;QAAAC,SAAA,EAAc;QAAAC,QAAA,EAAoBd,cAAA,CAAeI,WAAA,EAAaK,IAAA;MAAA,C;;;;;;;WAA/DE,E;;;CAIX","ignoreList":[]}