@macrostrat/feedback-components 1.0.1 → 1.1.1
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/CHANGELOG.md +10 -0
- package/dist/esm/feedback-components.3b3a5357.js +137 -0
- package/dist/esm/feedback-components.3b3a5357.js.map +1 -0
- package/dist/esm/feedback-components.46a7a347.js +269 -0
- package/dist/esm/feedback-components.46a7a347.js.map +1 -0
- package/dist/esm/{node.28634e40.js → feedback-components.5509fab3.js} +11 -6
- package/dist/esm/feedback-components.5509fab3.js.map +1 -0
- package/dist/esm/feedback-components.586103e8.js +578 -0
- package/dist/esm/feedback-components.586103e8.js.map +1 -0
- package/dist/esm/{extractions.65bb73cc.js → feedback-components.5df2a926.js} +46 -18
- package/dist/esm/feedback-components.5df2a926.js.map +1 -0
- package/dist/esm/{main.module.cd706d67.js → feedback-components.6d32ee91.js} +1 -1
- package/dist/esm/{main.module.cd706d67.js.map → feedback-components.6d32ee91.js.map} +1 -1
- package/dist/esm/feedback-components.95dbe7d7.js +82 -0
- package/dist/esm/feedback-components.95dbe7d7.js.map +1 -0
- package/dist/esm/{type-selector.6e8952d6.js → feedback-components.ad9f284e.js} +6 -5
- package/dist/esm/feedback-components.ad9f284e.js.map +1 -0
- package/dist/esm/{main.module.8d366b6e.css → feedback-components.bf93773c.css} +1 -1
- package/dist/esm/{main.module.8d366b6e.css.map → feedback-components.bf93773c.css.map} +1 -1
- package/dist/esm/{main.module.2f2972c8.css → feedback-components.e273ed5b.css} +1 -1
- package/dist/esm/{main.module.2f2972c8.css.map → feedback-components.e273ed5b.css.map} +1 -1
- package/dist/esm/{main.module.d2fbdf09.js → feedback-components.f9850d85.js} +1 -1
- package/dist/esm/{main.module.d2fbdf09.js.map → feedback-components.f9850d85.js.map} +1 -1
- package/dist/esm/{edit-state.c39d8466.js → feedback-components.fa1d3641.js} +125 -7
- package/dist/esm/feedback-components.fa1d3641.js.map +1 -0
- package/dist/esm/feedback-components.fb60c70d.css +180 -0
- package/dist/esm/feedback-components.fb60c70d.css.map +1 -0
- package/dist/esm/index.d.ts +10 -64
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/node/feedback-components.2f391fa4.js +2 -0
- package/dist/node/feedback-components.2f391fa4.js.map +1 -0
- package/dist/node/feedback-components.561466ac.js +2 -0
- package/dist/node/feedback-components.561466ac.js.map +1 -0
- package/dist/node/feedback-components.571ee23c.js +2 -0
- package/dist/node/feedback-components.571ee23c.js.map +1 -0
- package/dist/node/{main.module.ebdf985b.js → feedback-components.794f429b.js} +2 -2
- package/dist/node/feedback-components.794f429b.js.map +1 -0
- package/dist/node/{main.module.1fdfe813.css → feedback-components.83c21466.css} +1 -1
- package/dist/node/feedback-components.83c21466.css.map +1 -0
- package/dist/node/feedback-components.8b03e8be.js +2 -0
- package/dist/node/feedback-components.8b03e8be.js.map +1 -0
- package/dist/node/{main.module.6bc7d51b.css → feedback-components.9eb1d41a.css} +1 -1
- package/dist/node/feedback-components.9eb1d41a.css.map +1 -0
- package/dist/node/feedback-components.a39f7653.js +2 -0
- package/dist/node/feedback-components.a39f7653.js.map +1 -0
- package/dist/node/feedback-components.acac789b.js +2 -0
- package/dist/node/feedback-components.acac789b.js.map +1 -0
- package/dist/node/feedback-components.b7946db4.js +2 -0
- package/dist/node/feedback-components.b7946db4.js.map +1 -0
- package/dist/node/feedback-components.c459cc27.js +2 -0
- package/dist/node/feedback-components.c459cc27.js.map +1 -0
- package/dist/node/feedback-components.c88cb37f.css +2 -0
- package/dist/node/feedback-components.c88cb37f.css.map +1 -0
- package/dist/node/feedback-components.ec54a1e7.js +2 -0
- package/dist/node/feedback-components.ec54a1e7.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +7 -6
- package/src/extractions/index.ts +76 -21
- package/src/extractions/types.ts +6 -1
- package/src/feedback/edit-state.ts +184 -16
- package/src/feedback/feedback.module.sass +121 -9
- package/src/feedback/graph.ts +90 -32
- package/src/feedback/index.ts +553 -146
- package/src/feedback/node.ts +7 -1
- package/src/feedback/text-visualizer.ts +286 -49
- package/src/feedback/type-selector/index.ts +4 -2
- package/dist/esm/edit-state.c39d8466.js.map +0 -1
- package/dist/esm/extractions.65bb73cc.js.map +0 -1
- package/dist/esm/feedback.5c86878e.js +0 -252
- package/dist/esm/feedback.5c86878e.js.map +0 -1
- package/dist/esm/feedback.module.55921afe.css +0 -44
- package/dist/esm/feedback.module.55921afe.css.map +0 -1
- package/dist/esm/feedback.module.765b1e58.js +0 -28
- package/dist/esm/feedback.module.765b1e58.js.map +0 -1
- package/dist/esm/graph.f4f65d79.js +0 -83
- package/dist/esm/graph.f4f65d79.js.map +0 -1
- package/dist/esm/node.28634e40.js.map +0 -1
- package/dist/esm/text-visualizer.198e27ff.js +0 -101
- package/dist/esm/text-visualizer.198e27ff.js.map +0 -1
- package/dist/esm/type-selector.6e8952d6.js.map +0 -1
- package/dist/node/edit-state.f50ca728.js +0 -2
- package/dist/node/edit-state.f50ca728.js.map +0 -1
- package/dist/node/extractions.e6ea2eb9.js +0 -2
- package/dist/node/extractions.e6ea2eb9.js.map +0 -1
- package/dist/node/feedback.8d3d1219.js +0 -2
- package/dist/node/feedback.8d3d1219.js.map +0 -1
- package/dist/node/feedback.module.a8744203.js +0 -2
- package/dist/node/feedback.module.a8744203.js.map +0 -1
- package/dist/node/feedback.module.c4eab97d.css +0 -2
- package/dist/node/feedback.module.c4eab97d.css.map +0 -1
- package/dist/node/graph.ca5b649f.js +0 -2
- package/dist/node/graph.ca5b649f.js.map +0 -1
- package/dist/node/main.module.1857be22.js +0 -2
- package/dist/node/main.module.1857be22.js.map +0 -1
- package/dist/node/main.module.1fdfe813.css.map +0 -1
- package/dist/node/main.module.6bc7d51b.css.map +0 -1
- package/dist/node/main.module.ebdf985b.js.map +0 -1
- package/dist/node/node.33108ccc.js +0 -2
- package/dist/node/node.33108ccc.js.map +0 -1
- package/dist/node/text-visualizer.1e770afa.js +0 -2
- package/dist/node/text-visualizer.1e770afa.js.map +0 -1
- package/dist/node/type-selector.0035ef7d.js +0 -2
- package/dist/node/type-selector.0035ef7d.js.map +0 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--text-line-height: 3em;
|
|
3
|
+
--main-extra-width: 200px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.QoX8-W_page-wrapper {
|
|
7
|
+
flex-direction: row;
|
|
8
|
+
align-items: flex-start;
|
|
9
|
+
gap: 2em;
|
|
10
|
+
display: flex;
|
|
11
|
+
position: relative;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.QoX8-W_feedback-container {
|
|
15
|
+
flex: 4;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.QoX8-W_control-panel {
|
|
19
|
+
flex: 1;
|
|
20
|
+
height: auto;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.QoX8-W_control-content {
|
|
24
|
+
position: sticky;
|
|
25
|
+
top: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.QoX8-W_feedback-component {
|
|
29
|
+
width: 800px;
|
|
30
|
+
position: relative;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.QoX8-W_feedback-component > svg {
|
|
34
|
+
width: 800px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.QoX8-W_node {
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
circle {
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
border: 1px solid #000;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.QoX8-W_selected {
|
|
47
|
+
border: 1px solid #fff;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.QoX8-W_feedback-text {
|
|
51
|
+
margin-bottom: 2em;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.QoX8-W_entity-panel {
|
|
55
|
+
background: var(--panel-secondary-background-color);
|
|
56
|
+
width: calc(100% - 2em);
|
|
57
|
+
min-height: 100px;
|
|
58
|
+
max-height: 600px;
|
|
59
|
+
box-shadow: 0 0 0 1px var(--panel-border-color) inset;
|
|
60
|
+
border-radius: 4px;
|
|
61
|
+
flex: 1;
|
|
62
|
+
padding: 1em;
|
|
63
|
+
position: relative;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.QoX8-W_selection-tree {
|
|
67
|
+
margin: -1em 0;
|
|
68
|
+
padding: 1em 0;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.QoX8-W_type-list {
|
|
72
|
+
grid-template-rows: repeat(10, auto);
|
|
73
|
+
grid-auto-flow: column;
|
|
74
|
+
gap: .2em;
|
|
75
|
+
display: grid;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.QoX8-W_type-list .QoX8-W_type-tag {
|
|
79
|
+
border-radius: .2em;
|
|
80
|
+
padding: .2em .5em;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.QoX8-W_description {
|
|
84
|
+
max-width: 300px;
|
|
85
|
+
padding: .5em;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
mark {
|
|
89
|
+
cursor: pointer;
|
|
90
|
+
border-radius: .2em;
|
|
91
|
+
color: #000 !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
[role="treeitem"] {
|
|
95
|
+
width: auto !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.QoX8-W_highlight {
|
|
99
|
+
cursor: pointer;
|
|
100
|
+
zIndex: 10;
|
|
101
|
+
border-radius: .2em;
|
|
102
|
+
padding: .2em 0;
|
|
103
|
+
position: relative;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.QoX8-W_feedback-text-wrapper {
|
|
107
|
+
z-index: 0;
|
|
108
|
+
line-height: var(--text-line-height);
|
|
109
|
+
position: relative;
|
|
110
|
+
overflow: visible;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.QoX8-W_type-container {
|
|
114
|
+
justify-content: space-between;
|
|
115
|
+
align-items: center;
|
|
116
|
+
column-gap: 1em;
|
|
117
|
+
display: flex;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.QoX8-W_add-type {
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
justify-content: space-between;
|
|
123
|
+
align-items: center;
|
|
124
|
+
padding: 0 .5em;
|
|
125
|
+
display: flex;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.QoX8-W_add-type p {
|
|
129
|
+
margin: 0;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.QoX8-W_overlay-container {
|
|
133
|
+
justify-content: center;
|
|
134
|
+
align-items: center;
|
|
135
|
+
width: 100vw;
|
|
136
|
+
height: 80vh;
|
|
137
|
+
display: flex;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.QoX8-W_overlay-container .QoX8-W_add-type-overlay {
|
|
141
|
+
background-color: var(--secondary-color);
|
|
142
|
+
border-radius: .2em;
|
|
143
|
+
flex-direction: column;
|
|
144
|
+
gap: 1em;
|
|
145
|
+
padding: .5em 1em;
|
|
146
|
+
display: flex;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.QoX8-W_overlay-container .QoX8-W_add-type-overlay .QoX8-W_title {
|
|
150
|
+
justify-content: space-between;
|
|
151
|
+
align-items: center;
|
|
152
|
+
display: flex;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.QoX8-W_overlay-container .QoX8-W_add-type-overlay h2 {
|
|
156
|
+
margin: 0;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.QoX8-W_overlay-container .QoX8-W_add-type-overlay .QoX8-W_form-group {
|
|
160
|
+
gap: 3em;
|
|
161
|
+
display: flex;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.QoX8-W_overlay-container .QoX8-W_add-type-overlay .QoX8-W_form-group .QoX8-W_text-inputs {
|
|
165
|
+
flex-direction: column;
|
|
166
|
+
gap: 1em;
|
|
167
|
+
display: flex;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.QoX8-W_icons {
|
|
171
|
+
gap: .25em;
|
|
172
|
+
display: flex;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.QoX8-W_node-label {
|
|
176
|
+
fill: var(--text-emphasized-color);
|
|
177
|
+
fontSize: 10px;
|
|
178
|
+
pointerEvents: none;
|
|
179
|
+
}
|
|
180
|
+
/*# sourceMappingURL=feedback-components.fb60c70d.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;;AAIA;;;;;;;;AAOA;;;;AAGA;;;;;AAIA;;;;;AAIA;;;;;AAIE;;;;AAGF;;;;AAGA;;;;;AAIA;;;;AAGA;;;;AAGA;;;;;;;;;;;;AAYA;;;;;AAIA;;;;;;;AAME;;;;;AAIF;;;;;AAIA;;;;;;AAKA;;;;AAGA;;;;;;;;AAOA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;;AAOE;;;;AAGF;;;;;;;;AAOE;;;;;;;;;AAQE;;;;;;AAKA;;;;AAGA;;;;;AAIE;;;;;;AAKN;;;;;AAIA","sources":["packages/feedback-components/src/feedback/feedback.module.sass"],"sourcesContent":[":root\n --text-line-height: 3em\n --main-extra-width: 200px\n\n.page-wrapper\n display: flex\n flex-direction: row\n position: relative\n gap: 2em\n align-items: flex-start // makes control-content lose stick\n\n.feedback-container\n flex: 4\n\n.control-panel\n flex: 1\n height: auto\n\n.control-content\n position: sticky\n top: 0\n\n.feedback-component\n position: relative\n width: 800px\n\n & > svg\n width: 800px\n\n.node\n cursor: pointer\n\ncircle\n cursor: pointer\n border: 1px solid black\n\n.selected\n border: 1px solid white\n \n.feedback-text\n margin-bottom: 2em\n\n.entity-panel\n position: relative\n max-height: 600px\n width: calc(100% - 2em)\n flex: 1\n min-height: 100px\n padding: 1em\n background: var(--panel-secondary-background-color)\n border-radius: 4px\n // Inset box shadow\n box-shadow: 0 0 0 1px var(--panel-border-color) inset\n\n.selection-tree\n margin: -1em 0\n padding: 1em 0\n \n.type-list\n display: grid\n grid-auto-flow: column\n grid-template-rows: repeat(10, auto)\n gap: 0.2em\n\n .type-tag\n padding: .2em .5em\n border-radius: .2em\n\n.description\n max-width: 300px\n padding: .5em\n\nmark\n border-radius: .2em\n cursor: pointer\n color: black !important\n\n[role=\"treeitem\"]\n width: auto !important\n\n.highlight\n cursor: pointer\n padding: .2em 0\n border-radius: .2em\n position: relative\n zIndex: 10\n\n.feedback-text-wrapper \n position: relative\n z-index: 0\n overflow: visible\n line-height: var(--text-line-height)\n\n.type-container\n display: flex\n justify-content: space-between\n align-items: center\n column-gap: 1em\n\n.add-type\n cursor: pointer\n display: flex\n justify-content: space-between\n padding: 0 .5em\n align-items: center\n\n p\n margin: 0\n\n.overlay-container\n height: 80vh\n width: 100vw\n display: flex\n justify-content: center\n align-items: center\n\n .add-type-overlay\n background-color: var(--secondary-color)\n padding: .5em 1em\n display: flex\n flex-direction: column\n gap: 1em\n border-radius: .2em\n\n .title\n display: flex\n justify-content: space-between\n align-items: center\n\n h2\n margin: 0\n\n .form-group\n display: flex\n gap: 3em\n\n .text-inputs\n display: flex\n flex-direction: column\n gap: 1em\n\n.icons\n display: flex\n gap: .25em\n\n.node-label\n fill: var(--text-emphasized-color)\n fontSize: 10px\n pointerEvents: none"],"names":[],"version":3,"file":"feedback-components.fb60c70d.css.map"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { CSSProperties, HTMLAttributes, DetailedReactHTMLElement, DOMAttributes, DOMElement, FunctionComponentElement
|
|
1
|
+
import { CSSProperties, HTMLAttributes, DetailedReactHTMLElement, DOMAttributes, DOMElement, FunctionComponentElement } from "react";
|
|
2
2
|
import { TagProps } from "@blueprintjs/core";
|
|
3
3
|
type EntityType = {
|
|
4
4
|
name: string;
|
|
5
5
|
color: string;
|
|
6
6
|
id: number;
|
|
7
|
+
description?: string;
|
|
7
8
|
};
|
|
8
9
|
type Match = any;
|
|
9
10
|
export interface Entity {
|
|
@@ -29,6 +30,9 @@ export interface EntityExt extends Omit<Entity, "type" | "children"> {
|
|
|
29
30
|
children: EntityExt[];
|
|
30
31
|
parents?: number[];
|
|
31
32
|
}
|
|
33
|
+
declare namespace ThreeColumnLayout {
|
|
34
|
+
var Panels: typeof SidePanel;
|
|
35
|
+
}
|
|
32
36
|
export function buildHighlights(entities: EntityExt[], parent: EntityExt | null): Highlight[];
|
|
33
37
|
export function enhanceData(extractionData: any, models: any, entityTypes: any): any;
|
|
34
38
|
export function getTagStyle(baseColor: string, options: {
|
|
@@ -56,55 +60,6 @@ type EntityTagProps = {
|
|
|
56
60
|
};
|
|
57
61
|
export function EntityTag({ data, highlighted, active, onClickType, matchComponent, }: EntityTagProps): FunctionComponentElement<TagProps>;
|
|
58
62
|
export type TreeData = EntityExt;
|
|
59
|
-
enum ViewMode {
|
|
60
|
-
Tree = "tree",
|
|
61
|
-
Graph = "graph"
|
|
62
|
-
}
|
|
63
|
-
type TextRange = {
|
|
64
|
-
start: number;
|
|
65
|
-
end: number;
|
|
66
|
-
text: string;
|
|
67
|
-
};
|
|
68
|
-
type TreeAction = {
|
|
69
|
-
type: "move-node";
|
|
70
|
-
payload: {
|
|
71
|
-
dragIds: number[];
|
|
72
|
-
parentId: number;
|
|
73
|
-
index: number;
|
|
74
|
-
};
|
|
75
|
-
} | {
|
|
76
|
-
type: "delete-node";
|
|
77
|
-
payload: {
|
|
78
|
-
ids: number[];
|
|
79
|
-
};
|
|
80
|
-
} | {
|
|
81
|
-
type: "select-node";
|
|
82
|
-
payload: {
|
|
83
|
-
ids: number[];
|
|
84
|
-
};
|
|
85
|
-
} | {
|
|
86
|
-
type: "toggle-node-selected";
|
|
87
|
-
payload: {
|
|
88
|
-
ids: number[];
|
|
89
|
-
};
|
|
90
|
-
} | {
|
|
91
|
-
type: "set-view-mode";
|
|
92
|
-
payload: ViewMode;
|
|
93
|
-
} | {
|
|
94
|
-
type: "create-node";
|
|
95
|
-
payload: TextRange;
|
|
96
|
-
} | {
|
|
97
|
-
type: "select-entity-type";
|
|
98
|
-
payload: EntityType;
|
|
99
|
-
} | {
|
|
100
|
-
type: "toggle-entity-type-selector";
|
|
101
|
-
payload?: boolean | null;
|
|
102
|
-
} | {
|
|
103
|
-
type: "deselect";
|
|
104
|
-
} | {
|
|
105
|
-
type: "reset";
|
|
106
|
-
};
|
|
107
|
-
type TreeDispatch = Dispatch<TreeAction>;
|
|
108
63
|
interface EntityOutput {
|
|
109
64
|
id: number;
|
|
110
65
|
type: number | null;
|
|
@@ -112,6 +67,8 @@ interface EntityOutput {
|
|
|
112
67
|
name: string;
|
|
113
68
|
match: any | null;
|
|
114
69
|
reasoning: string | null;
|
|
70
|
+
color: string | null;
|
|
71
|
+
children: any[] | null;
|
|
115
72
|
}
|
|
116
73
|
export interface GraphData {
|
|
117
74
|
nodes: EntityOutput[];
|
|
@@ -121,25 +78,14 @@ export interface GraphData {
|
|
|
121
78
|
}[];
|
|
122
79
|
}
|
|
123
80
|
export function treeToGraph(tree: TreeData[]): GraphData;
|
|
124
|
-
|
|
125
|
-
var defaultProps: {
|
|
126
|
-
hasMore(res: any): boolean;
|
|
127
|
-
getItems(d: any): any;
|
|
128
|
-
getCount(d: any): any;
|
|
129
|
-
getNextParams(response: any, params: any): any;
|
|
130
|
-
placeholder: (p: APIPlaceholderProps) => React.ComponentElement<$$parcel$import$212<HTMLElement>, Spinner>;
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
declare namespace ThreeColumnLayout {
|
|
134
|
-
var Panels: typeof SidePanel;
|
|
135
|
-
}
|
|
136
|
-
export function FeedbackComponent({ entities, text, model, entityTypes, matchComponent, onSave, }: {
|
|
81
|
+
export function FeedbackComponent({ entities, text, model, entityTypes, matchComponent, onSave, allowOverlap, }: {
|
|
137
82
|
entities?: any[];
|
|
138
83
|
text: any;
|
|
139
84
|
model: any;
|
|
140
85
|
entityTypes: any;
|
|
141
86
|
matchComponent: any;
|
|
142
87
|
onSave: any;
|
|
143
|
-
|
|
88
|
+
allowOverlap: any;
|
|
89
|
+
}): DOMElement<DOMAttributes<Element>, Element>;
|
|
144
90
|
|
|
145
91
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/feedback-components/src/src/extractions/types.ts","packages/feedback-components/color-utils/src/index.ts","packages/feedback-components/src/src/extractions/index.ts","packages/feedback-components/src/src/feedback/types.ts","packages/feedback-components/src/src/feedback/edit-state.ts","packages/feedback-components/src/src/feedback/node.ts","packages/feedback-components/src/src/feedback/text-visualizer.ts","packages/feedback-components/src/src/feedback/type-selector/index.ts","packages/feedback-components/ui-components/src/api/types.ts","packages/feedback-components/ui-components/src/util/query-string.ts","packages/feedback-components/ui-components/src/util/state-hooks.ts","packages/feedback-components/ui-components/src/util/layout-hooks.ts","packages/feedback-components/ui-components/src/util/local-storage.ts","packages/feedback-components/ui-components/src/util/json-view.ts","packages/feedback-components/ui-components/src/util/scroll-helpers.ts","packages/feedback-components/ui-components/src/util/migration-helpers.ts","packages/feedback-components/ui-components/src/util/box-model.ts","packages/feedback-components/ui-components/src/util/event-hooks.ts","packages/feedback-components/ui-components/src/util/flexbox.ts","packages/feedback-components/ui-components/src/util/size-aware-label.ts","packages/feedback-components/ui-components/src/util/index.ts","packages/feedback-components/ui-components/src/api/provider.ts","packages/feedback-components/ui-components/src/api/data-provider.ts","packages/feedback-components/ui-components/src/api/indexing.ts","packages/feedback-components/ui-components/src/api/frontend.ts","packages/feedback-components/ui-components/src/api/paged.ts","packages/feedback-components/ui-components/src/api/index.ts","packages/feedback-components/ui-components/src/infinite-scroll.ts","packages/feedback-components/ui-components/src/buttons/delete-button.ts","packages/feedback-components/ui-components/src/buttons/index.ts","packages/feedback-components/ui-components/src/collapse-panel/index.ts","packages/feedback-components/ui-components/src/link-card.ts","packages/feedback-components/ui-components/src/file-upload/index.ts","packages/feedback-components/ui-components/src/image.ts","packages/feedback-components/ui-components/src/model-editor.ts","packages/feedback-components/ui-components/src/toaster.ts","packages/feedback-components/ui-components/src/citations/author-list.ts","packages/feedback-components/ui-components/src/citations/index.ts","packages/feedback-components/ui-components/src/geodeepdive/reference-card.ts","packages/feedback-components/ui-components/src/geodeepdive/index.ts","packages/feedback-components/ui-components/src/text.ts","packages/feedback-components/ui-components/src/dark-mode.ts","packages/feedback-components/ui-components/src/form-controls/slider.ts","packages/feedback-components/ui-components/src/form-controls/index.ts","packages/feedback-components/ui-components/src/settings/index.ts","packages/feedback-components/ui-components/src/error-boundary.ts","packages/feedback-components/ui-components/src/patterns/composite-image.ts","packages/feedback-components/ui-components/src/patterns/index.ts","packages/feedback-components/ui-components/src/collapse-card.ts","packages/feedback-components/ui-components/src/modal-panel/draggable-overlay.ts","packages/feedback-components/ui-components/src/modal-panel/index.ts","packages/feedback-components/ui-components/src/page-layouts/index.ts","packages/feedback-components/ui-components/src/dev-panel/_inner.ts","packages/feedback-components/ui-components/src/dev-panel/index.ts","packages/feedback-components/ui-components/src/data/index.ts","packages/feedback-components/ui-components/src/index.ts","packages/feedback-components/src/src/feedback/graph.ts","packages/feedback-components/src/src/feedback/index.ts","packages/feedback-components/src/src/index.ts","packages/feedback-components/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./extractions\";\nexport * from \"./feedback\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/feedback-components/src/src/extractions/types.ts","packages/feedback-components/color-utils/src/index.ts","packages/feedback-components/ui-components/src/api/types.ts","packages/feedback-components/ui-components/src/util/query-string.ts","packages/feedback-components/ui-components/src/util/state-hooks.ts","packages/feedback-components/ui-components/src/util/layout-hooks.ts","packages/feedback-components/ui-components/src/util/local-storage.ts","packages/feedback-components/ui-components/src/util/json-view.ts","packages/feedback-components/ui-components/src/util/scroll-helpers.ts","packages/feedback-components/ui-components/src/util/migration-helpers.ts","packages/feedback-components/ui-components/src/util/box-model.ts","packages/feedback-components/ui-components/src/util/event-hooks.ts","packages/feedback-components/ui-components/src/util/flexbox.ts","packages/feedback-components/ui-components/src/util/size-aware-label.ts","packages/feedback-components/ui-components/src/util/index.ts","packages/feedback-components/ui-components/src/api/provider.ts","packages/feedback-components/ui-components/src/api/data-provider.ts","packages/feedback-components/ui-components/src/api/indexing.ts","packages/feedback-components/ui-components/src/api/frontend.ts","packages/feedback-components/ui-components/src/api/paged.ts","packages/feedback-components/ui-components/src/api/index.ts","packages/feedback-components/ui-components/src/infinite-scroll.ts","packages/feedback-components/ui-components/src/buttons/delete-button.ts","packages/feedback-components/ui-components/src/buttons/index.ts","packages/feedback-components/ui-components/src/collapse-panel/index.ts","packages/feedback-components/ui-components/src/link-card.ts","packages/feedback-components/ui-components/src/file-upload/index.ts","packages/feedback-components/ui-components/src/image.ts","packages/feedback-components/ui-components/src/model-editor.ts","packages/feedback-components/ui-components/src/toaster.ts","packages/feedback-components/ui-components/src/citations/author-list.ts","packages/feedback-components/ui-components/src/citations/index.ts","packages/feedback-components/ui-components/src/geodeepdive/reference-card.ts","packages/feedback-components/ui-components/src/geodeepdive/index.ts","packages/feedback-components/ui-components/src/text.ts","packages/feedback-components/ui-components/src/dark-mode.ts","packages/feedback-components/ui-components/src/form-controls/slider.ts","packages/feedback-components/ui-components/src/form-controls/index.ts","packages/feedback-components/ui-components/src/settings/index.ts","packages/feedback-components/ui-components/src/error-boundary.ts","packages/feedback-components/ui-components/src/patterns/composite-image.ts","packages/feedback-components/ui-components/src/patterns/index.ts","packages/feedback-components/ui-components/src/collapse-card.ts","packages/feedback-components/ui-components/src/modal-panel/draggable-overlay.ts","packages/feedback-components/ui-components/src/modal-panel/index.ts","packages/feedback-components/ui-components/src/page-layouts/index.ts","packages/feedback-components/ui-components/src/dev-panel/_inner.ts","packages/feedback-components/ui-components/src/dev-panel/index.ts","packages/feedback-components/ui-components/src/data/index.ts","packages/feedback-components/ui-components/src/index.ts","packages/feedback-components/src/src/extractions/index.ts","packages/feedback-components/src/src/feedback/types.ts","packages/feedback-components/src/src/feedback/edit-state.ts","packages/feedback-components/src/src/feedback/node.ts","packages/feedback-components/src/src/feedback/text-visualizer.ts","packages/feedback-components/src/src/feedback/type-selector/index.ts","packages/feedback-components/src/src/feedback/graph.ts","packages/feedback-components/data-sheet/src/components/editor-popup.ts","packages/.storybook/main.ts","packages/feedback-components/data-sheet/src/components/colors.ts","packages/feedback-components/data-sheet/src/components/text-areas.ts","packages/feedback-components/data-sheet/src/components/actions.ts","packages/feedback-components/data-sheet/src/components/index.ts","packages/feedback-components/data-sheet/src/utils/column-spec.ts","packages/feedback-components/data-sheet/src/utils/index.ts","packages/feedback-components/data-sheet/src/provider.ts","packages/feedback-components/data-sheet/src/core.ts","packages/feedback-components/data-components/src/components/hierarchy/index.ts","packages/feedback-components/data-components/src/components/prevalent-taxa/prevalent-taxa.ts","packages/feedback-components/data-components/src/components/prevalent-taxa/index.ts","packages/feedback-components/data-components/src/components/unit-details/tag.ts","packages/feedback-components/stratigraphy-utils/src/age-ranges.ts","packages/feedback-components/stratigraphy-utils/src/measurements.ts","packages/feedback-components/stratigraphy-utils/src/index.ts","packages/feedback-components/data-components/src/components/unit-details/base.ts","packages/feedback-components/data-components/src/components/unit-details/lithology-tag.ts","packages/feedback-components/data-components/src/components/unit-details/index.ts","packages/feedback-components/data-components/src/components/index.ts","packages/feedback-components/data-components/src/dz-spectrum/gradients.ts","packages/feedback-components/data-components/src/dz-spectrum/kernel-density.ts","packages/feedback-components/data-components/src/dz-spectrum/index.ts","packages/feedback-components/mapbox-utils/src/position.ts","packages/feedback-components/mapbox-utils/src/focus-state.ts","packages/feedback-components/mapbox-utils/src/labels.ts","packages/feedback-components/mapbox-utils/src/preprocess-styles.ts","packages/feedback-components/mapbox-utils/src/utils.ts","packages/feedback-components/mapbox-utils/src/view-info.ts","packages/feedback-components/mapbox-utils/src/style-helpers.ts","packages/feedback-components/mapbox-utils/src/index.ts","packages/feedback-components/data-components/src/field-locations/base.ts","packages/feedback-components/data-components/src/field-locations/checkins.ts","packages/feedback-components/data-components/src/field-locations/spots.ts","packages/feedback-components/mapbox-react/src/context.ts","packages/feedback-components/mapbox-react/src/hooks.ts","packages/feedback-components/mapbox-react/src/controls.ts","packages/feedback-components/mapbox-react/src/terrain.ts","packages/feedback-components/mapbox-react/src/debugger.ts","packages/feedback-components/mapbox-react/src/focus-state.ts","packages/feedback-components/map-styles/src/layer-helpers/symbol-layers.ts","packages/feedback-components/map-styles/src/layer-helpers/geology-layers.ts","packages/feedback-components/map-styles/src/layer-helpers/pattern-fill.ts","packages/feedback-components/map-styles/src/layer-helpers/utils.ts","packages/feedback-components/map-styles/src/layer-helpers/point-features/symbols/index.ts","packages/feedback-components/map-styles/src/layer-helpers/point-features/icon-image.ts","packages/feedback-components/map-styles/src/layer-helpers/point-features/symbol-layer.ts","packages/feedback-components/map-styles/src/layer-helpers/point-features/index.ts","packages/feedback-components/map-styles/src/layer-helpers/cross-sections.ts","packages/feedback-components/map-styles/src/layer-helpers/index.ts","packages/feedback-components/map-styles/src/styles/line-symbols.ts","packages/feedback-components/map-styles/src/styles/layers.ts","packages/feedback-components/map-styles/src/styles/index.ts","packages/feedback-components/map-styles/src/index.ts","packages/feedback-components/mapbox-react/src/layer-managers/line-symbols.ts","packages/feedback-components/mapbox-react/src/layer-managers/map-sources.ts","packages/feedback-components/mapbox-react/src/layer-managers/index.ts","packages/feedback-components/mapbox-react/src/index.ts","packages/feedback-components/map-interface/src/context-panel/index.ts","packages/feedback-components/map-interface/src/location-info/utils.ts","packages/feedback-components/map-interface/src/location-info/hash-string.ts","packages/feedback-components/map-interface/src/location-info/index.ts","packages/feedback-components/map-interface/src/location-panel/header.ts","packages/feedback-components/map-interface/src/controls.ts","packages/feedback-components/map-interface/src/container.ts","packages/feedback-components/map-interface/src/location-panel/index.ts","packages/feedback-components/map-interface/src/dev/xray.ts","packages/feedback-components/map-interface/src/utils.ts","packages/feedback-components/map-interface/src/helpers.ts","packages/feedback-components/map-interface/src/map-view.ts","packages/feedback-components/map-interface/src/dev/tile-extent.ts","packages/feedback-components/map-interface/src/expansion-panel/headers.ts","packages/feedback-components/map-interface/src/expansion-panel/index.ts","packages/feedback-components/map-interface/src/dev/vector-tile-features.ts","packages/feedback-components/map-interface/src/dev/map-page.ts","packages/feedback-components/map-interface/src/dev/index.ts","packages/feedback-components/map-interface/src/index.ts","packages/feedback-components/data-components/src/field-locations/rockd-checkins/index.ts","packages/feedback-components/data-components/src/field-locations/index.ts","packages/feedback-components/data-components/src/index.ts","packages/feedback-components/data-sheet/src/postgrest-table/data-loaders.ts","packages/feedback-components/data-sheet/src/postgrest-table/index.ts","packages/feedback-components/data-sheet/src/index.ts","packages/feedback-components/src/src/feedback/index.ts","packages/feedback-components/src/src/index.ts","packages/feedback-components/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export * from \"./extractions\";\nexport * from \"./feedback\";\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {buildHighlights as $03d8811e9c9b360d$export$c4b91360064ad200, enhanceData as $03d8811e9c9b360d$export$d60b563f571177d, getTagStyle as $03d8811e9c9b360d$export$35baa338324d8550, ExtractionContext as $03d8811e9c9b360d$export$2b07158757c249e0, ModelInfo as $03d8811e9c9b360d$export$4eb2a0ce903ce967, EntityTag as $03d8811e9c9b360d$export$117e56c71b172cde} from "./
|
|
2
|
-
import {FeedbackComponent as $71d20dff35996763$export$a90600c9da52b40c, treeToGraph as $b79bf29960412ca7$export$8d9dbb7a64bf2a5e} from "./feedback.
|
|
1
|
+
import {buildHighlights as $03d8811e9c9b360d$export$c4b91360064ad200, enhanceData as $03d8811e9c9b360d$export$d60b563f571177d, getTagStyle as $03d8811e9c9b360d$export$35baa338324d8550, ExtractionContext as $03d8811e9c9b360d$export$2b07158757c249e0, ModelInfo as $03d8811e9c9b360d$export$4eb2a0ce903ce967, EntityTag as $03d8811e9c9b360d$export$117e56c71b172cde} from "./feedback-components.5df2a926.js";
|
|
2
|
+
import {FeedbackComponent as $71d20dff35996763$export$a90600c9da52b40c, treeToGraph as $b79bf29960412ca7$export$8d9dbb7a64bf2a5e} from "./feedback-components.586103e8.js";
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(e,t,a,o){Object.defineProperty(e,t,{get:a,set:o,enumerable:!0,configurable:!0})}var t,a,o,c={};e(c,"item-container",()=>t,e=>t=e),e(c,"selected",()=>a,e=>a=e),e(c,"swatch",()=>o,e=>o=e),t="WofFTa_item-container",a="WofFTa_selected",o="WofFTa_swatch";export{c as default};
|
|
2
|
+
//# sourceMappingURL=feedback-components.2f391fa4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,E,E,C,E,E,E,iB,I,E,A,G,E,G,E,E,W,I,E,A,G,E,G,E,E,S,I,E,A,G,E,GAFA,EAAmC,wBACnC,EAA6B,kBAC7B,EAA2B,uB,K,O","sources":["<anon>","packages/feedback-components/src/feedback/type-selector/main.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $f57561eafb1aa284$exports = {};\n\n$parcel$export($f57561eafb1aa284$exports, \"item-container\", () => $f57561eafb1aa284$export$68a2d1df2d976de8, (v) => $f57561eafb1aa284$export$68a2d1df2d976de8 = v);\n$parcel$export($f57561eafb1aa284$exports, \"selected\", () => $f57561eafb1aa284$export$d90250155de6d7e7, (v) => $f57561eafb1aa284$export$d90250155de6d7e7 = v);\n$parcel$export($f57561eafb1aa284$exports, \"swatch\", () => $f57561eafb1aa284$export$c672d9950c40fe0a, (v) => $f57561eafb1aa284$export$c672d9950c40fe0a = v);\nvar $f57561eafb1aa284$export$68a2d1df2d976de8;\nvar $f57561eafb1aa284$export$d90250155de6d7e7;\nvar $f57561eafb1aa284$export$c672d9950c40fe0a;\n$f57561eafb1aa284$export$68a2d1df2d976de8 = `WofFTa_item-container`;\n$f57561eafb1aa284$export$d90250155de6d7e7 = `WofFTa_selected`;\n$f57561eafb1aa284$export$c672d9950c40fe0a = `WofFTa_swatch`;\n\n\nexport {$f57561eafb1aa284$exports as default};\n//# sourceMappingURL=feedback-components.2f391fa4.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$f57561eafb1aa284$export$68a2d1df2d976de8","$f57561eafb1aa284$export$d90250155de6d7e7","$f57561eafb1aa284$export$c672d9950c40fe0a","$f57561eafb1aa284$exports","default"],"version":3,"file":"feedback-components.2f391fa4.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./feedback-components.c459cc27.js";import"./feedback-components.a39f7653.js";import"./feedback-components.ec54a1e7.js";import"./feedback-components.8b03e8be.js";import"./feedback-components.b7946db4.js";import"./feedback-components.acac789b.js";import"./feedback-components.571ee23c.js";import e from"@macrostrat/hyper";import{Tree as t}from"react-arborist";import{useState as o,useRef as n,useCallback as r,useEffect as a}from"react";import{SegmentedControl as i,Card as d,ButtonGroup as l,Divider as s,Icon as c,Overlay2 as p,Popover as y}from"@blueprintjs/core";import{ErrorBoundary as u,FlexRow as m,CancelButton as h,SaveButton as f,useInDarkMode as v}from"@macrostrat/ui-components";import g from"use-element-dimensions";import{ColorPicker as b}from"@macrostrat/data-sheet";function w(e,t,o,n){Object.defineProperty(e,t,{get:o,set:n,enumerable:!0,configurable:!0})}var C=globalThis,T={},k={},S=C.parcelRequirea149;null==S&&((S=function(e){if(e in T)return T[e].exports;if(e in k){var t=k[e];delete k[e];var o={id:e,exports:{}};return T[e]=o,t.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){k[e]=t},C.parcelRequirea149=S),S.register;var x={};w(x,"FeedbackComponent",()=>R),w(x,"treeToGraph",()=>S("eedTh").treeToGraph);var N=S("9wFEx"),O=S("bQY4Q"),E=S("3OP12"),_=S("edvRb"),H=S("eedTh"),A=S("iKZjQ"),I=S("bK9Of");let F=e.styled(N&&N.__esModule?N.default:N);function R({entities:e=[],text:t,model:o,entityTypes:n,matchComponent:r,onSave:a,allowOverlap:c}){let[p,y]=(0,H.useUpdatableTree)(e.map(j),n),{selectedNodes:v,tree:b,selectedEntityType:w,isSelectingEntityType:C,entityTypesMap:T}=p,[{width:k,height:S},x]=g();return F("div.page-wrapper",[F("div.feedback-container",F(H.TreeDispatchContext.Provider,{value:y},[F(u,{description:"An error occurred while rendering the feedback text component."},F(E.FeedbackText,{text:t,dispatch:y,nodes:b,selectedNodes:v,allowOverlap:c})),F(m,{alignItems:"baseline",justifyContent:"space-between"},[F(_.ModelInfo,{data:o}),F(i,{options:[{label:"Tree",value:"tree"},{label:"Graph",value:"graph"}],value:p.viewMode,small:!0,onValueChange(e){console.log("Setting view mode",e),y({type:"set-view-mode",payload:e})}})]),F("div.entity-panel",{ref:x},[F.if("tree"==p.viewMode)(D,{selectedNodes:v,dispatch:y,tree:b,width:k,height:S,matchComponent:r}),F.if("graph"==p.viewMode)(I.GraphView,{tree:b,width:k,height:S,dispatch:y,selectedNodes:v})])])),F(d,{className:"control-panel"},[F("div.control-content",[F(l,{vertical:!0,fill:!0,minimal:!0,alignText:"left"},[F(h,{icon:"trash",disabled:p.initialTree==p.tree,onClick(){y({type:"reset"})}},"Reset"),F(f,{onClick(){a(p.tree)},disabled:p.initialTree==p.tree},"Save")]),F(s),F(M,{entityTypes:T,selected:w,onChange(e){y({type:"select-entity-type",payload:e})},dispatch:y,tree:b,selectedNodes:v,isOpen:C,setOpen:e=>y({type:"toggle-entity-type-selector",payload:e})})])])])}function j(e){return{...e,term_type:e.type.name,txt_range:[e.indices],children:e.children?.map(j)??[]}}function M({entityTypes:e,selected:t,isOpen:n,setOpen:r,onChange:a,tree:i,dispatch:d,selectedNodes:l=[]}){let s=null!=t?t:void 0,[c,p]=o(""),y=Array.from(e.values()),u=""!==c?y.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())):y;return F("div.entity-type-selector",[F(P,{types:e,selected:s,dispatch:d,selectedNodes:l,tree:i}),F(A.OmniboxSelector,{isOpen:n,items:u,selectedItem:s,onSelectItem(e){r(!1),a(e)},onQueryChange(e){p(e)},onClose(){r(!1)}})])}function D(e){let{selectedNodes:o,dispatch:i,tree:d,height:l,width:s,matchComponent:c}=e,p=n(),y=n(!1),u=r(e=>F(O.default,{...e,matchComponent:c}),[c]);a(()=>{if(null!=p.current)!function(e,t){if(e.size!==t.size)return!1;for(let o of e)if(!t.has(o))return!1;return!0}(new Set(o.map(e=>e.toString())),p.current.selectedIds)&&p.current.setSelection({ids:o.map(e=>e.toString()),anchor:null,mostRecent:null})},[o]);let m=n(!1);return a(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&(m.current=!0)},t=()=>m.current=!1;return window.addEventListener("keydown",e),window.addEventListener("keyup",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("keyup",t)}},[]),F("div.selection-tree-wrapper",{onPointerDown:function(){y.current=!0}},F(t,{className:"selection-tree",height:l,width:s,ref:p,data:d,onMove({dragIds:e,parentId:t,index:o}){i({type:"move-node",payload:{dragIds:e.map(e=>parseInt(e)),parentId:t?parseInt(t):null,index:o}})},onDelete({ids:e}){i({type:"delete-node",payload:{ids:e.map(e=>parseInt(e))}})},onSelect:r(e=>{if(!y.current)return;y.current=!1;let t=m.current,n=e.map(e=>parseInt(e.id));t?i({type:"toggle-node-selected",payload:{ids:n}}):(1===n.length&&n[0]===o[0]&&(n=[]),i({type:"select-node",payload:{ids:n}}))},[o,i]),children:u,idAccessor:e=>e.id.toString()}))}function P({types:e,selected:t,dispatch:n,selectedNodes:r,tree:a}){let[i,d]=o(null),l=r.length>0,s=v()?.9:.4;return F("div.type-list-container",[F("div.type-list-header",l&&!i?"Change selected nodes to:":"Entity Types"),F("div.type-list",Array.from(e.values()).map(e=>F(B,{type:e,luminance:s,selectedType:i,setSelectedType:d,dispatch:n,tree:a,selectedNodes:r,selected:t,isSelectedNodes:l}))),F(G,{dispatch:n})])}function L(e,t){let o=[];return e.forEach(function e(n){n.type.id===t&&o.push(n.id),Array.isArray(n.children)&&n.children.forEach(e)}),o}function G({dispatch:e}){let[t,n]=o(!1);return F("div.add-type-container",[F("div.add-type",{onClick:()=>n(!0)},[F("p.add-type-text","Add new type"),F(c,{icon:"plus"})]),F(K,{setOverlayOpen:n,overlayOpen:t,title:"Add New Type",saveHandler:t=>{e({type:"add-entity-type",payload:t}),n(!1)}})])}function $({dispatch:e,type:t}){let[n,r]=o(!1);return F("div.edit-type",[F(c,{icon:"edit",className:"edit-icon",onClick:e=>{e.stopPropagation(),r(!0)}}),F(K,{setOverlayOpen:r,overlayOpen:n,originalType:t,title:"Edit Type",saveHandler:t=>{e({type:"update-entity-type",payload:t}),r(!1)}})])}function K({setOverlayOpen:e,overlayOpen:t,originalType:n,title:r,saveHandler:a}){let{name:i,description:d,color:l,id:s}=n||{},[y,u]=o(i||""),[m,h]=o(d||""),[v,g]=o(l||"#fff");return F(p,{isOpen:t},F("div.overlay-container",F("div.add-type-overlay",[F("h2.title",[r,F(c,{icon:"cross",className:"close-icon",onClick:()=>{e(!1)},style:{cursor:"pointer",color:"red"}})]),F("div.form-group",[F("div.text-inputs",[F("div.form-field.name",[F("p.label","Name"),F("input",{type:"text",placeholder:"Enter type name",onChange:e=>u(e.target.value),value:y})]),F("div.form-field.form-description",[F("p.label","Description"),F("input",{type:"text",placeholder:"Enter type description",onChange:e=>h(e.target.value),value:m})])]),F("div.form-field.color",[F("p.label","Color"),F(b,{value:v,onChange:e=>g(e),style:{width:"100%"}})])]),F(f,{className:"save-btn",small:!0,onClick:()=>a({name:y,description:m,color:v,id:s})},"Save changes")])))}function B({type:e,luminance:t,selectedType:o,setSelectedType:n,dispatch:r,tree:a,selectedNodes:i,selected:d,isSelectedNodes:l}){let{color:s,name:p,id:u,description:m}=e;v();let h=u===d?.id&&i.length>0,f=(0,_.getTagStyle)(s,{active:h,highlighted:0===i.length}),g={id:u,name:p,color:s,description:m},b=L(a,u);return F(y,{autoFocus:!1,content:F("div.description",m||"No description available"),interactionKind:"hover"},F("div.type-tag",{onClick:()=>{l||null!==o?l&&null===o?u===d?.id&&i.length>0?r({type:"toggle-node-selected",payload:{ids:i}}):r({type:"select-entity-type",payload:g}):l&&o.id===u?(n(null),r({type:"toggle-node-selected",payload:{ids:b}})):l&&o.id!==u?b.length>0&&(n(e),r({type:"toggle-node-selected",payload:{ids:L(a,o.id)}}),r({type:"toggle-node-selected",payload:{ids:b}})):console.warn("Unexpected state in TypeTag click handler",{isSelectedNodes:l,selectedType:o,selectedNodes:i,ids:b,id:u,selected:d}):b.length>0&&(n(e),r({type:"toggle-node-selected",payload:{ids:b}}))},style:{cursor:b.length>0||l&&!o?"pointer":"",color:"black",backgroundColor:f.backgroundColor,border:h?"1px solid var(--text-emphasized-color)":"1px solid var(--background-color)"}},F("div.type-container",[F("div.type-name",p),F("div.icons",[F($,{dispatch:r,type:e}),F(c,{icon:"cross",className:"delete-type-icon",style:{color:"red",cursor:"pointer"},onClick:e=>{e.stopPropagation(),r({type:"delete-entity-type",payload:{id:u}})}})])])))}export{R as FeedbackComponent,$330ae695507d96f5$export$8d9dbb7a64bf2a5e as treeToGraph};
|
|
2
|
+
//# sourceMappingURL=feedback-components.561466ac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,oD,A,O,oD,A,O,oD,A,O,oD,A,O,oD,A,O,oD,A,O,oD,A,Q,M,mB,A,Q,Q,C,K,gB,A,Q,Y,C,C,U,C,C,e,C,C,a,C,K,O,A,Q,oB,C,C,Q,C,C,e,C,C,W,C,C,Q,C,C,Y,C,C,W,C,K,mB,A,Q,iB,C,C,W,C,C,gB,C,C,c,C,C,iB,C,K,2B,A,Q,M,wB,A,Q,e,C,K,wB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,c,I,A,E,S,W,E,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SC4CA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAUhB,SAAS,EAAkB,CAAA,SAChC,EAAW,EAAE,CAAA,KACb,CAAI,CAAA,MACJ,CAAK,CAAA,YACL,CAAW,CAAA,eACX,CAAc,CAAA,OACd,CAAM,CAAA,aACN,CAAY,CACb,EAEC,GAAM,CAAC,EAAO,EAAS,CAAG,AAAA,CAAA,EAAA,EAAA,gBAAe,AAAf,EACxB,EAAS,GAAG,CAAC,GACb,GAGI,CAAA,cACJ,CAAa,CAAA,KACb,CAAI,CAAA,mBACJ,CAAkB,CAAA,sBAClB,CAAqB,CAAA,eACrB,CAAc,CACf,CAAG,EAEE,CAAC,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAE,CAAE,EAAI,CAAG,AAAA,IAEjC,OAAO,EAAE,mBAAoB,CAC3B,EACE,yBACA,EAAE,AAAA,EAAA,mBAAkB,CAAE,QAAQ,CAAE,CAAE,MAAO,CAAS,EAAG,CACnD,EACE,EACA,CACE,YACE,gEACJ,EACA,EAAE,EAAA,YAAW,CAAG,CACd,KAAA,EACA,SAAA,EAEA,M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","sources":["<anon>","packages/feedback-components/src/feedback/index.ts"],"sourcesContent":["import \"./feedback-components.c459cc27.js\";\nimport \"./feedback-components.a39f7653.js\";\nimport \"./feedback-components.ec54a1e7.js\";\nimport \"./feedback-components.8b03e8be.js\";\nimport \"./feedback-components.b7946db4.js\";\nimport \"./feedback-components.acac789b.js\";\nimport \"./feedback-components.571ee23c.js\";\nimport $ajJMX$macrostrathyper from \"@macrostrat/hyper\";\nimport {Tree as $ajJMX$Tree} from \"react-arborist\";\nimport {useState as $ajJMX$useState, useRef as $ajJMX$useRef, useCallback as $ajJMX$useCallback, useEffect as $ajJMX$useEffect} from \"react\";\nimport {SegmentedControl as $ajJMX$SegmentedControl, Card as $ajJMX$Card, ButtonGroup as $ajJMX$ButtonGroup, Divider as $ajJMX$Divider, Icon as $ajJMX$Icon, Overlay2 as $ajJMX$Overlay2, Popover as $ajJMX$Popover} from \"@blueprintjs/core\";\nimport {ErrorBoundary as $ajJMX$ErrorBoundary, FlexRow as $ajJMX$FlexRow, CancelButton as $ajJMX$CancelButton, SaveButton as $ajJMX$SaveButton, useInDarkMode as $ajJMX$useInDarkMode} from \"@macrostrat/ui-components\";\nimport $ajJMX$useelementdimensions from \"use-element-dimensions\";\nimport {ColorPicker as $ajJMX$ColorPicker} from \"@macrostrat/data-sheet\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $2c86488f2f3c1edd$exports = {};\n\n$parcel$export($2c86488f2f3c1edd$exports, \"FeedbackComponent\", () => $2c86488f2f3c1edd$export$a90600c9da52b40c);\n$parcel$export($2c86488f2f3c1edd$exports, \"treeToGraph\", () => (parcelRequire(\"eedTh\")).treeToGraph);\n\nvar $9wFEx = parcelRequire(\"9wFEx\");\n\n\n\nvar $bQY4Q = parcelRequire(\"bQY4Q\");\n\nvar $3OP12 = parcelRequire(\"3OP12\");\n\nvar $edvRb = parcelRequire(\"edvRb\");\n\nvar $eedTh = parcelRequire(\"eedTh\");\n\n\n\nvar $iKZjQ = parcelRequire(\"iKZjQ\");\n\n\n\nvar $bK9Of = parcelRequire(\"bK9Of\");\n\nconst $2c86488f2f3c1edd$var$h = (0, $ajJMX$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($9wFEx))));\nfunction $2c86488f2f3c1edd$var$setsAreTheSame(a, b) {\n if (a.size !== b.size) return false;\n for (const item of a){\n if (!b.has(item)) return false;\n }\n return true;\n}\nfunction $2c86488f2f3c1edd$export$a90600c9da52b40c({ entities: entities = [], text: text, model: model, entityTypes: entityTypes, matchComponent: matchComponent, onSave: onSave, allowOverlap: allowOverlap }) {\n // Get the input arguments\n const [state, dispatch] = (0, $eedTh.useUpdatableTree)(entities.map($2c86488f2f3c1edd$var$processEntity), entityTypes);\n const { selectedNodes: selectedNodes, tree: tree, selectedEntityType: selectedEntityType, isSelectingEntityType: isSelectingEntityType, entityTypesMap: entityTypesMap } = state;\n const [{ width: width, height: height }, ref] = (0, $ajJMX$useelementdimensions)();\n return $2c86488f2f3c1edd$var$h(\"div.page-wrapper\", [\n $2c86488f2f3c1edd$var$h(\"div.feedback-container\", $2c86488f2f3c1edd$var$h((0, $eedTh.TreeDispatchContext).Provider, {\n value: dispatch\n }, [\n $2c86488f2f3c1edd$var$h((0, $ajJMX$ErrorBoundary), {\n description: \"An error occurred while rendering the feedback text component.\"\n }, $2c86488f2f3c1edd$var$h((0, $3OP12.FeedbackText), {\n text: text,\n dispatch: dispatch,\n // @ts-ignore\n nodes: tree,\n selectedNodes: selectedNodes,\n allowOverlap: allowOverlap\n })),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$FlexRow), {\n alignItems: \"baseline\",\n justifyContent: \"space-between\"\n }, [\n $2c86488f2f3c1edd$var$h((0, $edvRb.ModelInfo), {\n data: model\n }),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$SegmentedControl), {\n options: [\n {\n label: \"Tree\",\n value: \"tree\"\n },\n {\n label: \"Graph\",\n value: \"graph\"\n }\n ],\n value: state.viewMode,\n small: true,\n onValueChange (value) {\n console.log(\"Setting view mode\", value);\n dispatch({\n type: \"set-view-mode\",\n payload: value\n });\n }\n })\n ]),\n $2c86488f2f3c1edd$var$h(\"div.entity-panel\", {\n ref: ref\n }, [\n $2c86488f2f3c1edd$var$h.if(state.viewMode == \"tree\")($2c86488f2f3c1edd$var$ManagedSelectionTree, {\n selectedNodes: selectedNodes,\n dispatch: dispatch,\n tree: tree,\n width: width,\n height: height,\n matchComponent: matchComponent\n }),\n $2c86488f2f3c1edd$var$h.if(state.viewMode == \"graph\")((0, $bK9Of.GraphView), {\n tree: tree,\n width: width,\n height: height,\n dispatch: dispatch,\n selectedNodes: selectedNodes\n })\n ])\n ])),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Card), {\n className: \"control-panel\"\n }, [\n $2c86488f2f3c1edd$var$h(\"div.control-content\", [\n $2c86488f2f3c1edd$var$h((0, $ajJMX$ButtonGroup), {\n vertical: true,\n fill: true,\n minimal: true,\n alignText: \"left\"\n }, [\n $2c86488f2f3c1edd$var$h((0, $ajJMX$CancelButton), {\n icon: \"trash\",\n disabled: state.initialTree == state.tree,\n onClick () {\n dispatch({\n type: \"reset\"\n });\n }\n }, \"Reset\"),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$SaveButton), {\n onClick () {\n onSave(state.tree);\n },\n disabled: state.initialTree == state.tree\n }, \"Save\")\n ]),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Divider)),\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$EntityTypeSelector, {\n entityTypes: entityTypesMap,\n selected: selectedEntityType,\n onChange (payload) {\n dispatch({\n type: \"select-entity-type\",\n payload: payload\n });\n },\n dispatch: dispatch,\n tree: tree,\n selectedNodes: selectedNodes,\n isOpen: isSelectingEntityType,\n setOpen: (isOpen)=>dispatch({\n type: \"toggle-entity-type-selector\",\n payload: isOpen\n })\n })\n ])\n ])\n ]);\n}\nfunction $2c86488f2f3c1edd$var$processEntity(entity) {\n // @ts-ignore\n return {\n ...entity,\n // @ts-ignore\n term_type: entity.type.name,\n txt_range: [\n entity.indices\n ],\n children: entity.children?.map($2c86488f2f3c1edd$var$processEntity) ?? []\n };\n}\nfunction $2c86488f2f3c1edd$var$EntityTypeSelector({ entityTypes: entityTypes, selected: selected, isOpen: isOpen, setOpen: setOpen, onChange: onChange, tree: tree, dispatch: dispatch, selectedNodes: selectedNodes = [] }) {\n // Show all entity types when selected is null\n const _selected = selected != null ? selected : undefined;\n const [inputValue, setInputValue] = (0, $ajJMX$useState)(\"\");\n const types = Array.from(entityTypes.values());\n const items = inputValue !== \"\" ? types.filter((d)=>d.name.toLowerCase().includes(inputValue.toLowerCase())) : types;\n return $2c86488f2f3c1edd$var$h(\"div.entity-type-selector\", [\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$TypeList, {\n types: entityTypes,\n selected: _selected,\n dispatch: dispatch,\n selectedNodes: selectedNodes,\n tree: tree\n }),\n $2c86488f2f3c1edd$var$h((0, $iKZjQ.OmniboxSelector), {\n isOpen: isOpen,\n items: items,\n selectedItem: _selected,\n onSelectItem (item) {\n setOpen(false);\n onChange(item);\n },\n onQueryChange (query) {\n setInputValue(query);\n },\n onClose () {\n setOpen(false);\n }\n })\n ]);\n}\nfunction $2c86488f2f3c1edd$var$countNodes(tree) {\n if (!tree) return 0;\n let count = 0;\n function recurse(nodes) {\n for (const node of nodes){\n count++;\n if (node.children && Array.isArray(node.children)) recurse(node.children);\n }\n }\n recurse(tree);\n return count;\n}\nfunction $2c86488f2f3c1edd$var$ManagedSelectionTree(props) {\n const { selectedNodes: selectedNodes, dispatch: dispatch, tree: tree, height: height, width: width, matchComponent: matchComponent } = props;\n const ref = (0, $ajJMX$useRef)();\n // Use a ref to track clicks (won't cause rerender)\n const clickedRef = (0, $ajJMX$useRef)(false);\n const _Node = (0, $ajJMX$useCallback)((props)=>$2c86488f2f3c1edd$var$h((0, $bQY4Q.default), {\n ...props,\n matchComponent: matchComponent\n }), [\n matchComponent\n ]);\n // Update Tree selection when selectedNodes change\n (0, $ajJMX$useEffect)(()=>{\n if (ref.current == null) return;\n const selection = new Set(selectedNodes.map((d)=>d.toString()));\n const currentSelection = ref.current.selectedIds;\n if ($2c86488f2f3c1edd$var$setsAreTheSame(selection, currentSelection)) return;\n ref.current.setSelection({\n ids: selectedNodes.map((d)=>d.toString()),\n anchor: null,\n mostRecent: null\n });\n }, [\n selectedNodes\n ]);\n // Mark clicked when user clicks inside the tree container\n function handleClick() {\n clickedRef.current = true;\n }\n const ctrlPressedRef = (0, $ajJMX$useRef)(false);\n (0, $ajJMX$useEffect)(()=>{\n const down = (e)=>{\n if (e.ctrlKey || e.metaKey) ctrlPressedRef.current = true;\n };\n const up = ()=>ctrlPressedRef.current = false;\n window.addEventListener(\"keydown\", down);\n window.addEventListener(\"keyup\", up);\n return ()=>{\n window.removeEventListener(\"keydown\", down);\n window.removeEventListener(\"keyup\", up);\n };\n }, []);\n const handleSelect = (0, $ajJMX$useCallback)((nodes)=>{\n if (!clickedRef.current) return;\n clickedRef.current = false;\n const isMultiSelect = ctrlPressedRef.current;\n let ids = nodes.map((d)=>parseInt(d.id));\n if (isMultiSelect) dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: ids\n }\n });\n else {\n if (ids.length === 1 && ids[0] === selectedNodes[0]) ids = [];\n dispatch({\n type: \"select-node\",\n payload: {\n ids: ids\n }\n });\n }\n }, [\n selectedNodes,\n dispatch\n ]);\n return $2c86488f2f3c1edd$var$h(\"div.selection-tree-wrapper\", {\n onPointerDown: handleClick\n }, $2c86488f2f3c1edd$var$h((0, $ajJMX$Tree), {\n className: \"selection-tree\",\n height: height,\n width: width,\n ref: ref,\n data: tree,\n onMove ({ dragIds: dragIds, parentId: parentId, index: index }) {\n dispatch({\n type: \"move-node\",\n payload: {\n dragIds: dragIds.map((d)=>parseInt(d)),\n parentId: parentId ? parseInt(parentId) : null,\n index: index\n }\n });\n },\n onDelete ({ ids: ids }) {\n dispatch({\n type: \"delete-node\",\n payload: {\n ids: ids.map((d)=>parseInt(d))\n }\n });\n },\n onSelect: handleSelect,\n children: _Node,\n idAccessor (d) {\n return d.id.toString();\n }\n }));\n}\nfunction $2c86488f2f3c1edd$var$TypeList({ types: types, selected: selected, dispatch: dispatch, selectedNodes: selectedNodes, tree: tree }) {\n const [selectedType, setSelectedType] = (0, $ajJMX$useState)(null);\n const isSelectedNodes = selectedNodes.length > 0;\n const darkMode = (0, $ajJMX$useInDarkMode)();\n const luminance = darkMode ? 0.9 : 0.4;\n return $2c86488f2f3c1edd$var$h(\"div.type-list-container\", [\n $2c86488f2f3c1edd$var$h(\"div.type-list-header\", isSelectedNodes && !selectedType ? \"Change selected nodes to:\" : \"Entity Types\"),\n $2c86488f2f3c1edd$var$h(\"div.type-list\", Array.from(types.values()).map((type)=>$2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$TypeTag, {\n type: type,\n luminance: luminance,\n selectedType: selectedType,\n setSelectedType: setSelectedType,\n dispatch: dispatch,\n tree: tree,\n selectedNodes: selectedNodes,\n selected: selected,\n isSelectedNodes: isSelectedNodes\n }))),\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$AddType, {\n dispatch: dispatch\n })\n ]);\n}\nfunction $2c86488f2f3c1edd$var$collectMatchingIds(tree, id) {\n const ids = [];\n function traverse(node) {\n if (node.type.id === id) ids.push(node.id);\n if (Array.isArray(node.children)) node.children.forEach(traverse);\n }\n tree.forEach(traverse);\n return ids;\n}\nfunction $2c86488f2f3c1edd$var$AddType({ dispatch: dispatch }) {\n const [overlayOpen, setOverlayOpen] = (0, $ajJMX$useState)(false);\n const saveHandler = (payload)=>{\n dispatch({\n type: \"add-entity-type\",\n payload: payload\n });\n setOverlayOpen(false);\n };\n return $2c86488f2f3c1edd$var$h(\"div.add-type-container\", [\n $2c86488f2f3c1edd$var$h(\"div.add-type\", {\n onClick: ()=>setOverlayOpen(true)\n }, [\n $2c86488f2f3c1edd$var$h(\"p.add-type-text\", \"Add new type\"),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Icon), {\n icon: \"plus\"\n })\n ]),\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$TypeOverlay, {\n setOverlayOpen: setOverlayOpen,\n overlayOpen: overlayOpen,\n title: \"Add New Type\",\n saveHandler: saveHandler\n })\n ]);\n}\nfunction $2c86488f2f3c1edd$var$EditType({ dispatch: dispatch, type: type }) {\n const [editorOpen, setEditorOpen] = (0, $ajJMX$useState)(false);\n const saveHandler = (payload)=>{\n dispatch({\n type: \"update-entity-type\",\n payload: payload\n });\n setEditorOpen(false);\n };\n return $2c86488f2f3c1edd$var$h(\"div.edit-type\", [\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Icon), {\n icon: \"edit\",\n className: \"edit-icon\",\n onClick: (e)=>{\n e.stopPropagation();\n setEditorOpen(true);\n }\n }),\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$TypeOverlay, {\n setOverlayOpen: setEditorOpen,\n overlayOpen: editorOpen,\n originalType: type,\n title: \"Edit Type\",\n saveHandler: saveHandler\n })\n ]);\n}\nfunction $2c86488f2f3c1edd$var$TypeOverlay({ setOverlayOpen: setOverlayOpen, overlayOpen: overlayOpen, originalType: originalType, title: title, saveHandler: saveHandler }) {\n const { name: name, description: description, color: color, id: id } = originalType || {};\n const [nameInput, setNameInput] = (0, $ajJMX$useState)(name || \"\");\n const [descriptionInput, setDescriptionInput] = (0, $ajJMX$useState)(description || \"\");\n const [colorInput, setColorInput] = (0, $ajJMX$useState)(color || \"#fff\");\n return $2c86488f2f3c1edd$var$h((0, $ajJMX$Overlay2), {\n isOpen: overlayOpen\n }, $2c86488f2f3c1edd$var$h(\"div.overlay-container\", $2c86488f2f3c1edd$var$h(\"div.add-type-overlay\", [\n $2c86488f2f3c1edd$var$h(\"h2.title\", [\n title,\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Icon), {\n icon: \"cross\",\n className: \"close-icon\",\n onClick: ()=>{\n setOverlayOpen(false);\n },\n style: {\n cursor: \"pointer\",\n color: \"red\"\n }\n })\n ]),\n $2c86488f2f3c1edd$var$h(\"div.form-group\", [\n $2c86488f2f3c1edd$var$h(\"div.text-inputs\", [\n $2c86488f2f3c1edd$var$h(\"div.form-field.name\", [\n $2c86488f2f3c1edd$var$h(\"p.label\", \"Name\"),\n $2c86488f2f3c1edd$var$h(\"input\", {\n type: \"text\",\n placeholder: \"Enter type name\",\n onChange: (e)=>setNameInput(e.target.value),\n value: nameInput\n })\n ]),\n $2c86488f2f3c1edd$var$h(\"div.form-field.form-description\", [\n $2c86488f2f3c1edd$var$h(\"p.label\", \"Description\"),\n $2c86488f2f3c1edd$var$h(\"input\", {\n type: \"text\",\n placeholder: \"Enter type description\",\n onChange: (e)=>setDescriptionInput(e.target.value),\n value: descriptionInput\n })\n ])\n ]),\n $2c86488f2f3c1edd$var$h(\"div.form-field.color\", [\n $2c86488f2f3c1edd$var$h(\"p.label\", \"Color\"),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$ColorPicker), {\n value: colorInput,\n onChange: (color)=>setColorInput(color),\n style: {\n width: \"100%\"\n }\n })\n ])\n ]),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$SaveButton), {\n className: \"save-btn\",\n small: true,\n onClick: ()=>saveHandler({\n name: nameInput,\n description: descriptionInput,\n color: colorInput,\n id: id\n })\n }, \"Save changes\")\n ])));\n}\nfunction $2c86488f2f3c1edd$var$TypeTag({ type: type, luminance: luminance, selectedType: selectedType, setSelectedType: setSelectedType, dispatch: dispatch, tree: tree, selectedNodes: selectedNodes, selected: selected, isSelectedNodes: isSelectedNodes }) {\n const { color: color, name: name, id: id, description: description } = type;\n const darkMode = (0, $ajJMX$useInDarkMode)();\n const isSelected = id === selected?.id && selectedNodes.length > 0;\n const style = (0, $edvRb.getTagStyle)(color, {\n active: isSelected,\n highlighted: selectedNodes.length === 0\n });\n const payload = {\n id: id,\n name: name,\n color: color,\n description: description\n };\n const ids = $2c86488f2f3c1edd$var$collectMatchingIds(tree, id);\n const handleTagClick = ()=>{\n if (!isSelectedNodes && selectedType === null) {\n if (ids.length > 0) {\n setSelectedType(type);\n dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: ids\n }\n });\n }\n } else if (isSelectedNodes && selectedType === null) {\n if (id === selected?.id && selectedNodes.length > 0) dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: selectedNodes\n }\n });\n else dispatch({\n type: \"select-entity-type\",\n payload: payload\n });\n } else if (isSelectedNodes && selectedType.id === id) {\n setSelectedType(null);\n dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: ids\n }\n });\n } else if (isSelectedNodes && selectedType.id !== id) {\n if (ids.length > 0) {\n setSelectedType(type);\n const oldIds = $2c86488f2f3c1edd$var$collectMatchingIds(tree, selectedType.id);\n dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: oldIds\n }\n });\n dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: ids\n }\n });\n }\n } else console.warn(\"Unexpected state in TypeTag click handler\", {\n isSelectedNodes: isSelectedNodes,\n selectedType: selectedType,\n selectedNodes: selectedNodes,\n ids: ids,\n id: id,\n selected: selected\n });\n };\n return $2c86488f2f3c1edd$var$h((0, $ajJMX$Popover), {\n autoFocus: false,\n content: $2c86488f2f3c1edd$var$h(\"div.description\", description || \"No description available\"),\n interactionKind: \"hover\"\n }, $2c86488f2f3c1edd$var$h(\"div.type-tag\", {\n onClick: handleTagClick,\n style: {\n cursor: ids.length > 0 || isSelectedNodes && !selectedType ? \"pointer\" : \"\",\n color: \"black\",\n backgroundColor: style.backgroundColor,\n border: isSelected ? `1px solid var(--text-emphasized-color)` : `1px solid var(--background-color)`\n }\n }, $2c86488f2f3c1edd$var$h(\"div.type-container\", [\n $2c86488f2f3c1edd$var$h(\"div.type-name\", name),\n $2c86488f2f3c1edd$var$h(\"div.icons\", [\n $2c86488f2f3c1edd$var$h($2c86488f2f3c1edd$var$EditType, {\n dispatch: dispatch,\n type: type\n }),\n $2c86488f2f3c1edd$var$h((0, $ajJMX$Icon), {\n icon: \"cross\",\n className: \"delete-type-icon\",\n style: {\n color: \"red\",\n cursor: \"pointer\"\n },\n onClick: (e)=>{\n e.stopPropagation();\n dispatch({\n type: \"delete-entity-type\",\n payload: {\n id: id\n }\n });\n }\n })\n ])\n ])));\n}\n\n\nexport {$2c86488f2f3c1edd$export$a90600c9da52b40c as FeedbackComponent, $330ae695507d96f5$export$8d9dbb7a64bf2a5e as treeToGraph};\n//# sourceMappingURL=feedback-components.561466ac.js.map\n","import styles from \"./feedback.module.sass\";\nimport hyper from \"@macrostrat/hyper\";\n\nimport { Tree, TreeApi } from \"react-arborist\";\nimport Node from \"./node\";\nimport { FeedbackText } from \"./text-visualizer\";\nimport type { InternalEntity, TreeData } from \"./types\";\nimport type { Entity } from \"../extractions\";\nimport { getTagStyle, ModelInfo } from \"../extractions\";\nimport {\n TreeDispatchContext,\n treeToGraph,\n useUpdatableTree,\n ViewMode,\n} from \"./edit-state\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n ButtonGroup,\n Card,\n SegmentedControl,\n Icon,\n Popover,\n Divider,\n Overlay2,\n} from \"@blueprintjs/core\";\nimport { OmniboxSelector } from \"./type-selector\";\nimport {\n CancelButton,\n DataField,\n ErrorBoundary,\n FlexBox,\n FlexRow,\n SaveButton,\n} from \"@macrostrat/ui-components\";\nimport useElementDimensions from \"use-element-dimensions\";\nimport { GraphView } from \"./graph\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { asChromaColor } from \"@macrostrat/color-utils\";\nimport { ColorPicker } from \"@macrostrat/data-sheet\";\n\nexport type { GraphData } from \"./edit-state\";\nexport { treeToGraph } from \"./edit-state\";\nexport type { TreeData } from \"./types\";\n\nconst h = hyper.styled(styles);\n\nfunction setsAreTheSame<T>(a: Set<T>, b: Set<T>) {\n if (a.size !== b.size) return false;\n for (const item of a) {\n if (!b.has(item)) return false;\n }\n return true;\n}\n\nexport function FeedbackComponent({\n entities = [],\n text,\n model,\n entityTypes,\n matchComponent,\n onSave,\n allowOverlap,\n}) {\n // Get the input arguments\n const [state, dispatch] = useUpdatableTree(\n entities.map(processEntity) as any,\n entityTypes,\n );\n\n const {\n selectedNodes,\n tree,\n selectedEntityType,\n isSelectingEntityType,\n entityTypesMap,\n } = state;\n\n const [{ width, height }, ref] = useElementDimensions();\n\n return h(\"div.page-wrapper\", [\n h(\n \"div.feedback-container\",\n h(TreeDispatchContext.Provider, { value: dispatch }, [\n h(\n ErrorBoundary,\n {\n description:\n \"An error occurred while rendering the feedback text component.\",\n },\n h(FeedbackText, {\n text,\n dispatch,\n // @ts-ignore\n nodes: tree,\n selectedNodes,\n allowOverlap,\n }),\n ),\n h(\n FlexRow,\n { alignItems: \"baseline\", justifyContent: \"space-between\" },\n [\n h(ModelInfo, { data: model }),\n h(SegmentedControl, {\n options: [\n { label: \"Tree\", value: \"tree\" },\n { label: \"Graph\", value: \"graph\" },\n ],\n value: state.viewMode,\n small: true,\n onValueChange(value: ViewMode) {\n console.log(\"Setting view mode\", value);\n dispatch({ type: \"set-view-mode\", payload: value });\n },\n }),\n ],\n ),\n h(\n \"div.entity-panel\",\n {\n ref,\n },\n [\n h.if(state.viewMode == \"tree\")(ManagedSelectionTree, {\n selectedNodes,\n dispatch,\n tree,\n width,\n height,\n matchComponent,\n }),\n h.if(state.viewMode == \"graph\")(GraphView, {\n tree,\n width,\n height,\n dispatch,\n selectedNodes,\n }),\n ],\n ),\n ]),\n ),\n h(Card, { className: \"control-panel\" }, [\n h(\"div.control-content\", [\n h(\n ButtonGroup,\n {\n vertical: true,\n fill: true,\n minimal: true,\n alignText: \"left\",\n },\n [\n h(\n CancelButton,\n {\n icon: \"trash\",\n disabled: state.initialTree == state.tree,\n onClick() {\n dispatch({ type: \"reset\" });\n },\n },\n \"Reset\",\n ),\n h(\n SaveButton,\n {\n onClick() {\n onSave(state.tree);\n },\n disabled: state.initialTree == state.tree,\n },\n \"Save\",\n ),\n ],\n ),\n h(Divider),\n h(EntityTypeSelector, {\n entityTypes: entityTypesMap,\n selected: selectedEntityType,\n onChange(payload) {\n dispatch({ type: \"select-entity-type\", payload });\n },\n dispatch,\n tree,\n selectedNodes,\n isOpen: isSelectingEntityType,\n setOpen: (isOpen: boolean) =>\n dispatch({\n type: \"toggle-entity-type-selector\",\n payload: isOpen,\n }),\n }),\n ]),\n ]),\n ]);\n}\n\nfunction processEntity(entity: Entity): InternalEntity {\n // @ts-ignore\n return {\n ...entity,\n // @ts-ignore\n term_type: entity.type.name,\n txt_range: [entity.indices],\n children: entity.children?.map(processEntity) ?? [],\n };\n}\n\nfunction EntityTypeSelector({\n entityTypes,\n selected,\n isOpen,\n setOpen,\n onChange,\n tree,\n dispatch,\n selectedNodes = [],\n}) {\n // Show all entity types when selected is null\n const _selected = selected != null ? selected : undefined;\n const [inputValue, setInputValue] = useState(\"\");\n const types = Array.from(entityTypes.values());\n\n const items =\n inputValue !== \"\"\n ? types.filter((d) =>\n d.name.toLowerCase().includes(inputValue.toLowerCase()),\n )\n : types;\n\n return h(\"div.entity-type-selector\", [\n h(TypeList, {\n types: entityTypes,\n selected: _selected,\n dispatch,\n selectedNodes,\n tree,\n }),\n h(OmniboxSelector, {\n isOpen,\n items,\n selectedItem: _selected,\n onSelectItem(item) {\n setOpen(false);\n onChange(item);\n },\n onQueryChange(query) {\n setInputValue(query);\n },\n onClose() {\n setOpen(false);\n },\n }),\n ]);\n}\n\nfunction countNodes(tree) {\n if (!tree) return 0;\n let count = 0;\n\n function recurse(nodes) {\n for (const node of nodes) {\n count++;\n if (node.children && Array.isArray(node.children)) {\n recurse(node.children);\n }\n }\n }\n\n recurse(tree);\n return count;\n}\n\nfunction ManagedSelectionTree(props) {\n const { selectedNodes, dispatch, tree, height, width, matchComponent } =\n props;\n\n const ref = useRef<TreeApi<TreeData>>();\n // Use a ref to track clicks (won't cause rerender)\n const clickedRef = useRef(false);\n\n const _Node = useCallback(\n (props) => h(Node, { ...props, matchComponent }),\n [matchComponent],\n );\n\n // Update Tree selection when selectedNodes change\n useEffect(() => {\n if (ref.current == null) return;\n\n const selection = new Set(selectedNodes.map((d) => d.toString()));\n const currentSelection = ref.current.selectedIds;\n if (setsAreTheSame(selection, currentSelection)) return;\n\n ref.current.setSelection({\n ids: selectedNodes.map((d) => d.toString()),\n anchor: null,\n mostRecent: null,\n });\n }, [selectedNodes]);\n\n // Mark clicked when user clicks inside the tree container\n function handleClick() {\n clickedRef.current = true;\n }\n\n const ctrlPressedRef = useRef(false);\n\n useEffect(() => {\n const down = (e) => {\n if (e.ctrlKey || e.metaKey) ctrlPressedRef.current = true;\n };\n const up = () => (ctrlPressedRef.current = false);\n\n window.addEventListener(\"keydown\", down);\n window.addEventListener(\"keyup\", up);\n return () => {\n window.removeEventListener(\"keydown\", down);\n window.removeEventListener(\"keyup\", up);\n };\n }, []);\n\n const handleSelect = useCallback(\n (nodes) => {\n if (!clickedRef.current) return;\n clickedRef.current = false;\n const isMultiSelect = ctrlPressedRef.current;\n\n let ids = nodes.map((d) => parseInt(d.id));\n\n if (isMultiSelect) {\n dispatch({ type: \"toggle-node-selected\", payload: { ids } });\n } else {\n if (ids.length === 1 && ids[0] === selectedNodes[0]) {\n ids = [];\n }\n\n dispatch({ type: \"select-node\", payload: { ids } });\n }\n },\n [selectedNodes, dispatch],\n );\n\n return h(\n \"div.selection-tree-wrapper\",\n { onPointerDown: handleClick },\n h(Tree, {\n className: \"selection-tree\",\n height,\n width,\n ref,\n data: tree,\n onMove({ dragIds, parentId, index }) {\n dispatch({\n type: \"move-node\",\n payload: {\n dragIds: dragIds.map((d) => parseInt(d)),\n parentId: parentId ? parseInt(parentId) : null,\n index,\n },\n });\n },\n onDelete({ ids }) {\n dispatch({\n type: \"delete-node\",\n payload: { ids: ids.map((d) => parseInt(d)) },\n });\n },\n onSelect: handleSelect,\n children: _Node,\n idAccessor(d) {\n return d.id.toString();\n },\n }),\n );\n}\n\nfunction TypeList({ types, selected, dispatch, selectedNodes, tree }) {\n const [selectedType, setSelectedType] = useState(null);\n const isSelectedNodes = selectedNodes.length > 0;\n const darkMode = useInDarkMode();\n const luminance = darkMode ? 0.9 : 0.4;\n\n return h(\"div.type-list-container\", [\n h(\n \"div.type-list-header\",\n isSelectedNodes && !selectedType\n ? \"Change selected nodes to:\"\n : \"Entity Types\",\n ),\n h(\n \"div.type-list\",\n Array.from(types.values()).map((type) =>\n h(TypeTag, {\n type,\n luminance,\n selectedType,\n setSelectedType,\n dispatch,\n tree,\n selectedNodes,\n selected,\n isSelectedNodes,\n }),\n ),\n ),\n h(AddType, { dispatch }),\n ]);\n}\n\nfunction collectMatchingIds(tree, id) {\n const ids = [];\n\n function traverse(node) {\n if (node.type.id === id) {\n ids.push(node.id);\n }\n if (Array.isArray(node.children)) {\n node.children.forEach(traverse);\n }\n }\n\n tree.forEach(traverse);\n return ids;\n}\n\nfunction AddType({ dispatch }) {\n const [overlayOpen, setOverlayOpen] = useState(false);\n\n const saveHandler = (payload) => {\n dispatch({\n type: \"add-entity-type\",\n payload,\n });\n setOverlayOpen(false);\n };\n\n return h(\"div.add-type-container\", [\n h(\"div.add-type\", { onClick: () => setOverlayOpen(true) }, [\n h(\"p.add-type-text\", \"Add new type\"),\n h(Icon, { icon: \"plus\" }),\n ]),\n h(TypeOverlay, {\n setOverlayOpen,\n overlayOpen,\n title: \"Add New Type\",\n saveHandler,\n }),\n ]);\n}\n\nfunction EditType({ dispatch, type }) {\n const [editorOpen, setEditorOpen] = useState(false);\n\n const saveHandler = (payload) => {\n dispatch({\n type: \"update-entity-type\",\n payload,\n });\n setEditorOpen(false);\n };\n\n return h(\"div.edit-type\", [\n h(Icon, {\n icon: \"edit\",\n className: \"edit-icon\",\n onClick: (e) => {\n e.stopPropagation();\n setEditorOpen(true);\n },\n }),\n h(TypeOverlay, {\n setOverlayOpen: setEditorOpen,\n overlayOpen: editorOpen,\n originalType: type,\n title: \"Edit Type\",\n saveHandler,\n }),\n ]);\n}\n\nfunction TypeOverlay({\n setOverlayOpen,\n overlayOpen,\n originalType,\n title,\n saveHandler,\n}) {\n const { name, description, color, id } = originalType || {};\n\n const [nameInput, setNameInput] = useState(name || \"\");\n const [descriptionInput, setDescriptionInput] = useState(description || \"\");\n const [colorInput, setColorInput] = useState(color || \"#fff\");\n\n return h(\n Overlay2,\n {\n isOpen: overlayOpen,\n },\n h(\n \"div.overlay-container\",\n h(\"div.add-type-overlay\", [\n h(\"h2.title\", [\n title,\n h(Icon, {\n icon: \"cross\",\n className: \"close-icon\",\n onClick: () => {\n setOverlayOpen(false);\n },\n style: { cursor: \"pointer\", color: \"red\" },\n }),\n ]),\n h(\"div.form-group\", [\n h(\"div.text-inputs\", [\n h(\"div.form-field.name\", [\n h(\"p.label\", \"Name\"),\n h(\"input\", {\n type: \"text\",\n placeholder: \"Enter type name\",\n onChange: (e) => setNameInput(e.target.value),\n value: nameInput,\n }),\n ]),\n h(\"div.form-field.form-description\", [\n h(\"p.label\", \"Description\"),\n h(\"input\", {\n type: \"text\",\n placeholder: \"Enter type description\",\n onChange: (e) => setDescriptionInput(e.target.value),\n value: descriptionInput,\n }),\n ]),\n ]),\n h(\"div.form-field.color\", [\n h(\"p.label\", \"Color\"),\n h(ColorPicker, {\n value: colorInput,\n onChange: (color) => setColorInput(color),\n style: { width: \"100%\" },\n }),\n ]),\n ]),\n h(\n SaveButton,\n {\n className: \"save-btn\",\n small: true,\n onClick: () =>\n saveHandler({\n name: nameInput,\n description: descriptionInput,\n color: colorInput,\n id,\n }),\n },\n \"Save changes\",\n ),\n ]),\n ),\n );\n}\n\nfunction TypeTag({\n type,\n luminance,\n selectedType,\n setSelectedType,\n dispatch,\n tree,\n selectedNodes,\n selected,\n isSelectedNodes,\n}) {\n const { color, name, id, description } = type;\n const darkMode = useInDarkMode();\n const isSelected = id === selected?.id && selectedNodes.length > 0;\n\n const style = getTagStyle(color, {\n active: isSelected,\n highlighted: selectedNodes.length === 0,\n });\n\n const payload = {\n id,\n name,\n color,\n description,\n };\n\n const ids = collectMatchingIds(tree, id);\n\n const handleTagClick = () => {\n if (!isSelectedNodes && selectedType === null) {\n if (ids.length > 0) {\n setSelectedType(type);\n dispatch({ type: \"toggle-node-selected\", payload: { ids } });\n }\n } else if (isSelectedNodes && selectedType === null) {\n if (id === selected?.id && selectedNodes.length > 0) {\n dispatch({\n type: \"toggle-node-selected\",\n payload: { ids: selectedNodes },\n });\n } else {\n dispatch({ type: \"select-entity-type\", payload });\n }\n } else if (isSelectedNodes && selectedType.id === id) {\n setSelectedType(null);\n dispatch({ type: \"toggle-node-selected\", payload: { ids } });\n } else if (isSelectedNodes && selectedType.id !== id) {\n if (ids.length > 0) {\n setSelectedType(type);\n const oldIds = collectMatchingIds(tree, selectedType.id);\n\n dispatch({ type: \"toggle-node-selected\", payload: { ids: oldIds } });\n dispatch({ type: \"toggle-node-selected\", payload: { ids } });\n }\n } else {\n console.warn(\"Unexpected state in TypeTag click handler\", {\n isSelectedNodes,\n selectedType,\n selectedNodes,\n ids,\n id,\n selected,\n });\n }\n };\n\n return h(\n Popover,\n {\n autoFocus: false,\n content: h(\"div.description\", description || \"No description available\"),\n interactionKind: \"hover\",\n },\n h(\n \"div.type-tag\",\n {\n onClick: handleTagClick,\n style: {\n cursor:\n ids.length > 0 || (isSelectedNodes && !selectedType)\n ? \"pointer\"\n : \"\",\n color: \"black\",\n backgroundColor: style.backgroundColor,\n border: isSelected\n ? `1px solid var(--text-emphasized-color)`\n : `1px solid var(--background-color)`,\n },\n },\n h(\"div.type-container\", [\n h(\"div.type-name\", name),\n h(\"div.icons\", [\n h(EditType, {\n dispatch,\n type,\n }),\n h(Icon, {\n icon: \"cross\",\n className: \"delete-type-icon\",\n style: { color: \"red\", cursor: \"pointer\" },\n onClick: (e) => {\n e.stopPropagation();\n dispatch({\n type: \"delete-entity-type\",\n payload: { id },\n });\n },\n }),\n ]),\n ]),\n ),\n );\n}\n"],"names":["$ajJMX$macrostrathyper","Tree","$ajJMX$Tree","useState","$ajJMX$useState","useRef","$ajJMX$useRef","useCallback","$ajJMX$useCallback","useEffect","$ajJMX$useEffect","SegmentedControl","$ajJMX$SegmentedControl","Card","$ajJMX$Card","ButtonGroup","$ajJMX$ButtonGroup","Divider","$ajJMX$Divider","Icon","$ajJMX$Icon","Overlay2","$ajJMX$Overlay2","Popover","$ajJMX$Popover","ErrorBoundary","$ajJMX$ErrorBoundary","FlexRow","$ajJMX$FlexRow","CancelButton","$ajJMX$CancelButton","SaveButton","$ajJMX$SaveButton","useInDarkMode","$ajJMX$useInDarkMode","$ajJMX$useelementdimensions","ColorPicker","$ajJMX$ColorPicker","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$2c86488f2f3c1edd$exports","$2c86488f2f3c1edd$export$a90600c9da52b40c","treeToGraph","$9wFEx","$bQY4Q","$3OP12","$edvRb","$eedTh","$iKZjQ","$bK9Of","$2c86488f2f3c1edd$var$h","styled","a","__esModule","default","entities","text","model","entityTypes","matchComponent","onSave","allowOverlap","state","dispatch","useUpdatableTree","map","$2c86488f2f3c1edd$var$processEntity","selectedNodes","tree","selectedEntityType","isSelectingEntityType","entityTypesMap","width","height","ref","TreeDispatchContext","Provider","value","description","FeedbackText","nodes","alignItems","justifyContent","ModelInfo","data","options","label","viewMode","small","onValueChange","console","log","type","payload","if","$2c86488f2f3c1edd$var$ManagedSelectionTree","GraphView","className","vertical","fill","minimal","alignText","icon","disabled","initialTree","onClick","$2c86488f2f3c1edd$var$EntityTypeSelector","selected","onChange","isOpen","setOpen","entity","term_type","name","txt_range","indices","children","_selected","undefined","inputValue","setInputValue","types","Array","from","values","items","filter","d","toLowerCase","includes","$2c86488f2f3c1edd$var$TypeList","OmniboxSelector","selectedItem","onSelectItem","item","onQueryChange","query","onClose","props","clickedRef","_Node","current","$2c86488f2f3c1edd$var$setsAreTheSame","b","size","has","Set","toString","selectedIds","setSelection","ids","anchor","mostRecent","ctrlPressedRef","down","ctrlKey","metaKey","up","window","addEventListener","removeEventListener","onPointerDown","onMove","dragIds","parentId","index","parseInt","onDelete","onSelect","isMultiSelect","length","idAccessor","selectedType","setSelectedType","isSelectedNodes","luminance","darkMode","$2c86488f2f3c1edd$var$TypeTag","$2c86488f2f3c1edd$var$AddType","$2c86488f2f3c1edd$var$collectMatchingIds","forEach","traverse","node","push","isArray","overlayOpen","setOverlayOpen","$2c86488f2f3c1edd$var$TypeOverlay","title","saveHandler","$2c86488f2f3c1edd$var$EditType","editorOpen","setEditorOpen","stopPropagation","originalType","color","nameInput","setNameInput","descriptionInput","setDescriptionInput","colorInput","setColorInput","style","cursor","placeholder","target","isSelected","getTagStyle","active","highlighted","autoFocus","content","interactionKind","warn","backgroundColor","border","FeedbackComponent","$330ae695507d96f5$export$8d9dbb7a64bf2a5e"],"version":3,"file":"feedback-components.561466ac.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./feedback-components.b7946db4.js";import"./feedback-components.c459cc27.js";import"./feedback-components.8b03e8be.js";import e from"@macrostrat/hyper";import{forceSimulation as r,forceLink as t,forceManyBody as o,forceCenter as a,forceCollide as i}from"d3-force";import{useState as s,useEffect as c}from"react";import{Spinner as l,Switch as n}from"@blueprintjs/core";import{ErrorBoundary as d}from"@macrostrat/ui-components";var p=globalThis,h={},f={},u=p.parcelRequirea149;null==u&&((u=function(e){if(e in h)return h[e].exports;if(e in f){var r=f[e];delete f[e];var t={id:e,exports:{}};return h[e]=t,r.call(t.exports,t,t.exports),t.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,r){f[e]=r},p.parcelRequirea149=u),u.register;var g=u("eedTh"),m=u("9wFEx"),b=u("edvRb");let k=e.styled(m&&m.__esModule?m.default:m);function x(e){let{tree:p,width:h,height:f,dispatch:u,selectedNodes:m}=e,[x,y]=s(null),[w,v]=s(null),[S,_]=s(!1);return(c(()=>{let{nodes:e,edges:s}=(0,g.treeToGraph)(p),c=new Map(e.map(e=>[e.id,e])),l=s.map(e=>({source:c.get(e.source),target:c.get(e.dest),strength:1})),n=r(e).force("link",t(l)).force("charge",o().strength(-50)).force("center",a(h/2,f/2)).force("collide",i().radius(20)).on("tick",()=>{console.log("Simulation tick")}).on("end",()=>{y(e),v(l)});return()=>{n.stop()}},[p,h,f]),null==x||null==w)?k(l):(console.log("Graph",x,w,m),k(d,{description:"An error occurred while rendering the graph view."},k("div.graph-view",{style:{width:h,height:f}},[k(n,{className:"show-labels-switch",label:"Show Labels",checked:S,onChange:e=>_(e.target.checked)}),k("svg",{width:h,height:f},[k("g.links",w.map(e=>k("line",{x1:e.source.x,y1:e.source.y,x2:e.target.x,y2:e.target.y,stroke:"black"}))),k("g.nodes",x.map(e=>{var r,t,o;let a=m.includes(e.id),i=(r=e.id,t=m,o=x,0===t.length||t.includes(r)||o.some(e=>t.includes(e.id)&&e.children.some(e=>e.id===r))),s=(0,b.getTagStyle)(e.color,{highlighted:i,active:a});return k("g",[k("circle",{cx:e.x,cy:e.y,r:8,fill:s.backgroundColor||"blue",onClick:r=>{r.stopPropagation(),u({type:"toggle-node-selected",payload:{ids:[e.id]}})},className:a?"selected":"",stroke:a?"white":"black",strokeWidth:2}),k.if(S)("text",{x:e.x+10,y:e.y+4,className:"node-label"},e.name||`Node ${e.id}`),k.if(!S)("title",e.name||`Node ${e.id}`)])}))])])))}export{x as GraphView};
|
|
2
|
+
//# sourceMappingURL=feedback-components.571ee23c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,oD,A,O,oD,A,O,oD,A,Q,M,mB,A,Q,mB,C,C,a,C,C,iB,C,C,e,C,C,gB,C,K,U,A,Q,Y,C,C,a,C,K,O,A,Q,W,C,C,U,C,K,mB,A,Q,iB,C,K,2B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,S,E,E,SCkBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAU,CAMzB,EAGC,GAAM,CAAA,KAAE,CAAI,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAA,SAAE,CAAQ,CAAA,cAAE,CAAa,CAAE,CAAG,EAEnD,CAAC,EAAO,EAAS,CAAG,AAAA,EAAgC,MACpD,CAAC,EAAO,EAAS,CAAG,AAAA,EAAgC,MACpD,CAAC,EAAY,EAAc,CAAG,AAAA,EAAS,CAAA,SAsC7C,CApCA,AAAA,EAAU,KACR,GAAM,CAAA,MAAE,CAAK,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,WAAU,AAAV,EAAY,GAE/B,EAAW,IAAI,IACnB,EAAM,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,EAAE,CAAE,EAAE,GAGtB,EAAQ,EAAM,GAAG,CAAC,AAAC,GAChB,CAAA,CACL,OAAQ,EAAS,GAAG,CAAC,EAAE,MAAM,EAC7B,OAAQ,EAAS,GAAG,CAAC,EAAE,IAAI,EAC3B,SAAU,CACZ,CAAA,GAGI,EAAa,AAAA,EAAgB,GAChC,KAAK,CAAC,OAAQ,AAAA,EAAU,IACxB,KAAK,CAAC,SAAU,AAAA,IAAgB,QAAQ,CAAC,MACzC,KAAK,CAAC,SAAU,AAAA,EAAY,EAAQ,EAAG,EAAS,IAChD,KAAK,CAAC,UAAW,AAAA,IAAe,MAAM,CAAC,KACvC,EAAE,CAAC,OAAQ,KAGV,QAAQ,GAAG,CAAC,kBACd,GACC,EAAE,CAAC,MAAO,KAET,EAAS,GACT,EAAS,EACX,GAEF,MAAO,KACL,EAAW,IAAI,EACjB,CACF,EAAG,CAAC,EAAM,EAAO,EAAO,EAEpB,AAAS,MAAT,GAAiB,AAAS,MAAT,GACZ,EAAE,IAGX,QAAQ,GAAG,CAAC,QAAS,EAAO,EAAO,GAE5B,EACL,EACA,CACE,YAAa,mDACf,EACA,EAAE,iBAAkB,CAAE,MAAO,CAAE,MAAA,EAAO,OAAA,CAAO,CAAE,EAAG,CAChD,EAAE,EAAQ,CACR,UAAW,qBACX,MAAO,cACP,QAAS,EACT,SAAU,AAAC,GAAM,EAAc,EAAE,MAAM,CAAC,OAAO,CACjD,GACA,EAAE,MAAO,CAAE,MAAA,EAAO,OAAA,CAAO,EAAG,CAC1B,EACE,UACA,EAAM,GAAG,CAAC,AAAC,GACF,EAAE,OAAQ,CACf,GAAI,EAAE,MAAM,CAAC,CAAC,CACd,GAAI,EAAE,MAAM,CAAC,CAAC,CACd,GAAI,EAAE,MAAM,CAAC,CAAC,CACd,GAAI,EAAE,MAAM,CAAC,CAAC,CACd,OAAQ,OACV,KAGJ,EACE,UACA,EAAM,GAAG,CAAC,AAAC,QAyCE,EAAY,EAAyB,EAxChD,IAAM,EAAS,EAAc,QAAQ,CAAC,EAAE,EAAE,EAEpC,GAsCK,EAtCuB,EAAE,EAAE,CAsCf,EAtCiB,EAsCQ,EAtCO,EAuCjE,AAA6B,IAAzB,EAAc,MAAM,EAEtB,EAAc,QAAQ,CAAC,IACvB,EAAM,IAAI,CACR,AAAC,GACC,EAAc,QAAQ,CAAC,EAAK,EAAE,GAC9B,EAAK,QAAQ,CAAC,IAAI,CAAC,AAAC,GAAU,EAAM,EAAE,GAAK,KA5CjC,EAAQ,AAAA,CAAA,EAAA,EAAA,WAAU,AAAV,EAAY,EAAE,KAAK,CAAE,CAAE,YAAA,EAAa,OAAA,CAAO,GAEzD,OAAO,EAAE,IAAK,CACZ,EAAE,SAAU,CACV,GAAI,EAAE,CAAC,CACP,GAAI,EAAE,CAAC,CACP,EAAG,EACH,KAAM,EAAM,eAAe,EAAI,OAC/B,QAAS,AAAC,IACR,EAAE,eAAe,GACjB,EAAS,CACP,KAAM,uBACN,QAAS,CAAE,IAAK,CAAC,EAAE,EAAE,CAAC,AAAC,CACzB,EACF,EACA,UAAW,EAAS,WAAa,GACjC,OAlBW,EAAS,QAAU,QAmB9B,YAAa,CACf,GACA,EAAE,EAAE,CAAC,GACH,OACA,CACE,EAAG,EAAE,CAAC,CAAG,GACT,EAAG,EAAE,CAAC,CAAG,EACT,UAAW,YACb,EACA,EAAE,IAAI,EAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAA,CAAE,EAE1B,EAAE,EAAE,CAAC,CAAC,GAAY,QAAS,EAAE,IAAI,EAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAA,CAAE,EACpD,CACH,IAEH,EACF,GAEL,Q,K,S","sources":["<anon>","packages/feedback-components/src/feedback/graph.ts"],"sourcesContent":["import \"./feedback-components.b7946db4.js\";\nimport \"./feedback-components.c459cc27.js\";\nimport \"./feedback-components.8b03e8be.js\";\nimport $9bqpz$macrostrathyper from \"@macrostrat/hyper\";\nimport {forceSimulation as $9bqpz$forceSimulation, forceLink as $9bqpz$forceLink, forceManyBody as $9bqpz$forceManyBody, forceCenter as $9bqpz$forceCenter, forceCollide as $9bqpz$forceCollide} from \"d3-force\";\nimport {useState as $9bqpz$useState, useEffect as $9bqpz$useEffect} from \"react\";\nimport {Spinner as $9bqpz$Spinner, Switch as $9bqpz$Switch} from \"@blueprintjs/core\";\nimport {ErrorBoundary as $9bqpz$ErrorBoundary} from \"@macrostrat/ui-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\nvar $eedTh = parcelRequire(\"eedTh\");\n\nvar $9wFEx = parcelRequire(\"9wFEx\");\n\n\n\n\n\n\nvar $edvRb = parcelRequire(\"edvRb\");\nconst $8732cb0ae0ae3dfd$var$h = (0, $9bqpz$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($9wFEx))));\nfunction $8732cb0ae0ae3dfd$export$6a7fe3ef90e8d566(props) {\n // A graph view with react-flow\n // Get positions of nodes using force simulation\n const { tree: tree, width: width, height: height, dispatch: dispatch, selectedNodes: selectedNodes } = props;\n const [nodes, setNodes] = (0, $9bqpz$useState)(null);\n const [links, setLinks] = (0, $9bqpz$useState)(null);\n const [showLabels, setShowLabels] = (0, $9bqpz$useState)(false);\n (0, $9bqpz$useEffect)(()=>{\n const { nodes: nodes, edges: edges } = (0, $eedTh.treeToGraph)(tree);\n const nodesMap = new Map(nodes.map((d)=>[\n d.id,\n d\n ]));\n const links = edges.map((d)=>{\n return {\n source: nodesMap.get(d.source),\n target: nodesMap.get(d.dest),\n strength: 1\n };\n });\n const simulation = (0, $9bqpz$forceSimulation)(nodes).force(\"link\", (0, $9bqpz$forceLink)(links)).force(\"charge\", (0, $9bqpz$forceManyBody)().strength(-50)).force(\"center\", (0, $9bqpz$forceCenter)(width / 2, height / 2)).force(\"collide\", (0, $9bqpz$forceCollide)().radius(20)).on(\"tick\", ()=>{\n // Update the positions of the nodes\n // setNodes(nodes);\n console.log(\"Simulation tick\");\n }).on(\"end\", ()=>{\n // Update the positions of the nodes\n setNodes(nodes);\n setLinks(links);\n });\n return ()=>{\n simulation.stop();\n };\n }, [\n tree,\n width,\n height\n ]);\n if (nodes == null || links == null) return $8732cb0ae0ae3dfd$var$h((0, $9bqpz$Spinner));\n console.log(\"Graph\", nodes, links, selectedNodes);\n return $8732cb0ae0ae3dfd$var$h((0, $9bqpz$ErrorBoundary), {\n description: \"An error occurred while rendering the graph view.\"\n }, $8732cb0ae0ae3dfd$var$h(\"div.graph-view\", {\n style: {\n width: width,\n height: height\n }\n }, [\n $8732cb0ae0ae3dfd$var$h((0, $9bqpz$Switch), {\n className: \"show-labels-switch\",\n label: \"Show Labels\",\n checked: showLabels,\n onChange: (e)=>setShowLabels(e.target.checked)\n }),\n $8732cb0ae0ae3dfd$var$h(\"svg\", {\n width: width,\n height: height\n }, [\n $8732cb0ae0ae3dfd$var$h(\"g.links\", links.map((d)=>{\n return $8732cb0ae0ae3dfd$var$h(\"line\", {\n x1: d.source.x,\n y1: d.source.y,\n x2: d.target.x,\n y2: d.target.y,\n stroke: \"black\"\n });\n })),\n $8732cb0ae0ae3dfd$var$h(\"g.nodes\", nodes.map((d)=>{\n const active = selectedNodes.includes(d.id);\n const stroke = active ? \"white\" : \"black\";\n const highlighted = $8732cb0ae0ae3dfd$var$isHighlighted(d.id, selectedNodes, nodes);\n const style = (0, $edvRb.getTagStyle)(d.color, {\n highlighted: highlighted,\n active: active\n });\n return $8732cb0ae0ae3dfd$var$h(\"g\", [\n $8732cb0ae0ae3dfd$var$h(\"circle\", {\n cx: d.x,\n cy: d.y,\n r: 8,\n fill: style.backgroundColor || \"blue\",\n onClick: (e)=>{\n e.stopPropagation();\n dispatch({\n type: \"toggle-node-selected\",\n payload: {\n ids: [\n d.id\n ]\n }\n });\n },\n className: active ? \"selected\" : \"\",\n stroke: stroke,\n strokeWidth: 2\n }),\n $8732cb0ae0ae3dfd$var$h.if(showLabels)(\"text\", {\n x: d.x + 10,\n y: d.y + 4,\n className: \"node-label\"\n }, d.name || `Node ${d.id}`),\n $8732cb0ae0ae3dfd$var$h.if(!showLabels)(\"title\", d.name || `Node ${d.id}`)\n ]);\n }))\n ])\n ]));\n}\nfunction $8732cb0ae0ae3dfd$var$isHighlighted(id, selectedNodes, nodes) {\n if (selectedNodes.length === 0) return true;\n return selectedNodes.includes(id) || nodes.some((node)=>selectedNodes.includes(node.id) && node.children.some((child)=>child.id === id));\n}\n\n\nexport {$8732cb0ae0ae3dfd$export$6a7fe3ef90e8d566 as GraphView};\n//# sourceMappingURL=feedback-components.571ee23c.js.map\n","import { TreeData } from \"./types\";\nimport { treeToGraph } from \"./edit-state\";\nimport styles from \"./feedback.module.sass\";\nimport hyper from \"@macrostrat/hyper\";\nimport {\n forceSimulation,\n SimulationNodeDatum,\n SimulationLinkDatum,\n forceCenter,\n forceLink,\n forceManyBody,\n forceCollide,\n} from \"d3-force\";\nimport { useEffect, useState } from \"react\";\nimport { Spinner, Switch } from \"@blueprintjs/core\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { getTagStyle } from \"../extractions\";\n\nconst h = hyper.styled(styles);\n\nexport function GraphView(props: {\n tree: TreeData[];\n width: number;\n height: number;\n dispatch: (action: any) => void;\n selectedNodes: number[];\n}) {\n // A graph view with react-flow\n // Get positions of nodes using force simulation\n const { tree, width, height, dispatch, selectedNodes } = props;\n\n const [nodes, setNodes] = useState<SimulationNodeDatum[]>(null);\n const [links, setLinks] = useState<SimulationLinkDatum[]>(null);\n const [showLabels, setShowLabels] = useState(false);\n\n useEffect(() => {\n const { nodes, edges } = treeToGraph(tree);\n\n const nodesMap = new Map<number, SimulationNodeDatum>(\n nodes.map((d) => [d.id, d]),\n );\n\n const links = edges.map((d) => {\n return {\n source: nodesMap.get(d.source),\n target: nodesMap.get(d.dest),\n strength: 1,\n };\n });\n\n const simulation = forceSimulation(nodes)\n .force(\"link\", forceLink(links))\n .force(\"charge\", forceManyBody().strength(-50))\n .force(\"center\", forceCenter(width / 2, height / 2))\n .force(\"collide\", forceCollide().radius(20))\n .on(\"tick\", () => {\n // Update the positions of the nodes\n // setNodes(nodes);\n console.log(\"Simulation tick\");\n })\n .on(\"end\", () => {\n // Update the positions of the nodes\n setNodes(nodes);\n setLinks(links);\n });\n\n return () => {\n simulation.stop();\n };\n }, [tree, width, height]);\n\n if (nodes == null || links == null) {\n return h(Spinner);\n }\n\n console.log(\"Graph\", nodes, links, selectedNodes);\n\n return h(\n ErrorBoundary,\n {\n description: \"An error occurred while rendering the graph view.\",\n },\n h(\"div.graph-view\", { style: { width, height } }, [\n h(Switch, {\n className: \"show-labels-switch\",\n label: \"Show Labels\",\n checked: showLabels,\n onChange: (e) => setShowLabels(e.target.checked),\n }),\n h(\"svg\", { width, height }, [\n h(\n \"g.links\",\n links.map((d) => {\n return h(\"line\", {\n x1: d.source.x,\n y1: d.source.y,\n x2: d.target.x,\n y2: d.target.y,\n stroke: \"black\",\n });\n }),\n ),\n h(\n \"g.nodes\",\n nodes.map((d) => {\n const active = selectedNodes.includes(d.id);\n const stroke = active ? \"white\" : \"black\";\n const highlighted = isHighlighted(d.id, selectedNodes, nodes);\n const style = getTagStyle(d.color, { highlighted, active });\n\n return h(\"g\", [\n h(\"circle\", {\n cx: d.x,\n cy: d.y,\n r: 8,\n fill: style.backgroundColor || \"blue\",\n onClick: (e) => {\n e.stopPropagation();\n dispatch({\n type: \"toggle-node-selected\",\n payload: { ids: [d.id] },\n });\n },\n className: active ? \"selected\" : \"\",\n stroke,\n strokeWidth: 2,\n }),\n h.if(showLabels)(\n \"text\",\n {\n x: d.x + 10,\n y: d.y + 4,\n className: \"node-label\",\n },\n d.name || `Node ${d.id}`,\n ),\n h.if(!showLabels)(\"title\", d.name || `Node ${d.id}`),\n ]);\n }),\n ),\n ]),\n ]),\n );\n}\n\nfunction isHighlighted(id: number, selectedNodes: number[], nodes: TreeData[]) {\n if (selectedNodes.length === 0) return true;\n return (\n selectedNodes.includes(id) ||\n nodes.some(\n (node) =>\n selectedNodes.includes(node.id) &&\n node.children.some((child) => child.id === id),\n )\n );\n}\n"],"names":["$9bqpz$macrostrathyper","forceSimulation","$9bqpz$forceSimulation","forceLink","$9bqpz$forceLink","forceManyBody","$9bqpz$forceManyBody","forceCenter","$9bqpz$forceCenter","forceCollide","$9bqpz$forceCollide","useState","$9bqpz$useState","useEffect","$9bqpz$useEffect","Spinner","$9bqpz$Spinner","Switch","$9bqpz$Switch","ErrorBoundary","$9bqpz$ErrorBoundary","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$eedTh","$9wFEx","$edvRb","$8732cb0ae0ae3dfd$var$h","styled","a","__esModule","default","$8732cb0ae0ae3dfd$export$6a7fe3ef90e8d566","props","tree","width","height","dispatch","selectedNodes","nodes","setNodes","links","setLinks","showLabels","setShowLabels","edges","treeToGraph","nodesMap","Map","map","d","source","get","target","dest","strength","simulation","force","radius","on","console","log","stop","description","style","className","label","checked","onChange","e","x1","x","y1","y","x2","y2","stroke","active","includes","highlighted","length","some","node","children","child","getTagStyle","color","cx","cy","r","fill","backgroundColor","onClick","stopPropagation","type","payload","ids","strokeWidth","if","name","GraphView"],"version":3,"file":"feedback-components.571ee23c.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t,i,n){Object.defineProperty(e,t,{get:i,set:n,enumerable:!0,configurable:!0})}var t,i,n={};e(n,"entities",()=>t,e=>t=e),e(n,"entity",()=>i,e=>i=e),t="UZr1Jq_entities",i="UZr1Jq_entity";
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
function e(e,t,i,n){Object.defineProperty(e,t,{get:i,set:n,enumerable:!0,configurable:!0})}var t,i,n={};e(n,"entities",()=>t,e=>t=e),e(n,"entity",()=>i,e=>i=e),t="UZr1Jq_entities",i="UZr1Jq_entity";export{n as default};
|
|
2
|
+
//# sourceMappingURL=feedback-components.794f429b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,E,E,C,E,E,E,W,I,E,A,G,E,G,E,E,S,I,E,A,G,E,GADA,EAA6B,kBAC7B,EAA2B,uB,K,O","sources":["<anon>","packages/feedback-components/src/extractions/main.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $1c152ab3b3d783a7$exports = {};\n\n$parcel$export($1c152ab3b3d783a7$exports, \"entities\", () => $1c152ab3b3d783a7$export$5345fd892b40e1f6, (v) => $1c152ab3b3d783a7$export$5345fd892b40e1f6 = v);\n$parcel$export($1c152ab3b3d783a7$exports, \"entity\", () => $1c152ab3b3d783a7$export$4b5127edceda427d, (v) => $1c152ab3b3d783a7$export$4b5127edceda427d = v);\nvar $1c152ab3b3d783a7$export$5345fd892b40e1f6;\nvar $1c152ab3b3d783a7$export$4b5127edceda427d;\n$1c152ab3b3d783a7$export$5345fd892b40e1f6 = `UZr1Jq_entities`;\n$1c152ab3b3d783a7$export$4b5127edceda427d = `UZr1Jq_entity`;\n\n\nexport {$1c152ab3b3d783a7$exports as default};\n//# sourceMappingURL=feedback-components.794f429b.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$1c152ab3b3d783a7$export$5345fd892b40e1f6","$1c152ab3b3d783a7$export$4b5127edceda427d","$1c152ab3b3d783a7$exports","default"],"version":3,"file":"feedback-components.794f429b.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.UZr1Jq_entities{padding-left:0;list-style:none}.UZr1Jq_entities .UZr1Jq_entities ul{list-style:none}.UZr1Jq_entity{margin:.2em 0 .5em;padding-right:3px}
|
|
2
|
-
/*# sourceMappingURL=
|
|
2
|
+
/*# sourceMappingURL=feedback-components.83c21466.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"ACAA,gDAIE,qDAGF","sources":["feedback-components.83c21466.css","packages/feedback-components/src/extractions/main.module.sass"],"sourcesContent":[".UZr1Jq_entities {\n padding-left: 0;\n list-style: none;\n}\n\n.UZr1Jq_entities .UZr1Jq_entities ul {\n list-style: none;\n}\n\n.UZr1Jq_entity {\n margin: .2em 0 .5em;\n padding-right: 3px;\n}\n/*# sourceMappingURL=feedback-components.83c21466.css.map */\n",".entities\n list-style: none\n padding-left: 0\n\n .entities ul\n list-style: none\n\n.entity\n margin: 0.2em 0 0.5em\n padding-right: 3px\n"],"names":[],"version":3,"file":"feedback-components.83c21466.css.map","sourceRoot":"../../../../"}
|