@payloadcms/ui 3.59.0-internal.929dda3 → 3.59.0-internal.b804ca6

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 (56) hide show
  1. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  2. package/dist/elements/CodeEditor/CodeEditor.js +2 -2
  3. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  4. package/dist/elements/Collapsible/index.d.ts +15 -2
  5. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  6. package/dist/elements/Collapsible/index.js +59 -60
  7. package/dist/elements/Collapsible/index.js.map +1 -1
  8. package/dist/elements/Collapsible/index.scss +6 -2
  9. package/dist/elements/DocumentLocked/index.js +1 -1
  10. package/dist/elements/DocumentLocked/index.js.map +1 -1
  11. package/dist/elements/LivePreview/Toggler/index.d.ts.map +1 -1
  12. package/dist/elements/LivePreview/Toggler/index.js +5 -1
  13. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  14. package/dist/elements/Nav/context.d.ts +6 -0
  15. package/dist/elements/Nav/context.d.ts.map +1 -1
  16. package/dist/elements/Nav/context.js +6 -0
  17. package/dist/elements/Nav/context.js.map +1 -1
  18. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  19. package/dist/elements/RelationshipTable/index.js +3 -2
  20. package/dist/elements/RelationshipTable/index.js.map +1 -1
  21. package/dist/elements/Table/index.scss +1 -0
  22. package/dist/exports/client/{CodeEditor-B56LZ4XC.js → CodeEditor-2AHTKKBE.js} +2 -2
  23. package/dist/exports/client/{chunk-IOKOROQ2.js → chunk-6UH4KUYK.js} +4 -4
  24. package/dist/exports/client/chunk-6UH4KUYK.js.map +7 -0
  25. package/dist/exports/client/index.d.ts +3 -1
  26. package/dist/exports/client/index.d.ts.map +1 -1
  27. package/dist/exports/client/index.js +12 -12
  28. package/dist/exports/client/index.js.map +3 -3
  29. package/dist/fields/Code/index.d.ts.map +1 -1
  30. package/dist/fields/Code/index.js +3 -1
  31. package/dist/fields/Code/index.js.map +1 -1
  32. package/dist/fields/Upload/RelationshipContent/index.js +1 -1
  33. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  34. package/dist/providers/LivePreview/context.d.ts +2 -2
  35. package/dist/providers/LivePreview/context.d.ts.map +1 -1
  36. package/dist/providers/LivePreview/context.js.map +1 -1
  37. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  38. package/dist/providers/LivePreview/index.js +10 -2
  39. package/dist/providers/LivePreview/index.js.map +1 -1
  40. package/dist/styles.css +1 -1
  41. package/dist/utilities/dateLocales.d.ts +1 -0
  42. package/dist/utilities/dateLocales.d.ts.map +1 -1
  43. package/dist/utilities/dateLocales.js +2 -0
  44. package/dist/utilities/dateLocales.js.map +1 -1
  45. package/dist/utilities/getColumns.js +1 -1
  46. package/dist/utilities/getColumns.js.map +1 -1
  47. package/dist/utilities/handleLivePreview.d.ts +3 -3
  48. package/dist/utilities/handleLivePreview.d.ts.map +1 -1
  49. package/dist/utilities/handleLivePreview.js.map +1 -1
  50. package/dist/views/Edit/index.d.ts +1 -1
  51. package/dist/views/Edit/index.d.ts.map +1 -1
  52. package/dist/views/Edit/index.js +17 -9
  53. package/dist/views/Edit/index.js.map +1 -1
  54. package/package.json +4 -4
  55. package/dist/exports/client/chunk-IOKOROQ2.js.map +0 -7
  56. /package/dist/exports/client/{CodeEditor-B56LZ4XC.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,CAyF/B,CAAA;AAGD,eAAe,UAAU,CAAA"}
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.split("\n").length * 18 + 2 + paddingFromProps));
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.split("\n").length * 18 + 2 + paddingFromProps));
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(Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps))\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(Math.max(MIN_HEIGHT, value.split('\\n').length * 18 + 2 + paddingFromProps))\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
+ {"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":[]}
@@ -3,16 +3,29 @@ import type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem
3
3
  import './index.scss';
4
4
  import { CollapsibleProvider, useCollapsible } from './provider.js';
5
5
  export { CollapsibleProvider, useCollapsible };
6
- export type Props = {
6
+ export type CollapsibleProps = {
7
7
  actions?: React.ReactNode;
8
+ /**
9
+ * Components that will be rendered within the collapsible provider but after the wrapper.
10
+ */
11
+ AfterCollapsible?: React.ReactNode;
8
12
  children: React.ReactNode;
9
13
  className?: string;
10
14
  collapsibleStyle?: 'default' | 'error';
15
+ /**
16
+ * If set to true, clicking on the collapsible header will not toggle the collapsible state.
17
+ * This is useful if the collapsible state is controlled externally (e.g. from a parent component or custom button).
18
+ */
19
+ disableHeaderToggle?: boolean;
20
+ /**
21
+ * If set to true, the toggle indicator (chevron) on the right side of the header will be hidden.
22
+ */
23
+ disableToggleIndicator?: boolean;
11
24
  dragHandleProps?: DragHandleProps;
12
25
  header?: React.ReactNode;
13
26
  initCollapsed?: boolean;
14
27
  isCollapsed?: boolean;
15
28
  onToggle?: (collapsed: boolean) => Promise<void> | void;
16
29
  };
17
- export declare const Collapsible: React.FC<Props>;
30
+ export declare const Collapsible: React.FC<CollapsibleProps>;
18
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAA;AAK1F,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAA;AAE9C,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IACtC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2FvC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Collapsible/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAA;AAK1F,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IACtC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoGlD,CAAA"}
@@ -12,12 +12,15 @@ import { CollapsibleProvider, useCollapsible } from './provider.js';
12
12
  const baseClass = 'collapsible';
13
13
  export { CollapsibleProvider, useCollapsible };
14
14
  export const Collapsible = t0 => {
15
- const $ = _c(24);
15
+ const $ = _c(25);
16
16
  const {
17
17
  actions,
18
+ AfterCollapsible,
18
19
  children,
19
20
  className,
20
21
  collapsibleStyle: t1,
22
+ disableHeaderToggle: t2,
23
+ disableToggleIndicator: t3,
21
24
  dragHandleProps,
22
25
  header,
23
26
  initCollapsed,
@@ -25,6 +28,8 @@ export const Collapsible = t0 => {
25
28
  onToggle
26
29
  } = t0;
27
30
  const collapsibleStyle = t1 === undefined ? "default" : t1;
31
+ const disableHeaderToggle = t2 === undefined ? false : t2;
32
+ const disableToggleIndicator = t3 === undefined ? false : t3;
28
33
  const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed));
29
34
  const [hoveringToggle, setHoveringToggle] = useState(false);
30
35
  const {
@@ -34,9 +39,9 @@ export const Collapsible = t0 => {
34
39
  t
35
40
  } = useTranslation();
36
41
  const isCollapsed = typeof collapsedFromProps === "boolean" ? collapsedFromProps : collapsedLocal;
37
- let t2;
42
+ let t4;
38
43
  if ($[0] !== isCollapsed || $[1] !== onToggle) {
39
- t2 = () => {
44
+ t4 = () => {
40
45
  if (typeof onToggle === "function") {
41
46
  onToggle(!isCollapsed);
42
47
  }
@@ -44,64 +49,55 @@ export const Collapsible = t0 => {
44
49
  };
45
50
  $[0] = isCollapsed;
46
51
  $[1] = onToggle;
47
- $[2] = t2;
52
+ $[2] = t4;
48
53
  } else {
49
- t2 = $[2];
54
+ t4 = $[2];
50
55
  }
51
- const toggleCollapsible = t2;
52
- const t3 = dragHandleProps && `${baseClass}--has-drag-handle`;
53
- const t4 = isCollapsed && `${baseClass}--collapsed`;
54
- const t5 = isWithinCollapsible && `${baseClass}--nested`;
55
- const t6 = hoveringToggle && `${baseClass}--hovered`;
56
- const t7 = `${baseClass}--style-${collapsibleStyle}`;
57
- let t8;
58
- if ($[3] !== className || $[4] !== t3 || $[5] !== t4 || $[6] !== t5 || $[7] !== t6 || $[8] !== t7) {
59
- t8 = [baseClass, className, t3, t4, t5, t6, t7].filter(Boolean);
60
- $[3] = className;
61
- $[4] = t3;
62
- $[5] = t4;
63
- $[6] = t5;
64
- $[7] = t6;
65
- $[8] = t7;
66
- $[9] = t8;
67
- } else {
68
- t8 = $[9];
69
- }
70
- const t9 = t8.join(" ");
56
+ const toggleCollapsible = t4;
57
+ const t5 = dragHandleProps && `${baseClass}--has-drag-handle`;
58
+ const t6 = isCollapsed && `${baseClass}--collapsed`;
59
+ const t7 = isWithinCollapsible && `${baseClass}--nested`;
60
+ const t8 = hoveringToggle && !disableHeaderToggle && `${baseClass}--hovered`;
61
+ const t9 = `${baseClass}--style-${collapsibleStyle}`;
71
62
  let t10;
72
- let t11;
73
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
74
- t10 = () => setHoveringToggle(true);
75
- t11 = () => setHoveringToggle(false);
76
- $[10] = t10;
77
- $[11] = t11;
63
+ if ($[3] !== className || $[4] !== t5 || $[5] !== t6 || $[6] !== t7 || $[7] !== t8 || $[8] !== t9) {
64
+ t10 = [baseClass, className, t5, t6, t7, t8, t9].filter(Boolean);
65
+ $[3] = className;
66
+ $[4] = t5;
67
+ $[5] = t6;
68
+ $[6] = t7;
69
+ $[7] = t8;
70
+ $[8] = t9;
71
+ $[9] = t10;
78
72
  } else {
79
- t10 = $[10];
80
- t11 = $[11];
73
+ t10 = $[9];
81
74
  }
82
- const t12 = `${baseClass}__toggle--${isCollapsed ? "collapsed" : "open"}`;
75
+ const t11 = t10.join(" ");
76
+ const t12 = `${baseClass}__toggle-wrap${disableHeaderToggle ? " toggle-disabled" : ""}`;
83
77
  let t13;
84
- if ($[12] !== t12) {
85
- t13 = [`${baseClass}__toggle`, t12].filter(Boolean);
86
- $[12] = t12;
87
- $[13] = t13;
78
+ let t14;
79
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
80
+ t13 = () => setHoveringToggle(true);
81
+ t14 = () => setHoveringToggle(false);
82
+ $[10] = t13;
83
+ $[11] = t14;
88
84
  } else {
89
- t13 = $[13];
85
+ t13 = $[10];
86
+ t14 = $[11];
90
87
  }
91
- const t14 = t13.join(" ");
92
88
  let t15;
93
- if ($[14] !== actions || $[15] !== children || $[16] !== dragHandleProps || $[17] !== header || $[18] !== isCollapsed || $[19] !== t || $[20] !== t14 || $[21] !== t9 || $[22] !== toggleCollapsible) {
89
+ if ($[12] !== AfterCollapsible || $[13] !== actions || $[14] !== children || $[15] !== disableHeaderToggle || $[16] !== disableToggleIndicator || $[17] !== dragHandleProps || $[18] !== header || $[19] !== isCollapsed || $[20] !== t || $[21] !== t11 || $[22] !== t12 || $[23] !== toggleCollapsible) {
94
90
  t15 = _jsx("div", {
95
- className: t9,
91
+ className: t11,
96
92
  children: _jsxs(CollapsibleProvider, {
97
93
  isCollapsed,
98
94
  toggle: toggleCollapsible,
99
95
  children: [_jsxs("div", {
100
- className: `${baseClass}__toggle-wrap`,
101
- onMouseEnter: t10,
102
- onMouseLeave: t11,
103
- children: [_jsx("button", {
104
- className: t14,
96
+ className: t12,
97
+ onMouseEnter: t13,
98
+ onMouseLeave: t14,
99
+ children: [!disableHeaderToggle && _jsx("button", {
100
+ className: [`${baseClass}__toggle`, `${baseClass}__toggle--${isCollapsed ? "collapsed" : "open"}`].filter(Boolean).join(" "),
105
101
  onClick: toggleCollapsible,
106
102
  type: "button",
107
103
  children: _jsx("span", {
@@ -120,7 +116,7 @@ export const Collapsible = t0 => {
120
116
  children: [actions ? _jsx("div", {
121
117
  className: `${baseClass}__actions`,
122
118
  children: actions
123
- }) : null, _jsx("div", {
119
+ }) : null, !disableToggleIndicator && _jsx("div", {
124
120
  className: `${baseClass}__indicator`,
125
121
  children: _jsx(ChevronIcon, {
126
122
  direction: !isCollapsed ? "up" : undefined
@@ -133,21 +129,24 @@ export const Collapsible = t0 => {
133
129
  className: `${baseClass}__content`,
134
130
  children
135
131
  })
136
- })]
132
+ }), AfterCollapsible]
137
133
  })
138
134
  });
139
- $[14] = actions;
140
- $[15] = children;
141
- $[16] = dragHandleProps;
142
- $[17] = header;
143
- $[18] = isCollapsed;
144
- $[19] = t;
145
- $[20] = t14;
146
- $[21] = t9;
147
- $[22] = toggleCollapsible;
148
- $[23] = t15;
135
+ $[12] = AfterCollapsible;
136
+ $[13] = actions;
137
+ $[14] = children;
138
+ $[15] = disableHeaderToggle;
139
+ $[16] = disableToggleIndicator;
140
+ $[17] = dragHandleProps;
141
+ $[18] = header;
142
+ $[19] = isCollapsed;
143
+ $[20] = t;
144
+ $[21] = t11;
145
+ $[22] = t12;
146
+ $[23] = toggleCollapsible;
147
+ $[24] = t15;
149
148
  } else {
150
- t15 = $[23];
149
+ t15 = $[24];
151
150
  }
152
151
  return t15;
153
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","DragHandleIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","children","className","collapsibleStyle","t1","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t2","toggleCollapsible","t3","t4","t5","t6","t7","t8","filter","t9","join","t10","t11","Symbol","for","t12","t13","t14","t15","_jsx","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","attributes","listeners","direction","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type Props = {\n actions?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<Props> = ({\n actions,\n children,\n className,\n collapsibleStyle = 'default',\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useState","ChevronIcon","DragHandleIcon","useTranslation","AnimateHeight","CollapsibleProvider","useCollapsible","baseClass","Collapsible","t0","$","actions","AfterCollapsible","children","className","collapsibleStyle","t1","disableHeaderToggle","t2","disableToggleIndicator","t3","dragHandleProps","header","initCollapsed","isCollapsed","collapsedFromProps","onToggle","undefined","collapsedLocal","setCollapsedLocal","Boolean","hoveringToggle","setHoveringToggle","isWithinCollapsible","t","t4","toggleCollapsible","t5","t6","t7","t8","t9","t10","filter","t11","join","t12","t13","t14","Symbol","for","t15","_jsx","_jsxs","toggle","onMouseEnter","onMouseLeave","onClick","type","attributes","listeners","direction","height"],"sources":["../../../src/elements/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport React, { useState } from 'react'\n\nimport type { DragHandleProps } from '../DraggableSortable/DraggableSortableItem/types.js'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { DragHandleIcon } from '../../icons/DragHandle/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { CollapsibleProvider, useCollapsible } from './provider.js'\n\nconst baseClass = 'collapsible'\n\nexport { CollapsibleProvider, useCollapsible }\n\nexport type CollapsibleProps = {\n actions?: React.ReactNode\n /**\n * Components that will be rendered within the collapsible provider but after the wrapper.\n */\n AfterCollapsible?: React.ReactNode\n children: React.ReactNode\n className?: string\n collapsibleStyle?: 'default' | 'error'\n /**\n * If set to true, clicking on the collapsible header will not toggle the collapsible state.\n * This is useful if the collapsible state is controlled externally (e.g. from a parent component or custom button).\n */\n disableHeaderToggle?: boolean\n /**\n * If set to true, the toggle indicator (chevron) on the right side of the header will be hidden.\n */\n disableToggleIndicator?: boolean\n dragHandleProps?: DragHandleProps\n header?: React.ReactNode\n initCollapsed?: boolean\n isCollapsed?: boolean\n onToggle?: (collapsed: boolean) => Promise<void> | void\n}\n\nexport const Collapsible: React.FC<CollapsibleProps> = ({\n actions,\n AfterCollapsible,\n children,\n className,\n collapsibleStyle = 'default',\n disableHeaderToggle = false,\n disableToggleIndicator = false,\n dragHandleProps,\n header,\n initCollapsed,\n isCollapsed: collapsedFromProps,\n onToggle,\n}) => {\n const [collapsedLocal, setCollapsedLocal] = useState(Boolean(initCollapsed))\n const [hoveringToggle, setHoveringToggle] = useState(false)\n const { isWithinCollapsible } = useCollapsible()\n const { t } = useTranslation()\n\n const isCollapsed = typeof collapsedFromProps === 'boolean' ? collapsedFromProps : collapsedLocal\n\n const toggleCollapsible = React.useCallback(() => {\n if (typeof onToggle === 'function') {\n void onToggle(!isCollapsed)\n }\n setCollapsedLocal(!isCollapsed)\n }, [onToggle, isCollapsed])\n\n return (\n <div\n className={[\n baseClass,\n className,\n dragHandleProps && `${baseClass}--has-drag-handle`,\n isCollapsed && `${baseClass}--collapsed`,\n isWithinCollapsible && `${baseClass}--nested`,\n hoveringToggle && !disableHeaderToggle && `${baseClass}--hovered`,\n `${baseClass}--style-${collapsibleStyle}`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <CollapsibleProvider isCollapsed={isCollapsed} toggle={toggleCollapsible}>\n <div\n className={`${baseClass}__toggle-wrap${disableHeaderToggle ? ' toggle-disabled' : ''}`}\n onMouseEnter={() => setHoveringToggle(true)}\n onMouseLeave={() => setHoveringToggle(false)}\n >\n {!disableHeaderToggle && (\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${isCollapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsible}\n type=\"button\"\n >\n <span>{t('fields:toggleBlock')}</span>\n </button>\n )}\n\n {dragHandleProps && (\n <div\n className={`${baseClass}__drag`}\n {...dragHandleProps.attributes}\n {...dragHandleProps.listeners}\n >\n <DragHandleIcon />\n </div>\n )}\n {header ? (\n <div\n className={[\n `${baseClass}__header-wrap`,\n dragHandleProps && `${baseClass}__header-wrap--has-drag-handle`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {header}\n </div>\n ) : null}\n <div className={`${baseClass}__actions-wrap`}>\n {actions ? <div className={`${baseClass}__actions`}>{actions}</div> : null}\n {!disableToggleIndicator && (\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon direction={!isCollapsed ? 'up' : undefined} />\n </div>\n )}\n </div>\n </div>\n <AnimateHeight height={isCollapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n {AfterCollapsible}\n </CollapsibleProvider>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  @layer payload-default {
4
4
  .collapsible {
5
+ position: relative;
5
6
  --toggle-pad-h: #{base(0.75)};
6
7
  --toggle-pad-v: #{base(0.6)};
7
8
 
@@ -20,7 +21,7 @@
20
21
  border-top-left-radius: $style-radius-m;
21
22
  width: 100%;
22
23
 
23
- &:hover {
24
+ &:not(.toggle-disabled):hover {
24
25
  background: var(--theme-elevation-100);
25
26
  }
26
27
 
@@ -47,7 +48,6 @@
47
48
  @extend %btn-reset;
48
49
  @extend %body;
49
50
  text-align: left;
50
- cursor: pointer;
51
51
  border-top-right-radius: $style-radius-m;
52
52
  border-top-left-radius: $style-radius-m;
53
53
  width: 100%;
@@ -57,6 +57,10 @@
57
57
  top: 0;
58
58
  left: 0;
59
59
 
60
+ &:not(.toggle-disabled) {
61
+ cursor: pointer;
62
+ }
63
+
60
64
  span {
61
65
  user-select: none;
62
66
  }
@@ -23,7 +23,7 @@ const formatDate = date => {
23
23
  minute: 'numeric',
24
24
  month: 'short',
25
25
  year: 'numeric'
26
- }).format(date);
26
+ }).format(new Date(date));
27
27
  };
28
28
  export const DocumentLocked = t0 => {
29
29
  const $ = _c(32);
@@ -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":"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","ignoreList":[]}
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":[]}
@@ -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,EAkBtC,CAAA"}
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;EAAmB,CAAE,GAAGL,qBAAA;EAClD,MAAM;IAAEM;EAAC,CAAE,GAAGL,cAAA;EAEd,oBACEM,IAAA,CAAC;IACC,cAAYH,gBAAA,GAAmBE,CAAA,CAAE,6BAA6BA,CAAA,CAAE;IAChEE,SAAA,EAAW,CAACN,SAAA,EAAWE,gBAAA,IAAoB,GAAGF,SAAA,UAAmB,CAAC,CAACO,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IACxFC,EAAA,EAAG;IACHC,OAAA,EAASA,CAAA;MACPR,mBAAA,CAAoB,CAACD,gBAAA;IACvB;IACAU,KAAA,EAAOV,gBAAA,GAAmBE,CAAA,CAAE,6BAA6BA,CAAA,CAAE;IAC3DS,IAAA,EAAK;cAEL,aAAAR,IAAA,CAACR,OAAA;MAAQiB,MAAA,EAAQZ;;;AAGvB","ignoreList":[]}
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":[]}
@@ -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,CAiVvE,CAAA"}
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: true,
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();