@arpproject/recrate 0.1.32-test2 → 0.1.32-test4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/crate-builder/RenderEntity/AiEntityDiffView.d.ts +1 -1
- package/dist/crate-builder/RenderEntity/EntityProperty.d.ts +10 -0
- package/dist/crate-builder/RenderEntity/PaginateLinkedEntities.d.ts +10 -0
- package/dist/crate-builder/RenderEntity/RenderLinkedItem.d.ts +10 -0
- package/dist/crate-builder/RenderEntity/UnlinkedLinkedEntityCard.d.ts +30 -0
- package/dist/crate-builder/RenderEntity/approval-utils.d.ts +8 -0
- package/dist/crate-builder/RenderEntity/approval-utils.spec.d.ts +1 -0
- package/dist/recrate.css +1 -1
- package/dist/recrate.es.js +302 -30
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ interface AiEntityDiffRow {
|
|
|
8
8
|
interface AiEntityDiffViewProps {
|
|
9
9
|
entityId: string;
|
|
10
10
|
rows: AiEntityDiffRow[];
|
|
11
|
-
operation?: 'edit' | 'delete';
|
|
11
|
+
operation?: 'edit' | 'delete' | 'unlink';
|
|
12
12
|
readonly?: boolean;
|
|
13
13
|
onClose?: () => void;
|
|
14
14
|
onAccept?: () => void;
|
|
@@ -22,6 +22,16 @@ interface EntityPropertyProps {
|
|
|
22
22
|
onRestoreAiDeletedEntity?: (entity: any) => void;
|
|
23
23
|
onAcceptAiEntityEdit?: (entity: any) => void;
|
|
24
24
|
onRejectAiEntityEdit?: (entity: any) => void;
|
|
25
|
+
onAcceptAiEntityUnlink?: (data: {
|
|
26
|
+
sourceEntityId: string;
|
|
27
|
+
property: string;
|
|
28
|
+
targetEntityId: string;
|
|
29
|
+
}) => void;
|
|
30
|
+
onRejectAiEntityUnlink?: (data: {
|
|
31
|
+
sourceEntityId: string;
|
|
32
|
+
property: string;
|
|
33
|
+
targetEntityId: string;
|
|
34
|
+
}) => void;
|
|
25
35
|
}
|
|
26
36
|
export declare const EntityProperty: React.FC<EntityPropertyProps>;
|
|
27
37
|
export default EntityProperty;
|
|
@@ -23,6 +23,16 @@ interface PaginateLinkedEntitiesProps {
|
|
|
23
23
|
onRestoreAiDeletedEntity?: (entity: any) => void;
|
|
24
24
|
onAcceptAiEntityEdit?: (entity: any) => void;
|
|
25
25
|
onRejectAiEntityEdit?: (entity: any) => void;
|
|
26
|
+
onAcceptAiEntityUnlink?: (data: {
|
|
27
|
+
sourceEntityId: string;
|
|
28
|
+
property: string;
|
|
29
|
+
targetEntityId: string;
|
|
30
|
+
}) => void;
|
|
31
|
+
onRejectAiEntityUnlink?: (data: {
|
|
32
|
+
sourceEntityId: string;
|
|
33
|
+
property: string;
|
|
34
|
+
targetEntityId: string;
|
|
35
|
+
}) => void;
|
|
26
36
|
}
|
|
27
37
|
declare const PaginateLinkedEntities: React.FC<PaginateLinkedEntitiesProps>;
|
|
28
38
|
export default PaginateLinkedEntities;
|
|
@@ -19,6 +19,16 @@ interface RenderLinkedItemProps {
|
|
|
19
19
|
onRestoreAiDeletedEntity?: (entity: any) => void;
|
|
20
20
|
onAcceptAiEntityEdit?: (entity: any) => void;
|
|
21
21
|
onRejectAiEntityEdit?: (entity: any) => void;
|
|
22
|
+
onAcceptAiEntityUnlink?: (data: {
|
|
23
|
+
sourceEntityId: string;
|
|
24
|
+
property: string;
|
|
25
|
+
targetEntityId: string;
|
|
26
|
+
}) => void;
|
|
27
|
+
onRejectAiEntityUnlink?: (data: {
|
|
28
|
+
sourceEntityId: string;
|
|
29
|
+
property: string;
|
|
30
|
+
targetEntityId: string;
|
|
31
|
+
}) => void;
|
|
22
32
|
}
|
|
23
33
|
declare const RenderLinkedItem: React.FC<RenderLinkedItemProps>;
|
|
24
34
|
export default RenderLinkedItem;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface UnlinkedLinkedEntityCardProps {
|
|
3
|
+
entity: {
|
|
4
|
+
'@id': string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
displayEntity: {
|
|
8
|
+
'@id': string;
|
|
9
|
+
'@type': string[];
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
property: string;
|
|
13
|
+
sourceEntityId: string;
|
|
14
|
+
readonly: boolean;
|
|
15
|
+
onLoadEntity: (entity: {
|
|
16
|
+
id: string;
|
|
17
|
+
}) => void;
|
|
18
|
+
onAcceptUnlink?: (data: {
|
|
19
|
+
sourceEntityId: string;
|
|
20
|
+
property: string;
|
|
21
|
+
targetEntityId: string;
|
|
22
|
+
}) => void;
|
|
23
|
+
onRejectUnlink?: (data: {
|
|
24
|
+
sourceEntityId: string;
|
|
25
|
+
property: string;
|
|
26
|
+
targetEntityId: string;
|
|
27
|
+
}) => void;
|
|
28
|
+
}
|
|
29
|
+
declare const UnlinkedLinkedEntityCard: React.FC<UnlinkedLinkedEntityCardProps>;
|
|
30
|
+
export default UnlinkedLinkedEntityCard;
|
|
@@ -13,6 +13,14 @@ export declare const getDeletedEntityReviewTarget: (entityApproval: any) => {
|
|
|
13
13
|
export declare const getPendingDeletedEntityReversePropertiesForSource: (approvalData: any, sourceEntityId: string | undefined) => string[];
|
|
14
14
|
export declare const getEntityApproval: (approvalData: any, entityId: string | undefined) => any | undefined;
|
|
15
15
|
export declare const getEntityApprovalRecords: (approvalData: any, entityId: string | undefined, property: string) => any[];
|
|
16
|
+
export declare const getReferenceId: (value: any) => string | undefined;
|
|
17
|
+
export declare const getReferenceValues: (value: any) => any[];
|
|
18
|
+
export declare const getRemovedReferenceValues: (previousValue: any, currentValue: any) => any[];
|
|
19
|
+
export declare const getPendingUnlinkedReferenceApprovals: (approvalData: any, sourceEntityId: string | undefined, property: string, currentValue: any) => Array<{
|
|
20
|
+
approvalRecord: any;
|
|
21
|
+
reference: any;
|
|
22
|
+
targetEntityId: string;
|
|
23
|
+
}>;
|
|
16
24
|
export declare const getPendingEntityApprovalRecords: (approvalData: any, entityId: string | undefined) => any[];
|
|
17
25
|
export declare const getPendingEntityApprovalFieldCount: (approvalData: any, entityId: string | undefined) => number;
|
|
18
26
|
export declare const getPendingApprovalEntities: (approvalData: any) => any[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/recrate.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.el-tabs__item{height:unset}.el-select-dropdown__wrap{max-height:500px!important}.el-select-group__title{font-size:14px!important}.scrollbar{overflow:overlay}.scrollbar::-webkit-scrollbar{background-color:#0000;height:16px;width:16px;z-index:999999}.scrollbar::-webkit-scrollbar-track{background-color:#0000}.scrollbar::-webkit-scrollbar-thumb{background-color:#0000;border:0 solid #fff;border-radius:16px}.scrollbar::-webkit-scrollbar-button{display:none}.scrollbar:hover::-webkit-scrollbar-thumb{background-color:#a0a0a5;border:4px solid #fff}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:#a0a0a5;border:4px solid #f4f4f4}.cm-editor{font-size:12px;height:auto;max-height:none}.describo-tab-icon{align-items:center;display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;width:100%}.describo-add-only-tabs .ant-tabs-nav,.describo-add-only-tabs .ant-tabs-nav-wrap{height:100%}.describo-add-only-tabs .ant-tabs-nav-list{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.describo-add-only-tabs .ant-tabs-tab{justify-content:center}.describo-tab-rail{background:#fff;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative}.describo-tab-rail-actions{border-bottom:1px solid #e5e7eb;display:flex;flex:0 0 auto;gap:8px;justify-content:center;padding:10px 8px 8px}.describo-tab-rail-actions-only .describo-tab-rail-actions{border-bottom:0}.describo-tab-rail-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 6px 16px;scrollbar-width:none}.describo-tab-rail-list::-webkit-scrollbar{display:none}.describo-tab-rail-item{border-radius:6px;color:#334155;cursor:pointer;display:block;margin:2px 0;outline:none;padding:12px 10px;position:relative;transition:background-color .12s ease,color .12s ease;width:100%}.describo-tab-rail-item:focus-visible,.describo-tab-rail-item:hover{background:#f1f5f9}.describo-tab-rail-item-active{background:#eaf2ff;color:#1d4ed8}.describo-tab-rail-item-active:before{background:#2563eb;border-radius:999px;bottom:10px;content:"";left:0;position:absolute;top:10px;width:3px}.describo-tab-rail-item-icon{align-items:center;display:flex;justify-content:center;min-height:42px;padding:8px}.describo-tab-rail-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.describo-tab-rail-title{font-size:15px;font-weight:600;line-height:1.35;min-width:0;overflow-wrap:anywhere}.describo-tab-rail-status{align-items:center;display:inline-flex;flex:0 0 auto;gap:4px}.describo-tab-rail-remove-button{flex:0 0 auto;transition:opacity .12s ease}.describo-tab-rail-description{color:#64748b;font-size:12px;line-height:1.35;margin-top:4px;overflow-wrap:anywhere}.describo-tab-rail:after,.describo-tab-rail:before{content:"";height:34px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .12s ease;z-index:2}.describo-tab-rail:before{background:linear-gradient(#fff,#fff0);top:53px}.describo-tab-rail:after{background:linear-gradient(#fff0,#fff);bottom:0}.describo-tab-rail-can-scroll-down:after,.describo-tab-rail-can-scroll-up:before{opacity:1}.describo-tab-rail-scroll-button{box-shadow:0 2px 8px #0f172a24;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.describo-tab-rail-scroll-button-up{top:58px}.describo-tab-rail-scroll-button-down{bottom:8px}.describo-add-property-drawer{z-index:6000}.describo-add-property-title.ant-typography{font-size:22px;line-height:1.25;margin:0}.describo-add-property-row{border:1px solid #0000;border-radius:6px;color:#111827;cursor:pointer;outline:none;padding:10px 12px 10px 14px;position:relative;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.describo-add-property-row:before{background:#0000;border-radius:999px;bottom:10px;content:"";left:0;position:absolute;top:10px;transition:background-color .12s ease;width:3px}.describo-add-property-row:focus-visible,.describo-add-property-row:hover{background:#f8fafc;border-color:#dbeafe;box-shadow:0 1px 4px #0f172a14}.describo-add-property-row:active{transform:translateY(1px)}.describo-add-property-row-selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 1px #2563eb1f}.describo-add-property-row-selected:before{background:#2563eb}.describo-add-property-row-header{color:#111827;min-width:0}.describo-add-property-row-name{color:inherit;flex:0 1 auto;font-weight:600;min-width:0;overflow-wrap:anywhere}.describo-add-property-row-type{color:#475569;overflow-wrap:anywhere}.describo-add-property-row-help{color:#6b7280;display:block;line-height:1.45;margin-top:4px}.describo-add-property-row-check{color:#2563eb;margin-left:auto}.describo-quick-settings-header{align-items:center;backdrop-filter:blur(8px);background:#fffffff5;border-bottom:1px solid #dbe3ef;box-shadow:0 6px 14px #0f172a14;display:flex;gap:14px;margin:0 -12px 12px;padding:2px 12px 5px 18px;position:sticky;top:0;z-index:4}.describo-quick-settings-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px}.describo-quick-settings-filter{flex:1 1 260px;max-width:420px;min-width:160px}.describo-property-compact .describo-add-control{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.describo-property-name-with-ai{align-items:center;display:inline-flex;gap:6px;min-width:0}.describo-ai-edited-icon{align-items:center;background:#effbf5;border-radius:50%;color:#087446;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;height:18px;justify-content:center;line-height:1;width:18px}.describo-ai-edited-filter-button.ant-btn{color:#087446;font-weight:800;min-width:32px;padding-inline:0}.describo-ai-edited-filter-button.ant-btn-primary{background:#12a76c;border-color:#12a76c;color:#fff}.describo-ai-entity-review-card{box-shadow:inset 0 0 0 1px #38c88a47,0 2px 8px #186f4a14}.describo-ai-entity-delete-card{box-shadow:0 2px 8px #b91c1c14}.describo-ai-entity-delete-card:hover{box-shadow:0 6px 18px #b91c1c24}.describo-ai-deleted-linked-entity-id{border-bottom:1px solid #0003;color:#00000073;display:block;font-size:.75rem;line-height:1.35;margin-bottom:4px;overflow-wrap:anywhere;padding-bottom:4px}.describo-ai-deleted-linked-entity-name{color:#000000e0;font-weight:700;overflow-wrap:anywhere}.describo-ai-entity-reviewed-card{position:relative}.describo-ai-entity-edited-badge{bottom:14px;position:absolute;right:14px;z-index:1}.describo-ai-entity-review-card .describo-ai-entity-edited-badge{right:130px}.describo-ai-entity-review-summary{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:10px}.describo-ai-entity-review-meta{align-items:center;display:inline-flex;gap:8px;min-width:0}.describo-ai-entity-review-count{color:#087446;font-size:13px;font-weight:800;white-space:nowrap}.describo-ai-entity-inline-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:18px}.describo-ai-entity-inline-actions .describo-ai-actions{gap:12px}.describo-ai-entity-review-button.ant-btn{background:#57d8a3;border:0;border-radius:6px;box-shadow:0 1px 2px #00000024;color:#0d2d23;font-size:13px;font-weight:800;height:28px;padding:0 10px}.describo-ai-entity-review-button.ant-btn:focus-visible,.describo-ai-entity-review-button.ant-btn:hover{background:#45c991!important;color:#0d2d23!important}.describo-ai-entity-diff-toggle.ant-btn{background:#ffffffd1;border-color:#1486553d;color:#047857;min-width:28px;padding:0;width:28px}.describo-ai-entity-diff-toggle.ant-btn:focus-visible,.describo-ai-entity-diff-toggle.ant-btn:hover{background:#ecfdf5!important;border-color:#14865573;color:#047857!important}.describo-ai-entity-delete-card .describo-ai-entity-review-count{color:#b91c1c}.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn{background:#ff5b63}.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn:hover{background:#f0444f!important;color:#111827!important}.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn{background:#ff5b63;border-color:#ff5b63}.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-confirm-bar{align-items:center;background:linear-gradient(90deg,#f5fff9,#f9fbfd);border-bottom:1px solid #c8ded4;border-top:1px solid #e7eee9;box-shadow:inset 4px 0 0 #54d69d;color:#2d3b35;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto;min-height:40px;padding:5px 10px 5px 14px}.describo-ai-confirm-message{align-items:center;display:flex;font-size:13px;font-weight:700;gap:10px;line-height:1.2;min-width:0;overflow:hidden}.describo-ai-confirm-spark{color:#12a76c;font-size:17px;line-height:1}.describo-ai-confirm-controls{align-items:center;display:flex;gap:6px;white-space:nowrap}.describo-ai-confirm-bar-remaining{background:linear-gradient(90deg,#fff9eb,#f9fbfd);box-shadow:inset 4px 0 0 #f59e0b}.describo-ai-confirm-bar-remaining .describo-ai-confirm-spark{color:#b45309}.describo-ai-review-next-entity.ant-btn{background:#fbbf24;border:0;border-radius:5px;box-shadow:0 1px 2px #0000001f;color:#1f1710;font-size:12px;font-weight:800;height:26px;padding:0 10px}.describo-ai-review-next-entity.ant-btn:focus-visible,.describo-ai-review-next-entity.ant-btn:hover{background:#f59e0b!important;color:#1f1710!important}.describo-ai-bulk-action.ant-btn{border:0;border-radius:5px;box-shadow:0 1px 2px #0000001f;color:#14201b;font-size:12px;font-weight:800;height:26px;padding:0 9px}.describo-ai-bulk-accept.ant-btn{background:#57d8a3}.describo-ai-bulk-accept.ant-btn:focus-visible,.describo-ai-bulk-accept.ant-btn:hover{background:#45c991!important;color:#14201b!important}.describo-ai-bulk-reject.ant-btn{background:#ff6a71;color:#1f1717}.describo-ai-bulk-reject.ant-btn:focus-visible,.describo-ai-bulk-reject.ant-btn:hover{background:#f0444f!important;color:#1f1717!important}.describo-ai-stepper{align-items:center;border-left:1px solid #cad7d1;color:#53625c;display:inline-flex;font-weight:800;gap:4px;margin-left:2px;padding-left:8px}.describo-ai-stepper .ant-btn{border-radius:5px;color:#4a5a54;height:24px;width:24px}.describo-ai-stepper .ant-btn:not(:disabled):focus-visible,.describo-ai-stepper .ant-btn:not(:disabled):hover{background:#e6f4ec!important;color:#33443d!important}.describo-ai-step-count{color:#34443d;font-size:13px;min-width:32px;text-align:center}.describo-ai-review{border-radius:8px;margin-top:18px;padding-top:20px!important;position:relative}.describo-ai-review-current .describo-ai-suggestion,.describo-ai-review-current.describo-property,.describo-ai-suggestion.describo-ai-review-current{border-color:#12a76ce6!important;box-shadow:inset 4px 0 0 #12a76c,0 0 0 3px #12a76c1f,0 6px 18px #1969461f!important}.describo-ai-delete.describo-ai-review-current,.describo-ai-review-current .describo-ai-delete{border-color:#dc2626e0!important;box-shadow:inset 4px 0 0 #ef4444,0 0 0 3px #ef44441f,0 6px 18px #b91c1c1f!important}.describo-ai-suggestion{background:linear-gradient(90deg,#22c55e1c,#22c55e0a 55%,#fff0);border:1px solid #22c55e6b;box-shadow:inset 4px 0 0 #22c55e,0 4px 14px #15803d14}.describo-ai-delete{background:linear-gradient(90deg,#ef44441c,#ef44440a 55%,#fff0);border:1px solid #ef44446b;box-shadow:inset 4px 0 0 #ef4444,0 4px 14px #b91c1c14}.describo-ai-suggestion:hover{background:linear-gradient(90deg,#22c55e26,#22c55e0d 55%,#fff0)}.describo-ai-delete:hover{background:linear-gradient(90deg,#ef444426,#ef44440d 55%,#fff0)}.describo-ai-deleted-entity-card{border-radius:8px;margin:18px;padding:26px 18px 18px;position:relative}.describo-ai-deleted-entity-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.describo-ai-deleted-entity-title{color:#7f1d1d;font-size:18px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.describo-ai-deleted-entity-id{color:#991b1b;font-size:13px;font-weight:600;margin-top:4px;overflow-wrap:anywhere}.describo-ai-deleted-entity-controls{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.describo-ai-deleted-entity-controls .describo-ai-actions{gap:8px}.describo-ai-deleted-entity-controls .describo-ai-actions .ant-btn{border-radius:6px;font-size:13px;height:28px;min-width:66px}.describo-ai-deleted-entity-summary{align-items:center;color:#7f1d1d;display:inline-flex;font-size:14px;font-weight:700;gap:10px;min-width:0}.describo-ai-deleted-entity-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.describo-ai-entity-delete-details-toggle.ant-btn{background:#ffffffb8;border-color:#f8717175;color:#b91c1c;flex:0 0 auto;min-width:30px;padding:0;width:30px}.describo-ai-entity-delete-details-toggle.ant-btn:focus-visible,.describo-ai-entity-delete-details-toggle.ant-btn:hover,.describo-ai-entity-delete-details-toggle.ant-btn[aria-pressed=true]{background:#ffe8e8!important;border-color:#f87171bd;color:#b91c1c!important}.describo-ai-deleted-entity-fields{background:#f8717152;border:1px solid #f8717152;border-radius:8px;display:grid;gap:1px;grid-template-columns:minmax(120px,220px) minmax(0,1fr);margin-top:14px;overflow:hidden}.describo-ai-deleted-entity-fields-inline{grid-template-columns:minmax(100px,170px) minmax(0,1fr);margin-top:10px}.describo-ai-deleted-entity-field{display:contents}.describo-ai-deleted-entity-field-name,.describo-ai-deleted-entity-field-value{background:#ffffffb8;font-size:13px;min-width:0;overflow-wrap:anywhere;padding:8px 10px}.describo-ai-deleted-entity-field-name{color:#7f1d1d;font-weight:800}.describo-ai-deleted-entity-field-value{color:#450a0a}.describo-ai-entity-diff-card{background:#f0fbf5;border:1px solid #38c88a8c;border-left:4px solid #38c88a;border-radius:8px;box-shadow:0 2px 8px #186f4a14;min-height:226px;overflow:hidden;position:relative}.describo-ai-entity-diff-card-delete{background:#fff5f5;border-color:#dd505c7a #dd505c7a #dd505c7a #e24d5c;box-shadow:0 2px 8px #85242f14}.describo-ai-entity-diff-head{align-items:center;background:#e4f7ed;border-bottom:1px solid #38c88a40;color:#087446;display:flex;font-size:13px;font-weight:900;gap:10px;justify-content:space-between;min-height:36px;padding:0 14px}.describo-ai-entity-diff-card-delete .describo-ai-entity-diff-head{background:#ffe8e8;border-bottom-color:#dd505c40;color:#9a1f29}.describo-ai-entity-diff-close.ant-btn{color:currentColor;flex:0 0 auto}.describo-ai-entity-diff-close.ant-btn:focus-visible,.describo-ai-entity-diff-close.ant-btn:hover{background:#ffffff9e!important;color:currentColor!important}.describo-ai-entity-diff-body{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;padding:10px 0 52px}.describo-ai-entity-diff-line{align-items:center;border-bottom:1px solid #0000000a;display:grid;grid-template-columns:28px minmax(74px,96px) minmax(0,1fr);min-height:29px}.describo-ai-entity-diff-line-context{background:#f7faf8}.describo-ai-entity-diff-line-removed{background:#fff1f1}.describo-ai-entity-diff-line-added{background:#effbf5}.describo-ai-entity-diff-marker{align-self:stretch;display:grid;font-weight:900;place-items:center}.describo-ai-entity-diff-line-context .describo-ai-entity-diff-marker{background:#eef2f0;color:#738078}.describo-ai-entity-diff-line-removed .describo-ai-entity-diff-marker{background:#ffdede;color:#9a1f29}.describo-ai-entity-diff-line-added .describo-ai-entity-diff-marker{background:#d8f5e7;color:#087446}.describo-ai-entity-diff-key{color:#5b7167;padding:0 8px}.describo-ai-entity-diff-key,.describo-ai-entity-diff-value{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.describo-ai-entity-diff-value{color:#1e2732;padding-right:10px}.describo-ai-entity-diff-actions{bottom:14px;display:flex;gap:7px;position:absolute;right:14px}.describo-ai-entity-diff-button.ant-btn{background:#57d8a3;border:0;border-radius:6px;box-shadow:0 1px 2px #00000024;color:#0d2d23;font-size:13px;font-weight:900;height:31px;min-width:100px;padding:0 10px}.describo-ai-entity-diff-button.ant-btn:focus-visible,.describo-ai-entity-diff-button.ant-btn:hover{background:#45c991!important;color:#0d2d23!important}.describo-ai-entity-diff-button-reject.ant-btn{background:#ff6a71;color:#171717}.describo-ai-entity-diff-button-reject.ant-btn:focus-visible,.describo-ai-entity-diff-button-reject.ant-btn:hover{background:#f0444f!important;color:#171717!important}.describo-ai-suggestion-badge{align-items:center;background:#ecfdf5;border:1px solid #10b98161;border-radius:7px;box-shadow:0 1px 2px #0f764a14;color:#047857;display:inline-flex;font-size:13px;font-weight:700;gap:6px;height:30px;left:18px;line-height:1;padding:0 11px;position:absolute;top:-15px;z-index:1}.describo-ai-delete .describo-ai-suggestion-badge{background:#fef2f2;border-color:#f871716b;box-shadow:0 1px 2px #b91c1c14;color:#b91c1c}.describo-ai-suggestion-badge-icon{color:#047857;font-size:14px;line-height:1}.describo-ai-delete .describo-ai-suggestion-badge-icon{color:#b91c1c}.describo-ai-entity-status-badge{left:14px;top:-15px}.describo-ai-entity-delete-card .describo-ai-entity-status-badge{background:#fef2f2;border-color:#f871716b;box-shadow:0 1px 2px #b91c1c14;color:#b91c1c}.describo-ai-entity-delete-card .describo-ai-entity-status-badge .describo-ai-suggestion-badge-icon{color:#b91c1c}.describo-ai-field-row{align-items:flex-start}.describo-ai-field-control .ant-space-compact{width:100%}.describo-ai-field-control .ant-input,.describo-ai-field-control .ant-input-affix-wrapper,.describo-ai-field-control .ant-input-number,.describo-ai-field-control .ant-picker,.describo-ai-field-control .ant-select-selector,.describo-ai-field-control textarea.ant-input{background:#f0fdf4!important;border-color:#22c55e!important;box-shadow:inset 0 0 0 1px #22c55e2e,0 0 0 3px #22c55e1a!important}.describo-ai-delete .describo-ai-field-control .ant-input,.describo-ai-delete .describo-ai-field-control .ant-input-affix-wrapper,.describo-ai-delete .describo-ai-field-control .ant-input-number,.describo-ai-delete .describo-ai-field-control .ant-picker,.describo-ai-delete .describo-ai-field-control .ant-select-selector,.describo-ai-delete .describo-ai-field-control textarea.ant-input{background:#fef2f2!important;border-color:#ef4444!important;box-shadow:inset 0 0 0 1px #ef44442e,0 0 0 3px #ef44441a!important}.describo-ai-field-control .ant-space-compact>.ant-input,.describo-ai-field-control .ant-space-compact>.ant-input-affix-wrapper,.describo-ai-field-control .ant-space-compact>textarea.ant-input{border-end-end-radius:8px!important;border-start-end-radius:8px!important}.describo-ai-field-control .ant-space-compact>.ant-btn{display:none}.describo-ai-field-diff{background:#fbfcfd;border:1px solid #d4ddd8;border-radius:7px;box-shadow:0 1px 2px #0000000d;font-size:15px;overflow:hidden;width:100%}.describo-ai-field-diff-head{align-items:center;background:#f5f8f6;border-bottom:1px solid #dce5e0;color:#506158;display:flex;font-size:13px;font-weight:800;gap:10px;justify-content:space-between;min-height:31px;padding:0 10px}.describo-ai-field-diff-chip{color:#087446;flex:0 0 auto;font-size:12px}.describo-ai-field-diff-line{border-bottom:1px solid #0000000a;display:grid;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;grid-template-columns:28px minmax(0,1fr);min-height:36px}.describo-ai-field-diff-line:last-child{border-bottom:0}.describo-ai-field-diff-marker{align-self:stretch;display:grid;font-weight:900;place-items:center}.describo-ai-field-diff-value{color:#27322d;margin:0;min-width:0;overflow:auto;overflow-wrap:anywhere;padding:7px 11px;white-space:pre-wrap}.describo-ai-field-diff-line-removed{background:#fff1f1}.describo-ai-field-diff-line-removed .describo-ai-field-diff-marker{background:#ffdede;color:#9a1f29}.describo-ai-field-diff-line-added{background:#effbf5}.describo-ai-field-diff-line-added .describo-ai-field-diff-marker{background:#d8f5e7;color:#087446}.describo-ai-field-diff-empty{color:#7b8781;font-style:italic}.describo-ai-actions{align-items:flex-start;display:flex;flex:0 0 auto;gap:18px}.describo-ai-actions .ant-btn{border:0;border-radius:8px;box-shadow:0 2px 5px #0f172a2e;color:#111827;font-size:14px;font-weight:700;height:34px;min-width:82px}.describo-ai-action-diff.ant-btn{background:#fff;border:1px solid #d4ddd8;color:#0f172a;min-width:36px;padding:0;width:36px}.describo-ai-action-diff.ant-btn:focus-visible,.describo-ai-action-diff.ant-btn:hover{background:#f5f8f6!important;border-color:#9bc7b3!important;color:#087446!important}.describo-ai-action-diff.ant-btn[aria-pressed=true]{background:#d8f5e7;border-color:#9bc7b3;color:#087446}.describo-ai-action-approve.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-action-approve.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-action-reject.ant-btn,.describo-ai-delete .describo-ai-action-approve.ant-btn{background:#ff5b63;border-color:#ff5b63}.describo-ai-delete .describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-delete .describo-ai-action-approve.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}.describo-ai-delete .describo-ai-action-reject.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-delete .describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-delete .describo-ai-action-reject.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-action-reject.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}@media (max-width:900px){.describo-ai-confirm-bar{grid-template-columns:1fr}.describo-ai-confirm-controls{flex-wrap:wrap}.describo-ai-stepper{border-left:0;margin-left:0;padding-left:0}.describo-ai-field-row{flex-wrap:wrap}.describo-ai-actions{justify-content:flex-start;width:100%}}@media (max-width:640px){.describo-quick-settings-header{flex-wrap:wrap}.describo-quick-settings-filter{flex-basis:100%;max-width:none}}.recrate,.recrate .recrate-ant{display:flex;flex-direction:column;height:100vh;min-height:100vh}.describo-editor-scroll,.recrate .ant-tabs-left .ant-tabs-nav,.recrate .ant-tabs-right .ant-tabs-nav{height:100%}.recrate .ant-tabs-bottom .ant-tabs-nav-wrap,.recrate .ant-tabs-top .ant-tabs-nav-wrap{overflow-x:auto}
|
|
1
|
+
.el-tabs__item{height:unset}.el-select-dropdown__wrap{max-height:500px!important}.el-select-group__title{font-size:14px!important}.scrollbar{overflow:overlay}.scrollbar::-webkit-scrollbar{background-color:#0000;height:16px;width:16px;z-index:999999}.scrollbar::-webkit-scrollbar-track{background-color:#0000}.scrollbar::-webkit-scrollbar-thumb{background-color:#0000;border:0 solid #fff;border-radius:16px}.scrollbar::-webkit-scrollbar-button{display:none}.scrollbar:hover::-webkit-scrollbar-thumb{background-color:#a0a0a5;border:4px solid #fff}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:#a0a0a5;border:4px solid #f4f4f4}.cm-editor{font-size:12px;height:auto;max-height:none}.describo-tab-icon{align-items:center;display:flex;font-size:14px;font-weight:600;height:100%;justify-content:center;width:100%}.describo-add-only-tabs .ant-tabs-nav,.describo-add-only-tabs .ant-tabs-nav-wrap{height:100%}.describo-add-only-tabs .ant-tabs-nav-list{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.describo-add-only-tabs .ant-tabs-tab{justify-content:center}.describo-tab-rail{background:#fff;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative}.describo-tab-rail-actions{border-bottom:1px solid #e5e7eb;display:flex;flex:0 0 auto;gap:8px;justify-content:center;padding:10px 8px 8px}.describo-tab-rail-actions-only .describo-tab-rail-actions{border-bottom:0}.describo-tab-rail-list{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 6px 16px;scrollbar-width:none}.describo-tab-rail-list::-webkit-scrollbar{display:none}.describo-tab-rail-item{border-radius:6px;color:#334155;cursor:pointer;display:block;margin:2px 0;outline:none;padding:12px 10px;position:relative;transition:background-color .12s ease,color .12s ease;width:100%}.describo-tab-rail-item:focus-visible,.describo-tab-rail-item:hover{background:#f1f5f9}.describo-tab-rail-item-active{background:#eaf2ff;color:#1d4ed8}.describo-tab-rail-item-active:before{background:#2563eb;border-radius:999px;bottom:10px;content:"";left:0;position:absolute;top:10px;width:3px}.describo-tab-rail-item-icon{align-items:center;display:flex;justify-content:center;min-height:42px;padding:8px}.describo-tab-rail-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.describo-tab-rail-title{font-size:15px;font-weight:600;line-height:1.35;min-width:0;overflow-wrap:anywhere}.describo-tab-rail-status{align-items:center;display:inline-flex;flex:0 0 auto;gap:4px}.describo-tab-rail-remove-button{flex:0 0 auto;transition:opacity .12s ease}.describo-tab-rail-description{color:#64748b;font-size:12px;line-height:1.35;margin-top:4px;overflow-wrap:anywhere}.describo-tab-rail:after,.describo-tab-rail:before{content:"";height:34px;left:0;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .12s ease;z-index:2}.describo-tab-rail:before{background:linear-gradient(#fff,#fff0);top:53px}.describo-tab-rail:after{background:linear-gradient(#fff0,#fff);bottom:0}.describo-tab-rail-can-scroll-down:after,.describo-tab-rail-can-scroll-up:before{opacity:1}.describo-tab-rail-scroll-button{box-shadow:0 2px 8px #0f172a24;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.describo-tab-rail-scroll-button-up{top:58px}.describo-tab-rail-scroll-button-down{bottom:8px}.describo-add-property-drawer{z-index:6000}.describo-add-property-title.ant-typography{font-size:22px;line-height:1.25;margin:0}.describo-add-property-row{border:1px solid #0000;border-radius:6px;color:#111827;cursor:pointer;outline:none;padding:10px 12px 10px 14px;position:relative;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.describo-add-property-row:before{background:#0000;border-radius:999px;bottom:10px;content:"";left:0;position:absolute;top:10px;transition:background-color .12s ease;width:3px}.describo-add-property-row:focus-visible,.describo-add-property-row:hover{background:#f8fafc;border-color:#dbeafe;box-shadow:0 1px 4px #0f172a14}.describo-add-property-row:active{transform:translateY(1px)}.describo-add-property-row-selected{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 1px #2563eb1f}.describo-add-property-row-selected:before{background:#2563eb}.describo-add-property-row-header{color:#111827;min-width:0}.describo-add-property-row-name{color:inherit;flex:0 1 auto;font-weight:600;min-width:0;overflow-wrap:anywhere}.describo-add-property-row-type{color:#475569;overflow-wrap:anywhere}.describo-add-property-row-help{color:#6b7280;display:block;line-height:1.45;margin-top:4px}.describo-add-property-row-check{color:#2563eb;margin-left:auto}.describo-quick-settings-header{align-items:center;backdrop-filter:blur(8px);background:#fffffff5;border-bottom:1px solid #dbe3ef;box-shadow:0 6px 14px #0f172a14;display:flex;gap:14px;margin:0 -12px 12px;padding:2px 12px 5px 18px;position:sticky;top:0;z-index:4}.describo-quick-settings-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:6px}.describo-quick-settings-filter{flex:1 1 260px;max-width:420px;min-width:160px}.describo-property-compact .describo-add-control{margin-bottom:0;margin-top:0;padding-bottom:0;padding-top:0}.describo-property-name-with-ai{align-items:center;display:inline-flex;gap:6px;min-width:0}.describo-ai-edited-icon{align-items:center;background:#effbf5;border-radius:50%;color:#087446;display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:800;height:18px;justify-content:center;line-height:1;width:18px}.describo-ai-edited-filter-button.ant-btn{color:#087446;font-weight:800;min-width:32px;padding-inline:0}.describo-ai-edited-filter-button.ant-btn-primary{background:#12a76c;border-color:#12a76c;color:#fff}.describo-ai-entity-review-card{box-shadow:inset 0 0 0 1px #38c88a47,0 2px 8px #186f4a14}.describo-ai-entity-delete-card{box-shadow:0 2px 8px #b91c1c14}.describo-ai-entity-delete-card:hover{box-shadow:0 6px 18px #b91c1c24}.describo-ai-entity-unlink-card{box-shadow:0 2px 8px #c2610014}.describo-ai-entity-unlink-card:hover{box-shadow:0 6px 18px #c2610024}.describo-ai-deleted-linked-entity-id{border-bottom:1px solid #0003;color:#00000073;display:block;font-size:.75rem;line-height:1.35;margin-bottom:4px;overflow-wrap:anywhere;padding-bottom:4px}.describo-ai-deleted-linked-entity-name{color:#000000e0;font-weight:700;overflow-wrap:anywhere}.describo-ai-entity-reviewed-card{position:relative}.describo-ai-entity-edited-badge{bottom:14px;position:absolute;right:14px;z-index:1}.describo-ai-entity-review-card .describo-ai-entity-edited-badge{right:130px}.describo-ai-entity-review-summary{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:10px}.describo-ai-entity-review-meta{align-items:center;display:inline-flex;gap:8px;min-width:0}.describo-ai-entity-review-count{color:#087446;font-size:13px;font-weight:800;white-space:nowrap}.describo-ai-entity-inline-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:18px}.describo-ai-entity-inline-actions .describo-ai-actions{gap:12px}.describo-ai-entity-review-button.ant-btn{background:#57d8a3;border:0;border-radius:6px;box-shadow:0 1px 2px #00000024;color:#0d2d23;font-size:13px;font-weight:800;height:28px;padding:0 10px}.describo-ai-entity-review-button.ant-btn:focus-visible,.describo-ai-entity-review-button.ant-btn:hover{background:#45c991!important;color:#0d2d23!important}.describo-ai-entity-diff-toggle.ant-btn{background:#ffffffd1;border-color:#1486553d;color:#047857;min-width:28px;padding:0;width:28px}.describo-ai-entity-diff-toggle.ant-btn:focus-visible,.describo-ai-entity-diff-toggle.ant-btn:hover{background:#ecfdf5!important;border-color:#14865573;color:#047857!important}.describo-ai-entity-delete-card .describo-ai-entity-review-count{color:#b91c1c}.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn{background:#ff5b63}.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-entity-review-button.ant-btn:hover{background:#f0444f!important;color:#111827!important}.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn{background:#ff5b63;border-color:#ff5b63}.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-action-approve.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-entity-delete-card .describo-ai-action-reject.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-entity-unlink-card .describo-ai-action-approve.ant-btn{background:#fb923c;border-color:#fb923c}.describo-ai-entity-unlink-card .describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-entity-unlink-card .describo-ai-action-approve.ant-btn:hover{background:#f97316!important;border-color:#f97316!important;color:#111827!important}.describo-ai-entity-unlink-card .describo-ai-action-reject.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-entity-unlink-card .describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-entity-unlink-card .describo-ai-action-reject.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-confirm-bar{align-items:center;background:linear-gradient(90deg,#f5fff9,#f9fbfd);border-bottom:1px solid #c8ded4;border-top:1px solid #e7eee9;box-shadow:inset 4px 0 0 #54d69d;color:#2d3b35;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto;min-height:40px;padding:5px 10px 5px 14px}.describo-ai-confirm-message{align-items:center;display:flex;font-size:13px;font-weight:700;gap:10px;line-height:1.2;min-width:0;overflow:hidden}.describo-ai-confirm-spark{color:#12a76c;font-size:17px;line-height:1}.describo-ai-confirm-controls{align-items:center;display:flex;gap:6px;white-space:nowrap}.describo-ai-confirm-bar-remaining{background:linear-gradient(90deg,#fff9eb,#f9fbfd);box-shadow:inset 4px 0 0 #f59e0b}.describo-ai-confirm-bar-remaining .describo-ai-confirm-spark{color:#b45309}.describo-ai-review-next-entity.ant-btn{background:#fbbf24;border:0;border-radius:5px;box-shadow:0 1px 2px #0000001f;color:#1f1710;font-size:12px;font-weight:800;height:26px;padding:0 10px}.describo-ai-review-next-entity.ant-btn:focus-visible,.describo-ai-review-next-entity.ant-btn:hover{background:#f59e0b!important;color:#1f1710!important}.describo-ai-bulk-action.ant-btn{border:0;border-radius:5px;box-shadow:0 1px 2px #0000001f;color:#14201b;font-size:12px;font-weight:800;height:26px;padding:0 9px}.describo-ai-bulk-accept.ant-btn{background:#57d8a3}.describo-ai-bulk-accept.ant-btn:focus-visible,.describo-ai-bulk-accept.ant-btn:hover{background:#45c991!important;color:#14201b!important}.describo-ai-bulk-reject.ant-btn{background:#ff6a71;color:#1f1717}.describo-ai-bulk-reject.ant-btn:focus-visible,.describo-ai-bulk-reject.ant-btn:hover{background:#f0444f!important;color:#1f1717!important}.describo-ai-stepper{align-items:center;border-left:1px solid #cad7d1;color:#53625c;display:inline-flex;font-weight:800;gap:4px;margin-left:2px;padding-left:8px}.describo-ai-stepper .ant-btn{border-radius:5px;color:#4a5a54;height:24px;width:24px}.describo-ai-stepper .ant-btn:not(:disabled):focus-visible,.describo-ai-stepper .ant-btn:not(:disabled):hover{background:#e6f4ec!important;color:#33443d!important}.describo-ai-step-count{color:#34443d;font-size:13px;min-width:32px;text-align:center}.describo-ai-review{border-radius:8px;margin-top:18px;padding-top:20px!important;position:relative}.describo-ai-review-current .describo-ai-suggestion,.describo-ai-review-current.describo-property,.describo-ai-suggestion.describo-ai-review-current{border-color:#12a76ce6!important;box-shadow:inset 4px 0 0 #12a76c,0 0 0 3px #12a76c1f,0 6px 18px #1969461f!important}.describo-ai-delete.describo-ai-review-current,.describo-ai-review-current .describo-ai-delete{border-color:#dc2626e0!important;box-shadow:inset 4px 0 0 #ef4444,0 0 0 3px #ef44441f,0 6px 18px #b91c1c1f!important}.describo-ai-suggestion{background:linear-gradient(90deg,#22c55e1c,#22c55e0a 55%,#fff0);border:1px solid #22c55e6b;box-shadow:inset 4px 0 0 #22c55e,0 4px 14px #15803d14}.describo-ai-delete{background:linear-gradient(90deg,#ef44441c,#ef44440a 55%,#fff0);border:1px solid #ef44446b;box-shadow:inset 4px 0 0 #ef4444,0 4px 14px #b91c1c14}.describo-ai-suggestion:hover{background:linear-gradient(90deg,#22c55e26,#22c55e0d 55%,#fff0)}.describo-ai-delete:hover{background:linear-gradient(90deg,#ef444426,#ef44440d 55%,#fff0)}.describo-ai-deleted-entity-card{border-radius:8px;margin:18px;padding:26px 18px 18px;position:relative}.describo-ai-deleted-entity-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between}.describo-ai-deleted-entity-title{color:#7f1d1d;font-size:18px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.describo-ai-deleted-entity-id{color:#991b1b;font-size:13px;font-weight:600;margin-top:4px;overflow-wrap:anywhere}.describo-ai-deleted-entity-controls{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.describo-ai-deleted-entity-controls .describo-ai-actions{gap:8px}.describo-ai-deleted-entity-controls .describo-ai-actions .ant-btn{border-radius:6px;font-size:13px;height:28px;min-width:66px}.describo-ai-deleted-entity-summary{align-items:center;color:#7f1d1d;display:inline-flex;font-size:14px;font-weight:700;gap:10px;min-width:0}.describo-ai-deleted-entity-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.describo-ai-entity-delete-details-toggle.ant-btn{background:#ffffffb8;border-color:#f8717175;color:#b91c1c;flex:0 0 auto;min-width:30px;padding:0;width:30px}.describo-ai-entity-delete-details-toggle.ant-btn:focus-visible,.describo-ai-entity-delete-details-toggle.ant-btn:hover,.describo-ai-entity-delete-details-toggle.ant-btn[aria-pressed=true]{background:#ffe8e8!important;border-color:#f87171bd;color:#b91c1c!important}.describo-ai-deleted-entity-fields{background:#f8717152;border:1px solid #f8717152;border-radius:8px;display:grid;gap:1px;grid-template-columns:minmax(120px,220px) minmax(0,1fr);margin-top:14px;overflow:hidden}.describo-ai-deleted-entity-fields-inline{grid-template-columns:minmax(100px,170px) minmax(0,1fr);margin-top:10px}.describo-ai-deleted-entity-field{display:contents}.describo-ai-deleted-entity-field-name,.describo-ai-deleted-entity-field-value{background:#ffffffb8;font-size:13px;min-width:0;overflow-wrap:anywhere;padding:8px 10px}.describo-ai-deleted-entity-field-name{color:#7f1d1d;font-weight:800}.describo-ai-deleted-entity-field-value{color:#450a0a}.describo-ai-entity-diff-card{background:#f0fbf5;border:1px solid #38c88a8c;border-left:4px solid #38c88a;border-radius:8px;box-shadow:0 2px 8px #186f4a14;min-height:226px;overflow:hidden;position:relative}.describo-ai-entity-diff-card-delete{background:#fff5f5;border-color:#dd505c7a #dd505c7a #dd505c7a #e24d5c;box-shadow:0 2px 8px #85242f14}.describo-ai-entity-diff-card-unlink{background:#fff7ed;border-color:#f973167a #f973167a #f973167a #f97316;box-shadow:0 2px 8px #c2610014}.describo-ai-entity-diff-head{align-items:center;background:#e4f7ed;border-bottom:1px solid #38c88a40;color:#087446;display:flex;font-size:13px;font-weight:900;gap:10px;justify-content:space-between;min-height:36px;padding:0 14px}.describo-ai-entity-diff-card-delete .describo-ai-entity-diff-head{background:#ffe8e8;border-bottom-color:#dd505c40;color:#9a1f29}.describo-ai-entity-diff-card-unlink .describo-ai-entity-diff-head{background:#ffedd5;border-bottom-color:#f9731640;color:#9a3412}.describo-ai-entity-diff-close.ant-btn{color:currentColor;flex:0 0 auto}.describo-ai-entity-diff-close.ant-btn:focus-visible,.describo-ai-entity-diff-close.ant-btn:hover{background:#ffffff9e!important;color:currentColor!important}.describo-ai-entity-diff-body{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;padding:10px 0 52px}.describo-ai-entity-diff-line{align-items:center;border-bottom:1px solid #0000000a;display:grid;grid-template-columns:28px minmax(74px,96px) minmax(0,1fr);min-height:29px}.describo-ai-entity-diff-line-context{background:#f7faf8}.describo-ai-entity-diff-line-removed{background:#fff1f1}.describo-ai-entity-diff-line-added{background:#effbf5}.describo-ai-entity-diff-marker{align-self:stretch;display:grid;font-weight:900;place-items:center}.describo-ai-entity-diff-line-context .describo-ai-entity-diff-marker{background:#eef2f0;color:#738078}.describo-ai-entity-diff-line-removed .describo-ai-entity-diff-marker{background:#ffdede;color:#9a1f29}.describo-ai-entity-diff-line-added .describo-ai-entity-diff-marker{background:#d8f5e7;color:#087446}.describo-ai-entity-diff-key{color:#5b7167;padding:0 8px}.describo-ai-entity-diff-key,.describo-ai-entity-diff-value{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.describo-ai-entity-diff-value{color:#1e2732;padding-right:10px}.describo-ai-entity-diff-actions{bottom:14px;display:flex;gap:7px;position:absolute;right:14px}.describo-ai-entity-diff-button.ant-btn{background:#57d8a3;border:0;border-radius:6px;box-shadow:0 1px 2px #00000024;color:#0d2d23;font-size:13px;font-weight:900;height:31px;min-width:100px;padding:0 10px}.describo-ai-entity-diff-button.ant-btn:focus-visible,.describo-ai-entity-diff-button.ant-btn:hover{background:#45c991!important;color:#0d2d23!important}.describo-ai-entity-diff-button-reject.ant-btn{background:#ff6a71;color:#171717}.describo-ai-entity-diff-button-reject.ant-btn:focus-visible,.describo-ai-entity-diff-button-reject.ant-btn:hover{background:#f0444f!important;color:#171717!important}.describo-ai-suggestion-badge{align-items:center;background:#ecfdf5;border:1px solid #10b98161;border-radius:7px;box-shadow:0 1px 2px #0f764a14;color:#047857;display:inline-flex;font-size:13px;font-weight:700;gap:6px;height:30px;left:18px;line-height:1;padding:0 11px;position:absolute;top:-15px;z-index:1}.describo-ai-delete .describo-ai-suggestion-badge{background:#fef2f2;border-color:#f871716b;box-shadow:0 1px 2px #b91c1c14;color:#b91c1c}.describo-ai-suggestion-badge-icon{color:#047857;font-size:14px;line-height:1}.describo-ai-delete .describo-ai-suggestion-badge-icon{color:#b91c1c}.describo-ai-entity-status-badge{left:14px;top:-15px}.describo-ai-entity-delete-card .describo-ai-entity-status-badge{background:#fef2f2;border-color:#f871716b;box-shadow:0 1px 2px #b91c1c14;color:#b91c1c}.describo-ai-entity-delete-card .describo-ai-entity-status-badge .describo-ai-suggestion-badge-icon{color:#b91c1c}.describo-ai-entity-unlink-card .describo-ai-entity-status-badge{background:#fff7ed;border-color:#fb923c73;box-shadow:0 1px 2px #c2610014;color:#9a3412}.describo-ai-entity-unlink-card .describo-ai-entity-status-badge .describo-ai-suggestion-badge-icon{color:#c2410c}.describo-ai-field-row{align-items:flex-start}.describo-ai-field-control .ant-space-compact{width:100%}.describo-ai-field-control .ant-input,.describo-ai-field-control .ant-input-affix-wrapper,.describo-ai-field-control .ant-input-number,.describo-ai-field-control .ant-picker,.describo-ai-field-control .ant-select-selector,.describo-ai-field-control textarea.ant-input{background:#f0fdf4!important;border-color:#22c55e!important;box-shadow:inset 0 0 0 1px #22c55e2e,0 0 0 3px #22c55e1a!important}.describo-ai-delete .describo-ai-field-control .ant-input,.describo-ai-delete .describo-ai-field-control .ant-input-affix-wrapper,.describo-ai-delete .describo-ai-field-control .ant-input-number,.describo-ai-delete .describo-ai-field-control .ant-picker,.describo-ai-delete .describo-ai-field-control .ant-select-selector,.describo-ai-delete .describo-ai-field-control textarea.ant-input{background:#fef2f2!important;border-color:#ef4444!important;box-shadow:inset 0 0 0 1px #ef44442e,0 0 0 3px #ef44441a!important}.describo-ai-field-control .ant-space-compact>.ant-input,.describo-ai-field-control .ant-space-compact>.ant-input-affix-wrapper,.describo-ai-field-control .ant-space-compact>textarea.ant-input{border-end-end-radius:8px!important;border-start-end-radius:8px!important}.describo-ai-field-control .ant-space-compact>.ant-btn{display:none}.describo-ai-field-diff{background:#fbfcfd;border:1px solid #d4ddd8;border-radius:7px;box-shadow:0 1px 2px #0000000d;font-size:15px;overflow:hidden;width:100%}.describo-ai-field-diff-head{align-items:center;background:#f5f8f6;border-bottom:1px solid #dce5e0;color:#506158;display:flex;font-size:13px;font-weight:800;gap:10px;justify-content:space-between;min-height:31px;padding:0 10px}.describo-ai-field-diff-chip{color:#087446;flex:0 0 auto;font-size:12px}.describo-ai-field-diff-line{border-bottom:1px solid #0000000a;display:grid;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;grid-template-columns:28px minmax(0,1fr);min-height:36px}.describo-ai-field-diff-line:last-child{border-bottom:0}.describo-ai-field-diff-marker{align-self:stretch;display:grid;font-weight:900;place-items:center}.describo-ai-field-diff-value{color:#27322d;margin:0;min-width:0;overflow:auto;overflow-wrap:anywhere;padding:7px 11px;white-space:pre-wrap}.describo-ai-field-diff-line-removed{background:#fff1f1}.describo-ai-field-diff-line-removed .describo-ai-field-diff-marker{background:#ffdede;color:#9a1f29}.describo-ai-field-diff-line-added{background:#effbf5}.describo-ai-field-diff-line-added .describo-ai-field-diff-marker{background:#d8f5e7;color:#087446}.describo-ai-field-diff-empty{color:#7b8781;font-style:italic}.describo-ai-actions{align-items:flex-start;display:flex;flex:0 0 auto;gap:18px}.describo-ai-actions .ant-btn{border:0;border-radius:8px;box-shadow:0 2px 5px #0f172a2e;color:#111827;font-size:14px;font-weight:700;height:34px;min-width:82px}.describo-ai-action-diff.ant-btn{background:#fff;border:1px solid #d4ddd8;color:#0f172a;min-width:36px;padding:0;width:36px}.describo-ai-action-diff.ant-btn:focus-visible,.describo-ai-action-diff.ant-btn:hover{background:#f5f8f6!important;border-color:#9bc7b3!important;color:#087446!important}.describo-ai-action-diff.ant-btn[aria-pressed=true]{background:#d8f5e7;border-color:#9bc7b3;color:#087446}.describo-ai-action-approve.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-action-approve.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-action-reject.ant-btn,.describo-ai-delete .describo-ai-action-approve.ant-btn{background:#ff5b63;border-color:#ff5b63}.describo-ai-delete .describo-ai-action-approve.ant-btn:focus-visible,.describo-ai-delete .describo-ai-action-approve.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}.describo-ai-delete .describo-ai-action-reject.ant-btn{background:#57d8a3;border-color:#57d8a3}.describo-ai-delete .describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-delete .describo-ai-action-reject.ant-btn:hover{background:#45c991!important;border-color:#45c991!important;color:#111827!important}.describo-ai-action-reject.ant-btn:focus-visible,.describo-ai-action-reject.ant-btn:hover{background:#f0444f!important;border-color:#f0444f!important;color:#111827!important}@media (max-width:900px){.describo-ai-confirm-bar{grid-template-columns:1fr}.describo-ai-confirm-controls{flex-wrap:wrap}.describo-ai-stepper{border-left:0;margin-left:0;padding-left:0}.describo-ai-field-row{flex-wrap:wrap}.describo-ai-actions{justify-content:flex-start;width:100%}}@media (max-width:640px){.describo-quick-settings-header{flex-wrap:wrap}.describo-quick-settings-filter{flex-basis:100%;max-width:none}}.recrate,.recrate .recrate-ant{display:flex;flex-direction:column;height:100vh;min-height:100vh}.describo-editor-scroll,.recrate .ant-tabs-left .ant-tabs-nav,.recrate .ant-tabs-right .ant-tabs-nav{height:100%}.recrate .ant-tabs-bottom .ant-tabs-nav-wrap,.recrate .ant-tabs-top .ant-tabs-nav-wrap{overflow-x:auto}
|
|
2
2
|
/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% 0.062 18.334);--color-red-500:oklch(63.7% 0.237 25.331);--color-red-600:oklch(57.7% 0.245 27.325);--color-red-700:oklch(50.5% 0.213 27.518);--color-green-100:oklch(96.2% 0.044 156.743);--color-green-200:oklch(92.5% 0.084 155.995);--color-green-600:oklch(62.7% 0.194 149.214);--color-cyan-200:oklch(91.7% 0.08 205.041);--color-sky-100:oklch(95.1% 0.026 236.824);--color-sky-500:oklch(68.5% 0.169 237.323);--color-blue-200:oklch(88.2% 0.059 254.128);--color-blue-300:oklch(80.9% 0.105 251.813);--color-blue-500:oklch(62.3% 0.214 259.815);--color-blue-600:oklch(54.6% 0.245 262.881);--color-blue-700:oklch(48.8% 0.243 264.376);--color-indigo-200:oklch(87% 0.065 274.039);--color-purple-200:oklch(90.2% 0.063 306.703);--color-slate-200:oklch(92.9% 0.013 255.508);--color-slate-300:oklch(86.9% 0.022 252.894);--color-slate-700:oklch(37.2% 0.044 257.287);--color-gray-50:oklch(98.5% 0.002 247.839);--color-gray-200:oklch(92.8% 0.006 264.531);--color-gray-300:oklch(87.2% 0.01 258.338);--color-gray-400:oklch(70.7% 0.022 261.325);--color-gray-600:oklch(44.6% 0.03 256.802);--color-gray-700:oklch(37.3% 0.034 259.733);--color-gray-800:oklch(27.8% 0.033 256.848);--color-black:#000;--color-white:#fff;--spacing:0.25rem;--text-xs:0.75rem;--text-xs--line-height:1.33333;--text-sm:0.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--font-weight-light:300;--font-weight-bold:700;--radius-lg:0.5rem;--animate-pulse:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;--default-transition-duration:150ms;--default-transition-timing-function:cubic-bezier(0.4,0,0.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:initial}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{background-color:initial;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:currentcolor;@supports (color:color-mix(in lab,red,red)){color:color-mix(in oklab,currentcolor 50%,#0000)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.z-50{z-index:50}.float-right{float:right}.container{width:100%;@media (width >= 40rem){max-width:40rem}@media (width >= 48rem){max-width:48rem}@media (width >= 64rem){max-width:64rem}@media (width >= 80rem){max-width:80rem}@media (width >= 96rem){max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.h-1{height:calc(var(--spacing)*1)}.h-3{height:calc(var(--spacing)*3)}.h-8{height:calc(var(--spacing)*8)}.h-\[520px\]{height:520px}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-1\/2{width:50%}.w-1\/3{width:33.33333%}.w-2\/3{width:66.66667%}.w-2\/6{width:33.33333%}.w-3{width:calc(var(--spacing)*3)}.w-4\/6{width:66.66667%}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-\[600px\]{width:600px}.w-full{width:100%}.w-screen{width:100vw}.max-w-\[715px\]{max-width:715px}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-72{min-width:calc(var(--spacing)*72)}.flex-1{flex:1}.flex-\[1_1_360px\]{flex:1 1 360px}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-between{place-content:space-between}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.space-y-1{:where(&>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*1*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*1*var(--tw-space-y-reverse))}}.space-y-2{:where(&>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}}.space-y-3{:where(&>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*3*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*3*var(--tw-space-y-reverse))}}.space-y-4{:where(&>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*4*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*4*var(--tw-space-y-reverse))}}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.space-x-1{:where(&>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*1*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*1*var(--tw-space-x-reverse))}}.space-x-2{:where(&>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*2*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*2*var(--tw-space-x-reverse))}}.space-x-4{:where(&>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}}.gap-y-2{row-gap:calc(var(--spacing)*2)}.divide-y{:where(&>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-bottom-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse))}}.divide-gray-300{:where(&>:not(:last-child)){border-color:var(--color-gray-300)}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-black\/20{border-color:color-mix(in srgb,#000 20%,#0000);@supports (color:color-mix(in lab,red,red)){border-color:color-mix(in oklab,var(--color-black) 20%,#0000)}}.border-gray-400{border-color:var(--color-gray-400)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-700{border-color:var(--color-slate-700)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-200{background-color:var(--color-green-200)}.bg-indigo-200{background-color:var(--color-indigo-200)}.bg-purple-200{background-color:var(--color-purple-200)}.bg-red-200{background-color:var(--color-red-200)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-700{background-color:var(--color-slate-700)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-1{padding-right:calc(var(--spacing)*1)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-1{padding-left:calc(var(--spacing)*1)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-50{opacity:50%}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-transform{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-1000{--tw-duration:1000ms;transition-duration:1s}.group-hover\:opacity-100{&:is(:where(.group):hover *){@media (hover:hover){opacity:100%}}}.hover\:scale-105{&:hover{@media (hover:hover){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}}.hover\:rounded-r-none{&:hover{@media (hover:hover){border-bottom-right-radius:0;border-top-right-radius:0}}}.hover\:bg-blue-300{&:hover{@media (hover:hover){background-color:var(--color-blue-300)}}}.hover\:bg-blue-700{&:hover{@media (hover:hover){background-color:var(--color-blue-700)}}}.hover\:bg-cyan-200{&:hover{@media (hover:hover){background-color:var(--color-cyan-200)}}}.hover\:bg-green-200{&:hover{@media (hover:hover){background-color:var(--color-green-200)}}}.hover\:bg-red-700{&:hover{@media (hover:hover){background-color:var(--color-red-700)}}}.hover\:bg-sky-100{&:hover{@media (hover:hover){background-color:var(--color-sky-100)}}}.hover\:text-black{&:hover{@media (hover:hover){color:var(--color-black)}}}.focus\:border-2{&:focus{border-style:var(--tw-border-style);border-width:2px}}.focus\:border-green-600{&:focus{border-color:var(--color-green-600)}}.focus\:outline-none{&:focus{--tw-outline-style:none;outline-style:none}}.focus-visible\:ring-2{&:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:ring-sky-500{&:focus-visible{--tw-ring-color:var(--color-sky-500)}}.focus-visible\:outline-none{&:focus-visible{--tw-outline-style:none;outline-style:none}}.xl\:w-1\/5{@media (width >= 80rem){width:20%}}.xl\:w-4\/5{@media (width >= 80rem){width:80%}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}
|
|
3
3
|
.recrate{all:revert-layer}
|
package/dist/recrate.es.js
CHANGED
|
@@ -79855,9 +79855,11 @@ const AiEntityDiffView = ({
|
|
|
79855
79855
|
onReject
|
|
79856
79856
|
}) => {
|
|
79857
79857
|
const isDelete = operation === "delete";
|
|
79858
|
-
|
|
79858
|
+
const isUnlink = operation === "unlink";
|
|
79859
|
+
const title = isDelete ? `AI deleted entity: ${entityId}` : isUnlink ? `AI unlinked entity: ${entityId}` : `AI edited entity: ${entityId}`;
|
|
79860
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `describo-ai-entity-diff-card ${isDelete ? "describo-ai-entity-diff-card-delete" : ""} ${isUnlink ? "describo-ai-entity-diff-card-unlink" : ""}`, children: [
|
|
79859
79861
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "describo-ai-entity-diff-head", children: [
|
|
79860
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children:
|
|
79862
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: title }),
|
|
79861
79863
|
onClose && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: "Hide entity diff", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79862
79864
|
Button$1,
|
|
79863
79865
|
{
|
|
@@ -79886,7 +79888,7 @@ const AiEntityDiffView = ({
|
|
|
79886
79888
|
`${row.kind}-${row.propertyName}-${index2}`
|
|
79887
79889
|
)) }),
|
|
79888
79890
|
!readonly && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "describo-ai-entity-diff-actions", children: [
|
|
79889
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: isDelete ? "Approve this AI deletion" : "Accept every AI edit for this entity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79891
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: isDelete ? "Approve this AI deletion" : isUnlink ? "Approve this AI unlink" : "Accept every AI edit for this entity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79890
79892
|
Button$1,
|
|
79891
79893
|
{
|
|
79892
79894
|
size: "middle",
|
|
@@ -79895,10 +79897,10 @@ const AiEntityDiffView = ({
|
|
|
79895
79897
|
event.stopPropagation();
|
|
79896
79898
|
onAccept == null ? void 0 : onAccept();
|
|
79897
79899
|
},
|
|
79898
|
-
children: isDelete ? "Delete entity" : "Accept edit"
|
|
79900
|
+
children: isDelete ? "Delete entity" : isUnlink ? "Unlink entity" : "Accept edit"
|
|
79899
79901
|
}
|
|
79900
79902
|
) }),
|
|
79901
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: isDelete ? "Restore this entity and mark the deletion reviewed" : "Restore previous values for this entity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79903
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: isDelete ? "Restore this entity and mark the deletion reviewed" : isUnlink ? "Restore this link and mark the unlink reviewed" : "Restore previous values for this entity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
79902
79904
|
Button$1,
|
|
79903
79905
|
{
|
|
79904
79906
|
size: "middle",
|
|
@@ -79907,7 +79909,7 @@ const AiEntityDiffView = ({
|
|
|
79907
79909
|
event.stopPropagation();
|
|
79908
79910
|
onReject == null ? void 0 : onReject();
|
|
79909
79911
|
},
|
|
79910
|
-
children: isDelete ? "Keep entity" : "Reject edit"
|
|
79912
|
+
children: isDelete ? "Keep entity" : isUnlink ? "Restore link" : "Reject edit"
|
|
79911
79913
|
}
|
|
79912
79914
|
) })
|
|
79913
79915
|
] })
|
|
@@ -80102,6 +80104,117 @@ const DeletedLinkedEntityCard = ({
|
|
|
80102
80104
|
}
|
|
80103
80105
|
);
|
|
80104
80106
|
};
|
|
80107
|
+
const UnlinkedLinkedEntityCard = ({
|
|
80108
|
+
entity,
|
|
80109
|
+
displayEntity,
|
|
80110
|
+
property,
|
|
80111
|
+
sourceEntityId,
|
|
80112
|
+
readonly,
|
|
80113
|
+
onLoadEntity,
|
|
80114
|
+
onAcceptUnlink,
|
|
80115
|
+
onRejectUnlink
|
|
80116
|
+
}) => {
|
|
80117
|
+
const [showDiff, setShowDiff] = useState(false);
|
|
80118
|
+
const targetEntityId = entity["@id"];
|
|
80119
|
+
const diffRows = [
|
|
80120
|
+
{
|
|
80121
|
+
kind: "context",
|
|
80122
|
+
propertyName: "@id",
|
|
80123
|
+
label: "entity",
|
|
80124
|
+
value: targetEntityId
|
|
80125
|
+
},
|
|
80126
|
+
{
|
|
80127
|
+
kind: "context",
|
|
80128
|
+
propertyName: "source",
|
|
80129
|
+
label: "linked from",
|
|
80130
|
+
value: sourceEntityId
|
|
80131
|
+
},
|
|
80132
|
+
{
|
|
80133
|
+
kind: "removed",
|
|
80134
|
+
propertyName: property,
|
|
80135
|
+
label: property,
|
|
80136
|
+
value: { "@id": targetEntityId }
|
|
80137
|
+
}
|
|
80138
|
+
];
|
|
80139
|
+
if (showDiff) {
|
|
80140
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80141
|
+
AiEntityDiffView,
|
|
80142
|
+
{
|
|
80143
|
+
entityId: targetEntityId,
|
|
80144
|
+
rows: diffRows,
|
|
80145
|
+
operation: "unlink",
|
|
80146
|
+
readonly,
|
|
80147
|
+
onClose: () => setShowDiff(false),
|
|
80148
|
+
onAccept: () => onAcceptUnlink == null ? void 0 : onAcceptUnlink({ sourceEntityId, property, targetEntityId }),
|
|
80149
|
+
onReject: () => onRejectUnlink == null ? void 0 : onRejectUnlink({ sourceEntityId, property, targetEntityId })
|
|
80150
|
+
}
|
|
80151
|
+
);
|
|
80152
|
+
}
|
|
80153
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
80154
|
+
Card,
|
|
80155
|
+
{
|
|
80156
|
+
className: "describo-ai-entity-unlink-card describo-ai-entity-reviewed-card",
|
|
80157
|
+
style: {
|
|
80158
|
+
backgroundColor: "#fff7ed",
|
|
80159
|
+
cursor: "pointer",
|
|
80160
|
+
transition: "background-color 0.2s",
|
|
80161
|
+
borderLeft: "3px solid #f97316"
|
|
80162
|
+
},
|
|
80163
|
+
styles: { body: { padding: "22px 12px 8px" } },
|
|
80164
|
+
hoverable: true,
|
|
80165
|
+
onClick: () => onLoadEntity({ id: targetEntityId }),
|
|
80166
|
+
children: [
|
|
80167
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "describo-ai-suggestion-badge describo-ai-entity-status-badge", children: [
|
|
80168
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "describo-ai-suggestion-badge-icon", children: "✦" }),
|
|
80169
|
+
"AI unlink"
|
|
80170
|
+
] }),
|
|
80171
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(LinkedEntityCardHeader, { entity: displayEntity }),
|
|
80172
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "describo-ai-deleted-entity-controls", children: [
|
|
80173
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "describo-ai-deleted-entity-summary", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: showDiff ? "Hide unlink diff" : "Show unlink diff", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80174
|
+
Button$1,
|
|
80175
|
+
{
|
|
80176
|
+
size: "small",
|
|
80177
|
+
className: "describo-ai-entity-delete-details-toggle",
|
|
80178
|
+
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon$7, {}),
|
|
80179
|
+
"aria-label": showDiff ? "Hide AI unlink diff" : "Show AI unlink diff",
|
|
80180
|
+
"aria-pressed": showDiff,
|
|
80181
|
+
onClick: (event) => {
|
|
80182
|
+
event.stopPropagation();
|
|
80183
|
+
setShowDiff((visible) => !visible);
|
|
80184
|
+
}
|
|
80185
|
+
}
|
|
80186
|
+
) }) }),
|
|
80187
|
+
!readonly && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "describo-ai-actions", children: [
|
|
80188
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: "Approve this AI unlink", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80189
|
+
Button$1,
|
|
80190
|
+
{
|
|
80191
|
+
size: "small",
|
|
80192
|
+
className: "describo-ai-action-approve",
|
|
80193
|
+
onClick: (event) => {
|
|
80194
|
+
event.stopPropagation();
|
|
80195
|
+
onAcceptUnlink == null ? void 0 : onAcceptUnlink({ sourceEntityId, property, targetEntityId });
|
|
80196
|
+
},
|
|
80197
|
+
children: "Unlink"
|
|
80198
|
+
}
|
|
80199
|
+
) }),
|
|
80200
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip2, { title: "Restore this link and mark the unlink reviewed", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80201
|
+
Button$1,
|
|
80202
|
+
{
|
|
80203
|
+
size: "small",
|
|
80204
|
+
className: "describo-ai-action-reject",
|
|
80205
|
+
onClick: (event) => {
|
|
80206
|
+
event.stopPropagation();
|
|
80207
|
+
onRejectUnlink == null ? void 0 : onRejectUnlink({ sourceEntityId, property, targetEntityId });
|
|
80208
|
+
},
|
|
80209
|
+
children: "Restore"
|
|
80210
|
+
}
|
|
80211
|
+
) })
|
|
80212
|
+
] })
|
|
80213
|
+
] })
|
|
80214
|
+
]
|
|
80215
|
+
}
|
|
80216
|
+
);
|
|
80217
|
+
};
|
|
80105
80218
|
const LinkedEntityAssociations = ({
|
|
80106
80219
|
associations,
|
|
80107
80220
|
onLoadEntity
|
|
@@ -80286,6 +80399,11 @@ const getDeletedEntityFromApproval = (entityApproval) => {
|
|
|
80286
80399
|
}
|
|
80287
80400
|
return deletedEntity;
|
|
80288
80401
|
};
|
|
80402
|
+
const getPendingDeletedEntityFromApproval = (approvalData, entityId) => {
|
|
80403
|
+
if (!entityId) return void 0;
|
|
80404
|
+
const entityApproval = getApprovalEntities(approvalData).find((item) => entityIdsMatch(item == null ? void 0 : item["@id"], entityId));
|
|
80405
|
+
return getDeletedEntityFromApproval(entityApproval);
|
|
80406
|
+
};
|
|
80289
80407
|
const getPendingDeletedEntitiesForReverseProperty = (approvalData, sourceEntityId, property) => {
|
|
80290
80408
|
if (!sourceEntityId || !property) return [];
|
|
80291
80409
|
return getApprovalEntities(approvalData).map(getDeletedEntityFromApproval).filter(Boolean).filter((deletedEntity) => {
|
|
@@ -80326,6 +80444,23 @@ const getEntityApprovalRecords = (approvalData, entityId, property) => {
|
|
|
80326
80444
|
if (!Array.isArray(entityApproval == null ? void 0 : entityApproval.approval)) return [];
|
|
80327
80445
|
return entityApproval.approval.filter((approvalRecord) => (approvalRecord == null ? void 0 : approvalRecord.propertyName) === property);
|
|
80328
80446
|
};
|
|
80447
|
+
const getReferenceId = (value) => {
|
|
80448
|
+
if (typeof (value == null ? void 0 : value["@id"]) === "string" && value["@id"].length > 0) return value["@id"];
|
|
80449
|
+
return void 0;
|
|
80450
|
+
};
|
|
80451
|
+
const getReferenceValues = (value) => {
|
|
80452
|
+
if (Array.isArray(value)) return value.filter((item) => getReferenceId(item));
|
|
80453
|
+
return getReferenceId(value) ? [value] : [];
|
|
80454
|
+
};
|
|
80455
|
+
const getRemovedReferenceValues = (previousValue, currentValue) => {
|
|
80456
|
+
const currentIds = getReferenceValues(currentValue).map(getReferenceId).filter((id2) => typeof id2 === "string");
|
|
80457
|
+
return getReferenceValues(previousValue).filter((previousReference) => !currentIds.some((currentId) => entityIdsMatch(currentId, getReferenceId(previousReference))));
|
|
80458
|
+
};
|
|
80459
|
+
const getPendingUnlinkedReferenceApprovals = (approvalData, sourceEntityId, property, currentValue) => getEntityApprovalRecords(approvalData, sourceEntityId, property).filter((approvalRecord) => !approvalIsApproved(approvalRecord) && ["update", "delete", "remove"].includes(String(approvalRecord == null ? void 0 : approvalRecord.operation))).flatMap((approvalRecord) => getRemovedReferenceValues(approvalRecord == null ? void 0 : approvalRecord.previousValue, currentValue).map((reference) => ({
|
|
80460
|
+
approvalRecord,
|
|
80461
|
+
reference,
|
|
80462
|
+
targetEntityId: getReferenceId(reference) || ""
|
|
80463
|
+
})).filter((item) => item.targetEntityId));
|
|
80329
80464
|
const getPendingEntityApprovalRecords = (approvalData, entityId) => {
|
|
80330
80465
|
const entityApproval = getEntityApproval(approvalData, entityId);
|
|
80331
80466
|
if (!Array.isArray(entityApproval == null ? void 0 : entityApproval.approval)) return [];
|
|
@@ -80380,15 +80515,19 @@ const RenderLinkedItem = ({
|
|
|
80380
80515
|
onAcceptAiEntityDelete,
|
|
80381
80516
|
onRestoreAiDeletedEntity,
|
|
80382
80517
|
onAcceptAiEntityEdit,
|
|
80383
|
-
onRejectAiEntityEdit
|
|
80518
|
+
onRejectAiEntityEdit,
|
|
80519
|
+
onAcceptAiEntityUnlink,
|
|
80520
|
+
onRejectAiEntityUnlink
|
|
80384
80521
|
}) => {
|
|
80385
|
-
var _a2, _b, _c, _d;
|
|
80522
|
+
var _a2, _b, _c, _d, _e2;
|
|
80386
80523
|
const state = useStateStore();
|
|
80387
80524
|
const crateManager = useContext(CrateManagerContext);
|
|
80388
80525
|
const profileManager = useContext(ProfileManagerContext);
|
|
80389
80526
|
const approvalContext = useContext(RoCrateApprovalContext);
|
|
80390
80527
|
const [associations, setAssociations] = useState([]);
|
|
80391
80528
|
const [showAiEntityDiff, setShowAiEntityDiff] = useState(false);
|
|
80529
|
+
const aiUnlinkSourceEntityId = typeof (entity == null ? void 0 : entity.__aiUnlinkSourceEntityId) === "string" ? entity.__aiUnlinkSourceEntityId : void 0;
|
|
80530
|
+
const isPendingAiEntityUnlink = Boolean((entity == null ? void 0 : entity.__aiUnlinkedEntity) && aiUnlinkSourceEntityId);
|
|
80392
80531
|
const effectiveEntity = useMemo$1(() => {
|
|
80393
80532
|
const hasTypes = Boolean(entity == null ? void 0 : entity["@type"]);
|
|
80394
80533
|
const hasName = Boolean(entity == null ? void 0 : entity.name);
|
|
@@ -80591,6 +80730,18 @@ const RenderLinkedItem = ({
|
|
|
80591
80730
|
onAcceptDelete: onAcceptAiEntityDelete,
|
|
80592
80731
|
onRestore: onRestoreAiDeletedEntity
|
|
80593
80732
|
}
|
|
80733
|
+
) : isPendingAiEntityUnlink && aiUnlinkSourceEntityId ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80734
|
+
UnlinkedLinkedEntityCard,
|
|
80735
|
+
{
|
|
80736
|
+
entity,
|
|
80737
|
+
displayEntity: linkDisplayEntity,
|
|
80738
|
+
property,
|
|
80739
|
+
sourceEntityId: aiUnlinkSourceEntityId,
|
|
80740
|
+
readonly: Boolean(((_d = state.configuration) == null ? void 0 : _d.readonly) || readonly),
|
|
80741
|
+
onLoadEntity: handleLoadEntity,
|
|
80742
|
+
onAcceptUnlink: onAcceptAiEntityUnlink,
|
|
80743
|
+
onRejectUnlink: onRejectAiEntityUnlink
|
|
80744
|
+
}
|
|
80594
80745
|
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
80595
80746
|
LinkedEntityCard,
|
|
80596
80747
|
{
|
|
@@ -80599,7 +80750,7 @@ const RenderLinkedItem = ({
|
|
|
80599
80750
|
hasPendingAiReview,
|
|
80600
80751
|
hasAiTouchedEntity,
|
|
80601
80752
|
pendingAiReviewFieldCount,
|
|
80602
|
-
readonly: Boolean(((
|
|
80753
|
+
readonly: Boolean(((_e2 = state.configuration) == null ? void 0 : _e2.readonly) || readonly),
|
|
80603
80754
|
onLoadEntity: handleLoadEntity,
|
|
80604
80755
|
onUnlinkEntity: handleUnlinkEntity,
|
|
80605
80756
|
onShowEntityDiff: () => setShowAiEntityDiff(true)
|
|
@@ -80627,7 +80778,9 @@ const PaginateLinkedEntities = ({
|
|
|
80627
80778
|
onAcceptAiEntityDelete,
|
|
80628
80779
|
onRestoreAiDeletedEntity,
|
|
80629
80780
|
onAcceptAiEntityEdit,
|
|
80630
|
-
onRejectAiEntityEdit
|
|
80781
|
+
onRejectAiEntityEdit,
|
|
80782
|
+
onAcceptAiEntityUnlink,
|
|
80783
|
+
onRejectAiEntityUnlink
|
|
80631
80784
|
}) => {
|
|
80632
80785
|
var _a2, _b;
|
|
80633
80786
|
const { t: t2 } = useTranslation();
|
|
@@ -80720,7 +80873,9 @@ const PaginateLinkedEntities = ({
|
|
|
80720
80873
|
onAcceptAiEntityDelete,
|
|
80721
80874
|
onRestoreAiDeletedEntity,
|
|
80722
80875
|
onAcceptAiEntityEdit,
|
|
80723
|
-
onRejectAiEntityEdit
|
|
80876
|
+
onRejectAiEntityEdit,
|
|
80877
|
+
onAcceptAiEntityUnlink,
|
|
80878
|
+
onRejectAiEntityUnlink
|
|
80724
80879
|
}
|
|
80725
80880
|
) }, entity.value["@id"])) }),
|
|
80726
80881
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-row justify-center pt-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -82374,7 +82529,9 @@ const EntityProperty = ({
|
|
|
82374
82529
|
onAcceptAiEntityDelete,
|
|
82375
82530
|
onRestoreAiDeletedEntity,
|
|
82376
82531
|
onAcceptAiEntityEdit,
|
|
82377
|
-
onRejectAiEntityEdit
|
|
82532
|
+
onRejectAiEntityEdit,
|
|
82533
|
+
onAcceptAiEntityUnlink,
|
|
82534
|
+
onRejectAiEntityUnlink
|
|
82378
82535
|
}) => {
|
|
82379
82536
|
var _a2, _b;
|
|
82380
82537
|
const { t: t2 } = useTranslation();
|
|
@@ -82416,7 +82573,13 @@ const EntityProperty = ({
|
|
|
82416
82573
|
entity == null ? void 0 : entity["@id"],
|
|
82417
82574
|
property
|
|
82418
82575
|
);
|
|
82419
|
-
|
|
82576
|
+
const unlinkedApprovals = getPendingUnlinkedReferenceApprovals(
|
|
82577
|
+
approvalContext == null ? void 0 : approvalContext.roCrateApproval,
|
|
82578
|
+
entity == null ? void 0 : entity["@id"],
|
|
82579
|
+
property,
|
|
82580
|
+
(entity == null ? void 0 : entity[property]) ?? values
|
|
82581
|
+
);
|
|
82582
|
+
if (!deletedEntities.length && !unlinkedApprovals.length) return linkInstances;
|
|
82420
82583
|
const linkedEntityIds = linkInstances.map((instance2) => {
|
|
82421
82584
|
var _a3;
|
|
82422
82585
|
return (_a3 = instance2.value) == null ? void 0 : _a3["@id"];
|
|
@@ -82425,14 +82588,33 @@ const EntityProperty = ({
|
|
|
82425
82588
|
idx: -1 - idx,
|
|
82426
82589
|
value: deletedEntity
|
|
82427
82590
|
}));
|
|
82591
|
+
const unlinkedLinkInstances = unlinkedApprovals.filter(({ targetEntityId }) => !linkedEntityIds.some((linkedEntityId) => entityIdsMatch(linkedEntityId, targetEntityId)) && !getPendingDeletedEntityFromApproval(approvalContext == null ? void 0 : approvalContext.roCrateApproval, targetEntityId)).map(({ reference, targetEntityId }, idx) => {
|
|
82592
|
+
const resolvedEntity = crateManager == null ? void 0 : crateManager.getEntity({
|
|
82593
|
+
id: targetEntityId,
|
|
82594
|
+
link: false,
|
|
82595
|
+
materialise: false
|
|
82596
|
+
});
|
|
82597
|
+
const linkedEntity = resolvedEntity ?? reference;
|
|
82598
|
+
return {
|
|
82599
|
+
idx: -1001 - idx,
|
|
82600
|
+
value: {
|
|
82601
|
+
...linkedEntity,
|
|
82602
|
+
"@id": targetEntityId,
|
|
82603
|
+
"@type": (linkedEntity == null ? void 0 : linkedEntity["@type"]) ?? ["Thing"],
|
|
82604
|
+
name: (linkedEntity == null ? void 0 : linkedEntity.name) ?? targetEntityId,
|
|
82605
|
+
__aiUnlinkedEntity: true,
|
|
82606
|
+
__aiUnlinkSourceEntityId: entity == null ? void 0 : entity["@id"]
|
|
82607
|
+
}
|
|
82608
|
+
};
|
|
82609
|
+
});
|
|
82428
82610
|
return lodashExports.orderBy(
|
|
82429
|
-
[...linkInstances, ...deletedLinkInstances],
|
|
82611
|
+
[...linkInstances, ...deletedLinkInstances, ...unlinkedLinkInstances],
|
|
82430
82612
|
[(instance2) => {
|
|
82431
|
-
var _a3;
|
|
82432
|
-
return ((_a3 = instance2.value) == null ? void 0 : _a3.__aiDeletedEntity) ? 0 : 1;
|
|
82613
|
+
var _a3, _b2;
|
|
82614
|
+
return ((_a3 = instance2.value) == null ? void 0 : _a3.__aiDeletedEntity) || ((_b2 = instance2.value) == null ? void 0 : _b2.__aiUnlinkedEntity) ? 0 : 1;
|
|
82433
82615
|
}, "value.@id"]
|
|
82434
82616
|
);
|
|
82435
|
-
}, [approvalContext == null ? void 0 : approvalContext.roCrateApproval, entity, linkInstances, property]);
|
|
82617
|
+
}, [approvalContext == null ? void 0 : approvalContext.roCrateApproval, crateManager, entity, linkInstances, property, values]);
|
|
82436
82618
|
const scrollToPropertyTop = useCallback(() => {
|
|
82437
82619
|
var _a3;
|
|
82438
82620
|
(_a3 = propertyRef.current) == null ? void 0 : _a3.scrollIntoView({
|
|
@@ -82443,9 +82625,13 @@ const EntityProperty = ({
|
|
|
82443
82625
|
const approvalRecords = useMemo$1(() => getEntityApprovalRecords(approvalContext == null ? void 0 : approvalContext.roCrateApproval, entity == null ? void 0 : entity["@id"], property), [approvalContext == null ? void 0 : approvalContext.roCrateApproval, entity, property]);
|
|
82444
82626
|
const unapprovedApprovalRecord = approvalRecords.find((approvalRecord) => !approvalIsApproved(approvalRecord));
|
|
82445
82627
|
const isAiDelete = (unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.operation) === "delete";
|
|
82628
|
+
const isAiReferenceUnlink = Boolean(
|
|
82629
|
+
unapprovedApprovalRecord && ["update", "delete", "remove"].includes(String(unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.operation)) && getReferenceValues(unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.previousValue).length > 0
|
|
82630
|
+
);
|
|
82446
82631
|
const hasDeletedPreviousValue = isAiDelete && (unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.previousValue) !== void 0;
|
|
82447
82632
|
const hasCurrentPropertyValue = entityHasPropertyValue(entity, property);
|
|
82448
82633
|
const renderedSimpleInstances = useMemo$1(() => {
|
|
82634
|
+
if (isAiReferenceUnlink) return simpleInstances;
|
|
82449
82635
|
if (isAiDelete && !hasCurrentPropertyValue && hasDeletedPreviousValue) {
|
|
82450
82636
|
if (Array.isArray(unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.previousValue) && (propertyDefinition == null ? void 0 : propertyDefinition.handlesMultipleValues) !== true) {
|
|
82451
82637
|
return unapprovedApprovalRecord.previousValue.map((value, idx) => ({ idx, value }));
|
|
@@ -82462,11 +82648,12 @@ const EntityProperty = ({
|
|
|
82462
82648
|
hasDeletedPreviousValue,
|
|
82463
82649
|
hasCurrentPropertyValue,
|
|
82464
82650
|
isAiDelete,
|
|
82651
|
+
isAiReferenceUnlink,
|
|
82465
82652
|
propertyDefinition == null ? void 0 : propertyDefinition.handlesMultipleValues,
|
|
82466
82653
|
simpleInstances,
|
|
82467
82654
|
unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.previousValue
|
|
82468
82655
|
]);
|
|
82469
|
-
const showAiReview = Boolean(unapprovedApprovalRecord && renderedSimpleInstances.length > 0);
|
|
82656
|
+
const showAiReview = Boolean(unapprovedApprovalRecord && !isAiReferenceUnlink && renderedSimpleInstances.length > 0);
|
|
82470
82657
|
const previousValueDiffers = showAiReview && !valuesAreEqual(unapprovedApprovalRecord == null ? void 0 : unapprovedApprovalRecord.previousValue, entity == null ? void 0 : entity[property]);
|
|
82471
82658
|
const showAiDiffToggle = Boolean(showAiReview && previousValueDiffers);
|
|
82472
82659
|
const showAddControl = !showAiReview && !(propertyDefinition == null ? void 0 : propertyDefinition.readonly) && ((propertyDefinition == null ? void 0 : propertyDefinition.multiple) || !(values == null ? void 0 : values.length));
|
|
@@ -82628,7 +82815,9 @@ const EntityProperty = ({
|
|
|
82628
82815
|
onAcceptAiEntityDelete,
|
|
82629
82816
|
onRestoreAiDeletedEntity,
|
|
82630
82817
|
onAcceptAiEntityEdit,
|
|
82631
|
-
onRejectAiEntityEdit
|
|
82818
|
+
onRejectAiEntityEdit,
|
|
82819
|
+
onAcceptAiEntityUnlink,
|
|
82820
|
+
onRejectAiEntityUnlink
|
|
82632
82821
|
}
|
|
82633
82822
|
),
|
|
82634
82823
|
showAddControl && !((_b = state.configuration) == null ? void 0 : _b.readonly) && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -112287,6 +112476,7 @@ const DEFAULT_TAB_PANE_WIDTH = 240;
|
|
|
112287
112476
|
const ICON_TAB_PANE_WIDTH = 80;
|
|
112288
112477
|
const MIN_LABEL_TAB_PANE_WIDTH = 100;
|
|
112289
112478
|
const MAX_LABEL_TAB_PANE_WIDTH = 250;
|
|
112479
|
+
const AI_SCROLL_RESTORE_SUPPRESSION_MS = 2500;
|
|
112290
112480
|
const clampLabelTabPaneWidth = (width) => Math.max(MIN_LABEL_TAB_PANE_WIDTH, Math.min(MAX_LABEL_TAB_PANE_WIDTH, Math.round(width)));
|
|
112291
112481
|
const readPendingAddedProfileTabKeys = (entityId) => {
|
|
112292
112482
|
if (typeof window === "undefined") return null;
|
|
@@ -112321,6 +112511,18 @@ const clearPendingAddedProfileTabKeys = (entityId) => {
|
|
|
112321
112511
|
} catch {
|
|
112322
112512
|
}
|
|
112323
112513
|
};
|
|
112514
|
+
const buildAiApprovalNavigationKey = (entityId, approvalRecord) => {
|
|
112515
|
+
const propertyName2 = String((approvalRecord == null ? void 0 : approvalRecord.propertyName) ?? "");
|
|
112516
|
+
const operation = String((approvalRecord == null ? void 0 : approvalRecord.operation) ?? "");
|
|
112517
|
+
const timestamp = String((approvalRecord == null ? void 0 : approvalRecord.timestamp) ?? "");
|
|
112518
|
+
let previousValue = "";
|
|
112519
|
+
try {
|
|
112520
|
+
previousValue = JSON.stringify((approvalRecord == null ? void 0 : approvalRecord.previousValue) ?? null);
|
|
112521
|
+
} catch {
|
|
112522
|
+
previousValue = String((approvalRecord == null ? void 0 : approvalRecord.previousValue) ?? "");
|
|
112523
|
+
}
|
|
112524
|
+
return `${entityId}:${propertyName2}:${operation}:${timestamp}:${previousValue}`;
|
|
112525
|
+
};
|
|
112324
112526
|
const RenderEntity = forwardRef((props, ref) => {
|
|
112325
112527
|
var _a2, _b, _c, _d, _e2, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
112326
112528
|
const { entity, onLoadEntity, onSaveCrate, onSaveEntityTemplate, onWarning, onError, onAddNewProfileRequest, onRemoveProfile } = props;
|
|
@@ -112372,9 +112574,14 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
112372
112574
|
const pendingAddedProfileSelectionRef = useRef(null);
|
|
112373
112575
|
const pendingAddedPropertyRef = useRef(null);
|
|
112374
112576
|
const pendingAiScrollPropertyRef = useRef(null);
|
|
112577
|
+
const aiScrollRestoreSuppressedUntilRef = useRef(0);
|
|
112375
112578
|
const lastAutoNavigatedAiApprovalRef = useRef(null);
|
|
112376
112579
|
const [tabRailScrollState, setTabRailScrollState] = useState({ canScrollUp: false, canScrollDown: false });
|
|
112377
112580
|
const debugScroll = (...args) => console.log("[recrate-scroll-debug]", ...args);
|
|
112581
|
+
const suppressAiScrollRestore = () => {
|
|
112582
|
+
aiScrollRestoreSuppressedUntilRef.current = Date.now() + AI_SCROLL_RESTORE_SUPPRESSION_MS;
|
|
112583
|
+
};
|
|
112584
|
+
const isAiScrollRestoreSuppressed = () => Date.now() < aiScrollRestoreSuppressedUntilRef.current;
|
|
112378
112585
|
const pendingAiApprovals = useMemo$1(() => getPendingEntityApprovalRecords(approvalContext == null ? void 0 : approvalContext.roCrateApproval, contextEntity == null ? void 0 : contextEntity["@id"]), [approvalContext == null ? void 0 : approvalContext.roCrateApproval, contextEntity == null ? void 0 : contextEntity["@id"]]);
|
|
112379
112586
|
const pendingAiApprovalProperties = useMemo$1(() => pendingAiApprovals.map((approvalRecord) => approvalRecord == null ? void 0 : approvalRecord.propertyName).filter((property) => typeof property === "string" && property.length > 0), [pendingAiApprovals]);
|
|
112380
112587
|
const pendingDeletedEntityReviewProperties = useMemo$1(() => getPendingDeletedEntityReversePropertiesForSource(
|
|
@@ -112735,6 +112942,7 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
112735
112942
|
if (!navigationRestoreReadyRef.current) return;
|
|
112736
112943
|
if (!(contextEntity == null ? void 0 : contextEntity["@id"])) return;
|
|
112737
112944
|
if (((_a3 = pendingAddedPropertyRef.current) == null ? void 0 : _a3.entityId) === contextEntity["@id"]) return;
|
|
112945
|
+
if (isAiScrollRestoreSuppressed()) return;
|
|
112738
112946
|
const viewport = activeContentRef.current;
|
|
112739
112947
|
if (!viewport) return;
|
|
112740
112948
|
const restoreTarget = ((_d2 = (_c2 = (_b2 = state.editorState.getNavigationState(contextEntity["@id"])) == null ? void 0 : _b2.tabStates) == null ? void 0 : _c2[activeTab]) == null ? void 0 : _d2.scrollTop) ?? 0;
|
|
@@ -112758,6 +112966,11 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
112758
112966
|
viewport.style.scrollBehavior = "auto";
|
|
112759
112967
|
const attemptRestore = () => {
|
|
112760
112968
|
if (cancelled) return;
|
|
112969
|
+
if (isAiScrollRestoreSuppressed()) {
|
|
112970
|
+
restoreInProgressRef.current = false;
|
|
112971
|
+
viewport.style.scrollBehavior = previousInlineScrollBehavior;
|
|
112972
|
+
return;
|
|
112973
|
+
}
|
|
112761
112974
|
attempts += 1;
|
|
112762
112975
|
const maxScrollable = Math.max(0, viewport.scrollHeight - viewport.clientHeight);
|
|
112763
112976
|
const target = Math.min(restoreTarget, maxScrollable);
|
|
@@ -112803,7 +113016,7 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
112803
113016
|
cancelled = true;
|
|
112804
113017
|
restoreInProgressRef.current = false;
|
|
112805
113018
|
viewport.style.scrollBehavior = previousInlineScrollBehavior;
|
|
112806
|
-
if (navigationRestoreReadyRef.current) {
|
|
113019
|
+
if (navigationRestoreReadyRef.current && !isAiScrollRestoreSuppressed()) {
|
|
112807
113020
|
captureViewContext(activeTab, viewport.scrollTop);
|
|
112808
113021
|
}
|
|
112809
113022
|
viewport.removeEventListener("scroll", handleScroll);
|
|
@@ -112816,6 +113029,7 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
112816
113029
|
const pendingTab = pendingRestoredTabRef.current;
|
|
112817
113030
|
if (!(contextEntity == null ? void 0 : contextEntity["@id"])) return;
|
|
112818
113031
|
if (((_a3 = pendingAddedPropertyRef.current) == null ? void 0 : _a3.entityId) === contextEntity["@id"]) return;
|
|
113032
|
+
if (isAiScrollRestoreSuppressed()) return;
|
|
112819
113033
|
if (pendingTab) {
|
|
112820
113034
|
debugScroll("restore.pending-tab", {
|
|
112821
113035
|
entityId: contextEntity["@id"],
|
|
@@ -113084,6 +113298,47 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
113084
113298
|
onError();
|
|
113085
113299
|
}
|
|
113086
113300
|
};
|
|
113301
|
+
const handleAcceptAiEntityUnlink = (data) => {
|
|
113302
|
+
var _a3, _b2;
|
|
113303
|
+
(_b2 = approvalContext == null ? void 0 : approvalContext.markApprovalPropertyApproved) == null ? void 0 : _b2.call(approvalContext, {
|
|
113304
|
+
entityId: data.sourceEntityId,
|
|
113305
|
+
propertyName: data.property,
|
|
113306
|
+
decision: "accept",
|
|
113307
|
+
value: (_a3 = crateManager.getEntity({
|
|
113308
|
+
id: data.sourceEntityId,
|
|
113309
|
+
link: false,
|
|
113310
|
+
materialise: false
|
|
113311
|
+
})) == null ? void 0 : _a3[data.property]
|
|
113312
|
+
});
|
|
113313
|
+
};
|
|
113314
|
+
const handleRejectAiEntityUnlink = (data) => {
|
|
113315
|
+
var _a3, _b2;
|
|
113316
|
+
try {
|
|
113317
|
+
crateManager.setProperty({
|
|
113318
|
+
id: data.sourceEntityId,
|
|
113319
|
+
property: data.property,
|
|
113320
|
+
value: { "@id": data.targetEntityId }
|
|
113321
|
+
});
|
|
113322
|
+
if (entityIdsMatch(data.sourceEntityId, entity == null ? void 0 : entity["@id"])) {
|
|
113323
|
+
refresh();
|
|
113324
|
+
}
|
|
113325
|
+
saveCratePreservingView();
|
|
113326
|
+
(_b2 = approvalContext == null ? void 0 : approvalContext.markApprovalPropertyApproved) == null ? void 0 : _b2.call(approvalContext, {
|
|
113327
|
+
entityId: data.sourceEntityId,
|
|
113328
|
+
propertyName: data.property,
|
|
113329
|
+
decision: "reject",
|
|
113330
|
+
value: (_a3 = crateManager.getEntity({
|
|
113331
|
+
id: data.sourceEntityId,
|
|
113332
|
+
link: false,
|
|
113333
|
+
materialise: false
|
|
113334
|
+
})) == null ? void 0 : _a3[data.property]
|
|
113335
|
+
});
|
|
113336
|
+
notifySave(data.property);
|
|
113337
|
+
} catch (error2) {
|
|
113338
|
+
console.error(error2);
|
|
113339
|
+
onError();
|
|
113340
|
+
}
|
|
113341
|
+
};
|
|
113087
113342
|
const handleDeleteEntity = (data) => {
|
|
113088
113343
|
try {
|
|
113089
113344
|
crateManager.deleteEntity({ id: data.id });
|
|
@@ -113350,6 +113605,7 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
113350
113605
|
if (!hasFieldValue(contextEntity == null ? void 0 : contextEntity[property]) && hideEmptyFields) {
|
|
113351
113606
|
setHideEmptyFields(false);
|
|
113352
113607
|
}
|
|
113608
|
+
suppressAiScrollRestore();
|
|
113353
113609
|
pendingAiScrollPropertyRef.current = property;
|
|
113354
113610
|
const propertyTab = renderTabs ? findTabForProperty(tabs, property) : null;
|
|
113355
113611
|
if ((propertyTab == null ? void 0 : propertyTab.name) && propertyTab.name !== activeTab) {
|
|
@@ -113369,18 +113625,18 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
113369
113625
|
tabs
|
|
113370
113626
|
]);
|
|
113371
113627
|
useEffect(() => {
|
|
113372
|
-
var _a3;
|
|
113373
113628
|
const entityId = contextEntity == null ? void 0 : contextEntity["@id"];
|
|
113374
|
-
const
|
|
113629
|
+
const firstPendingApproval = pendingAiApprovals[0];
|
|
113630
|
+
const firstPendingProperty = firstPendingApproval == null ? void 0 : firstPendingApproval.propertyName;
|
|
113375
113631
|
if (!entityId || !firstPendingProperty) {
|
|
113376
113632
|
lastAutoNavigatedAiApprovalRef.current = null;
|
|
113377
113633
|
return;
|
|
113378
113634
|
}
|
|
113379
|
-
const autoNavigationKey = `${
|
|
113635
|
+
const autoNavigationKey = `${(profileManager == null ? void 0 : profileManager.$key) ?? 0}:${buildAiApprovalNavigationKey(entityId, firstPendingApproval)}`;
|
|
113380
113636
|
if (lastAutoNavigatedAiApprovalRef.current === autoNavigationKey) return;
|
|
113381
113637
|
lastAutoNavigatedAiApprovalRef.current = autoNavigationKey;
|
|
113382
113638
|
navigateToAiApproval(0);
|
|
113383
|
-
}, [contextEntity == null ? void 0 : contextEntity["@id"], navigateToAiApproval, pendingAiApprovals]);
|
|
113639
|
+
}, [contextEntity == null ? void 0 : contextEntity["@id"], navigateToAiApproval, pendingAiApprovals, profileManager == null ? void 0 : profileManager.$key]);
|
|
113384
113640
|
useEffect(() => {
|
|
113385
113641
|
const pendingProperty = pendingAiScrollPropertyRef.current;
|
|
113386
113642
|
if (!pendingProperty) return;
|
|
@@ -113391,8 +113647,16 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
113391
113647
|
return;
|
|
113392
113648
|
}
|
|
113393
113649
|
const cancelScroll = scrollToAiApprovalProperty(pendingProperty);
|
|
113650
|
+
const captureTimer = window.setTimeout(() => {
|
|
113651
|
+
if (activeContentRef.current) {
|
|
113652
|
+
captureViewContext(activeTab, activeContentRef.current.scrollTop);
|
|
113653
|
+
}
|
|
113654
|
+
}, 350);
|
|
113394
113655
|
pendingAiScrollPropertyRef.current = null;
|
|
113395
|
-
return
|
|
113656
|
+
return () => {
|
|
113657
|
+
cancelScroll();
|
|
113658
|
+
window.clearTimeout(captureTimer);
|
|
113659
|
+
};
|
|
113396
113660
|
}, [activeTab, contextEntity == null ? void 0 : contextEntity["@id"], renderTabs, selectedAiApprovalIndex, tabs, scrollToAiApprovalProperty]);
|
|
113397
113661
|
const isEntityReference2 = (value) => Boolean(value && typeof value === "object" && typeof value["@id"] === "string");
|
|
113398
113662
|
const restoreNonCoreApprovalValue = (approvalRecord) => {
|
|
@@ -113925,7 +114189,9 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
113925
114189
|
onAcceptAiEntityDelete: (deletedEntity) => handleAcceptAiEntityDelete(deletedEntity),
|
|
113926
114190
|
onRestoreAiDeletedEntity: (deletedEntity) => handleRestoreAiDeletedEntity(deletedEntity),
|
|
113927
114191
|
onAcceptAiEntityEdit: (editedEntity) => handleAcceptAiEntityEdit(editedEntity),
|
|
113928
|
-
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity)
|
|
114192
|
+
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity),
|
|
114193
|
+
onAcceptAiEntityUnlink: handleAcceptAiEntityUnlink,
|
|
114194
|
+
onRejectAiEntityUnlink: handleRejectAiEntityUnlink
|
|
113929
114195
|
}
|
|
113930
114196
|
)
|
|
113931
114197
|
},
|
|
@@ -114049,7 +114315,9 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
114049
114315
|
onAcceptAiEntityDelete: (deletedEntity) => handleAcceptAiEntityDelete(deletedEntity),
|
|
114050
114316
|
onRestoreAiDeletedEntity: (deletedEntity) => handleRestoreAiDeletedEntity(deletedEntity),
|
|
114051
114317
|
onAcceptAiEntityEdit: (editedEntity) => handleAcceptAiEntityEdit(editedEntity),
|
|
114052
|
-
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity)
|
|
114318
|
+
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity),
|
|
114319
|
+
onAcceptAiEntityUnlink: handleAcceptAiEntityUnlink,
|
|
114320
|
+
onRejectAiEntityUnlink: handleRejectAiEntityUnlink
|
|
114053
114321
|
}
|
|
114054
114322
|
)
|
|
114055
114323
|
},
|
|
@@ -114152,7 +114420,9 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
114152
114420
|
onAcceptAiEntityDelete: (deletedEntity) => handleAcceptAiEntityDelete(deletedEntity),
|
|
114153
114421
|
onRestoreAiDeletedEntity: (deletedEntity) => handleRestoreAiDeletedEntity(deletedEntity),
|
|
114154
114422
|
onAcceptAiEntityEdit: (editedEntity) => handleAcceptAiEntityEdit(editedEntity),
|
|
114155
|
-
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity)
|
|
114423
|
+
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity),
|
|
114424
|
+
onAcceptAiEntityUnlink: handleAcceptAiEntityUnlink,
|
|
114425
|
+
onRejectAiEntityUnlink: handleRejectAiEntityUnlink
|
|
114156
114426
|
}
|
|
114157
114427
|
)
|
|
114158
114428
|
},
|
|
@@ -114192,7 +114462,9 @@ const RenderEntity = forwardRef((props, ref) => {
|
|
|
114192
114462
|
onAcceptAiEntityDelete: (deletedEntity) => handleAcceptAiEntityDelete(deletedEntity),
|
|
114193
114463
|
onRestoreAiDeletedEntity: (deletedEntity) => handleRestoreAiDeletedEntity(deletedEntity),
|
|
114194
114464
|
onAcceptAiEntityEdit: (editedEntity) => handleAcceptAiEntityEdit(editedEntity),
|
|
114195
|
-
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity)
|
|
114465
|
+
onRejectAiEntityEdit: (editedEntity) => handleRejectAiEntityEdit(editedEntity),
|
|
114466
|
+
onAcceptAiEntityUnlink: handleAcceptAiEntityUnlink,
|
|
114467
|
+
onRejectAiEntityUnlink: handleRejectAiEntityUnlink
|
|
114196
114468
|
}
|
|
114197
114469
|
)
|
|
114198
114470
|
},
|
|
@@ -122555,7 +122827,7 @@ var EmotionCacheContext = /* @__PURE__ */ React.createContext(
|
|
|
122555
122827
|
}) : null
|
|
122556
122828
|
);
|
|
122557
122829
|
var CacheProvider = EmotionCacheContext.Provider;
|
|
122558
|
-
const version = "0.1.32-
|
|
122830
|
+
const version = "0.1.32-test4";
|
|
122559
122831
|
const pkg = {
|
|
122560
122832
|
version
|
|
122561
122833
|
};
|