@payloadcms/ui 3.59.0-internal.5d79493 → 3.59.0-internal.7dedb09
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.
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +2 -2
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +1 -1
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +1 -1
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +5 -1
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts +6 -0
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +6 -0
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/PageControls/index.d.ts +9 -0
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +101 -45
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +3 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.d.ts +3 -0
- package/dist/elements/StickyToolbar/index.d.ts.map +1 -1
- package/dist/elements/StickyToolbar/index.js +3 -0
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/index.scss +1 -0
- package/dist/exports/client/{CodeEditor-R4I2K7IG.js → CodeEditor-2AHTKKBE.js} +2 -2
- package/dist/exports/client/{chunk-F5UB7KI3.js → chunk-6UH4KUYK.js} +4 -4
- package/dist/exports/client/chunk-6UH4KUYK.js.map +7 -0
- package/dist/exports/client/index.d.ts +6 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Upload/RelationshipContent/index.js +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/hooks/useControllableState.d.ts +2 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -1
- package/dist/hooks/useControllableState.js +44 -11
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +2 -2
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +10 -2
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/dateLocales.d.ts +1 -0
- package/dist/utilities/dateLocales.d.ts.map +1 -1
- package/dist/utilities/dateLocales.js +2 -0
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/getColumns.js +1 -1
- package/dist/utilities/getColumns.js.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts +3 -3
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/views/Edit/index.d.ts +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +17 -9
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/exports/client/chunk-F5UB7KI3.js.map +0 -7
- /package/dist/exports/client/{CodeEditor-R4I2K7IG.js.map → CodeEditor-2AHTKKBE.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,cAAc,CAAA;AAMrB,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiG/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
|
|
@@ -53,7 +53,7 @@ const CodeEditor = props => {
|
|
|
53
53
|
if ($[4] !== MIN_HEIGHT || $[5] !== paddingFromProps || $[6] !== recalculatedHeightAt || $[7] !== value) {
|
|
54
54
|
t3 = () => {
|
|
55
55
|
if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {
|
|
56
|
-
setDynamicHeight(Math.max(MIN_HEIGHT, value
|
|
56
|
+
setDynamicHeight(value ? Math.max(MIN_HEIGHT, value.split("\n").length * 18 + 2 + paddingFromProps) : MIN_HEIGHT);
|
|
57
57
|
prevCalculatedHeightAt.current = recalculatedHeightAt;
|
|
58
58
|
}
|
|
59
59
|
};
|
|
@@ -89,7 +89,7 @@ const CodeEditor = props => {
|
|
|
89
89
|
height: maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight,
|
|
90
90
|
onChange: (value_0, ev) => {
|
|
91
91
|
rest.onChange?.(value_0, ev);
|
|
92
|
-
setDynamicHeight(Math.max(MIN_HEIGHT, value_0
|
|
92
|
+
setDynamicHeight(value_0 ? Math.max(MIN_HEIGHT, value_0.split("\n").length * 18 + 2 + paddingFromProps) : MIN_HEIGHT);
|
|
93
93
|
},
|
|
94
94
|
onMount: (editor, monaco) => {
|
|
95
95
|
rest.onMount?.(editor, monaco);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","defaultGlobalEditorOptions","defaultOptions","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","recalculatedHeightAt","value","rest","MIN_HEIGHT","prevCalculatedHeightAt","useRef","insertSpaces","tabSize","trimAutoWhitespace","globalEditorOptions","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t0","defaultLanguage","t1","t2","filter","Boolean","classes","join","t3","t4","current","Math","max","split","length","useEffect","_jsx","loading","height","detectIndentation","undefined","min","onChange","value_0","ev","onMount","editor","monaco","model","getModel","updateOptions","getValue"],"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React, { useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { defaultGlobalEditorOptions, defaultOptions } from './constants.js'\nimport './index.scss'\n\nconst Editor = 'default' in EditorImport ? EditorImport.default : EditorImport\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const {\n className,\n maxHeight,\n minHeight,\n options,\n readOnly,\n recalculatedHeightAt,\n value,\n ...rest\n } = props\n const MIN_HEIGHT = minHeight ?? 56 // equivalent to 3 lines\n const prevCalculatedHeightAt = React.useRef<number | undefined>(recalculatedHeightAt)\n\n // Extract per-model settings to avoid global conflicts\n const { insertSpaces, tabSize, trimAutoWhitespace, ...globalEditorOptions } = options || {}\n const paddingFromProps = options?.padding\n ? (options.padding.top || 0) + (options.padding?.bottom || 0)\n : 0\n\n const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT)\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {\n setDynamicHeight(\n Math.max(MIN_HEIGHT, value
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","names":["c","_c","EditorImport","React","useState","useTheme","ShimmerEffect","defaultGlobalEditorOptions","defaultOptions","Editor","default","baseClass","CodeEditor","props","$","className","maxHeight","minHeight","options","readOnly","recalculatedHeightAt","value","rest","MIN_HEIGHT","prevCalculatedHeightAt","useRef","insertSpaces","tabSize","trimAutoWhitespace","globalEditorOptions","paddingFromProps","padding","top","bottom","dynamicHeight","setDynamicHeight","theme","t0","defaultLanguage","t1","t2","filter","Boolean","classes","join","t3","t4","current","Math","max","split","length","useEffect","_jsx","loading","height","detectIndentation","undefined","min","onChange","value_0","ev","onMount","editor","monaco","model","getModel","updateOptions","getValue"],"sources":["../../../src/elements/CodeEditor/CodeEditor.tsx"],"sourcesContent":["'use client'\nimport EditorImport from '@monaco-editor/react'\nimport React, { useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { defaultGlobalEditorOptions, defaultOptions } from './constants.js'\nimport './index.scss'\n\nconst Editor = 'default' in EditorImport ? EditorImport.default : EditorImport\n\nconst baseClass = 'code-editor'\n\nconst CodeEditor: React.FC<Props> = (props) => {\n const {\n className,\n maxHeight,\n minHeight,\n options,\n readOnly,\n recalculatedHeightAt,\n value,\n ...rest\n } = props\n const MIN_HEIGHT = minHeight ?? 56 // equivalent to 3 lines\n const prevCalculatedHeightAt = React.useRef<number | undefined>(recalculatedHeightAt)\n\n // Extract per-model settings to avoid global conflicts\n const { insertSpaces, tabSize, trimAutoWhitespace, ...globalEditorOptions } = options || {}\n const paddingFromProps = options?.padding\n ? (options.padding.top || 0) + (options.padding?.bottom || 0)\n : 0\n\n const [dynamicHeight, setDynamicHeight] = useState(MIN_HEIGHT)\n const { theme } = useTheme()\n\n const classes = [\n baseClass,\n className,\n rest?.defaultLanguage ? `language--${rest.defaultLanguage}` : '',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')\n\n React.useEffect(() => {\n if (recalculatedHeightAt && recalculatedHeightAt > prevCalculatedHeightAt.current) {\n setDynamicHeight(\n value\n ? Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps)\n : MIN_HEIGHT,\n )\n prevCalculatedHeightAt.current = recalculatedHeightAt\n }\n }, [value, MIN_HEIGHT, paddingFromProps, recalculatedHeightAt])\n\n return (\n <Editor\n className={classes}\n loading={<ShimmerEffect height={dynamicHeight} />}\n options={{\n ...defaultGlobalEditorOptions,\n ...globalEditorOptions,\n readOnly: Boolean(readOnly),\n /**\n * onMount the model will set:\n * - insertSpaces\n * - tabSize\n * - trimAutoWhitespace\n */\n detectIndentation: false,\n insertSpaces: undefined,\n tabSize: undefined,\n trimAutoWhitespace: undefined,\n }}\n theme={theme === 'dark' ? 'vs-dark' : 'vs'}\n value={value}\n {...rest}\n // Since we are not building an IDE and the container\n // can already have scrolling, we want the height of the\n // editor to fit its content.\n // See: https://github.com/microsoft/monaco-editor/discussions/3677\n height={maxHeight ? Math.min(dynamicHeight, maxHeight) : dynamicHeight}\n onChange={(value, ev) => {\n rest.onChange?.(value, ev)\n setDynamicHeight(\n value\n ? Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps)\n : MIN_HEIGHT,\n )\n }}\n onMount={(editor, monaco) => {\n rest.onMount?.(editor, monaco)\n\n // Set per-model options to avoid global conflicts\n const model = editor.getModel()\n if (model) {\n model.updateOptions({\n insertSpaces: insertSpaces ?? defaultOptions.insertSpaces,\n tabSize: tabSize ?? defaultOptions.tabSize,\n trimAutoWhitespace: trimAutoWhitespace ?? defaultOptions.trimAutoWhitespace,\n })\n }\n\n setDynamicHeight(\n Math.max(MIN_HEIGHT, editor.getValue().split('\\n').length * 18 + 2 + paddingFromProps),\n )\n }}\n />\n )\n}\n\n// eslint-disable-next-line no-restricted-exports\nexport default CodeEditor\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useRouteCache","useRouteTransition","useTranslation","isClientUserObject","Button","Modal","useModal","modalSlug","baseClass","formatDate","date","Intl","DateTimeFormat","day","hour","hour12","minute","month","year","format","DocumentLocked","t0","$","handleGoBack","isActive","onReadOnly","onTakeOver","updatedAt","user","closeModal","openModal","t","clearRouteCache","startRouteTransition","t1","t2","t3","t4","t5","email","id","t6","t7","t8","_jsx","className","closeOnBlur","onClose","slug","children","_jsxs","buttonStyle","onClick","size"],"sources":["../../../src/elements/DocumentLocked/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport React, { useEffect } from 'react'\n\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isClientUserObject } from '../../utilities/isClientUserObject.js'\nimport { Button } from '../Button/index.js'\nimport { Modal, useModal } from '../Modal/index.js'\nimport './index.scss'\n\nconst modalSlug = 'document-locked'\n\nconst baseClass = 'document-locked'\n\nconst formatDate = (date) => {\n if (!date) {\n return ''\n }\n return new Intl.DateTimeFormat('en-US', {\n day: 'numeric',\n hour: 'numeric',\n hour12: true,\n minute: 'numeric',\n month: 'short',\n year: 'numeric',\n }).format(date)\n}\n\nexport const DocumentLocked: React.FC<{\n handleGoBack: () => void\n isActive: boolean\n onReadOnly: () => void\n onTakeOver: () => void\n updatedAt?: null | number\n user?: ClientUser | number | string\n}> = ({ handleGoBack, isActive, onReadOnly, onTakeOver, updatedAt, user }) => {\n const { closeModal, openModal } = useModal()\n const { t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const { startRouteTransition } = useRouteTransition()\n\n useEffect(() => {\n if (isActive) {\n openModal(modalSlug)\n } else {\n closeModal(modalSlug)\n }\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal\n className={baseClass}\n // Fixes https://github.com/payloadcms/payload/issues/13778\n closeOnBlur={false}\n onClose={() => {\n startRouteTransition(() => handleGoBack())\n }}\n slug={modalSlug}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:documentLocked')}</h1>\n <p>\n <strong>\n {isClientUserObject(user) ? (user.email ?? user.id) : `${t('general:user')}: ${user}`}\n </strong>{' '}\n {t('general:currentlyEditing')}\n </p>\n <p>\n {t('general:editedSince')} <strong>{formatDate(updatedAt)}</strong>\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id={`${modalSlug}-go-back`}\n onClick={() => {\n startRouteTransition(() => handleGoBack())\n }}\n size=\"large\"\n >\n {t('general:goBack')}\n </Button>\n <Button\n buttonStyle=\"secondary\"\n id={`${modalSlug}-view-read-only`}\n onClick={() => {\n onReadOnly()\n closeModal(modalSlug)\n clearRouteCache()\n }}\n size=\"large\"\n >\n {t('general:viewReadOnly')}\n </Button>\n <Button\n buttonStyle=\"primary\"\n id={`${modalSlug}-take-over`}\n onClick={() => {\n onTakeOver()\n closeModal(modalSlug)\n }}\n size=\"large\"\n >\n {t('general:takeOver')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAEjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,MAAM,QAAQ;AACvB,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,SAAA,GAAY;AAElB,MAAMC,UAAA,GAAcC,IAAA;EAClB,IAAI,CAACA,IAAA,EAAM;IACT,OAAO;EACT;EACA,OAAO,IAAIC,IAAA,CAAKC,cAAc,CAAC,SAAS;IACtCC,GAAA,EAAK;IACLC,IAAA,EAAM;IACNC,MAAA,EAAQ;IACRC,MAAA,EAAQ;IACRC,KAAA,EAAO;IACPC,IAAA,EAAM;EACR,GAAGC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useEffect","useRouteCache","useRouteTransition","useTranslation","isClientUserObject","Button","Modal","useModal","modalSlug","baseClass","formatDate","date","Intl","DateTimeFormat","day","hour","hour12","minute","month","year","format","Date","DocumentLocked","t0","$","handleGoBack","isActive","onReadOnly","onTakeOver","updatedAt","user","closeModal","openModal","t","clearRouteCache","startRouteTransition","t1","t2","t3","t4","t5","email","id","t6","t7","t8","_jsx","className","closeOnBlur","onClose","slug","children","_jsxs","buttonStyle","onClick","size"],"sources":["../../../src/elements/DocumentLocked/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser } from 'payload'\n\nimport React, { useEffect } from 'react'\n\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { isClientUserObject } from '../../utilities/isClientUserObject.js'\nimport { Button } from '../Button/index.js'\nimport { Modal, useModal } from '../Modal/index.js'\nimport './index.scss'\n\nconst modalSlug = 'document-locked'\n\nconst baseClass = 'document-locked'\n\nconst formatDate = (date) => {\n if (!date) {\n return ''\n }\n return new Intl.DateTimeFormat('en-US', {\n day: 'numeric',\n hour: 'numeric',\n hour12: true,\n minute: 'numeric',\n month: 'short',\n year: 'numeric',\n }).format(new Date(date))\n}\n\nexport const DocumentLocked: React.FC<{\n handleGoBack: () => void\n isActive: boolean\n onReadOnly: () => void\n onTakeOver: () => void\n updatedAt?: null | number\n user?: ClientUser | number | string\n}> = ({ handleGoBack, isActive, onReadOnly, onTakeOver, updatedAt, user }) => {\n const { closeModal, openModal } = useModal()\n const { t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const { startRouteTransition } = useRouteTransition()\n\n useEffect(() => {\n if (isActive) {\n openModal(modalSlug)\n } else {\n closeModal(modalSlug)\n }\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal\n className={baseClass}\n // Fixes https://github.com/payloadcms/payload/issues/13778\n closeOnBlur={false}\n onClose={() => {\n startRouteTransition(() => handleGoBack())\n }}\n slug={modalSlug}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:documentLocked')}</h1>\n <p>\n <strong>\n {isClientUserObject(user) ? (user.email ?? user.id) : `${t('general:user')}: ${user}`}\n </strong>{' '}\n {t('general:currentlyEditing')}\n </p>\n <p>\n {t('general:editedSince')} <strong>{formatDate(updatedAt)}</strong>\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id={`${modalSlug}-go-back`}\n onClick={() => {\n startRouteTransition(() => handleGoBack())\n }}\n size=\"large\"\n >\n {t('general:goBack')}\n </Button>\n <Button\n buttonStyle=\"secondary\"\n id={`${modalSlug}-view-read-only`}\n onClick={() => {\n onReadOnly()\n closeModal(modalSlug)\n clearRouteCache()\n }}\n size=\"large\"\n >\n {t('general:viewReadOnly')}\n </Button>\n <Button\n buttonStyle=\"primary\"\n id={`${modalSlug}-take-over`}\n onClick={() => {\n onTakeOver()\n closeModal(modalSlug)\n }}\n size=\"large\"\n >\n {t('general:takeOver')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,7 +75,7 @@ export const GroupByBuilder = ({
|
|
|
75
75
|
page: 1
|
|
76
76
|
});
|
|
77
77
|
},
|
|
78
|
-
options: reducedFields.filter(field_0 => !field_0.field.admin.
|
|
78
|
+
options: reducedFields.filter(field_0 => !field_0.field.admin.disableGroupBy && field_0.value !== 'id' && supportedFieldTypes.includes(field_0.field.type)),
|
|
79
79
|
value: {
|
|
80
80
|
label: groupByField?.label || t('general:selectValue'),
|
|
81
81
|
value: groupByFieldName || ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useMemo","SelectInput","useListQuery","useTranslation","reduceFieldsToOptions","ReactSelect","baseClass","supportedFieldTypes","GroupByBuilder","collectionSlug","fields","i18n","t","reducedFields","query","refineListData","groupByFieldName","groupBy","replace","groupByField","find","field","value","_jsxs","className","_jsx","label","id","onClick","type","filterOption","option","inputValue","data","plainTextLabel","toLowerCase","includes","isClearable","isMulti","onChange","v","undefined","page","startsWith","options","filter","admin","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useMemo","SelectInput","useListQuery","useTranslation","reduceFieldsToOptions","ReactSelect","baseClass","supportedFieldTypes","GroupByBuilder","collectionSlug","fields","i18n","t","reducedFields","query","refineListData","groupByFieldName","groupBy","replace","groupByField","find","field","value","_jsxs","className","_jsx","label","id","onClick","type","filterOption","option","inputValue","data","plainTextLabel","toLowerCase","includes","isClearable","isMulti","onChange","v","undefined","page","startsWith","options","filter","admin","disableGroupBy","name","path","readOnly"],"sources":["../../../src/elements/GroupByBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, Field, SanitizedCollectionConfig } from 'payload'\n\nimport './index.scss'\n\nimport React, { useMemo } from 'react'\n\nimport { SelectInput } from '../../fields/Select/Input.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToOptions } from '../../utilities/reduceFieldsToOptions.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\n\nexport type Props = {\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n fields: ClientField[]\n}\n\nconst baseClass = 'group-by-builder'\n\n/**\n * Note: Some fields are already omitted from the list of fields:\n * - fields with nested field, e.g. `tabs`, `groups`, etc.\n * - fields that don't affect data, i.e. `row`, `collapsible`, `ui`, etc.\n * So we don't technically need to omit them here, but do anyway.\n * But some remaining fields still need an additional check, e.g. `richText`, etc.\n */\nconst supportedFieldTypes: Field['type'][] = [\n 'text',\n 'textarea',\n 'number',\n 'select',\n 'relationship',\n 'date',\n 'checkbox',\n 'radio',\n 'email',\n 'number',\n 'upload',\n]\n\nexport const GroupByBuilder: React.FC<Props> = ({ collectionSlug, fields }) => {\n const { i18n, t } = useTranslation()\n\n const reducedFields = useMemo(() => reduceFieldsToOptions({ fields, i18n }), [fields, i18n])\n\n const { query, refineListData } = useListQuery()\n\n const groupByFieldName = query.groupBy?.replace(/^-/, '')\n\n const groupByField = reducedFields.find((field) => field.value === groupByFieldName)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n <p>\n {t('general:groupByLabel', {\n label: '',\n })}\n </p>\n {query.groupBy && (\n <button\n className={`${baseClass}__clear-button`}\n id=\"group-by--reset\"\n onClick={async () => {\n await refineListData({\n groupBy: '',\n })\n }}\n type=\"button\"\n >\n {t('general:clear')}\n </button>\n )}\n </div>\n <div className={`${baseClass}__inputs`}>\n <ReactSelect\n filterOption={(option, inputValue) =>\n ((option?.data?.plainTextLabel as string) || option.label)\n .toLowerCase()\n .includes(inputValue.toLowerCase())\n }\n id=\"group-by--field-select\"\n isClearable\n isMulti={false}\n onChange={async (v: { value: string } | null) => {\n const value = v === null ? undefined : v.value\n\n // value is being cleared\n if (v === null) {\n await refineListData({\n groupBy: '',\n page: 1,\n })\n }\n\n await refineListData({\n groupBy: value ? (query.groupBy?.startsWith('-') ? `-${value}` : value) : undefined,\n page: 1,\n })\n }}\n options={reducedFields.filter(\n (field) =>\n !field.field.admin.disableGroupBy &&\n field.value !== 'id' &&\n supportedFieldTypes.includes(field.field.type),\n )}\n value={{\n label: groupByField?.label || t('general:selectValue'),\n value: groupByFieldName || '',\n }}\n />\n <SelectInput\n id=\"group-by--sort\"\n isClearable={false}\n name=\"direction\"\n onChange={async ({ value }: { value: string }) => {\n if (!groupByFieldName) {\n return\n }\n\n await refineListData({\n groupBy: value === 'asc' ? groupByFieldName : `-${groupByFieldName}`,\n page: 1,\n })\n }}\n options={[\n { label: t('general:ascending'), value: 'asc' },\n { label: t('general:descending'), value: 'desc' },\n ]}\n path=\"direction\"\n readOnly={!groupByFieldName}\n value={\n !query.groupBy\n ? 'asc'\n : typeof query.groupBy === 'string'\n ? `${query.groupBy.startsWith('-') ? 'desc' : 'asc'}`\n : ''\n }\n />\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/Toggler/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/Toggler/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAsBtC,CAAA"}
|
|
@@ -8,11 +8,15 @@ const baseClass = 'live-preview-toggler';
|
|
|
8
8
|
export const LivePreviewToggler = () => {
|
|
9
9
|
const {
|
|
10
10
|
isLivePreviewing,
|
|
11
|
-
setIsLivePreviewing
|
|
11
|
+
setIsLivePreviewing,
|
|
12
|
+
url: livePreviewURL
|
|
12
13
|
} = useLivePreviewContext();
|
|
13
14
|
const {
|
|
14
15
|
t
|
|
15
16
|
} = useTranslation();
|
|
17
|
+
if (!livePreviewURL) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
16
20
|
return /*#__PURE__*/_jsx("button", {
|
|
17
21
|
"aria-label": isLivePreviewing ? t('general:exitLivePreview') : t('general:livePreview'),
|
|
18
22
|
className: [baseClass, isLivePreviewing && `${baseClass}--active`].filter(Boolean).join(' '),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","EyeIcon","useLivePreviewContext","useTranslation","baseClass","LivePreviewToggler","isLivePreviewing","setIsLivePreviewing","t","_jsx","className","filter","Boolean","join","id","onClick","title","type","active"],"sources":["../../../../src/elements/LivePreview/Toggler/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toggler'\n\nexport const LivePreviewToggler: React.FC = () => {\n const { isLivePreviewing, setIsLivePreviewing } = useLivePreviewContext()\n const { t } = useTranslation()\n\n return (\n <button\n aria-label={isLivePreviewing ? t('general:exitLivePreview') : t('general:livePreview')}\n className={[baseClass, isLivePreviewing && `${baseClass}--active`].filter(Boolean).join(' ')}\n id=\"live-preview-toggler\"\n onClick={() => {\n setIsLivePreviewing(!isLivePreviewing)\n }}\n title={isLivePreviewing ? t('general:exitLivePreview') : t('general:livePreview')}\n type=\"button\"\n >\n <EyeIcon active={isLivePreviewing} />\n </button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,kBAAA,GAA+BA,CAAA;EAC1C,MAAM;IAAEC,gBAAgB;IAAEC;
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","EyeIcon","useLivePreviewContext","useTranslation","baseClass","LivePreviewToggler","isLivePreviewing","setIsLivePreviewing","url","livePreviewURL","t","_jsx","className","filter","Boolean","join","id","onClick","title","type","active"],"sources":["../../../../src/elements/LivePreview/Toggler/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport { EyeIcon } from '../../../icons/Eye/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-toggler'\n\nexport const LivePreviewToggler: React.FC = () => {\n const { isLivePreviewing, setIsLivePreviewing, url: livePreviewURL } = useLivePreviewContext()\n const { t } = useTranslation()\n\n if (!livePreviewURL) {\n return null\n }\n\n return (\n <button\n aria-label={isLivePreviewing ? t('general:exitLivePreview') : t('general:livePreview')}\n className={[baseClass, isLivePreviewing && `${baseClass}--active`].filter(Boolean).join(' ')}\n id=\"live-preview-toggler\"\n onClick={() => {\n setIsLivePreviewing(!isLivePreviewing)\n }}\n title={isLivePreviewing ? t('general:exitLivePreview') : t('general:livePreview')}\n type=\"button\"\n >\n <EyeIcon active={isLivePreviewing} />\n </button>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,kBAAA,GAA+BA,CAAA;EAC1C,MAAM;IAAEC,gBAAgB;IAAEC,mBAAmB;IAAEC,GAAA,EAAKC;EAAc,CAAE,GAAGP,qBAAA;EACvE,MAAM;IAAEQ;EAAC,CAAE,GAAGP,cAAA;EAEd,IAAI,CAACM,cAAA,EAAgB;IACnB,OAAO;EACT;EAEA,oBACEE,IAAA,CAAC;IACC,cAAYL,gBAAA,GAAmBI,CAAA,CAAE,6BAA6BA,CAAA,CAAE;IAChEE,SAAA,EAAW,CAACR,SAAA,EAAWE,gBAAA,IAAoB,GAAGF,SAAA,UAAmB,CAAC,CAACS,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACxFC,EAAA,EAAG;IACHC,OAAA,EAASA,CAAA;MACPV,mBAAA,CAAoB,CAACD,gBAAA;IACvB;IACAY,KAAA,EAAOZ,gBAAA,GAAmBI,CAAA,CAAE,6BAA6BA,CAAA,CAAE;IAC3DS,IAAA,EAAK;cAEL,aAAAR,IAAA,CAACV,OAAA;MAAQmB,MAAA,EAAQd;;;AAGvB","ignoreList":[]}
|
|
@@ -6,8 +6,14 @@ type NavContextType = {
|
|
|
6
6
|
setNavOpen: (value: boolean) => void;
|
|
7
7
|
shouldAnimate: boolean;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
9
12
|
export declare const NavContext: React.Context<NavContextType>;
|
|
10
13
|
export declare const useNav: () => NavContextType;
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
11
17
|
export declare const NavProvider: React.FC<{
|
|
12
18
|
children: React.ReactNode;
|
|
13
19
|
initialIsOpen?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,UAAU,+BAMrB,CAAA;AAEF,eAAO,MAAM,MAAM,sBAA8B,CAAA;AAYjD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAkFA,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAIhD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,+BAMrB,CAAA;AAEF,eAAO,MAAM,MAAM,sBAA8B,CAAA;AAYjD;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAkFA,CAAA"}
|
|
@@ -5,6 +5,9 @@ import { useWindowInfo } from '@faceless-ui/window-info';
|
|
|
5
5
|
import { usePathname } from 'next/navigation.js';
|
|
6
6
|
import React, { useEffect, useRef } from 'react';
|
|
7
7
|
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
8
11
|
export const NavContext = /*#__PURE__*/React.createContext({
|
|
9
12
|
hydrated: false,
|
|
10
13
|
navOpen: true,
|
|
@@ -22,6 +25,9 @@ const getNavPreference = async getPreference => {
|
|
|
22
25
|
return true;
|
|
23
26
|
}
|
|
24
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
25
31
|
export const NavProvider = ({
|
|
26
32
|
children,
|
|
27
33
|
initialIsOpen
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["useWindowInfo","usePathname","React","useEffect","useRef","usePreferences","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","shouldAnimate","useNav","use","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","children","initialIsOpen","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","pathname","useState","setShouldAnimate","setHydrated","setNavFromPreferences","current","style","overscrollBehavior","timeout","setTimeout","clearTimeout","_jsx","value"],"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { usePathname } from 'next/navigation.js'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\n\ntype NavContextType = {\n hydrated: boolean\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean) => void\n shouldAnimate: boolean\n}\n\nexport const NavContext = React.createContext<NavContextType>({\n hydrated: false,\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n shouldAnimate: false,\n})\n\nexport const useNav = () => React.use(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference('nav')\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n initialIsOpen?: boolean\n}> = ({ children, initialIsOpen }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const pathname = usePathname()\n\n const { getPreference } = usePreferences()\n const navRef = useRef(null)\n\n // initialize the nav to be closed\n // this is because getting the preference is async\n // so instead of closing it after the preference is loaded\n // we will open it after the preference is loaded\n const [navOpen, setNavOpen] = React.useState(initialIsOpen)\n\n const [shouldAnimate, setShouldAnimate] = React.useState(false)\n const [hydrated, setHydrated] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n void setNavFromPreferences()\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n useEffect(() => {\n if (smallBreak === true) {\n setNavOpen(false)\n }\n }, [pathname])\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n navRef.current.style.overscrollBehavior = 'contain'\n } else {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n if (largeBreak === true || midBreak === true || smallBreak === true) {\n setNavOpen(false)\n }\n setHydrated(true)\n\n const timeout = setTimeout(() => {\n setShouldAnimate(true)\n }, 100)\n return () => {\n clearTimeout(timeout)\n }\n }, [largeBreak, midBreak, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n if (navRef.current) {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [])\n\n return (\n <NavContext value={{ hydrated, navOpen, navRef, setNavOpen, shouldAnimate }}>\n {children}\n </NavContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"context.js","names":["useWindowInfo","usePathname","React","useEffect","useRef","usePreferences","NavContext","createContext","hydrated","navOpen","navRef","setNavOpen","shouldAnimate","useNav","use","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","children","initialIsOpen","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","pathname","useState","setShouldAnimate","setHydrated","setNavFromPreferences","current","style","overscrollBehavior","timeout","setTimeout","clearTimeout","_jsx","value"],"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { usePathname } from 'next/navigation.js'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\n\ntype NavContextType = {\n hydrated: boolean\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean) => void\n shouldAnimate: boolean\n}\n\n/**\n * @internal\n */\nexport const NavContext = React.createContext<NavContextType>({\n hydrated: false,\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n shouldAnimate: false,\n})\n\nexport const useNav = () => React.use(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference('nav')\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\n/**\n * @internal\n */\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n initialIsOpen?: boolean\n}> = ({ children, initialIsOpen }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const pathname = usePathname()\n\n const { getPreference } = usePreferences()\n const navRef = useRef(null)\n\n // initialize the nav to be closed\n // this is because getting the preference is async\n // so instead of closing it after the preference is loaded\n // we will open it after the preference is loaded\n const [navOpen, setNavOpen] = React.useState(initialIsOpen)\n\n const [shouldAnimate, setShouldAnimate] = React.useState(false)\n const [hydrated, setHydrated] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n void setNavFromPreferences()\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n useEffect(() => {\n if (smallBreak === true) {\n setNavOpen(false)\n }\n }, [pathname])\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n navRef.current.style.overscrollBehavior = 'contain'\n } else {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n if (largeBreak === true || midBreak === true || smallBreak === true) {\n setNavOpen(false)\n }\n setHydrated(true)\n\n const timeout = setTimeout(() => {\n setShouldAnimate(true)\n }, 100)\n return () => {\n clearTimeout(timeout)\n }\n }, [largeBreak, midBreak, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n if (navRef.current) {\n navRef.current.style.overscrollBehavior = 'auto'\n }\n }\n }, [])\n\n return (\n <NavContext value={{ hydrated, navOpen, navRef, setNavOpen, shouldAnimate }}>\n {children}\n </NavContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,9 @@ import type { ClientCollectionConfig, PaginatedDocs } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { IListQueryContext } from '../../providers/ListQuery/types.js';
|
|
4
4
|
import './index.scss';
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
5
8
|
export declare const PageControlsComponent: React.FC<{
|
|
6
9
|
AfterPageControls?: React.ReactNode;
|
|
7
10
|
collectionConfig: ClientCollectionConfig;
|
|
@@ -10,6 +13,12 @@ export declare const PageControlsComponent: React.FC<{
|
|
|
10
13
|
handlePerPageChange?: IListQueryContext['handlePerPageChange'];
|
|
11
14
|
limit?: number;
|
|
12
15
|
}>;
|
|
16
|
+
/**
|
|
17
|
+
* These page controls are controlled by the global ListQuery state.
|
|
18
|
+
* To override thi behavior, build your own wrapper around PageControlsComponent.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
13
22
|
export declare const PageControls: React.FC<{
|
|
14
23
|
AfterPageControls?: React.ReactNode;
|
|
15
24
|
collectionConfig: ClientCollectionConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PageControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGpE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAM3E,OAAO,cAAc,CAAA;AAIrB;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,IAAI,EAAE,aAAa,CAAA;IACnB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAA;IACxD,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CA2CA,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC,gBAAgB,EAAE,sBAAsB,CAAA;CACzC,CAmBA,CAAA"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
1
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
5
|
import { isNumber } from 'payload/shared';
|
|
3
6
|
import React, { Fragment } from 'react';
|
|
@@ -7,50 +10,81 @@ import { useListQuery } from '../../providers/ListQuery/context.js';
|
|
|
7
10
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
8
11
|
import './index.scss';
|
|
9
12
|
const baseClass = 'page-controls';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export const PageControlsComponent = t0 => {
|
|
17
|
+
const $ = _c(16);
|
|
18
|
+
const {
|
|
19
|
+
AfterPageControls,
|
|
20
|
+
collectionConfig,
|
|
21
|
+
data,
|
|
22
|
+
handlePageChange,
|
|
23
|
+
handlePerPageChange,
|
|
24
|
+
limit
|
|
25
|
+
} = t0;
|
|
18
26
|
const {
|
|
19
27
|
i18n
|
|
20
28
|
} = useTranslation();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
children: [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
let t1;
|
|
30
|
+
if ($[0] !== AfterPageControls || $[1] !== collectionConfig?.admin?.pagination?.limits || $[2] !== data.hasNextPage || $[3] !== data.hasPrevPage || $[4] !== data.limit || $[5] !== data.nextPage || $[6] !== data.page || $[7] !== data.pagingCounter || $[8] !== data.prevPage || $[9] !== data.totalDocs || $[10] !== data.totalPages || $[11] !== handlePageChange || $[12] !== handlePerPageChange || $[13] !== i18n || $[14] !== limit) {
|
|
31
|
+
t1 = _jsxs("div", {
|
|
32
|
+
className: baseClass,
|
|
33
|
+
children: [_jsx(Pagination, {
|
|
34
|
+
hasNextPage: data.hasNextPage,
|
|
35
|
+
hasPrevPage: data.hasPrevPage,
|
|
36
|
+
limit: data.limit,
|
|
37
|
+
nextPage: data.nextPage,
|
|
38
|
+
numberOfNeighbors: 1,
|
|
39
|
+
onChange: handlePageChange,
|
|
40
|
+
page: data.page,
|
|
41
|
+
prevPage: data.prevPage,
|
|
42
|
+
totalPages: data.totalPages
|
|
43
|
+
}), data.totalDocs > 0 && _jsxs(Fragment, {
|
|
44
|
+
children: [_jsxs("div", {
|
|
45
|
+
className: `${baseClass}__page-info`,
|
|
46
|
+
children: [data.page * data.limit - (data.limit - 1), "-", data.totalPages > 1 && data.totalPages !== data.page ? data.limit * data.page : data.totalDocs, " ", i18n.t("general:of"), " ", data.totalDocs]
|
|
47
|
+
}), _jsx(PerPage, {
|
|
48
|
+
handleChange: handlePerPageChange,
|
|
49
|
+
limit,
|
|
50
|
+
limits: collectionConfig?.admin?.pagination?.limits,
|
|
51
|
+
resetPage: data.totalDocs <= data.pagingCounter
|
|
52
|
+
}), AfterPageControls]
|
|
53
|
+
})]
|
|
54
|
+
});
|
|
55
|
+
$[0] = AfterPageControls;
|
|
56
|
+
$[1] = collectionConfig?.admin?.pagination?.limits;
|
|
57
|
+
$[2] = data.hasNextPage;
|
|
58
|
+
$[3] = data.hasPrevPage;
|
|
59
|
+
$[4] = data.limit;
|
|
60
|
+
$[5] = data.nextPage;
|
|
61
|
+
$[6] = data.page;
|
|
62
|
+
$[7] = data.pagingCounter;
|
|
63
|
+
$[8] = data.prevPage;
|
|
64
|
+
$[9] = data.totalDocs;
|
|
65
|
+
$[10] = data.totalPages;
|
|
66
|
+
$[11] = handlePageChange;
|
|
67
|
+
$[12] = handlePerPageChange;
|
|
68
|
+
$[13] = i18n;
|
|
69
|
+
$[14] = limit;
|
|
70
|
+
$[15] = t1;
|
|
71
|
+
} else {
|
|
72
|
+
t1 = $[15];
|
|
73
|
+
}
|
|
74
|
+
return t1;
|
|
45
75
|
};
|
|
46
|
-
|
|
76
|
+
/**
|
|
47
77
|
* These page controls are controlled by the global ListQuery state.
|
|
48
78
|
* To override thi behavior, build your own wrapper around PageControlsComponent.
|
|
79
|
+
*
|
|
80
|
+
* @internal
|
|
49
81
|
*/
|
|
50
|
-
export const PageControls =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
82
|
+
export const PageControls = t0 => {
|
|
83
|
+
const $ = _c(10);
|
|
84
|
+
const {
|
|
85
|
+
AfterPageControls,
|
|
86
|
+
collectionConfig
|
|
87
|
+
} = t0;
|
|
54
88
|
const {
|
|
55
89
|
data,
|
|
56
90
|
defaultLimit: initialLimit,
|
|
@@ -58,13 +92,35 @@ export const PageControls = ({
|
|
|
58
92
|
handlePerPageChange,
|
|
59
93
|
query
|
|
60
94
|
} = useListQuery();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
let t1;
|
|
96
|
+
if ($[0] !== initialLimit || $[1] !== query.limit) {
|
|
97
|
+
t1 = isNumber(query.limit) ? query.limit : initialLimit;
|
|
98
|
+
$[0] = initialLimit;
|
|
99
|
+
$[1] = query.limit;
|
|
100
|
+
$[2] = t1;
|
|
101
|
+
} else {
|
|
102
|
+
t1 = $[2];
|
|
103
|
+
}
|
|
104
|
+
let t2;
|
|
105
|
+
if ($[3] !== AfterPageControls || $[4] !== collectionConfig || $[5] !== data || $[6] !== handlePageChange || $[7] !== handlePerPageChange || $[8] !== t1) {
|
|
106
|
+
t2 = _jsx(PageControlsComponent, {
|
|
107
|
+
AfterPageControls,
|
|
108
|
+
collectionConfig,
|
|
109
|
+
data,
|
|
110
|
+
handlePageChange,
|
|
111
|
+
handlePerPageChange,
|
|
112
|
+
limit: t1
|
|
113
|
+
});
|
|
114
|
+
$[3] = AfterPageControls;
|
|
115
|
+
$[4] = collectionConfig;
|
|
116
|
+
$[5] = data;
|
|
117
|
+
$[6] = handlePageChange;
|
|
118
|
+
$[7] = handlePerPageChange;
|
|
119
|
+
$[8] = t1;
|
|
120
|
+
$[9] = t2;
|
|
121
|
+
} else {
|
|
122
|
+
t2 = $[9];
|
|
123
|
+
}
|
|
124
|
+
return t2;
|
|
69
125
|
};
|
|
70
126
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isNumber","React","Fragment","Pagination","PerPage","useListQuery","useTranslation","baseClass","PageControlsComponent","AfterPageControls","collectionConfig","data","handlePageChange","handlePerPageChange","limit","i18n","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","isNumber","React","Fragment","Pagination","PerPage","useListQuery","useTranslation","baseClass","PageControlsComponent","t0","$","AfterPageControls","collectionConfig","data","handlePageChange","handlePerPageChange","limit","i18n","t1","admin","pagination","limits","hasNextPage","hasPrevPage","nextPage","page","pagingCounter","prevPage","totalDocs","totalPages","_jsxs","className","children","_jsx","numberOfNeighbors","onChange","t","handleChange","resetPage","PageControls","defaultLimit","initialLimit","query","t2"],"sources":["../../../src/elements/PageControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, PaginatedDocs } from 'payload'\n\nimport { isNumber } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { IListQueryContext } from '../../providers/ListQuery/types.js'\n\nimport { Pagination } from '../../elements/Pagination/index.js'\nimport { PerPage } from '../../elements/PerPage/index.js'\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'page-controls'\n\n/**\n * @internal\n */\nexport const PageControlsComponent: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n data: PaginatedDocs\n handlePageChange?: IListQueryContext['handlePageChange']\n handlePerPageChange?: IListQueryContext['handlePerPageChange']\n limit?: number\n}> = ({\n AfterPageControls,\n collectionConfig,\n data,\n handlePageChange,\n handlePerPageChange,\n limit,\n}) => {\n const { i18n } = useTranslation()\n\n return (\n <div className={baseClass}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={limit}\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {AfterPageControls}\n </Fragment>\n )}\n </div>\n )\n}\n\n/**\n * These page controls are controlled by the global ListQuery state.\n * To override thi behavior, build your own wrapper around PageControlsComponent.\n *\n * @internal\n */\nexport const PageControls: React.FC<{\n AfterPageControls?: React.ReactNode\n collectionConfig: ClientCollectionConfig\n}> = ({ AfterPageControls, collectionConfig }) => {\n const {\n data,\n defaultLimit: initialLimit,\n handlePageChange,\n handlePerPageChange,\n query,\n } = useListQuery()\n\n return (\n <PageControlsComponent\n AfterPageControls={AfterPageControls}\n collectionConfig={collectionConfig}\n data={data}\n handlePageChange={handlePageChange}\n handlePerPageChange={handlePerPageChange}\n limit={isNumber(query.limit) ? query.limit : initialLimit}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAIhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,OAAO,QAAQ;AACxB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;AAGA,OAAO,MAAMC,qBAAA,GAORC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,iBAAA;IAAAC,gBAAA;IAAAC,IAAA;IAAAC,gBAAA;IAAAC,mBAAA;IAAAC;EAAA,IAAAP,EAOL;EACC;IAAAQ;EAAA,IAAiBX,cAAA;EAAA,IAAAY,EAAA;EAAA,IAAAR,CAAA,QAAAC,iBAAA,IAAAD,CAAA,QAAAE,gBAAA,EAAAO,KAAA,EAAAC,UAAA,EAAAC,MAAA,IAAAX,CAAA,QAAAG,IAAA,CAAAS,WAAA,IAAAZ,CAAA,QAAAG,IAAA,CAAAU,WAAA,IAAAb,CAAA,QAAAG,IAAA,CAAAG,KAAA,IAAAN,CAAA,QAAAG,IAAA,CAAAW,QAAA,IAAAd,CAAA,QAAAG,IAAA,CAAAY,IAAA,IAAAf,CAAA,QAAAG,IAAA,CAAAa,aAAA,IAAAhB,CAAA,QAAAG,IAAA,CAAAc,QAAA,IAAAjB,CAAA,QAAAG,IAAA,CAAAe,SAAA,IAAAlB,CAAA,SAAAG,IAAA,CAAAgB,UAAA,IAAAnB,CAAA,SAAAI,gBAAA,IAAAJ,CAAA,SAAAK,mBAAA,IAAAL,CAAA,SAAAO,IAAA,IAAAP,CAAA,SAAAM,KAAA;IAGfE,EAAA,GAAAY,KAAA,CAAC;MAAAC,SAAA,EAAAxB,SAAA;MAAAyB,QAAA,GACCC,IAAA,CAAA9B,UAAA;QAAAmB,WAAA,EACeT,IAAA,CAAAS,WAAA;QAAAC,WAAA,EACAV,IAAA,CAAAU,WAAA;QAAAP,KAAA,EACNH,IAAA,CAAAG,KAAA;QAAAQ,QAAA,EACGX,IAAA,CAAAW,QAAA;QAAAU,iBAAA;QAAAC,QAAA,EAEArB,gBAAA;QAAAW,IAAA,EACJZ,IAAA,CAAAY,IAAA;QAAAE,QAAA,EACId,IAAA,CAAAc,QAAA;QAAAE,UAAA,EACEhB,IAAA,CAAAgB;MAAA,C,GAEbhB,IAAA,CAAAe,SAAA,IAAiB,IAChBE,KAAA,CAAA5B,QAAA;QAAA8B,QAAA,GACEF,KAAA,CAAC;UAAAC,SAAA,EAAe,GAAAxB,SAAA,aAAyB;UAAAyB,QAAA,GACtCnB,IAAA,CAAAY,IAAA,GAAYZ,IAAA,CAAAG,KAAU,IAAIH,IAAA,CAAAG,KAAA,IAAa,GAAG,KAC1CH,IAAA,CAAAgB,UAAA,IAAkB,IAAKhB,IAAA,CAAAgB,UAAA,KAAoBhB,IAAA,CAAAY,IAAS,GACjDZ,IAAA,CAAAG,KAAA,GAAaH,IAAA,CAAAY,IAAS,GACtBZ,IAAA,CAAAe,SAAc,EAAE,KACnBX,IAAA,CAAAmB,CAAA,CAAO,eAAc,KAAEvB,IAAA,CAAAe,SAAA;QAAA,C,GAE1BK,IAAA,CAAA7B,OAAA;UAAAiC,YAAA,EACgBtB,mBAAA;UAAAC,KAAA;UAAAK,MAAA,EAENT,gBAAA,EAAAO,KAAA,EAAAC,UAAA,EAAAC,MAAA;UAAAiB,SAAA,EACGzB,IAAA,CAAAe,SAAA,IAAkBf,IAAA,CAAAa;QAAkB,C,GAEhDf,iBAAA;MAAA,C;;;;;;;;;;;;;;;;;;;;;SA3BPO,E;CAgCJ;AAEA;;;;;;AAMA,OAAO,MAAMqB,YAAA,GAGR9B,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY,iBAAA;IAAAC;EAAA,IAAAH,EAAuC;EAC3C;IAAAI,IAAA;IAAA2B,YAAA,EAAAC,YAAA;IAAA3B,gBAAA;IAAAC,mBAAA;IAAA2B;EAAA,IAMIrC,YAAA;EAAA,IAAAa,EAAA;EAAA,IAAAR,CAAA,QAAA+B,YAAA,IAAA/B,CAAA,QAAAgC,KAAA,CAAA1B,KAAA;IASOE,EAAA,GAAAlB,QAAA,CAAS0C,KAAA,CAAA1B,KAAW,IAAI0B,KAAA,CAAA1B,KAAA,GAAcyB,YAAA;IAAA/B,CAAA,MAAA+B,YAAA;IAAA/B,CAAA,MAAAgC,KAAA,CAAA1B,KAAA;IAAAN,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAiC,EAAA;EAAA,IAAAjC,CAAA,QAAAC,iBAAA,IAAAD,CAAA,QAAAE,gBAAA,IAAAF,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAI,gBAAA,IAAAJ,CAAA,QAAAK,mBAAA,IAAAL,CAAA,QAAAQ,EAAA;IAN/CyB,EAAA,GAAAV,IAAA,CAAAzB,qBAAA;MAAAG,iBAAA;MAAAC,gBAAA;MAAAC,IAAA;MAAAC,gBAAA;MAAAC,mBAAA;MAAAC,KAAA,EAMSE;IAAsC,C;;;;;;;;;;;SAN/CyB,E;CASJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAIrB,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,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,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,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,OAAO,cAAc,CAAA;AAIrB,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,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,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,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAuVvE,CAAA"}
|
|
@@ -99,6 +99,7 @@ export const RelationshipTable = props => {
|
|
|
99
99
|
accessor,
|
|
100
100
|
active: true
|
|
101
101
|
})) : undefined;
|
|
102
|
+
const renderRowTypes = typeof field.admin.disableRowTypes === 'boolean' ? !field.admin.disableRowTypes : Array.isArray(relationTo);
|
|
102
103
|
const {
|
|
103
104
|
data: newData,
|
|
104
105
|
state: newColumnState,
|
|
@@ -111,14 +112,14 @@ export const RelationshipTable = props => {
|
|
|
111
112
|
orderableFieldName: !field.orderable || Array.isArray(field.collection) ? undefined : `_${field.collection}_${field.name}_order`,
|
|
112
113
|
parent,
|
|
113
114
|
query: newQuery,
|
|
114
|
-
renderRowTypes
|
|
115
|
+
renderRowTypes,
|
|
115
116
|
tableAppearance: 'condensed'
|
|
116
117
|
});
|
|
117
118
|
setData(newData);
|
|
118
119
|
setTable(NewTable);
|
|
119
120
|
setColumnState(newColumnState);
|
|
120
121
|
setIsLoadingTable(false);
|
|
121
|
-
}, [field.defaultLimit, field.defaultSort, field.admin.defaultColumns, field.collection, field.name, field.orderable, collectionConfig?.admin?.pagination?.defaultLimit, collectionConfig?.defaultSort, query, filterOptions, getTableState, relationTo, parent]);
|
|
122
|
+
}, [field.defaultLimit, field.defaultSort, field.admin.defaultColumns, field.admin.disableRowTypes, field.collection, field.name, field.orderable, collectionConfig?.admin?.pagination?.defaultLimit, collectionConfig?.defaultSort, query, filterOptions, getTableState, relationTo, parent]);
|
|
122
123
|
const handleTableRender = useEffectEvent((query, disableTable) => {
|
|
123
124
|
if (!disableTable && (!Table || query)) {
|
|
124
125
|
void renderTable();
|