@rakun-kit/manager-react 1.4.6 → 1.4.8

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 (54) hide show
  1. package/README.md +196 -196
  2. package/dist/cjs/components/editor/themes/editor-theme.css +91 -91
  3. package/dist/cjs/components/ui/sortable.js +4 -4
  4. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +11 -2
  5. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  6. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js +53 -0
  7. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js.map +1 -0
  8. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +66 -1
  9. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
  10. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +97 -25
  11. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  12. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +12 -3
  13. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  14. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +63 -11
  15. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  16. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +3 -3
  17. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  18. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +13 -7
  19. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
  20. package/dist/cjs/state/theme.js +12 -12
  21. package/dist/esm/components/editor/themes/editor-theme.css +91 -91
  22. package/dist/esm/components/ui/sortable.js +4 -4
  23. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
  24. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +11 -2
  25. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  26. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.d.ts +2 -0
  27. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.d.ts.map +1 -0
  28. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js +49 -0
  29. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js.map +1 -0
  30. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +8 -0
  31. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -1
  32. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +66 -1
  33. package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
  34. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +8 -0
  35. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
  36. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +96 -25
  37. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  38. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
  39. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +13 -4
  40. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  41. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
  42. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +66 -14
  43. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  44. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +3 -3
  45. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
  46. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts +5 -1
  47. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -1
  48. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +13 -7
  49. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
  50. package/dist/esm/state/theme.js +12 -12
  51. package/dist/styles.css +43 -7
  52. package/dist/styles.css.d.ts +3 -3
  53. package/dist/tsconfig.build.tsbuildinfo +1 -1
  54. package/package.json +192 -192
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LinkedIteratorControl = void 0;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const lucide_react_1 = require("lucide-react");
7
+ const react_1 = require("react");
8
+ const EditPageContext_1 = require("../_context/EditPageContext.js");
9
+ const badge_1 = require("../../../../../components/ui/badge.js");
10
+ const button_1 = require("../../../../../components/ui/button.js");
11
+ const dialog_1 = require("../../../../../components/ui/dialog.js");
12
+ const LinkedIteratorControl = () => {
13
+ const { contentTypeId, contentTypeName, documentActions, linkedIterator } = (0, EditPageContext_1.useEditPageContext)();
14
+ const { state, mode } = linkedIterator;
15
+ const [confirmationAction, setConfirmationAction] = (0, react_1.useState)(null);
16
+ const handleConfirm = () => {
17
+ const action = confirmationAction;
18
+ setConfirmationAction(null);
19
+ if (action === 'initialize') {
20
+ void documentActions.handleInitializeLinkedIterator();
21
+ }
22
+ else if (action === 'relink') {
23
+ linkedIterator.adoptShared();
24
+ }
25
+ };
26
+ const withConfirmationDialog = (content) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [content, (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { open: confirmationAction !== null, onOpenChange: (open) => {
27
+ if (!open)
28
+ setConfirmationAction(null);
29
+ }, children: (0, jsx_runtime_1.jsxs)(dialog_1.DialogContent, { children: [(0, jsx_runtime_1.jsxs)(dialog_1.DialogHeader, { children: [(0, jsx_runtime_1.jsx)(dialog_1.DialogTitle, { children: confirmationAction === 'initialize'
30
+ ? 'Use this as the shared structure?'
31
+ : 'Use the shared structure?' }), (0, jsx_runtime_1.jsx)(dialog_1.DialogDescription, { children: confirmationAction === 'initialize'
32
+ ? 'This iterator will become the structure for every linked entry. Local entries will not be changed.'
33
+ : "This entry's local iterator will be discarded when you save. The shared structure itself will not be changed." })] }), (0, jsx_runtime_1.jsxs)(dialog_1.DialogFooter, { children: [(0, jsx_runtime_1.jsx)(dialog_1.DialogClose, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", children: "Cancel" }) }), (0, jsx_runtime_1.jsxs)(button_1.Button, { loading: confirmationAction === 'initialize' &&
34
+ (documentActions.pending.create || documentActions.pending.update), onClick: handleConfirm, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use shared structure"] })] })] }) })] }));
35
+ if (!linkedIterator.enabled || !state)
36
+ return null;
37
+ if (!state.configured && mode === 'unlinked') {
38
+ return withConfirmationDialog((0, jsx_runtime_1.jsx)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "secondary", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Local structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Changes only affect this entry. The shared structure has not been configured yet." })] }) }));
39
+ }
40
+ if (!state.configured) {
41
+ return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-amber-500/40 bg-amber-500/10 p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-center gap-2", children: (0, jsx_runtime_1.jsx)(badge_1.Badge, { variant: "outline", children: "Shared structure not configured" }) }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Choose this iterator as the initial structure for every linked entry." })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-2", children: [contentTypeId ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => linkedIterator.setMode('unlinked'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Keep this entry local"] })) : null, state.canUpdateShared ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", loading: documentActions.pending.create || documentActions.pending.update, onClick: () => setConfirmationAction('initialize'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use this structure"] })) : ((0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: contentTypeId
42
+ ? 'The update-any permission is required to initialize it.'
43
+ : 'Saving initializes it automatically only when this is the first entry.' }))] })] }));
44
+ }
45
+ if (mode === 'unlinked') {
46
+ return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "secondary", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Local structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Changes only affect this entry." })] }), (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => setConfirmationAction('relink'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use shared structure"] })] }));
47
+ }
48
+ return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Shared structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: state.canUpdateShared
49
+ ? `Iterator changes apply to every linked ${contentTypeName}.`
50
+ : 'This shared iterator is read-only with your current permissions.' })] }), contentTypeId ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => linkedIterator.setMode('unlinked'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Unlink this entry"] })) : null] }));
51
+ };
52
+ exports.LinkedIteratorControl = LinkedIteratorControl;
53
+ //# sourceMappingURL=LinkedIteratorControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkedIteratorControl.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.useEditPageContext = exports.EditPageProvider = void 0;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("react");
7
+ const client_1 = require("@rakun-kit/core/client");
7
8
  const useContentDocumentActions_1 = require("../_hooks/useContentDocumentActions.js");
8
9
  const useContentPreview_1 = require("../_hooks/useContentPreview.js");
9
10
  const useContentTypeSections_1 = require("../_hooks/useContentTypeSections.js");
@@ -16,6 +17,7 @@ const navigation_1 = require("../../../../../state/navigation.js");
16
17
  const language_1 = require("../../../../../state/language.js");
17
18
  const session_1 = require("../../../../../state/session.js");
18
19
  const react_2 = require("../../../../../client/react.js");
20
+ const deepEqual_1 = require("../../../../../helpers/deepEqual.js");
19
21
  const getDefaultVisibility = (defaultData) => (defaultData?._visibility ??
20
22
  'draft');
21
23
  const getInitialTab = ({ hasIterables, hasNonIterables, hasSeo, }) => hasNonIterables ? 'info' : hasIterables ? 'content' : hasSeo ? 'seo' : 'versions';
@@ -98,6 +100,25 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
98
100
  const sections = (0, useContentTypeSections_1.useContentTypeSections)(contentType);
99
101
  const localeVariantRoute = (contentType.routes ?? []).find((route) => route.hasPage);
100
102
  const contentTypeId = defaultData?._id;
103
+ const linkedIteratorQuery = (0, react_2.useManagerQuery)({
104
+ name: 'manager.linkedIterator.get',
105
+ input: {
106
+ contentType: contentType.name,
107
+ ...(contentTypeId ? { documentId: contentTypeId } : {}),
108
+ },
109
+ enabled: Boolean(contentType.linkedIterator),
110
+ });
111
+ const linkedIteratorState = linkedIteratorQuery.data;
112
+ const [linkedIteratorMode, setLinkedIteratorMode] = (0, react_1.useState)('linked');
113
+ const effectiveDefaultData = (0, react_1.useMemo)(() => {
114
+ if (defaultData)
115
+ return defaultData;
116
+ if (!linkedIteratorState?.iterator)
117
+ return defaultData;
118
+ return {
119
+ [client_1.ITERATOR_FIELD_NAME]: linkedIteratorState.iterator,
120
+ };
121
+ }, [defaultData, linkedIteratorState?.iterator]);
101
122
  const hasVisibility = Boolean(contentType.documentVisibility);
102
123
  const canReadVersions = hasPermissions(['content.ContentVersion.readAny']);
103
124
  const canRestoreVersions = hasPermissions(['content.ContentVersion.updateAny']);
@@ -112,7 +133,7 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
112
133
  const [moveToTrashOpen, setMoveToTrashOpen] = (0, react_1.useState)(false);
113
134
  const [permanentDeleteOpen, setPermanentDeleteOpen] = (0, react_1.useState)(false);
114
135
  const form = (0, useEditFormController_1.useEditFormController)({
115
- defaultData,
136
+ defaultData: effectiveDefaultData,
116
137
  hasVisibility,
117
138
  setSaveErrorVisible: setShowSaveErrorTooltip,
118
139
  visibility,
@@ -129,6 +150,29 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
129
150
  onAfterRestore,
130
151
  readFormData: form.readFormData,
131
152
  replaceDraft: form.replaceDraft,
153
+ getLinkedIteratorControl: (data, requestedAction) => {
154
+ if (!contentType.linkedIterator || !linkedIteratorState?.enabled)
155
+ return undefined;
156
+ const iteratorChanged = !(0, deepEqual_1.deepEqual)(data[client_1.ITERATOR_FIELD_NAME], linkedIteratorState.iterator);
157
+ const action = linkedIteratorMode === 'linked'
158
+ ? requestedAction ??
159
+ (linkedIteratorState.configured &&
160
+ iteratorChanged &&
161
+ linkedIteratorState.canUpdateShared
162
+ ? 'update'
163
+ : undefined)
164
+ : undefined;
165
+ return {
166
+ mode: linkedIteratorMode,
167
+ ...(action ? { action } : {}),
168
+ ...(linkedIteratorState.revision !== undefined
169
+ ? { revision: linkedIteratorState.revision }
170
+ : {}),
171
+ };
172
+ },
173
+ onLinkedIteratorSaved: async () => {
174
+ await linkedIteratorQuery.refetch();
175
+ },
132
176
  setVisibility,
133
177
  visibilityBeforeTrash,
134
178
  });
@@ -207,6 +251,11 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
207
251
  (0, react_1.useEffect)(() => {
208
252
  setVisibility(getDefaultVisibility(defaultData));
209
253
  }, [defaultData]);
254
+ (0, react_1.useEffect)(() => {
255
+ if (linkedIteratorState?.mode) {
256
+ setLinkedIteratorMode(linkedIteratorState.mode);
257
+ }
258
+ }, [linkedIteratorState?.mode]);
210
259
  (0, react_1.useEffect)(() => {
211
260
  if (editErrors.length === 0) {
212
261
  setShowSaveErrorTooltip(false);
@@ -230,6 +279,15 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
230
279
  const handleVisibilityChange = (nextVisibility) => {
231
280
  setVisibility(nextVisibility);
232
281
  };
282
+ const adoptSharedIterator = () => {
283
+ if (!linkedIteratorState?.iterator)
284
+ return;
285
+ form.replaceDraft({
286
+ ...(form.draft.current ?? {}),
287
+ [client_1.ITERATOR_FIELD_NAME]: linkedIteratorState.iterator,
288
+ });
289
+ setLinkedIteratorMode('linked');
290
+ };
233
291
  return ((0, jsx_runtime_1.jsx)(EditPageContext.Provider, { value: {
234
292
  activeTab,
235
293
  canPreview,
@@ -248,6 +306,13 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
248
306
  isTrashed,
249
307
  languageCode: language.code,
250
308
  languageList,
309
+ linkedIterator: {
310
+ enabled: Boolean(contentType.linkedIterator),
311
+ state: linkedIteratorState,
312
+ mode: linkedIteratorMode,
313
+ setMode: setLinkedIteratorMode,
314
+ adoptShared: adoptSharedIterator,
315
+ },
251
316
  moveToTrashOpen,
252
317
  onAfterRestore,
253
318
  openMoveToTrashDialog: () => setMoveToTrashOpen(true),
@@ -1 +1 @@
1
- {"version":3,"file":"EditPageContext.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_context/EditPageContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditPageContext.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_context/EditPageContext.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,iCAQc;AAOd,mDAA4D;AAE5D,mFAA+E;AAC/E,mEAGoC;AACpC,6EAAyE;AACzE,2EAAuE;AACvE,iEAA6D;AAC7D,qEAAiE;AACjE,mFAA+E;AAU/E,iDAAqD;AACrD,mDAAiE;AACjE,+CAA8C;AAC9C,6CAA4C;AAC5C,0CAAgD;AAChD,mDAA+C;AAE/C,MAAM,oBAAoB,GAAG,CAAC,WAAwC,EAAE,EAAE,CACxE,CAAE,WAAgE,EAAE,WAAW;IAC7E,OAAO,CAAuB,CAAA;AAElC,MAAM,aAAa,GAAG,CAAC,EACrB,YAAY,EACZ,eAAe,EACf,MAAM,GAKP,EAAe,EAAE,CAChB,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAA;AAEnF,MAAM,+BAA+B,GAAG,gCAAgC,CAAA;AAExE,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;IACvC,IAAI,OAAO,MAAM,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,CAAC,SAAmB,EAAE,EAAE;IAC5D,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,MAAM,MAAM,GAAG,SAAS;aACrB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAc,QAAQ,CAAC,CAAC;aAChE,IAAI,CAAC,CAAC,OAAO,EAA0B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CACvC,uCAAuC,CACxC,CAAA;QACD,MAAM,QAAQ,GAAG,UAAU,EAAE,aAAa,CACxC,oCAAoC,CACrC,CAAA;QAED,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAA;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAA;YACjD,MAAM,GAAG,GACP,QAAQ,CAAC,SAAS;gBAClB,UAAU,CAAC,GAAG;gBACd,YAAY,CAAC,GAAG;gBAChB,CAAC,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAEjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAA;QACxD,KAAK,MAAM,CAAC,WAAW,CAAA;QACvB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAErD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACrB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAA;QAC1D,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAA;IAED,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,OAAmC,EAAE,EAAE;IACxE,MAAM,YAAY,GAAG,0CAA0C,CAAA;IAC/D,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CACZ,GAAG,YAAY,mCAAmC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CACvF,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,sCAAsC,OAAO,CAAC,WAAW,IAAI,CAAC,CAAA;IAC9F,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AA4CD,MAAM,eAAe,GAAG,IAAA,qBAAa,EAA8B,IAAI,CAAC,CAAA;AAExE,MAAM,wBAAwB,GAAG,CAC/B,QAAwB,EACxB,YAA8B,EAC9B,EAAE;IACF,MAAM,MAAM,GAAqB,EAAE,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,IAAI,OAAO,GAA+B,QAAQ,CAAA;IAElD,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjE,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CAAC,EACtC,IAAI,EACJ,QAAQ,EACR,YAAY,GAKb,EAAE,EAAE;IACH,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAE3B,KAAK,MAAM,gBAAgB,IAAI,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,gBAAgB,CAAC,GAAG,CACrD,CAAA;QACD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,UAAU,CAAA;IAC9C,CAAC;IAED,OAAO,IAAI,CAAC,iBAAiB,CAAA;AAC/B,CAAC,CAAA;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,GACmB,EAAE,EAAE;IACrC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAA,sBAAW,GAAE,CAAA;IAChD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,oBAAU,GAAE,CAAA;IACvC,MAAM,UAAU,GAAG,IAAA,yCAA4B,GAAE,CAAA;IACjD,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,IAAA,+CAAsB,EAAC,WAAW,CAAC,CAAA;IACpD,MAAM,kBAAkB,GAAG,CACxB,WAAwE,CAAC,MAAM,IAAI,EAAE,CACvF,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,aAAa,GAAI,WAA4C,EAAE,GAAG,CAAA;IACxE,MAAM,mBAAmB,GAAG,IAAA,uBAAe,EAAC;QAC1C,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE;YACL,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD;QACD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAA6C,CAAA;IAC7F,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAwB,QAAQ,CAAC,CAAA;IAC7F,MAAM,oBAAoB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACxC,IAAI,WAAW;YAAE,OAAO,WAAW,CAAA;QACnC,IAAI,CAAC,mBAAmB,EAAE,QAAQ;YAAE,OAAO,WAAW,CAAA;QAEtD,OAAO;YACL,CAAC,4BAAmB,CAAC,EAAE,mBAAmB,CAAC,QAAQ;SACtB,CAAA;IACjC,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAA;IAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAA;IAC1E,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAA;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,eAAe,CAAA;IACxE,MAAM,SAAS,GACZ,WAAkD,EAAE,QAAQ,KAAK,IAAI;QACrE,WAAgE,EAAE,WAAW,KAAK,OAAO,CAAA;IAC5F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAqB,GAAG,EAAE,CACpE,oBAAoB,CAAC,WAAW,CAAC,CAClC,CAAA;IACD,MAAM,qBAAqB,GAAG,CAC5B,WACD,EAAE,sBAAsB,IAAI,WAAW,CAA+B,CAAA;IACvE,MAAM,kBAAkB,GAAG,CACzB,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAC9B,CAAA;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAc,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IACtF,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,IAAA,6CAAqB,EAAC;QACjC,WAAW,EAAE,oBAAoB;QACjC,aAAa;QACb,mBAAmB,EAAE,uBAAuB;QAC5C,UAAU;KACX,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAA;IACpC,MAAM,eAAe,GAAG,IAAA,qDAAyB,EAAC;QAChD,sBAAsB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;QACvD,0BAA0B,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC/D,WAAW;QACX,aAAa;QACb,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,WAAW;QACX,aAAa;QACb,cAAc;QACd,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,wBAAwB,EAAE,CACxB,IAA6B,EAC7B,eAAsC,EACH,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,mBAAmB,EAAE,OAAO;gBAAE,OAAO,SAAS,CAAA;YAElF,MAAM,eAAe,GAAG,CAAC,IAAA,qBAAS,EAChC,IAAI,CAAC,4BAAmB,CAAC,EACzB,mBAAmB,CAAC,QAAQ,CAC7B,CAAA;YACD,MAAM,MAAM,GACV,kBAAkB,KAAK,QAAQ;gBAC7B,CAAC,CAAC,eAAe;oBACf,CAAC,mBAAmB,CAAC,UAAU;wBAC/B,eAAe;wBACf,mBAAmB,CAAC,eAAe;wBACjC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,SAAS,CAAC;gBAChB,CAAC,CAAC,SAAS,CAAA;YAEf,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,mBAAmB,CAAC,QAAQ,KAAK,SAAS;oBAC5C,CAAC,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;aACR,CAAA;QACH,CAAC;QACD,qBAAqB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAA;QACrC,CAAC;QACD,aAAa;QACb,qBAAqB;KACtB,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC;QACrC,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,aAAa;KACd,CAAC,CAAA;IACF,MAAM,mBAAmB,GAAG,IAAA,uBAAe,EAAC;QAC1C,IAAI,EAAE,6BAA6B;QACnC,KAAK,EACH,aAAa,IAAI,kBAAkB;YACjC,CAAC,CAAC;gBACE,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,kBAAkB,CAAC,GAAG;aACjC;YACH,CAAC,CAAE;gBACC,WAAW,EAAE,WAAW,CAAC,IAAI;gBAC7B,UAAU,EAAE,EAAE;aACL;QACjB,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC;KACpE,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAA,qDAAyB,EAAC;QAC5C,mBAAmB,EAAE,QAAQ,CAAC,IAAI;QAClC,YAAY;KACb,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,kBAAkB,CAAA;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,6BAA6B,GAAG,IAAA,eAAO,EAC3C,GAAG,EAAE,CACH,8BAA8B,CAAC;QAC7B,IAAI,EAAE,mBAAmB,CAAC,IAA2C;QACrE,QAAQ;QACR,YAAY;KACb,CAAC,EACJ,CAAC,QAAQ,EAAE,YAAY,EAAE,mBAAmB,CAAC,IAAI,CAAC,CACnD,CAAA;IACD,MAAM,yBAAyB,GAAG,IAAA,mBAAW,EAC3C,CAAC,OAAmC,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,YAAY;gBAAE,OAAM;YAElC,aAAa,EAAE,CAAA;YACf,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,6BAA6B,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,OAAO,CAAC,UAAU;gBAC/B,EAAE,EAAE,OAAO,CAAC,QAAQ;aACrB,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CACtD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS;YAC9B,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,CACxD,CAAA;QAED,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,aAAa,EAAE,CAAA;QACf,YAAY,CAAC,UAAU,YAAY,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1C,6BAA6B,CAAC;YAC5B,mCAAmC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI;SACxE,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,YAAY,CAAC,CACjG,CAAA;IACD,MAAM,YAAY,GAAG,IAAA,qCAAiB,EAAC;QACrC,UAAU;QACV,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,aAAa;QACb,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,cAAc,EAAE,yBAAyB;QACzC,OAAO;QACP,YAAY;QACZ,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,IAAA,mCAAgB,EAAC;QACjC,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,UAAU;QACV,QAAQ;KACT,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE1F,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,aAAa,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;IAClD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,EAAE,IAAI,EAAE,CAAC;YAC9B,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACjD,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAA;IAE/B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IAEvB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,6BAA6B,IAAI,CAAC,aAAa;YAAE,OAAM;QAC5D,IAAI,6BAA6B,KAAK,aAAa;YAAE,OAAM;QAE3D,UAAU,EAAE,OAAO,EAAE,CAAC;YACpB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,WAAW,CAAC,IAAI;YAC7B,EAAE,EAAE,6BAA6B;SAClC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,6BAA6B,CAAC,CAAC,CAAA;IAEhF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,IAAI,CAAC,SAAS,EAAE,CAAA;QAChB,YAAY,CAAC,KAAoB,CAAC,CAAA;IACpC,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,CAAC,cAA0C,EAAE,EAAE;QAC5E,aAAa,CAAC,cAAc,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC,mBAAmB,EAAE,QAAQ;YAAE,OAAM;QAE1C,IAAI,CAAC,YAAY,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YAC7B,CAAC,4BAAmB,CAAC,EAAE,mBAAmB,CAAC,QAAsB;SAClE,CAAC,CAAA;QACF,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC,CAAA;IAED,OAAO,CACL,uBAAC,eAAe,CAAC,QAAQ,IACvB,KAAK,EAAE;YACL,SAAS;YACT,UAAU;YACV,kBAAkB;YAClB,WAAW;YACX,aAAa;YACb,eAAe,EAAE,WAAW,CAAC,IAAI;YACjC,eAAe;YACf,kBAAkB;YAClB,IAAI;YACJ,eAAe;YACf,sBAAsB;YACtB,aAAa;YACb,iBAAiB,EAAE,OAAO,CAAC,aAAa,IAAI,kBAAkB,IAAI,CAAC,SAAS,CAAC;YAC7E,aAAa;YACb,SAAS;YACT,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,YAAY;YACZ,cAAc,EAAE;gBACd,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;gBAC5C,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,qBAAqB;gBAC9B,WAAW,EAAE,mBAAmB;aACjC;YACD,eAAe;YACf,cAAc;YACd,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACrD,yBAAyB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC7D,mBAAmB;YACnB,YAAY;YACZ,kBAAkB;YAClB,WAAW;YACX,QAAQ;YACR,kBAAkB;YAClB,sBAAsB;YACtB,oBAAoB;YACpB,SAAS;YACT,WAAW;YACX,kBAAkB;SACnB,YAEA,QAAQ,GACgB,CAC5B,CAAA;AACH,CAAC,CAAA;AA9RY,QAAA,gBAAgB,oBA8R5B;AAEM,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAA;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AARY,QAAA,kBAAkB,sBAQ9B"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DynamicDataControl = exports.buildFilter = exports.readFilterState = exports.sourceFieldOptions = exports.isDynamicFieldEnabled = void 0;
4
+ exports.DynamicDataControl = exports.buildFilter = exports.readFilterState = exports.currentDocumentListSourceOptions = exports.sourceFieldOptions = exports.isDynamicFieldEnabled = void 0;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const client_1 = require("@rakun-kit/core/client");
7
7
  const lucide_react_1 = require("lucide-react");
@@ -33,6 +33,7 @@ const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArr
33
33
  const isListField = (field) => field.config.ui === 'List' || field.config.ui === 'Iterator';
34
34
  const isRelatedCollectionSource = (source) => !!source && 'kind' in source && source.kind === 'relatedCollection';
35
35
  const isDynamicVisibleField = (field) => (field.visibility ?? 'all') === 'all' && field.isDynamic !== false;
36
+ const isSelectableDynamicField = (name, field) => name !== client_1.ITERATOR_FIELD_NAME && isDynamicVisibleField(field);
36
37
  const isDynamicFieldEnabled = (contentType, field) => {
37
38
  return (contentType.dynamicData !== false &&
38
39
  isDynamicVisibleField(field));
@@ -126,7 +127,7 @@ const fileFieldOptions = (path, targetField) => {
126
127
  return options.filter((option) => isCompatibleSourceKind(option.kind, targetField));
127
128
  };
128
129
  const nestedSourceFieldOptions = ({ contentType, prefix = '', targetField, depth = 0, }) => Object.entries(contentType.fields).flatMap(([name, field]) => {
129
- if (!isDynamicVisibleField(field))
130
+ if (!isSelectableDynamicField(name, field))
130
131
  return [];
131
132
  const path = prefix ? `${prefix}.${name}` : name;
132
133
  const kind = getFieldKind(field);
@@ -188,6 +189,39 @@ const sourceFieldOptions = (contentType, targetField) => {
188
189
  : fields;
189
190
  };
190
191
  exports.sourceFieldOptions = sourceFieldOptions;
192
+ const currentDocumentListSourceValue = (path, itemName) => `current-document:${path}:${itemName ?? ''}`;
193
+ const currentDocumentListSourceOptions = (contentType) => Object.entries(contentType.fields).flatMap(([name, field]) => {
194
+ if (!isSelectableDynamicField(name, field) || field.isTranslatable)
195
+ return [];
196
+ if (field.config.ui === 'List' || field.config.ui === 'Iterator') {
197
+ const relationEntries = field.fields.filter((entry) => entry.name !== client_1.ITERATOR_FIELD_NAME &&
198
+ entry.field.config.type === 'Relation');
199
+ return relationEntries.map((entry) => ({
200
+ label: relationEntries.length === 1
201
+ ? `Current document · ${name}`
202
+ : `Current document · ${name} (${entry.name})`,
203
+ value: currentDocumentListSourceValue(name, entry.name),
204
+ contentType: entry.field.contentType,
205
+ path: name,
206
+ itemName: entry.name,
207
+ }));
208
+ }
209
+ if (field.config.ui === 'SimpleList') {
210
+ const itemField = field.field;
211
+ if (itemField.config.type !== 'Relation')
212
+ return [];
213
+ return [
214
+ {
215
+ label: `Current document · ${name}`,
216
+ value: currentDocumentListSourceValue(name),
217
+ contentType: itemField.contentType,
218
+ path: name,
219
+ },
220
+ ];
221
+ }
222
+ return [];
223
+ });
224
+ exports.currentDocumentListSourceOptions = currentDocumentListSourceOptions;
191
225
  const createSource = (contentType, value, id) => value === '$href'
192
226
  ? { contentType, id, virtual: 'href' }
193
227
  : { contentType, id, path: value };
@@ -396,12 +430,15 @@ const bindingSummary = ({ list, fieldBinding, listBinding, documentContentTypeNa
396
430
  if (list) {
397
431
  if (!listBinding)
398
432
  return '';
433
+ const source = listBinding.source
434
+ ? `Current document.${listBinding.source.path}`
435
+ : listBinding.contentType;
399
436
  const limit = listBinding.query?.options?.limit ?? 10;
400
437
  const filter = filterSummary(listBinding.query?.filter);
401
438
  return [
402
- `${listBinding.contentType} -> ${listBinding.itemName}`,
403
- `limit ${limit}`,
404
- filter,
439
+ `${source} -> ${listBinding.itemName}`,
440
+ listBinding.source ? '' : `limit ${limit}`,
441
+ listBinding.source ? '' : filter,
405
442
  ]
406
443
  .filter(Boolean)
407
444
  .join(' · ');
@@ -502,14 +539,14 @@ const getRelationContentType = (field) => {
502
539
  return undefined;
503
540
  };
504
541
  const getRelatedRelationOptions = (contentType, currentSource) => Object.entries(contentType.fields).flatMap(([name, field]) => {
505
- if (!isDynamicVisibleField(field))
542
+ if (!isSelectableDynamicField(name, field))
506
543
  return [];
507
544
  const relationContentType = getRelationContentType(field);
508
545
  return relationContentType?.name === currentSource.name ? [name] : [];
509
546
  });
510
547
  const getRelatedPathOptions = (contentType, targetField) => (0, exports.sourceFieldOptions)(contentType, targetField).filter((option) => option.kind === 'array' && option.value !== '$href');
511
548
  const getSortFieldOptions = (contentType) => Object.entries(contentType.fields).flatMap(([name, field]) => {
512
- if (!isDynamicVisibleField(field) ||
549
+ if (!isSelectableDynamicField(name, field) ||
513
550
  field.isTranslatable ||
514
551
  name.startsWith('_') ||
515
552
  isSeoPath(name)) {
@@ -656,15 +693,25 @@ const MappingSourceEditor = ({ contentTypes, currentSource, targetField, source,
656
693
  })
657
694
  : undefined, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, {}) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: 'asc', children: "Ascending" }), (0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: 'desc', children: "Descending" })] })] })] })] })] }));
658
695
  };
659
- const ListBindingEditor = ({ contentTypes, documentContentType, field, binding, onChange, }) => {
660
- const [sourceType, setSourceType] = (0, react_1.useState)(binding?.contentType || '');
661
- const [itemName, setItemName] = (0, react_1.useState)(binding?.itemName || field.fields[0]?.name || '');
696
+ const ListBindingEditor = ({ contentTypes, documentContentType, currentDocumentSourceEnabled, field, binding, onChange, }) => {
697
+ const itemOptions = field.fields.filter((item) => item.name !== client_1.ITERATOR_FIELD_NAME);
698
+ const documentSourceOptions = currentDocumentSourceEnabled
699
+ ? (0, exports.currentDocumentListSourceOptions)(documentContentType)
700
+ : [];
701
+ const initialDocumentSource = binding?.source
702
+ ? documentSourceOptions.find((option) => option.path === binding.source?.path &&
703
+ option.itemName === binding.source?.itemName)
704
+ : undefined;
705
+ const [sourceType, setSourceType] = (0, react_1.useState)(initialDocumentSource?.value || binding?.contentType || '');
706
+ const [itemName, setItemName] = (0, react_1.useState)(binding?.itemName || itemOptions[0]?.name || '');
662
707
  const [filterState, setFilterState] = (0, react_1.useState)((0, exports.readFilterState)(binding?.query?.filter));
663
708
  const [openMappingField, setOpenMappingField] = (0, react_1.useState)(null);
664
- const selectedSource = contentTypes.find((ct) => ct.name === sourceType);
709
+ const selectedDocumentSource = documentSourceOptions.find((option) => option.value === sourceType);
710
+ const selectedSource = selectedDocumentSource?.contentType ??
711
+ contentTypes.find((ct) => ct.name === sourceType);
665
712
  const targetContentType = getListTargetContentType(field, itemName);
666
713
  const targetFields = (0, react_1.useMemo)(() => targetContentType
667
- ? Object.entries(targetContentType.fields).filter(([, targetField]) => isDynamicVisibleField(targetField))
714
+ ? Object.entries(targetContentType.fields).filter(([targetFieldName, targetField]) => isSelectableDynamicField(targetFieldName, targetField))
668
715
  : [], [targetContentType]);
669
716
  const sortFieldOptions = selectedSource
670
717
  ? getSortFieldOptions(selectedSource)
@@ -682,11 +729,22 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
682
729
  const sortField = sortEntry?.[0] ?? '';
683
730
  const sortDirection = sortEntry?.[1] ?? 'desc';
684
731
  const emit = (patch) => {
732
+ const source = selectedDocumentSource
733
+ ? {
734
+ kind: 'currentDocument',
735
+ contentType: documentContentType.name,
736
+ path: selectedDocumentSource.path,
737
+ itemName: selectedDocumentSource.itemName,
738
+ }
739
+ : undefined;
685
740
  const next = {
686
- contentType: sourceType,
741
+ contentType: selectedSource?.name ?? '',
742
+ source,
687
743
  itemName,
688
744
  map: binding?.map ?? {},
689
- query: binding?.query ?? { options: { limit: 10 } },
745
+ query: source
746
+ ? undefined
747
+ : (binding?.query ?? { options: { limit: 10 } }),
690
748
  ...patch,
691
749
  };
692
750
  if (!next.contentType || !next.itemName) {
@@ -709,26 +767,40 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
709
767
  conditions[index] = nextCondition;
710
768
  updateFilter({ ...filterState, conditions });
711
769
  };
712
- return ((0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3', children: [(0, jsx_runtime_1.jsx)(PanelSection, { title: 'Collection', children: (0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3 md:grid-cols-2', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Source", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: contentTypes.length === 0, value: sourceType, onValueChange: (value) => {
770
+ return ((0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3', children: [(0, jsx_runtime_1.jsx)(PanelSection, { title: 'Collection', children: (0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3 md:grid-cols-2', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Source", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: contentTypes.length === 0 && documentSourceOptions.length === 0, value: sourceType, onValueChange: (value) => {
771
+ const documentSource = documentSourceOptions.find((option) => option.value === value);
713
772
  setSourceType(value);
714
773
  const nextFilterState = {
715
774
  combinator: 'and',
716
775
  conditions: [],
717
776
  };
718
777
  setFilterState(nextFilterState);
719
- emit({
720
- contentType: value,
778
+ onChange({
779
+ contentType: documentSource?.contentType.name ?? value,
780
+ source: documentSource
781
+ ? {
782
+ kind: 'currentDocument',
783
+ contentType: documentContentType.name,
784
+ path: documentSource.path,
785
+ itemName: documentSource.itemName,
786
+ }
787
+ : undefined,
788
+ itemName,
721
789
  map: {},
722
- query: {
723
- options: {
724
- limit: binding?.query?.options?.limit ?? 10,
790
+ query: documentSource
791
+ ? undefined
792
+ : {
793
+ options: {
794
+ limit: binding?.query?.options?.limit ?? 10,
795
+ },
725
796
  },
726
- },
727
797
  });
728
- }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: contentTypes.length > 0 ? 'Content type' : 'No content types' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { children: contentTypes.map((ct) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: ct.name, children: ct.name }, ct.name))) }) })] })] }), (0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Item", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: !sourceType || field.fields.length === 0, value: itemName, onValueChange: (value) => {
798
+ }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: contentTypes.length > 0 || documentSourceOptions.length > 0
799
+ ? 'Content type or document list'
800
+ : 'No compatible sources' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsxs)(select_1.SelectGroup, { children: [documentSourceOptions.map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, children: option.label }, option.value))), contentTypes.map((ct) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: ct.name, children: ct.name }, ct.name)))] }) })] })] }), (0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Item", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: !sourceType || itemOptions.length === 0, value: itemName, onValueChange: (value) => {
729
801
  setItemName(value);
730
802
  emit({ itemName: value, map: {} });
731
- }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: field.fields.length > 0 ? 'Item type' : 'No item types' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { children: field.fields.map((item) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: item.name, children: item.name }, item.name))) }) })] })] })] }) }), (0, jsx_runtime_1.jsxs)(PanelSection, { title: 'Query', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'grid grid-cols-[minmax(5rem,0.4fr)_minmax(0,1.2fr)_minmax(8rem,0.6fr)] items-end gap-3', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Limit", (0, jsx_runtime_1.jsx)(input_1.Input, { type: 'number', min: 1, max: 100, value: String(binding?.query?.options?.limit ?? 10), onChange: (event) => emit({
803
+ }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: itemOptions.length > 0 ? 'Item type' : 'No item types' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { children: itemOptions.map((item) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: item.name, children: item.name }, item.name))) }) })] })] })] }) }), selectedDocumentSource ? null : ((0, jsx_runtime_1.jsxs)(PanelSection, { title: 'Query', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'grid grid-cols-[minmax(5rem,0.4fr)_minmax(0,1.2fr)_minmax(8rem,0.6fr)] items-end gap-3', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Limit", (0, jsx_runtime_1.jsx)(input_1.Input, { type: 'number', min: 1, max: 100, value: String(binding?.query?.options?.limit ?? 10), onChange: (event) => emit({
732
804
  query: {
733
805
  ...binding?.query,
734
806
  options: {
@@ -817,7 +889,7 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
817
889
  ...filterState,
818
890
  conditions: filterState.conditions.filter((_, conditionIndex) => conditionIndex !== index),
819
891
  }), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { className: 'h-4 w-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Remove condition" })] })] }, `${index}-${condition.field}`));
820
- }) }))] })] }), (0, jsx_runtime_1.jsx)(PanelSection, { title: 'Mapping', children: (0, jsx_runtime_1.jsx)("div", { className: 'grid gap-2', children: targetFields.map(([targetField, targetFieldConfig]) => {
892
+ }) }))] })] })), (0, jsx_runtime_1.jsx)(PanelSection, { title: 'Mapping', children: (0, jsx_runtime_1.jsx)("div", { className: 'grid gap-2', children: targetFields.map(([targetField, targetFieldConfig]) => {
821
893
  const source = binding?.map?.[targetField];
822
894
  const summary = mappingSourceSummary(source, selectedSource?.name ?? 'Source');
823
895
  const isOpen = openMappingField === targetField;
@@ -916,7 +988,7 @@ const DynamicDataControl = ({ contentType, documentContentType, fieldName, field
916
988
  setOpen(false);
917
989
  };
918
990
  const trigger = ((0, jsx_runtime_1.jsxs)("div", { className: 'flex min-w-0 items-center gap-1.5', children: [(0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("button", { type: 'button', className: 'min-w-0 cursor-pointer rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', onClick: () => setOpen((value) => !value), children: bound && summary ? ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: 'secondary', className: 'max-w-80 min-w-0 gap-1.5 rounded-md px-2 py-1 hover:bg-secondary/80', children: [list ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ListFilter, { className: 'h-3.5 w-3.5 shrink-0' })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.Link2, { className: 'h-3.5 w-3.5 shrink-0' })), (0, jsx_runtime_1.jsx)("span", { className: 'truncate', children: summary })] })) : ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: 'outline', className: 'gap-1.5 rounded-md px-2 py-1 text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Cable, { className: 'h-3.5 w-3.5' }), "Not linked"] })) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: 'top', sideOffset: 6, children: triggerLabel })] }), bound ? ((0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { type: 'button', size: 'icon', variant: 'ghost', className: 'size-6', onClick: clearBinding, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: 'h-4 w-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Clear dynamic data" })] }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: 'top', sideOffset: 6, children: "Clear dynamic data link" })] })) : null] }));
919
- const editor = list ? ((0, jsx_runtime_1.jsx)(ListBindingEditor, { contentTypes: sourceContentTypes, documentContentType: currentDocumentContentType, field: field, binding: listBinding, onChange: updateListBinding })) : ((0, jsx_runtime_1.jsx)(FieldBindingEditor, { contentTypes: fieldSourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, targetField: field, binding: fieldBinding, onChange: updateFieldBinding }));
991
+ const editor = list ? ((0, jsx_runtime_1.jsx)(ListBindingEditor, { contentTypes: sourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, field: field, binding: listBinding, onChange: updateListBinding })) : ((0, jsx_runtime_1.jsx)(FieldBindingEditor, { contentTypes: fieldSourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, targetField: field, binding: fieldBinding, onChange: updateFieldBinding }));
920
992
  const panel = isOpen ? ((0, jsx_runtime_1.jsx)("div", { className: 'rounded-md border border-border bg-background p-4 shadow-sm', children: editor })) : null;
921
993
  const dialog = ((0, jsx_runtime_1.jsx)(dialog_1.Dialog, { open: isOpen, onOpenChange: (value) => {
922
994
  if (value) {