@payloadcms/ui 3.18.0-canary.df484f6 → 3.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +1 -1
  2. package/dist/elements/AddNewRelation/useRelatedCollections.js +6 -4
  3. package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
  4. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/index.js +4 -2
  8. package/dist/elements/BulkUpload/index.js.map +1 -1
  9. package/dist/elements/DeleteDocument/index.js.map +1 -1
  10. package/dist/elements/DocumentControls/index.js.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.js +4 -4
  13. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  14. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  15. package/dist/elements/ListDrawer/DrawerContent.js +6 -6
  16. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  17. package/dist/elements/Localizer/index.d.ts.map +1 -1
  18. package/dist/elements/Localizer/index.js +21 -21
  19. package/dist/elements/Localizer/index.js.map +1 -1
  20. package/dist/elements/PublishButton/index.js +79 -100
  21. package/dist/elements/PublishButton/index.js.map +1 -1
  22. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  23. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  24. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  25. package/dist/elements/RelationshipTable/index.js.map +1 -1
  26. package/dist/elements/SortColumn/index.scss +0 -1
  27. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -1
  28. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  29. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  30. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -1
  31. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  32. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  33. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  34. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -0
  35. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  36. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  37. package/dist/elements/Table/DefaultCell/index.js +33 -40
  38. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  39. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  40. package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -1
  41. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  42. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  43. package/dist/elements/TableColumns/buildColumnState.js +30 -11
  44. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  45. package/dist/elements/TableColumns/index.js.map +1 -1
  46. package/dist/elements/Upload/index.d.ts.map +1 -1
  47. package/dist/elements/Upload/index.js +72 -33
  48. package/dist/elements/Upload/index.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 +18 -11
  51. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  52. package/dist/elements/WhereBuilder/validateWhereQuery.js +2 -2
  53. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  54. package/dist/exports/client/{CodeEditor-W7RSWONH.js → CodeEditor-BMYVMDNZ.js} +2 -2
  55. package/dist/exports/client/chunk-CQQHQHCB.js +26 -0
  56. package/dist/exports/client/{chunk-3MXUY6XL.js.map → chunk-CQQHQHCB.js.map} +3 -3
  57. package/dist/exports/client/index.js +22 -22
  58. package/dist/exports/client/index.js.map +4 -4
  59. package/dist/exports/shared/index.js +2 -2
  60. package/dist/exports/shared/index.js.map +3 -3
  61. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  62. package/dist/fields/Blocks/BlockRow.js +32 -47
  63. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  64. package/dist/fields/Blocks/index.js +3 -2
  65. package/dist/fields/Blocks/index.js.map +1 -1
  66. package/dist/fields/Join/index.d.ts.map +1 -1
  67. package/dist/fields/Join/index.js +5 -5
  68. package/dist/fields/Join/index.js.map +1 -1
  69. package/dist/fields/Relationship/index.d.ts.map +1 -1
  70. package/dist/fields/Relationship/index.js +14 -8
  71. package/dist/fields/Relationship/index.js.map +1 -1
  72. package/dist/forms/Form/reduceToSerializableFields.d.ts +4 -0
  73. package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
  74. package/dist/forms/Form/reduceToSerializableFields.js +15 -12
  75. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  76. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  77. package/dist/forms/fieldSchemasToFormState/renderField.js +26 -1
  78. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  79. package/dist/providers/Config/index.d.ts +22 -13
  80. package/dist/providers/Config/index.d.ts.map +1 -1
  81. package/dist/providers/Config/index.js +45 -61
  82. package/dist/providers/Config/index.js.map +1 -1
  83. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  84. package/dist/providers/DocumentInfo/index.js.map +1 -1
  85. package/dist/providers/Locale/index.d.ts.map +1 -1
  86. package/dist/providers/Locale/index.js +62 -54
  87. package/dist/providers/Locale/index.js.map +1 -1
  88. package/dist/scss/toasts.scss +2 -0
  89. package/dist/styles.css +1 -1
  90. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  91. package/dist/utilities/handleFormStateLocking.js +3 -3
  92. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  93. package/dist/utilities/isURLAllowed.d.ts +3 -0
  94. package/dist/utilities/isURLAllowed.d.ts.map +1 -0
  95. package/dist/utilities/isURLAllowed.js +31 -0
  96. package/dist/utilities/isURLAllowed.js.map +1 -0
  97. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  98. package/dist/views/Edit/Auth/APIKey.js +4 -3
  99. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  100. package/dist/views/Edit/index.d.ts.map +1 -1
  101. package/dist/views/Edit/index.js.map +1 -1
  102. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  103. package/dist/views/List/ListHeader/index.js +5 -4
  104. package/dist/views/List/ListHeader/index.js.map +1 -1
  105. package/dist/views/List/index.d.ts.map +1 -1
  106. package/dist/views/List/index.js.map +1 -1
  107. package/package.json +5 -5
  108. package/dist/exports/client/chunk-3MXUY6XL.js +0 -26
  109. /package/dist/exports/client/{CodeEditor-W7RSWONH.js.map → CodeEditor-BMYVMDNZ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useIgnoredEffect","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","find","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection }) as ClientCollectionConfig\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n useIgnoredEffect(\n () => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: collections.find(({ slug }) => slug === selectedCollectionFromProps).labels,\n value: selectedCollectionFromProps,\n })\n }\n },\n [selectedCollectionFromProps],\n [collections, selectedOption],\n )\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useIgnoredEffect","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useIgnoredEffect } from '../../hooks/useIgnoredEffect.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n useIgnoredEffect(\n () => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n },\n [selectedCollectionFromProps],\n [collections, selectedOption],\n )\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAgEA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAiEA,CAAA"}
@@ -20,11 +20,11 @@ export const Localizer = props => {
20
20
  className
21
21
  } = props;
22
22
  const {
23
- config
23
+ config: t0
24
24
  } = useConfig();
25
25
  const {
26
26
  localization
27
- } = config;
27
+ } = t0;
28
28
  const searchParams = useSearchParams();
29
29
  const {
30
30
  setLocaleIsLoading
@@ -37,23 +37,23 @@ export const Localizer = props => {
37
37
  const {
38
38
  locales
39
39
  } = localization;
40
- let t0;
40
+ let t1;
41
41
  if ($[0] !== className) {
42
- t0 = [baseClass, className].filter(Boolean);
42
+ t1 = [baseClass, className].filter(Boolean);
43
43
  $[0] = className;
44
- $[1] = t0;
44
+ $[1] = t1;
45
45
  } else {
46
- t0 = $[1];
46
+ t1 = $[1];
47
47
  }
48
- const t1 = t0.join(" ");
49
- let t2;
50
- if ($[2] !== i18n || $[3] !== locale.code || $[4] !== locales || $[5] !== searchParams || $[6] !== setLocaleIsLoading || $[7] !== t1) {
51
- let t3;
48
+ const t2 = t1.join(" ");
49
+ let t3;
50
+ if ($[2] !== i18n || $[3] !== locale.code || $[4] !== locales || $[5] !== searchParams || $[6] !== setLocaleIsLoading || $[7] !== t2) {
51
+ let t4;
52
52
  if ($[9] !== i18n || $[10] !== locale.code || $[11] !== locales || $[12] !== searchParams || $[13] !== setLocaleIsLoading) {
53
- t3 = t4 => {
53
+ t4 = t5 => {
54
54
  const {
55
55
  close
56
- } = t4;
56
+ } = t5;
57
57
  return _jsx(PopupList.ButtonGroup, {
58
58
  children: locales.map(localeOption => {
59
59
  const localeOptionLabel = getTranslation(localeOption.label, i18n);
@@ -88,16 +88,16 @@ export const Localizer = props => {
88
88
  $[11] = locales;
89
89
  $[12] = searchParams;
90
90
  $[13] = setLocaleIsLoading;
91
- $[14] = t3;
91
+ $[14] = t4;
92
92
  } else {
93
- t3 = $[14];
93
+ t4 = $[14];
94
94
  }
95
- t2 = _jsx("div", {
96
- className: t1,
95
+ t3 = _jsx("div", {
96
+ className: t2,
97
97
  children: _jsx(Popup, {
98
98
  button: _jsx(LocalizerLabel, {}),
99
99
  horizontalAlign: "right",
100
- render: t3,
100
+ render: t4,
101
101
  showScrollbar: true,
102
102
  size: "large"
103
103
  })
@@ -107,12 +107,12 @@ export const Localizer = props => {
107
107
  $[4] = locales;
108
108
  $[5] = searchParams;
109
109
  $[6] = setLocaleIsLoading;
110
- $[7] = t1;
111
- $[8] = t2;
110
+ $[7] = t2;
111
+ $[8] = t3;
112
112
  } else {
113
- t2 = $[8];
113
+ t3 = $[8];
114
114
  }
115
- return t2;
115
+ return t3;
116
116
  }
117
117
  return null;
118
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","useSearchParams","qs","React","Fragment","useConfig","useLocale","useLocaleLoading","useTranslation","parseSearchParams","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","$","className","config","localization","searchParams","setLocaleIsLoading","i18n","locale","locales","t0","filter","Boolean","t1","join","t2","code","t3","t4","close","_jsx","ButtonGroup","children","map","localeOption","localeOptionLabel","label","Button","active","disabled","href","stringify","addQueryPrefix","onClick","_jsxs","button","horizontalAlign","render"],"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale, useLocaleLoading } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const { config } = useConfig()\n const { localization } = config\n const searchParams = useSearchParams()\n const { setLocaleIsLoading } = useLocaleLoading()\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n disabled={locale.code === localeOption.code}\n href={qs.stringify(\n {\n ...parseSearchParams(searchParams),\n locale: localeOption.code,\n },\n { addQueryPrefix: true },\n )}\n key={localeOption.code}\n onClick={() => {\n setLocaleIsLoading(true)\n close()\n }}\n >\n {localeOptionLabel !== localeOption.code ? (\n <Fragment>\n {localeOptionLabel}\n &nbsp;\n <span className={`${baseClass}__locale-code`}>\n {`(${localeOption.code})`}\n </span>\n </Fragment>\n ) : (\n <span className={`${baseClass}__locale-code`}>{localeOptionLabel}</span>\n )}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","useSearchParams","qs","React","Fragment","useConfig","useLocale","useLocaleLoading","useTranslation","parseSearchParams","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","$","className","config","t0","localization","searchParams","setLocaleIsLoading","i18n","locale","locales","t1","filter","Boolean","t2","join","t3","code","t4","t5","close","_jsx","ButtonGroup","children","map","localeOption","localeOptionLabel","label","Button","active","disabled","href","stringify","addQueryPrefix","onClick","_jsxs","button","horizontalAlign","render"],"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { Fragment } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale, useLocaleLoading } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const {\n config: { localization },\n } = useConfig()\n const searchParams = useSearchParams()\n const { setLocaleIsLoading } = useLocaleLoading()\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n disabled={locale.code === localeOption.code}\n href={qs.stringify(\n {\n ...parseSearchParams(searchParams),\n locale: localeOption.code,\n },\n { addQueryPrefix: true },\n )}\n key={localeOption.code}\n onClick={() => {\n setLocaleIsLoading(true)\n close()\n }}\n >\n {localeOptionLabel !== localeOption.code ? (\n <Fragment>\n {localeOptionLabel}\n &nbsp;\n <span className={`${baseClass}__locale-code`}>\n {`(${localeOption.code})`}\n </span>\n </Fragment>\n ) : (\n <span className={`${baseClass}__locale-code`}>{localeOptionLabel}</span>\n )}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
17
17
  import { PopupList } from '../Popup/index.js';
18
18
  import { ScheduleDrawer } from './ScheduleDrawer/index.js';
19
19
  export const PublishButton = t0 => {
20
- const $ = _c(60);
20
+ const $ = _c(56);
21
21
  const {
22
22
  label: labelProp
23
23
  } = t0;
@@ -35,7 +35,8 @@ export const PublishButton = t0 => {
35
35
  uploadStatus
36
36
  } = useDocumentInfo();
37
37
  const {
38
- config
38
+ config,
39
+ getEntityConfig
39
40
  } = useConfig();
40
41
  const {
41
42
  submit
@@ -76,23 +77,12 @@ export const PublishButton = t0 => {
76
77
  bb0: {
77
78
  if (collectionSlug) {
78
79
  let t4;
79
- if ($[3] !== collectionSlug || $[4] !== config.collections) {
80
- let t5;
81
- if ($[6] !== collectionSlug) {
82
- t5 = t6 => {
83
- const {
84
- slug
85
- } = t6;
86
- return slug === collectionSlug;
87
- };
88
- $[6] = collectionSlug;
89
- $[7] = t5;
90
- } else {
91
- t5 = $[7];
92
- }
93
- t4 = config.collections.find(t5);
80
+ if ($[3] !== collectionSlug || $[4] !== getEntityConfig) {
81
+ t4 = getEntityConfig({
82
+ collectionSlug
83
+ });
94
84
  $[3] = collectionSlug;
95
- $[4] = config.collections;
85
+ $[4] = getEntityConfig;
96
86
  $[5] = t4;
97
87
  } else {
98
88
  t4 = $[5];
@@ -102,26 +92,15 @@ export const PublishButton = t0 => {
102
92
  }
103
93
  if (globalSlug) {
104
94
  let t4;
105
- if ($[8] !== config.globals || $[9] !== globalSlug) {
106
- let t5;
107
- if ($[11] !== globalSlug) {
108
- t5 = t6 => {
109
- const {
110
- slug: slug_0
111
- } = t6;
112
- return slug_0 === globalSlug;
113
- };
114
- $[11] = globalSlug;
115
- $[12] = t5;
116
- } else {
117
- t5 = $[12];
118
- }
119
- t4 = config.globals.find(t5);
120
- $[8] = config.globals;
121
- $[9] = globalSlug;
122
- $[10] = t4;
95
+ if ($[6] !== getEntityConfig || $[7] !== globalSlug) {
96
+ t4 = getEntityConfig({
97
+ globalSlug
98
+ });
99
+ $[6] = getEntityConfig;
100
+ $[7] = globalSlug;
101
+ $[8] = t4;
123
102
  } else {
124
- t4 = $[10];
103
+ t4 = $[8];
125
104
  }
126
105
  t3 = t4;
127
106
  break bb0;
@@ -136,7 +115,7 @@ export const PublishButton = t0 => {
136
115
  const operation = useOperation();
137
116
  const disabled = operation === "update" && !modified;
138
117
  let t4;
139
- if ($[13] !== api || $[14] !== collectionSlug || $[15] !== disabled || $[16] !== globalSlug || $[17] !== id || $[18] !== localeCode || $[19] !== serverURL || $[20] !== submit) {
118
+ if ($[9] !== api || $[10] !== collectionSlug || $[11] !== disabled || $[12] !== globalSlug || $[13] !== id || $[14] !== localeCode || $[15] !== serverURL || $[16] !== submit) {
140
119
  t4 = async () => {
141
120
  if (disabled) {
142
121
  return;
@@ -162,40 +141,40 @@ export const PublishButton = t0 => {
162
141
  skipValidation: true
163
142
  });
164
143
  };
165
- $[13] = api;
166
- $[14] = collectionSlug;
167
- $[15] = disabled;
168
- $[16] = globalSlug;
169
- $[17] = id;
170
- $[18] = localeCode;
171
- $[19] = serverURL;
172
- $[20] = submit;
173
- $[21] = t4;
144
+ $[9] = api;
145
+ $[10] = collectionSlug;
146
+ $[11] = disabled;
147
+ $[12] = globalSlug;
148
+ $[13] = id;
149
+ $[14] = localeCode;
150
+ $[15] = serverURL;
151
+ $[16] = submit;
152
+ $[17] = t4;
174
153
  } else {
175
- t4 = $[21];
154
+ t4 = $[17];
176
155
  }
177
156
  const saveDraft = t4;
178
157
  let t5;
179
- if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
158
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
180
159
  t5 = ["s"];
181
- $[22] = t5;
160
+ $[18] = t5;
182
161
  } else {
183
- t5 = $[22];
162
+ t5 = $[18];
184
163
  }
185
164
  let t6;
186
- if ($[23] !== editDepth) {
165
+ if ($[19] !== editDepth) {
187
166
  t6 = {
188
167
  cmdCtrlKey: true,
189
168
  editDepth,
190
169
  keyCodes: t5
191
170
  };
192
- $[23] = editDepth;
193
- $[24] = t6;
171
+ $[19] = editDepth;
172
+ $[20] = t6;
194
173
  } else {
195
- t6 = $[24];
174
+ t6 = $[20];
196
175
  }
197
176
  let t7;
198
- if ($[25] !== docConfig || $[26] !== saveDraft) {
177
+ if ($[21] !== docConfig || $[22] !== saveDraft) {
199
178
  t7 = e => {
200
179
  e.preventDefault();
201
180
  e.stopPropagation();
@@ -203,15 +182,15 @@ export const PublishButton = t0 => {
203
182
  saveDraft();
204
183
  }
205
184
  };
206
- $[25] = docConfig;
207
- $[26] = saveDraft;
208
- $[27] = t7;
185
+ $[21] = docConfig;
186
+ $[22] = saveDraft;
187
+ $[23] = t7;
209
188
  } else {
210
- t7 = $[27];
189
+ t7 = $[23];
211
190
  }
212
191
  useHotkey(t6, t7);
213
192
  let t8;
214
- if ($[28] !== setHasPublishedDoc || $[29] !== setMostRecentVersionIsAutosaved || $[30] !== setUnpublishedVersionCount || $[31] !== submit || $[32] !== uploadStatus) {
193
+ if ($[24] !== setHasPublishedDoc || $[25] !== setMostRecentVersionIsAutosaved || $[26] !== setUnpublishedVersionCount || $[27] !== submit || $[28] !== uploadStatus) {
215
194
  t8 = () => {
216
195
  if (uploadStatus === "uploading") {
217
196
  return;
@@ -225,18 +204,18 @@ export const PublishButton = t0 => {
225
204
  setMostRecentVersionIsAutosaved(false);
226
205
  setHasPublishedDoc(true);
227
206
  };
228
- $[28] = setHasPublishedDoc;
229
- $[29] = setMostRecentVersionIsAutosaved;
230
- $[30] = setUnpublishedVersionCount;
231
- $[31] = submit;
232
- $[32] = uploadStatus;
233
- $[33] = t8;
207
+ $[24] = setHasPublishedDoc;
208
+ $[25] = setMostRecentVersionIsAutosaved;
209
+ $[26] = setUnpublishedVersionCount;
210
+ $[27] = submit;
211
+ $[28] = uploadStatus;
212
+ $[29] = t8;
234
213
  } else {
235
- t8 = $[33];
214
+ t8 = $[29];
236
215
  }
237
216
  const publish = t8;
238
217
  let t9;
239
- if ($[34] !== api || $[35] !== collectionSlug || $[36] !== globalSlug || $[37] !== id || $[38] !== serverURL || $[39] !== setHasPublishedDoc || $[40] !== submit || $[41] !== uploadStatus) {
218
+ if ($[30] !== api || $[31] !== collectionSlug || $[32] !== globalSlug || $[33] !== id || $[34] !== serverURL || $[35] !== setHasPublishedDoc || $[36] !== submit || $[37] !== uploadStatus) {
240
219
  t9 = locale => {
241
220
  if (uploadStatus === "uploading") {
242
221
  return;
@@ -253,17 +232,17 @@ export const PublishButton = t0 => {
253
232
  });
254
233
  setHasPublishedDoc(true);
255
234
  };
256
- $[34] = api;
257
- $[35] = collectionSlug;
258
- $[36] = globalSlug;
259
- $[37] = id;
260
- $[38] = serverURL;
261
- $[39] = setHasPublishedDoc;
262
- $[40] = submit;
263
- $[41] = uploadStatus;
264
- $[42] = t9;
235
+ $[30] = api;
236
+ $[31] = collectionSlug;
237
+ $[32] = globalSlug;
238
+ $[33] = id;
239
+ $[34] = serverURL;
240
+ $[35] = setHasPublishedDoc;
241
+ $[36] = submit;
242
+ $[37] = uploadStatus;
243
+ $[38] = t9;
265
244
  } else {
266
- t9 = $[42];
245
+ t9 = $[38];
267
246
  }
268
247
  const publishSpecificLocale = t9;
269
248
  if (!hasPublishPermission) {
@@ -271,7 +250,7 @@ export const PublishButton = t0 => {
271
250
  }
272
251
  const t10 = !canPublish;
273
252
  let t11;
274
- if ($[43] !== canSchedulePublish || $[44] !== drawerSlug || $[45] !== i18n?.language || $[46] !== localeCode || $[47] !== localization || $[48] !== publishSpecificLocale || $[49] !== t || $[50] !== toggleModal) {
253
+ if ($[39] !== canSchedulePublish || $[40] !== drawerSlug || $[41] !== i18n?.language || $[42] !== localeCode || $[43] !== localization || $[44] !== publishSpecificLocale || $[45] !== t || $[46] !== toggleModal) {
275
254
  t11 = localization || canSchedulePublish ? t12 => {
276
255
  const {
277
256
  close
@@ -298,20 +277,20 @@ export const PublishButton = t0 => {
298
277
  }) : null]
299
278
  });
300
279
  } : undefined;
301
- $[43] = canSchedulePublish;
302
- $[44] = drawerSlug;
303
- $[45] = i18n?.language;
304
- $[46] = localeCode;
305
- $[47] = localization;
306
- $[48] = publishSpecificLocale;
307
- $[49] = t;
308
- $[50] = toggleModal;
309
- $[51] = t11;
280
+ $[39] = canSchedulePublish;
281
+ $[40] = drawerSlug;
282
+ $[41] = i18n?.language;
283
+ $[42] = localeCode;
284
+ $[43] = localization;
285
+ $[44] = publishSpecificLocale;
286
+ $[45] = t;
287
+ $[46] = toggleModal;
288
+ $[47] = t11;
310
289
  } else {
311
- t11 = $[51];
290
+ t11 = $[47];
312
291
  }
313
292
  let t12;
314
- if ($[52] !== canSchedulePublish || $[53] !== drawerSlug || $[54] !== isModalOpen || $[55] !== label || $[56] !== publish || $[57] !== t10 || $[58] !== t11) {
293
+ if ($[48] !== canSchedulePublish || $[49] !== drawerSlug || $[50] !== isModalOpen || $[51] !== label || $[52] !== publish || $[53] !== t10 || $[54] !== t11) {
315
294
  t12 = _jsxs(React.Fragment, {
316
295
  children: [_jsx(FormSubmit, {
317
296
  buttonId: "action-save",
@@ -325,16 +304,16 @@ export const PublishButton = t0 => {
325
304
  slug: drawerSlug
326
305
  })]
327
306
  });
328
- $[52] = canSchedulePublish;
329
- $[53] = drawerSlug;
330
- $[54] = isModalOpen;
331
- $[55] = label;
332
- $[56] = publish;
333
- $[57] = t10;
334
- $[58] = t11;
335
- $[59] = t12;
307
+ $[48] = canSchedulePublish;
308
+ $[49] = drawerSlug;
309
+ $[50] = isModalOpen;
310
+ $[51] = label;
311
+ $[52] = publish;
312
+ $[53] = t10;
313
+ $[54] = t11;
314
+ $[55] = t12;
336
315
  } else {
337
- t12 = $[59];
316
+ t12 = $[55];
338
317
  }
339
318
  return t12;
340
319
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","i18n","t","t2","t3","bb0","t4","collections","t5","t6","slug","find","globals","slug_0","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","Symbol","for","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","t10","t11","language","t12","close","_jsxs","Fragment","children","_jsx","ButtonGroup","Button","onClick","locales","map","locale_0","formattedLabel","isActive","buttonId","size","SubMenuPopupContent","type"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return config.collections.find(({ slug }) => slug === collectionSlug)\n }\n\n if (globalSlug) {\n return config.globals.find(({ slug }) => slug === globalSlug)\n }\n }, [collectionSlug, globalSlug, config])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled && hasPublishPermission && (globalSlug || (collectionSlug && id)),\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button onClick={() => [toggleModal(drawerSlug), close()]}>\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization\n ? localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive =\n typeof locale === 'string'\n ? locale === localeCode\n : locale.code === localeCode\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', {\n locale: formattedLabel || locale.code,\n })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : null}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && <ScheduleDrawer slug={drawerSlug} />}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","qs","React","useCallback","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","PopupList","ScheduleDrawer","PublishButton","t0","$","label","labelProp","id","collectionSlug","docConfig","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","t1","serverURL","api","i18n","t","t2","t3","bb0","t4","undefined","entityConfig","hasNewerVersions","canPublish","scheduledPublishEnabled","versions","drafts","schedulePublish","canSchedulePublish","Boolean","operation","disabled","search","action","method","overrides","_status","skipValidation","saveDraft","t5","Symbol","for","t6","cmdCtrlKey","keyCodes","t7","e","preventDefault","stopPropagation","autosave","t8","publish","t9","locale","params","stringify","publishSpecificLocale","action_0","t10","t11","language","t12","close","_jsxs","Fragment","children","_jsx","ButtonGroup","Button","onClick","locales","map","locale_0","formattedLabel","isActive","buttonId","size","SubMenuPopupContent","type","slug"],"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport const PublishButton: React.FC<{ label?: string }> = ({ label: labelProp }) => {\n const {\n id,\n collectionSlug,\n docConfig,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled =\n typeof entityConfig?.versions?.drafts === 'object' &&\n entityConfig?.versions?.drafts.schedulePublish\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled && hasPublishPermission && (globalSlug || (collectionSlug && id)),\n )\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && docConfig.versions?.drafts && docConfig.versions?.drafts?.autosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(() => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n void submit({\n overrides: {\n _status: 'published',\n },\n })\n\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}/${id ? `${'/' + id}` : ''}`\n }${params ? '?' + params : ''}`\n\n void submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n setHasPublishedDoc(true)\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n onClick={publish}\n size=\"medium\"\n SubMenuPopupContent={\n localization || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button onClick={() => [toggleModal(drawerSlug), close()]}>\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {localization\n ? localization.locales.map((locale) => {\n const formattedLabel =\n typeof locale.label === 'string'\n ? locale.label\n : locale.label && locale.label[i18n?.language]\n\n const isActive =\n typeof locale === 'string'\n ? locale === localeCode\n : locale.code === localeCode\n\n if (isActive) {\n return (\n <PopupList.ButtonGroup key={locale.code}>\n <PopupList.Button\n onClick={() => [publishSpecificLocale(locale.code), close()]}\n >\n {t('version:publishIn', {\n locale: formattedLabel || locale.code,\n })}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n }\n })\n : null}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && <ScheduleDrawer slug={drawerSlug} />}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const DrawerLink = props => {
16
16
  } = props;
17
17
  const cellProps = useCellProps();
18
18
  const t0 = cellProps?.rowData.id;
19
- const t1 = cellProps?.collectionConfig.slug;
19
+ const t1 = cellProps?.collectionSlug;
20
20
  let t2;
21
21
  if ($[0] !== t0 || $[1] !== t1) {
22
22
  t2 = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useDocumentDrawer","DefaultCell","useCellProps","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionConfig","slug","t2","collectionSlug","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","args_0","t6","_jsxs","className","children","_jsx","link","onClick","onDelete","onSave"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerDelete?: DocumentDrawerProps['onDelete']\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerDelete: onDrawerDeleteFromProps, onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionConfig.slug,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerSaveFromProps === 'function') {\n void onDrawerSaveFromProps(args)\n }\n },\n [closeDrawer, onDrawerSaveFromProps],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerDeleteFromProps === 'function') {\n void onDrawerDeleteFromProps(args)\n }\n },\n [closeDrawer, onDrawerDeleteFromProps],\n )\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n <DocumentDrawer onDelete={onDrawerDelete} onSave={onDrawerSave} />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,cAAA,EAAAC,uBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAyFL,KAAA;EAEzF,MAAAM,SAAA,GAAkBR,YAAA;EAGZ,MAAAS,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,gBAAA,CAAAC,IAAA;EAA4B,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFqCG,EAAA;MAAAJ,EAAA,EAC7EF,EAAmB;MAAAO,cAAA,EACPJ;IAA4B;IAC9CT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAHA,OAAAc,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiErB,iBAAA,CAAkBiB,EAGnF;EAH8C;IAAAK;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAiB,WAAA,IAAAjB,CAAA,QAAAI,qBAAA;IAM3Dc,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOb,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBe,IAAA;MAAA;IAAA;IAE/BnB,CAAA,MAAAiB,WAAA;IAAAjB,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBe,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAiB,WAAA,IAAAjB,CAAA,QAAAE,uBAAA;IAIpCkB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOf,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBiB,MAAA;MAAA;IAAA;IAEjCnB,CAAA,MAAAiB,WAAA;IAAAjB,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBmB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAtB,CAAA,QAAAc,cAAA,IAAAd,CAAA,SAAAe,qBAAA,IAAAf,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCmB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA9B,WAAA;QAAA,GAAiBS,SAAS;QAAAmB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAAhC,QAAA,IAAC;MAAA,C,GAEHgC,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB5B,cAAA;QAAA6B,MAAA,EAAwB3B;MAAA,C;;;;;;;;;;;SALpDmB,E;CAQJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useDocumentDrawer","DefaultCell","useCellProps","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionSlug","t2","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","args_0","t6","_jsxs","className","children","_jsx","link","onClick","onDelete","onSave"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerDelete?: DocumentDrawerProps['onDelete']\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerDelete: onDrawerDeleteFromProps, onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionSlug,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerSaveFromProps === 'function') {\n void onDrawerSaveFromProps(args)\n }\n },\n [closeDrawer, onDrawerSaveFromProps],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerDeleteFromProps === 'function') {\n void onDrawerDeleteFromProps(args)\n }\n },\n [closeDrawer, onDrawerDeleteFromProps],\n )\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n <DocumentDrawer onDelete={onDrawerDelete} onSave={onDrawerSave} />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,cAAA,EAAAC,uBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAyFL,KAAA;EAEzF,MAAAM,SAAA,GAAkBR,YAAA;EAGZ,MAAAS,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,cAAA;EAAW,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFsDE,EAAA;MAAAH,EAAA,EAC7EF,EAAmB;MAAAI,cAAA,EACPD;IAAW;IAC7BT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAHA,OAAAY,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiEnB,iBAAA,CAAkBgB,EAGnF;EAH8C;IAAAI;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAI,qBAAA;IAM3DY,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOX,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBa,IAAA;MAAA;IAAA;IAE/BjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBa,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAE,uBAAA;IAIpCgB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOb,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBe,MAAA;MAAA;IAAA;IAEjCjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBiB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,SAAAa,qBAAA,IAAAb,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCiB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA5B,WAAA;QAAA,GAAiBS,SAAS;QAAAiB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAA9B,QAAA,IAAC;MAAA,C,GAEH8B,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB1B,cAAA;QAAA2B,MAAA,EAAwBzB;MAAA,C;;;;;;;;;;;SALpDiB,E;CAQJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA0PvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,aAAa,EACb,KAAK,EACN,MAAM,SAAS,CAAA;AAGhB,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAMrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwPvE,CAAA"}