@payloadcms/ui 3.55.0-internal.df60e35 → 3.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/elements/AppHeader/index.scss +1 -0
  2. package/dist/elements/DefaultListViewTabs/index.d.ts +12 -0
  3. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -0
  4. package/dist/elements/DefaultListViewTabs/index.js +161 -0
  5. package/dist/elements/DefaultListViewTabs/index.js.map +1 -0
  6. package/dist/elements/{ListHeaderTabs → DefaultListViewTabs}/index.scss +1 -1
  7. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -1
  8. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  9. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  10. package/dist/elements/FieldSelect/reduceFieldOptions.js +1 -1
  11. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  12. package/dist/elements/ListControls/index.d.ts.map +1 -1
  13. package/dist/elements/ListControls/index.js +69 -78
  14. package/dist/elements/ListControls/index.js.map +1 -1
  15. package/dist/elements/ListControls/index.scss +2 -82
  16. package/dist/elements/SearchBar/index.d.ts +2 -3
  17. package/dist/elements/SearchBar/index.d.ts.map +1 -1
  18. package/dist/elements/SearchBar/index.js +2 -3
  19. package/dist/elements/SearchBar/index.js.map +1 -1
  20. package/dist/elements/SearchBar/index.scss +56 -7
  21. package/dist/elements/SearchFilter/index.d.ts +2 -33
  22. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  23. package/dist/elements/SearchFilter/index.js +7 -5
  24. package/dist/elements/SearchFilter/index.js.map +1 -1
  25. package/dist/elements/SearchFilter/types.d.ts +33 -0
  26. package/dist/elements/SearchFilter/types.d.ts.map +1 -0
  27. package/dist/elements/SearchFilter/types.js +2 -0
  28. package/dist/elements/SearchFilter/types.js.map +1 -0
  29. package/dist/elements/Status/index.d.ts.map +1 -1
  30. package/dist/elements/Status/index.js +1 -1
  31. package/dist/elements/Status/index.js.map +1 -1
  32. package/dist/exports/client/{CodeEditor-MIIBUJZ4.js → CodeEditor-URFJPG6I.js} +2 -2
  33. package/dist/exports/client/chunk-KPQQ5IUL.js +26 -0
  34. package/dist/exports/client/{chunk-Z6O2JA43.js.map → chunk-KPQQ5IUL.js.map} +3 -3
  35. package/dist/exports/client/index.js +12 -12
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/exports/rsc/index.d.ts +1 -0
  38. package/dist/exports/rsc/index.d.ts.map +1 -1
  39. package/dist/exports/rsc/index.js +1 -0
  40. package/dist/exports/rsc/index.js.map +1 -1
  41. package/dist/fields/Blocks/index.d.ts.map +1 -1
  42. package/dist/fields/Blocks/index.js.map +1 -1
  43. package/dist/fields/Join/index.js +1 -1
  44. package/dist/fields/Join/index.js.map +1 -1
  45. package/dist/forms/Form/types.d.ts +6 -3
  46. package/dist/forms/Form/types.d.ts.map +1 -1
  47. package/dist/forms/Form/types.js.map +1 -1
  48. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  49. package/dist/forms/RenderFields/index.js +1 -1
  50. package/dist/forms/RenderFields/index.js.map +1 -1
  51. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  52. package/dist/forms/RowLabel/Context/index.js +17 -31
  53. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  54. package/dist/providers/Auth/index.d.ts +2 -1
  55. package/dist/providers/Auth/index.d.ts.map +1 -1
  56. package/dist/providers/Auth/index.js +74 -83
  57. package/dist/providers/Auth/index.js.map +1 -1
  58. package/dist/providers/Config/index.d.ts.map +1 -1
  59. package/dist/providers/Config/index.js +6 -3
  60. package/dist/providers/Config/index.js.map +1 -1
  61. package/dist/styles.css +1 -1
  62. package/dist/utilities/buildFormState.js +2 -1
  63. package/dist/utilities/buildFormState.js.map +1 -1
  64. package/dist/utilities/buildTableState.d.ts.map +1 -1
  65. package/dist/utilities/buildTableState.js +12 -4
  66. package/dist/utilities/buildTableState.js.map +1 -1
  67. package/dist/utilities/getClientConfig.d.ts +2 -7
  68. package/dist/utilities/getClientConfig.d.ts.map +1 -1
  69. package/dist/utilities/getClientConfig.js +19 -8
  70. package/dist/utilities/getClientConfig.js.map +1 -1
  71. package/dist/utilities/getColumns.d.ts +10 -0
  72. package/dist/utilities/getColumns.d.ts.map +1 -0
  73. package/dist/utilities/getColumns.js +36 -0
  74. package/dist/utilities/getColumns.js.map +1 -0
  75. package/dist/utilities/renderTable.d.ts +3 -3
  76. package/dist/utilities/renderTable.d.ts.map +1 -1
  77. package/dist/utilities/renderTable.js +2 -11
  78. package/dist/utilities/renderTable.js.map +1 -1
  79. package/dist/views/BrowseByFolder/index.js +1 -1
  80. package/dist/views/BrowseByFolder/index.js.map +1 -1
  81. package/dist/views/CollectionFolder/index.d.ts.map +1 -1
  82. package/dist/views/CollectionFolder/index.js +5 -15
  83. package/dist/views/CollectionFolder/index.js.map +1 -1
  84. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  85. package/dist/views/Edit/Auth/index.js +1 -1
  86. package/dist/views/Edit/Auth/index.js.map +1 -1
  87. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  88. package/dist/views/List/ListHeader/index.js +5 -13
  89. package/dist/views/List/ListHeader/index.js.map +1 -1
  90. package/package.json +5 -5
  91. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts +0 -10
  92. package/dist/elements/ListHeaderTabs/ByFolderPill.d.ts.map +0 -1
  93. package/dist/elements/ListHeaderTabs/ByFolderPill.js +0 -70
  94. package/dist/elements/ListHeaderTabs/ByFolderPill.js.map +0 -1
  95. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts +0 -9
  96. package/dist/elements/ListHeaderTabs/DefaultListPill.d.ts.map +0 -1
  97. package/dist/elements/ListHeaderTabs/DefaultListPill.js +0 -68
  98. package/dist/elements/ListHeaderTabs/DefaultListPill.js.map +0 -1
  99. package/dist/elements/ListHeaderTabs/TrashPill.d.ts +0 -6
  100. package/dist/elements/ListHeaderTabs/TrashPill.d.ts.map +0 -1
  101. package/dist/elements/ListHeaderTabs/TrashPill.js +0 -53
  102. package/dist/elements/ListHeaderTabs/TrashPill.js.map +0 -1
  103. package/dist/exports/client/chunk-Z6O2JA43.js +0 -26
  104. /package/dist/exports/client/{CodeEditor-MIIBUJZ4.js.map → CodeEditor-URFJPG6I.js.map} +0 -0
@@ -6,101 +6,21 @@
6
6
  flex-direction: column;
7
7
  gap: 2px;
8
8
 
9
- &__wrap {
10
- display: flex;
11
- align-items: center;
12
- justify-content: space-between;
13
- gap: base(0.5);
14
- background-color: var(--theme-elevation-50);
15
- border-radius: var(--style-radius-m);
16
- }
17
-
18
- &__search {
19
- display: flex;
20
- background-color: var(--theme-elevation-50);
21
- border-radius: var(--style-radius-m);
22
- gap: base(0.4);
23
- flex-grow: 1;
24
- position: relative;
25
-
26
- .icon {
27
- flex-shrink: 0;
28
- }
29
- }
30
-
31
- .icon--search {
32
- position: absolute;
33
- left: 0;
34
- top: 50%;
35
- transform: translate3d(0, -50%, 0);
36
- inset-inline-start: base(0.4);
37
- z-index: 1;
38
- pointer-events: none;
39
- }
40
-
41
- .search-filter {
42
- flex-grow: 1;
43
-
44
- input {
45
- height: 46px;
46
- padding-left: 36px;
47
- margin: 0;
48
- }
49
- }
50
-
51
- &__custom-control {
52
- padding: 0;
53
- border-radius: 0;
54
- }
55
-
56
- &__buttons {
57
- display: flex;
58
- align-items: center;
59
- gap: calc(var(--base) / 4);
60
- padding-right: 10px;
61
- }
62
-
63
9
  .pill-selector,
64
10
  .where-builder,
65
11
  .sort-complex,
66
12
  .group-by-builder {
67
- margin-top: base(1);
13
+ margin-top: calc(var(--base) / 2);
68
14
  }
69
15
 
70
16
  @include small-break {
71
- &__wrap {
72
- flex-direction: column;
73
- align-items: stretch;
74
- background-color: transparent;
75
- border-radius: 0;
76
- }
77
-
78
- .search-filter {
79
- width: 100%;
80
-
81
- input {
82
- height: 40px;
83
- padding: 0 base(1.5);
84
- }
85
- }
86
-
87
- &__buttons {
88
- padding-right: 0;
89
- margin: 0;
90
- width: 100%;
91
-
17
+ .search-bar__actions {
92
18
  .pill {
93
19
  padding: base(0.2) base(0.2) base(0.2) base(0.4);
94
20
  justify-content: space-between;
95
21
  }
96
22
  }
97
23
 
98
- .pill-selector,
99
- .where-builder,
100
- .sort-complex {
101
- margin-top: calc(var(--base) / 2);
102
- }
103
-
104
24
  &__toggle-columns,
105
25
  &__toggle-where,
106
26
  &__toggle-sort,
@@ -2,11 +2,10 @@ import './index.scss';
2
2
  type SearchBarProps = {
3
3
  Actions?: React.ReactNode[];
4
4
  className?: string;
5
- filterKey?: string;
6
5
  label?: string;
7
- onSearchChange?: (search: string) => void;
6
+ onSearchChange: (search: string) => void;
8
7
  searchQueryParam?: string;
9
8
  };
10
- export declare function SearchBar({ Actions, className, filterKey, label, onSearchChange, searchQueryParam, }: SearchBarProps): import("react").JSX.Element;
9
+ export declare function SearchBar({ Actions, className, label, onSearchChange, searchQueryParam, }: SearchBarProps): import("react").JSX.Element;
11
10
  export {};
12
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAA;AAIrB,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AACD,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,EACd,gBAAgB,GACjB,EAAE,cAAc,+BAehB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAA;AAIrB,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AACD,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,SAAS,EACT,KAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,EAAE,cAAc,+BAchB"}
@@ -6,8 +6,7 @@ const baseClass = 'search-bar';
6
6
  export function SearchBar({
7
7
  Actions,
8
8
  className,
9
- filterKey,
10
- label,
9
+ label = 'Search...',
11
10
  onSearchChange,
12
11
  searchQueryParam
13
12
  }) {
@@ -17,7 +16,7 @@ export function SearchBar({
17
16
  handleChange: onSearchChange,
18
17
  label: label,
19
18
  searchQueryParam: searchQueryParam
20
- }, filterKey || 'search'), Actions && Actions.length > 0 ? /*#__PURE__*/_jsx("div", {
19
+ }), Actions && Actions.length > 0 ? /*#__PURE__*/_jsx("div", {
21
20
  className: `${baseClass}__actions`,
22
21
  children: Actions
23
22
  }) : null]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SearchIcon","SearchFilter","baseClass","SearchBar","Actions","className","filterKey","label","onSearchChange","searchQueryParam","_jsxs","filter","Boolean","join","_jsx","handleChange","length"],"sources":["../../../src/elements/SearchBar/index.tsx"],"sourcesContent":["import { SearchIcon } from '../../icons/Search/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport './index.scss'\n\nconst baseClass = 'search-bar'\n\ntype SearchBarProps = {\n Actions?: React.ReactNode[]\n className?: string\n filterKey?: string\n label?: string\n onSearchChange?: (search: string) => void\n searchQueryParam?: string\n}\nexport function SearchBar({\n Actions,\n className,\n filterKey,\n label,\n onSearchChange,\n searchQueryParam,\n}: SearchBarProps) {\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <SearchIcon />\n <SearchFilter\n handleChange={onSearchChange}\n key={filterKey || 'search'}\n label={label}\n searchQueryParam={searchQueryParam}\n />\n {Actions && Actions.length > 0 ? (\n <div className={`${baseClass}__actions`}>{Actions}</div>\n ) : null}\n </div>\n )\n}\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,SAASC,UAAU;EACxBC,OAAO;EACPC,SAAS;EACTC,SAAS;EACTC,KAAK;EACLC,cAAc;EACdC;AAAgB,CACD;EACf,oBACEC,KAAA,CAAC;IAAIL,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACM,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAACd,UAAA,O,aACDc,IAAA,CAACb,YAAA;MACCc,YAAA,EAAcP,cAAA;MAEdD,KAAA,EAAOA,KAAA;MACPE,gBAAA,EAAkBA;OAFbH,SAAA,IAAa,WAInBF,OAAA,IAAWA,OAAA,CAAQY,MAAM,GAAG,iBAC3BF,IAAA,CAAC;MAAIT,SAAA,EAAW,GAAGH,SAAA,WAAoB;gBAAGE;SACxC;;AAGV","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["SearchIcon","SearchFilter","baseClass","SearchBar","Actions","className","label","onSearchChange","searchQueryParam","_jsxs","filter","Boolean","join","_jsx","handleChange","length"],"sources":["../../../src/elements/SearchBar/index.tsx"],"sourcesContent":["import { SearchIcon } from '../../icons/Search/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport './index.scss'\n\nconst baseClass = 'search-bar'\n\ntype SearchBarProps = {\n Actions?: React.ReactNode[]\n className?: string\n label?: string\n onSearchChange: (search: string) => void\n searchQueryParam?: string\n}\nexport function SearchBar({\n Actions,\n className,\n label = 'Search...',\n onSearchChange,\n searchQueryParam,\n}: SearchBarProps) {\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <SearchIcon />\n <SearchFilter\n handleChange={onSearchChange}\n label={label}\n searchQueryParam={searchQueryParam}\n />\n {Actions && Actions.length > 0 ? (\n <div className={`${baseClass}__actions`}>{Actions}</div>\n ) : null}\n </div>\n )\n}\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AASlB,OAAO,SAASC,UAAU;EACxBC,OAAO;EACPC,SAAS;EACTC,KAAA,GAAQ,WAAW;EACnBC,cAAc;EACdC;AAAgB,CACD;EACf,oBACEC,KAAA,CAAC;IAAIJ,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACK,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAACb,UAAA,O,aACDa,IAAA,CAACZ,YAAA;MACCa,YAAA,EAAcP,cAAA;MACdD,KAAA,EAAOA,KAAA;MACPE,gBAAA,EAAkBA;QAEnBJ,OAAA,IAAWA,OAAA,CAAQW,MAAM,GAAG,iBAC3BF,IAAA,CAAC;MAAIR,SAAA,EAAW,GAAGH,SAAA,WAAoB;gBAAGE;SACxC;;AAGV","ignoreList":[]}
@@ -2,18 +2,41 @@
2
2
 
3
3
  @layer payload-default {
4
4
  .search-bar {
5
+ --icon-width: 40px;
6
+ --search-bg: var(--theme-elevation-50);
7
+
8
+ display: grid;
9
+ grid-template-columns: auto 1fr;
5
10
  width: 100%;
6
- display: flex;
7
- align-items: center;
8
- background-color: var(--theme-elevation-50);
11
+ background-color: var(--search-bg);
9
12
  border-radius: var(--style-radius-m);
10
- padding: calc(var(--base) * 0.6);
11
- gap: calc(var(--base) * 0.6);
13
+ position: relative;
14
+ min-height: 46px;
15
+ isolation: isolate;
16
+
17
+ &:has(.search-bar__actions) {
18
+ grid-template-columns: auto 1fr auto;
19
+ }
20
+
21
+ .icon--search {
22
+ grid-column: 1/2;
23
+ grid-row: 1/2;
24
+ z-index: 1;
25
+ align-self: center;
26
+ justify-self: center;
27
+ pointer-events: none;
28
+ width: 40px;
29
+ }
12
30
 
13
31
  .search-filter {
14
- flex-grow: 1;
32
+ grid-column: 1/3;
33
+ grid-row: 1/2;
34
+ background-color: transparent;
35
+ border-radius: inherit;
15
36
  input {
16
- flex-grow: 1;
37
+ height: 100%;
38
+ padding: calc(var(--base) * 0.5) var(--base) calc(var(--base) * 0.5) var(--icon-width);
39
+ background-color: transparent;
17
40
  }
18
41
  }
19
42
 
@@ -21,6 +44,32 @@
21
44
  display: flex;
22
45
  align-items: center;
23
46
  gap: calc(var(--base) / 4);
47
+ padding: calc(var(--base) * 0.5);
48
+ grid-column: 3/4;
49
+ }
50
+
51
+ @include small-break {
52
+ min-height: 40px;
53
+ background-color: transparent;
54
+
55
+ &:has(.search-bar__actions) {
56
+ row-gap: calc(var(--base) / 2);
57
+ grid-template-columns: auto 1fr;
58
+ grid-template-rows: auto auto;
59
+ }
60
+
61
+ .search-filter {
62
+ background-color: var(--search-bg);
63
+ }
64
+
65
+ &__actions {
66
+ grid-row: 2/3;
67
+ grid-column: 1/3;
68
+ display: flex;
69
+ align-items: center;
70
+ gap: calc(var(--base) / 4);
71
+ padding: 0;
72
+ }
24
73
  }
25
74
  }
26
75
  }
@@ -1,36 +1,5 @@
1
1
  import React from 'react';
2
- export type SearchFilterProps = {
3
- /**
4
- * This prop is deprecated and will be removed in the next major version.
5
- *
6
- * @deprecated
7
- */
8
- fieldName?: string;
9
- handleChange?: (search: string) => void;
10
- /**
11
- * This prop is deprecated and will be removed in the next major version.
12
- *
13
- * Prefer passing in `searchString` instead.
14
- *
15
- * @deprecated
16
- */
17
- initialParams?: ParsedQs;
18
- label: string;
19
- searchQueryParam?: string;
20
- /**
21
- * This prop is deprecated and will be removed in the next major version.
22
- *
23
- * @deprecated
24
- */
25
- setValue?: (arg: string) => void;
26
- /**
27
- * This prop is deprecated and will be removed in the next major version.
28
- *
29
- * @deprecated
30
- */
31
- value?: string;
32
- };
33
- import type { ParsedQs } from 'qs-esm';
2
+ import type { SearchFilterProps } from './types.js';
34
3
  import './index.scss';
35
- export declare const SearchFilter: React.FC<SearchFilterProps>;
4
+ export declare function SearchFilter(props: SearchFilterProps): React.JSX.Element;
36
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqDpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,cAAc,CAAA;AAIrB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAyDpD"}
@@ -2,11 +2,10 @@
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import React, { useEffect, useRef, useState } from 'react';
5
- import { usePathname } from 'next/navigation.js';
6
5
  import { useDebounce } from '../../hooks/useDebounce.js';
7
6
  import './index.scss';
8
7
  const baseClass = 'search-filter';
9
- export const SearchFilter = props => {
8
+ export function SearchFilter(props) {
10
9
  const {
11
10
  handleChange,
12
11
  initialParams,
@@ -14,7 +13,6 @@ export const SearchFilter = props => {
14
13
  searchQueryParam
15
14
  } = props;
16
15
  const searchParam = initialParams?.search || searchQueryParam;
17
- const pathname = usePathname();
18
16
  const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined);
19
17
  /**
20
18
  * Tracks whether the state should be updated based on the search value.
@@ -32,7 +30,11 @@ export const SearchFilter = props => {
32
30
  setSearch(searchParam);
33
31
  previousSearch.current = searchParam;
34
32
  }
35
- }, [searchParam, pathname]);
33
+ return () => {
34
+ shouldUpdateState.current = true;
35
+ previousSearch.current = undefined;
36
+ };
37
+ }, [searchParam]);
36
38
  useEffect(() => {
37
39
  if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {
38
40
  if (handleChange) {
@@ -56,5 +58,5 @@ export const SearchFilter = props => {
56
58
  value: search || ''
57
59
  })
58
60
  });
59
- };
61
+ }
60
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","usePathname","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","searchQueryParam","searchParam","search","pathname","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport type SearchFilterProps = {\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n fieldName?: string\n handleChange?: (search: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * Prefer passing in `searchString` instead.\n *\n * @deprecated\n */\n initialParams?: ParsedQs\n label: string\n searchQueryParam?: string\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n setValue?: (arg: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { usePathname } from 'next/navigation.js'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, searchQueryParam } = props\n const searchParam = initialParams?.search || searchQueryParam\n const pathname = usePathname()\n const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined)\n\n /**\n * Tracks whether the state should be updated based on the search value.\n * If the value is updated from the URL, we don't want to update the state as it causes additional renders.\n */\n const shouldUpdateState = useRef(true)\n\n /**\n * Tracks the previous search value to compare with the current debounced search value.\n */\n const previousSearch = useRef(typeof searchParam === 'string' ? searchParam : undefined)\n\n const debouncedSearch = useDebounce(search, 300)\n\n useEffect(() => {\n if (searchParam !== previousSearch.current) {\n shouldUpdateState.current = false\n setSearch(searchParam as string)\n previousSearch.current = searchParam as string\n }\n }, [searchParam, pathname])\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, handleChange])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => {\n shouldUpdateState.current = true\n setSearch(e.target.value)\n }}\n placeholder={label}\n type=\"text\"\n value={search || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAoCnD,SAASC,WAAW,QAAQ;AAE5B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC;EAAgB,CAAE,GAAGJ,KAAA;EACjE,MAAMK,WAAA,GAAcH,aAAA,EAAeI,MAAA,IAAUF,gBAAA;EAC7C,MAAMG,QAAA,GAAWX,WAAA;EACjB,MAAM,CAACU,MAAA,EAAQE,SAAA,CAAU,GAAGb,QAAA,CAAS,OAAOU,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAErF;;;;EAIA,MAAMC,iBAAA,GAAoBhB,MAAA,CAAO;EAEjC;;;EAGA,MAAMiB,cAAA,GAAiBjB,MAAA,CAAO,OAAOW,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAE9E,MAAMG,eAAA,GAAkBf,WAAA,CAAYS,MAAA,EAAQ;EAE5Cb,SAAA,CAAU;IACR,IAAIY,WAAA,KAAgBM,cAAA,CAAeE,OAAO,EAAE;MAC1CH,iBAAA,CAAkBG,OAAO,GAAG;MAC5BL,SAAA,CAAUH,WAAA;MACVM,cAAA,CAAeE,OAAO,GAAGR,WAAA;IAC3B;EACF,GAAG,CAACA,WAAA,EAAaE,QAAA,CAAS;EAE1Bd,SAAA,CAAU;IACR,IAAImB,eAAA,KAAoBD,cAAA,CAAeE,OAAO,IAAIH,iBAAA,CAAkBG,OAAO,EAAE;MAC3E,IAAIZ,YAAA,EAAc;QAChBA,YAAA,CAAaW,eAAA;MACf;MAEAD,cAAA,CAAeE,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBX,YAAA,CAAa;EAElC,oBACEa,IAAA,CAAC;IAAIC,SAAA,EAAWjB,SAAA;cACd,aAAAgB,IAAA,CAAC;MACC,cAAYX,KAAA;MACZY,SAAA,EAAW,GAAGjB,SAAA,SAAkB;MAChCkB,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA;QACTR,iBAAA,CAAkBG,OAAO,GAAG;QAC5BL,SAAA,CAAUU,CAAA,CAAEC,MAAM,CAACC,KAAK;MAC1B;MACAC,WAAA,EAAalB,KAAA;MACbmB,IAAA,EAAK;MACLF,KAAA,EAAOd,MAAA,IAAU;;;AAIzB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","searchQueryParam","searchParam","search","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { SearchFilterProps } from './types.js'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport function SearchFilter(props: SearchFilterProps) {\n const { handleChange, initialParams, label, searchQueryParam } = props\n const searchParam = initialParams?.search || searchQueryParam\n const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined)\n\n /**\n * Tracks whether the state should be updated based on the search value.\n * If the value is updated from the URL, we don't want to update the state as it causes additional renders.\n */\n const shouldUpdateState = useRef(true)\n\n /**\n * Tracks the previous search value to compare with the current debounced search value.\n */\n const previousSearch = useRef(typeof searchParam === 'string' ? searchParam : undefined)\n\n const debouncedSearch = useDebounce(search, 300)\n\n useEffect(() => {\n if (searchParam !== previousSearch.current) {\n shouldUpdateState.current = false\n setSearch(searchParam as string)\n previousSearch.current = searchParam as string\n }\n\n return () => {\n shouldUpdateState.current = true\n previousSearch.current = undefined\n }\n }, [searchParam])\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, handleChange])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => {\n shouldUpdateState.current = true\n setSearch(e.target.value)\n }}\n placeholder={label}\n type=\"text\"\n value={search || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAInD,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,aAAaC,KAAwB;EACnD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC;EAAgB,CAAE,GAAGJ,KAAA;EACjE,MAAMK,WAAA,GAAcH,aAAA,EAAeI,MAAA,IAAUF,gBAAA;EAC7C,MAAM,CAACE,MAAA,EAAQC,SAAA,CAAU,GAAGX,QAAA,CAAS,OAAOS,WAAA,KAAgB,WAAWA,WAAA,GAAcG,SAAA;EAErF;;;;EAIA,MAAMC,iBAAA,GAAoBd,MAAA,CAAO;EAEjC;;;EAGA,MAAMe,cAAA,GAAiBf,MAAA,CAAO,OAAOU,WAAA,KAAgB,WAAWA,WAAA,GAAcG,SAAA;EAE9E,MAAMG,eAAA,GAAkBd,WAAA,CAAYS,MAAA,EAAQ;EAE5CZ,SAAA,CAAU;IACR,IAAIW,WAAA,KAAgBK,cAAA,CAAeE,OAAO,EAAE;MAC1CH,iBAAA,CAAkBG,OAAO,GAAG;MAC5BL,SAAA,CAAUF,WAAA;MACVK,cAAA,CAAeE,OAAO,GAAGP,WAAA;IAC3B;IAEA,OAAO;MACLI,iBAAA,CAAkBG,OAAO,GAAG;MAC5BF,cAAA,CAAeE,OAAO,GAAGJ,SAAA;IAC3B;EACF,GAAG,CAACH,WAAA,CAAY;EAEhBX,SAAA,CAAU;IACR,IAAIiB,eAAA,KAAoBD,cAAA,CAAeE,OAAO,IAAIH,iBAAA,CAAkBG,OAAO,EAAE;MAC3E,IAAIX,YAAA,EAAc;QAChBA,YAAA,CAAaU,eAAA;MACf;MAEAD,cAAA,CAAeE,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBV,YAAA,CAAa;EAElC,oBACEY,IAAA,CAAC;IAAIC,SAAA,EAAWhB,SAAA;cACd,aAAAe,IAAA,CAAC;MACC,cAAYV,KAAA;MACZW,SAAA,EAAW,GAAGhB,SAAA,SAAkB;MAChCiB,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA;QACTR,iBAAA,CAAkBG,OAAO,GAAG;QAC5BL,SAAA,CAAUU,CAAA,CAAEC,MAAM,CAACC,KAAK;MAC1B;MACAC,WAAA,EAAajB,KAAA;MACbkB,IAAA,EAAK;MACLF,KAAA,EAAOb,MAAA,IAAU;;;AAIzB","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import type { ParsedQs } from 'qs-esm';
2
+ export type SearchFilterProps = {
3
+ /**
4
+ * This prop is deprecated and will be removed in the next major version.
5
+ *
6
+ * @deprecated
7
+ */
8
+ fieldName?: string;
9
+ handleChange?: (search: string) => void;
10
+ /**
11
+ * This prop is deprecated and will be removed in the next major version.
12
+ *
13
+ * Prefer passing in `searchString` instead.
14
+ *
15
+ * @deprecated
16
+ */
17
+ initialParams?: ParsedQs;
18
+ label: string;
19
+ searchQueryParam?: string;
20
+ /**
21
+ * This prop is deprecated and will be removed in the next major version.
22
+ *
23
+ * @deprecated
24
+ */
25
+ setValue?: (arg: string) => void;
26
+ /**
27
+ * This prop is deprecated and will be removed in the next major version.
28
+ *
29
+ * @deprecated
30
+ */
31
+ value?: string;
32
+ };
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/SearchFilter/types.ts"],"sourcesContent":["import type { ParsedQs } from 'qs-esm'\n\nexport type SearchFilterProps = {\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n fieldName?: string\n handleChange?: (search: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * Prefer passing in `searchString` instead.\n *\n * @deprecated\n */\n initialParams?: ParsedQs\n label: string\n searchQueryParam?: string\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n setValue?: (arg: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n value?: string\n}\n"],"mappings":"AAEA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAiN1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAkN1B,CAAA"}
@@ -164,7 +164,7 @@ export const Status = () => {
164
164
  modalSlug: unPublishModalSlug,
165
165
  onConfirm: () => performAction('unpublish')
166
166
  })]
167
- }), !isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft' && /*#__PURE__*/_jsxs(React.Fragment, {
167
+ }), (!isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft') && /*#__PURE__*/_jsxs(React.Fragment, {
168
168
  children: [" — ", /*#__PURE__*/_jsx(Button, {
169
169
  buttonStyle: "none",
170
170
  className: `${baseClass}__action`,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","isTrashed","savedDocumentData","doc","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","getEntityConfig","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","collectionConfig","globalConfig","docConfig","autosaveEnabled","versions","drafts","autosave","_status","displayStatusKey","performAction","action","url","method","body","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n isTrashed,\n savedDocumentData: doc,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { toggleModal } = useModal()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published' = 'draft'\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const docConfig = collectionConfig || globalConfig\n const autosaveEnabled =\n typeof docConfig?.versions?.drafts === 'object' ? docConfig.versions.drafts.autosave : false\n\n if (autosaveEnabled) {\n if (hasPublishedDoc) {\n statusToRender = unpublishedVersionCount > 0 ? 'changed' : 'published'\n }\n } else {\n statusToRender = doc._status || 'draft'\n }\n const displayStatusKey = isTrashed\n ? hasPublishedDoc\n ? 'previouslyPublished'\n : 'previouslyDraft'\n : statusToRender\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${displayStatusKey}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${displayStatusKey}`)}</span>\n {!isTrashed && canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {!isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","isTrashed","savedDocumentData","doc","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","getEntityConfig","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","collectionConfig","globalConfig","docConfig","autosaveEnabled","versions","drafts","autosave","_status","displayStatusKey","performAction","action","url","method","body","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n isTrashed,\n savedDocumentData: doc,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { toggleModal } = useModal()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published' = 'draft'\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const docConfig = collectionConfig || globalConfig\n const autosaveEnabled =\n typeof docConfig?.versions?.drafts === 'object' ? docConfig.versions.drafts.autosave : false\n\n if (autosaveEnabled) {\n if (hasPublishedDoc) {\n statusToRender = unpublishedVersionCount > 0 ? 'changed' : 'published'\n }\n } else {\n statusToRender = doc._status || 'draft'\n }\n const displayStatusKey = isTrashed\n ? hasPublishedDoc\n ? 'previouslyPublished'\n : 'previouslyDraft'\n : statusToRender\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${displayStatusKey}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}:&nbsp;</span>\n <span className={`${baseClass}__value`}>{t(`version:${displayStatusKey}`)}</span>\n {!isTrashed && canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {((!isTrashed && canUpdate && statusToRender === 'changed') ||\n statusToRender === 'draft') && (\n <React.Fragment>\n &nbsp;&mdash;&nbsp;\n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{i as a}from"./chunk-Z6O2JA43.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=CodeEditor-MIIBUJZ4.js.map
13
+ import{i as a}from"./chunk-KPQQ5IUL.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=CodeEditor-URFJPG6I.js.map
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
+ import * as requireReact from 'react';
4
+ import * as requireReactDom from 'react-dom';
5
+
6
+ function require(m) {
7
+ if (m === 'react') return requireReact;
8
+ if (m === 'react-dom') return requireReactDom;
9
+ throw new Error(`Unknown module ${m}`);
10
+ }
11
+ // Workaround end
12
+
13
+ import{c as Er}from"react/compiler-runtime";import{jsx as qe}from"react/jsx-runtime";function Ke(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function le(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ne(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?le(Object(r),!0).forEach(function(n){Ke(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function Ge(t,e){if(t==null)return{};var r={},n=Object.keys(t),o,i;for(i=0;i<n.length;i++)o=n[i],!(e.indexOf(o)>=0)&&(r[o]=t[o]);return r}function de(t,e){if(t==null)return{};var r=Ge(t,e),n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o<i.length;o++)n=i[o],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function me(t,e){return Ye(t)||Je(t,e)||Qe(t,e)||Xe()}function Ye(t){if(Array.isArray(t))return t}function Je(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],n=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(n=(c=a.next()).done)&&(r.push(c.value),!(e&&r.length===e));n=!0);}catch(u){o=!0,i=u}finally{try{!n&&a.return!=null&&a.return()}finally{if(o)throw i}}return r}}function Qe(t,e){if(t){if(typeof t=="string")return fe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fe(t,e)}}function fe(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Xe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
14
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ze(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function pe(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ge(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?pe(Object(r),!0).forEach(function(n){Ze(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):pe(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function et(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(n){return e.reduceRight(function(o,i){return i(o)},n)}}function V(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u];return e.apply(r,[].concat(o,c))}}}function G(t){return{}.toString.call(t).includes("Object")}function tt(t){return!Object.keys(t).length}function B(t){return typeof t=="function"}function rt(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function nt(t,e){return G(e)||k("changeType"),Object.keys(e).some(function(r){return!rt(t,r)})&&k("changeField"),e}function ot(t){B(t)||k("selectorType")}function it(t){B(t)||G(t)||k("handlerType"),G(t)&&Object.values(t).some(function(e){return!B(e)})&&k("handlersType")}function at(t){t||k("initialIsRequired"),G(t)||k("initialType"),tt(t)&&k("initialContent")}function ct(t,e){throw new Error(t[e]||t.default)}var ut={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},k=V(ct)(ut),K={changes:nt,selector:ot,handler:it,initial:at};function st(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};K.initial(t),K.handler(e);var r={current:t},n=V(dt)(r,e),o=V(ft)(r),i=V(K.changes)(t),a=V(lt)(r);function c(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(s){return s};return K.selector(f),f(r.current)}function u(f){et(n,o,i,a)(f)}return[c,u]}function lt(t,e){return B(e)?e(t.current):e}function ft(t,e){return t.current=ge(ge({},t.current),e),e}function dt(t,e,r){return B(e)?e(t.current):Object.keys(r).forEach(function(n){var o;return(o=e[n])===null||o===void 0?void 0:o.call(e,t.current[n])}),r}var mt={create:st},he=mt;var pt={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}},ve=pt;function gt(t){return function e(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u];return e.apply(r,[].concat(o,c))}}}var be=gt;function ht(t){return{}.toString.call(t).includes("Object")}var ye=ht;function vt(t){return t||we("configIsRequired"),ye(t)||we("configType"),t.urls?(bt(),{paths:{vs:t.urls.monacoBase}}):t}function bt(){console.warn(Oe.deprecation)}function yt(t,e){throw new Error(t[e]||t.default)}var Oe={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
15
+ You are using deprecated way of configuration.
16
+
17
+ Instead of using
18
+ monaco.config({ urls: { monacoBase: '...' } })
19
+ use
20
+ monaco.config({ paths: { vs: '...' } })
21
+
22
+ For more please check the link https://github.com/suren-atoyan/monaco-loader#config
23
+ `},we=be(yt)(Oe),wt={config:vt},je=wt;var Ot=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,a){return a(i)},o)}},Me=Ot;function Se(t,e){return Object.keys(e).forEach(function(r){e[r]instanceof Object&&t[r]&&Object.assign(e[r],Se(t[r],e[r]))}),ne(ne({},t),e)}var xe=Se;var jt={type:"cancelation",msg:"operation is manually canceled"};function Mt(t){var e=!1,r=new Promise(function(n,o){t.then(function(i){return e?o(jt):n(i)}),t.catch(o)});return r.cancel=function(){return e=!0},r}var Y=Mt;var St=he.create({config:ve,isInitialized:!1,resolve:null,reject:null,monaco:null}),Ee=me(St,2),H=Ee[0],J=Ee[1];function xt(t){var e=je.config(t),r=e.monaco,n=de(e,["monaco"]);J(function(o){return{config:xe(o.config,n),monaco:r}})}function Et(){var t=H(function(e){var r=e.monaco,n=e.isInitialized,o=e.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!t.isInitialized){if(J({isInitialized:!0}),t.monaco)return t.resolve(t.monaco),Y(oe);if(window.monaco&&window.monaco.editor)return Ce(window.monaco),t.resolve(window.monaco),Y(oe);Me(Ct,Tt)(It)}return Y(oe)}function Ct(t){return document.body.appendChild(t)}function Pt(t){var e=document.createElement("script");return t&&(e.src=t),e}function Tt(t){var e=H(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=Pt("".concat(e.config.paths.vs,"/loader.js"));return r.onload=function(){return t()},r.onerror=e.reject,r}function It(){var t=H(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),e=window.require;e.config(t.config),e(["vs/editor/editor.main"],function(r){Ce(r),t.resolve(r)},function(r){t.reject(r)})}function Ce(t){H().monaco||J({monaco:t})}function Rt(){return H(function(t){var e=t.monaco;return e})}var oe=new Promise(function(t,e){return J({resolve:t,reject:e})}),At={config:xt,init:Et,__getMonacoInstance:Rt},L=At;import{memo as Dt}from"react";import kt,{useState as Pe,useRef as _,useCallback as Te,useEffect as Ie}from"react";import{memo as Lt}from"react";import ie from"react";import $t from"react";import{useEffect as qt}from"react";import{useEffect as Kt,useRef as Gt}from"react";import{useState as mn}from"react";import{memo as er}from"react";import tr,{useState as Re,useEffect as Q,useRef as A,useCallback as rr}from"react";import{useEffect as nr,useRef as or}from"react";var _t={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ae=_t,Wt={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},Nt=Wt;function Vt({children:t}){return $t.createElement("div",{style:Nt.container},t)}var Bt=Vt,Ht=Bt;function Ft({width:t,height:e,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:a}){return ie.createElement("section",{style:{...ae.wrapper,width:t,height:e},...a},!r&&ie.createElement(Ht,null,n),ie.createElement("div",{ref:o,style:{...ae.fullWidth,...!r&&ae.hide},className:i}))}var Ut=Ft,Ae=Lt(Ut);function zt(t){qt(t,[])}var De=zt;function Yt(t,e,r=!0){let n=Gt(!0);Kt(n.current||!r?()=>{n.current=!1}:t,e)}var E=Yt;function F(){}function $(t,e,r,n){return Jt(t,n)||Qt(t,e,r,n)}function Jt(t,e){return t.editor.getModel(ke(t,e))}function Qt(t,e,r,n){return t.editor.createModel(e,r,n?ke(t,n):void 0)}function ke(t,e){return t.Uri.parse(e)}function Xt({original:t,modified:e,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:a,keepCurrentOriginalModel:c=!1,keepCurrentModifiedModel:u=!1,theme:f="light",loading:s="Loading...",options:l={},height:m="100%",width:h="100%",className:O,wrapperProps:j={},beforeMount:M=F,onMount:C=F}){let[w,I]=Pe(!1),[P,b]=Pe(!0),y=_(null),p=_(null),T=_(null),v=_(C),d=_(M),R=_(!1);De(()=>{let g=L.init();return g.then(S=>(p.current=S)&&b(!1)).catch(S=>S?.type!=="cancelation"&&console.error("Monaco initialization: error:",S)),()=>y.current?N():g.cancel()}),E(()=>{if(y.current&&p.current){let g=y.current.getOriginalEditor(),S=$(p.current,t||"",n||r||"text",i||"");S!==g.getModel()&&g.setModel(S)}},[i],w),E(()=>{if(y.current&&p.current){let g=y.current.getModifiedEditor(),S=$(p.current,e||"",o||r||"text",a||"");S!==g.getModel()&&g.setModel(S)}},[a],w),E(()=>{let g=y.current.getModifiedEditor();g.getOption(p.current.editor.EditorOption.readOnly)?g.setValue(e||""):e!==g.getValue()&&(g.executeEdits("",[{range:g.getModel().getFullModelRange(),text:e||"",forceMoveMarkers:!0}]),g.pushUndoStop())},[e],w),E(()=>{y.current?.getModel()?.original.setValue(t||"")},[t],w),E(()=>{let{original:g,modified:S}=y.current.getModel();p.current.editor.setModelLanguage(g,n||r||"text"),p.current.editor.setModelLanguage(S,o||r||"text")},[r,n,o],w),E(()=>{p.current?.editor.setTheme(f)},[f],w),E(()=>{y.current?.updateOptions(l)},[l],w);let q=Te(()=>{if(!p.current)return;d.current(p.current);let g=$(p.current,t||"",n||r||"text",i||""),S=$(p.current,e||"",o||r||"text",a||"");y.current?.setModel({original:g,modified:S})},[r,e,o,t,n,i,a]),z=Te(()=>{!R.current&&T.current&&(y.current=p.current.editor.createDiffEditor(T.current,{automaticLayout:!0,...l}),q(),p.current?.editor.setTheme(f),I(!0),R.current=!0)},[l,f,q]);Ie(()=>{w&&v.current(y.current,p.current)},[w]),Ie(()=>{!P&&!w&&z()},[P,w,z]);function N(){let g=y.current?.getModel();c||g?.original?.dispose(),u||g?.modified?.dispose(),y.current?.dispose()}return kt.createElement(Ae,{width:h,height:m,isEditorReady:w,loading:s,_ref:T,className:O,wrapperProps:j})}var Zt=Xt,fn=Dt(Zt);function ir(t){let e=or();return nr(()=>{e.current=t},[t]),e.current}var ar=ir,X=new Map;function cr({defaultValue:t,defaultLanguage:e,defaultPath:r,value:n,language:o,path:i,theme:a="light",line:c,loading:u="Loading...",options:f={},overrideServices:s={},saveViewState:l=!0,keepCurrentModel:m=!1,width:h="100%",height:O="100%",className:j,wrapperProps:M={},beforeMount:C=F,onMount:w=F,onChange:I,onValidate:P=F}){let[b,y]=Re(!1),[p,T]=Re(!0),v=A(null),d=A(null),R=A(null),q=A(w),z=A(C),N=A(),g=A(n),S=ar(i),ue=A(!1),ee=A(!1);De(()=>{let x=L.init();return x.then(D=>(v.current=D)&&T(!1)).catch(D=>D?.type!=="cancelation"&&console.error("Monaco initialization: error:",D)),()=>d.current?ze():x.cancel()}),E(()=>{let x=$(v.current,t||n||"",e||o||"",i||r||"");x!==d.current?.getModel()&&(l&&X.set(S,d.current?.saveViewState()),d.current?.setModel(x),l&&d.current?.restoreViewState(X.get(i)))},[i],b),E(()=>{d.current?.updateOptions(f)},[f],b),E(()=>{!d.current||n===void 0||(d.current.getOption(v.current.editor.EditorOption.readOnly)?d.current.setValue(n):n!==d.current.getValue()&&(ee.current=!0,d.current.executeEdits("",[{range:d.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),d.current.pushUndoStop(),ee.current=!1))},[n],b),E(()=>{let x=d.current?.getModel();x&&o&&v.current?.editor.setModelLanguage(x,o)},[o],b),E(()=>{c!==void 0&&d.current?.revealLine(c)},[c],b),E(()=>{v.current?.editor.setTheme(a)},[a],b);let se=rr(()=>{if(!(!R.current||!v.current)&&!ue.current){z.current(v.current);let x=i||r,D=$(v.current,n||t||"",e||o||"",x||"");d.current=v.current?.editor.create(R.current,{model:D,automaticLayout:!0,...f},s),l&&d.current.restoreViewState(X.get(x)),v.current.editor.setTheme(a),c!==void 0&&d.current.revealLine(c),y(!0),ue.current=!0}},[t,e,r,n,o,i,f,s,l,a,c]);Q(()=>{b&&q.current(d.current,v.current)},[b]),Q(()=>{!p&&!b&&se()},[p,b,se]),g.current=n,Q(()=>{b&&I&&(N.current?.dispose(),N.current=d.current?.onDidChangeModelContent(x=>{ee.current||I(d.current.getValue(),x)}))},[b,I]),Q(()=>{if(b){let x=v.current.editor.onDidChangeMarkers(D=>{let te=d.current.getModel()?.uri;if(te&&D.find(re=>re.path===te.path)){let re=v.current.editor.getModelMarkers({resource:te});P?.(re)}});return()=>{x?.dispose()}}return()=>{}},[b,P]);function ze(){N.current?.dispose(),m?l&&X.set(i,d.current.saveViewState()):d.current.getModel()?.dispose(),d.current.dispose()}return tr.createElement(Ae,{width:h,height:O,isEditorReady:b,loading:u,_ref:R,className:j,wrapperProps:M})}var ur=cr,sr=er(ur),Z=sr;import{useState as Cr}from"react";import{c as hr}from"react/compiler-runtime";import{jsx as vr}from"react/jsx-runtime";import{createContext as br,use as yr,useEffect as wr,useState as Ve}from"react";import{jsx as lr}from"react/jsx-runtime";import{createContext as fr,use as dr,useCallback as Le,useEffect as mr,useMemo as _e,useRef as pr,useState as gr}from"react";var We=fr(void 0);function $e(t){if(!t?.blocks?.length||t.blocksMap)return t.blocksMap={},t;let e={...t};e.blocksMap={};for(let r of t.blocks)e.blocksMap[r.slug]=r;return e}var Mn=({children:t,config:e})=>{let[r,n]=gr(()=>$e(e)),o=pr(!0),i=Le(s=>{n($e(s))},[]);mr(()=>{if(o.current){o.current=!1;return}i(e)},[e,i]);let{collectionsBySlug:a,globalsBySlug:c}=_e(()=>{let s={},l={};for(let m of r.collections)s[m.slug]=m;for(let m of r.globals)l[m.slug]=m;return{collectionsBySlug:s,globalsBySlug:l}},[r]),u=Le(s=>"collectionSlug"in s?a[s.collectionSlug]??null:"globalSlug"in s?c[s.globalSlug]??null:null,[a,c]),f=_e(()=>({config:r,getEntityConfig:u,setConfig:i}),[r,u]);return lr(We,{value:f,children:t})},Ne=()=>dr(We);var Or={autoMode:!0,setTheme:()=>null,theme:"light"},He=br(Or);function Be(t,e,r){let n=new Date;n.setTime(n.getTime()+r*24*60*60*1e3);let o="expires="+n.toUTCString();document.cookie=t+"="+e+";"+o+";path=/"}var jr=t=>{let e,r=window.document.cookie.split("; ").find(n=>n.startsWith(`${t}=`))?.split("=")[1];return r==="light"||r==="dark"?e=r:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:r}},Mr="light",Rn=t=>{let e=hr(11),{children:r,theme:n}=t,{config:o}=Ne(),i=o.admin.theme,a=`${o.cookiePrefix||"payload"}-theme`,[c,u]=Ve(n||Mr),[f,s]=Ve(),l,m;e[0]!==a||e[1]!==i?(l=()=>{if(i!=="all")return;let{theme:M,themeFromCookies:C}=jr(a);u(M),s(!C)},m=[i,a],e[0]=a,e[1]=i,e[2]=l,e[3]=m):(l=e[2],m=e[3]),wr(l,m);let h;e[4]!==a?(h=M=>{if(M==="light"||M==="dark")u(M),s(!1),Be(a,M,365),document.documentElement.setAttribute("data-theme",M);else if(M==="auto"){Be(a,M,-1);let C=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",C),s(!0),u(C)}},e[4]=a,e[5]=h):h=e[5];let O=h,j;return e[6]!==f||e[7]!==r||e[8]!==O||e[9]!==c?(j=vr(He,{value:{autoMode:f,setTheme:O,theme:c},children:r}),e[6]=f,e[7]=r,e[8]=O,e[9]=c,e[10]=j):j=e[10],j},Fe=()=>yr(He);import{c as xr}from"react/compiler-runtime";import{jsx as U}from"react/jsx-runtime";import"react";import{c as Sr}from"react/compiler-runtime";import*as W from"react";var Ue=(t,e)=>{let r=Sr(9),n=e===void 0?!1:e,[o,i]=W.useState(!1),a=W.useRef(void 0),c;r[0]!==t?(c=()=>(i(!1),clearTimeout(a.current),a.current=setTimeout(()=>{i(!0)},t),()=>{clearTimeout(a.current)}),r[0]=t,r[1]=c):c=r[1];let u=c,f,s;r[2]!==u||r[3]!==n?(f=()=>{n&&u()},s=[u,n],r[2]=u,r[3]=n,r[4]=f,r[5]=s):(f=r[4],s=r[5]),W.useEffect(f,s);let l;return r[6]!==o||r[7]!==u?(l=[o,u],r[6]=o,r[7]=u,r[8]=l):l=r[8],l};var ce=({animationDelay:t="0ms",className:e,disableInlineStyles:r=!1,height:n="60px",width:o="100%"})=>U("div",{className:["shimmer-effect",e].filter(Boolean).join(" "),style:{height:!r&&(typeof n=="number"?`${n}px`:n),width:!r&&(typeof o=="number"?`${o}px`:o)},children:U("div",{className:"shimmer-effect__shine",style:{animationDelay:t}})}),Nn=t=>{let e=xr(7),{className:r,count:n,height:o,renderDelay:i,shimmerDelay:a,shimmerItemClassName:c,width:u}=t,f=i===void 0?500:i,s=a===void 0?25:a,l=typeof s=="number"?`${s}ms`:s,[m]=Ue(f,!0);if(!m)return null;let h;return e[0]!==r||e[1]!==n||e[2]!==o||e[3]!==l||e[4]!==c||e[5]!==u?(h=U("div",{className:r,children:[...Array(n)].map((O,j)=>U("div",{className:c,children:U(ce,{animationDelay:`calc(${j} * ${l})`,height:o,width:u})},j))}),e[0]=r,e[1]=n,e[2]=o,e[3]=l,e[4]=c,e[5]=u,e[6]=h):h=e[6],h};var Pr="default"in Z?Z.default:Z,Tr="code-editor",Ir=t=>{let e=Er(42),r,n,o,i,a,c;e[0]!==t?({className:r,maxHeight:n,minHeight:o,options:i,readOnly:a,...c}=t,e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=i,e[5]=a,e[6]=c):(r=e[1],n=e[2],o=e[3],i=e[4],a=e[5],c=e[6]);let u=o??56,f;e[7]!==i?(f=i||{},e[7]=i,e[8]=f):f=e[8];let s,l,m,h;e[9]!==f?({insertSpaces:l,tabSize:m,trimAutoWhitespace:h,...s}=f,e[9]=f,e[10]=s,e[11]=l,e[12]=m,e[13]=h):(s=e[10],l=e[11],m=e[12],h=e[13]);let O=i?.padding?(i.padding.top||0)+(i.padding?.bottom||0):0,[j,M]=Cr(u),{theme:C}=Fe(),w=c?.defaultLanguage?`language--${c.defaultLanguage}`:"",I=a&&"read-only",P;e[14]!==r||e[15]!==w||e[16]!==I?(P=[Tr,r,w,I].filter(Boolean),e[14]=r,e[15]=w,e[16]=I,e[17]=P):P=e[17];let b=P.join(" "),y;if(e[18]!==u||e[19]!==b||e[20]!==j||e[21]!==s||e[22]!==l||e[23]!==n||e[24]!==O||e[25]!==a||e[26]!==c||e[27]!==m||e[28]!==C||e[29]!==h){let p;e[31]!==u||e[32]!==O||e[33]!==c?(p=(v,d)=>{c.onChange?.(v,d),M(Math.max(u,v.split(`
24
+ `).length*18+2+O))},e[31]=u,e[32]=O,e[33]=c,e[34]=p):p=e[34];let T;e[35]!==u||e[36]!==l||e[37]!==O||e[38]!==c||e[39]!==m||e[40]!==h?(T=(v,d)=>{c.onMount?.(v,d);let R=v.getModel();R&&R.updateOptions({insertSpaces:l??!0,tabSize:m??4,trimAutoWhitespace:h??!0}),M(Math.max(u,v.getValue().split(`
25
+ `).length*18+2+O))},e[35]=u,e[36]=l,e[37]=O,e[38]=c,e[39]=m,e[40]=h,e[41]=T):T=e[41],y=qe(Pr,{className:b,loading:qe(ce,{height:j}),options:{detectIndentation:!1,hideCursorInOverviewRuler:!0,insertSpaces:!1,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!!a,scrollbar:{alwaysConsumeMouseWheel:!1},scrollBeyondLastLine:!1,trimAutoWhitespace:!1,wordWrap:"on",...s},theme:C==="dark"?"vs-dark":"vs",...c,height:n?Math.min(j,n):j,onChange:p,onMount:T}),e[18]=u,e[19]=b,e[20]=j,e[21]=s,e[22]=l,e[23]=n,e[24]=O,e[25]=a,e[26]=c,e[27]=m,e[28]=C,e[29]=h,e[30]=y}else y=e[30];return y},Gn=Ir;export{Mn as a,Ne as b,Ue as c,ce as d,Nn as e,Mr as f,Rn as g,Fe as h,Gn as i};
26
+ //# sourceMappingURL=chunk-KPQQ5IUL.js.map