jarvisx17 commited on
Commit
0f75f16
·
verified ·
1 Parent(s): 9d54df3

Upload 10 files

Browse files
Files changed (10) hide show
  1. 1707395398692.jpeg +0 -0
  2. devs.jpeg +0 -0
  3. download.png +0 -0
  4. image.png +0 -0
  5. index.html +367 -19
  6. new.csv +45 -0
  7. nura.png +0 -0
  8. package.json +9 -0
  9. style.css +3 -27
  10. tsconfig.json +5 -0
1707395398692.jpeg ADDED
devs.jpeg ADDED
download.png ADDED
image.png ADDED
index.html CHANGED
@@ -1,19 +1,367 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script src="https://d3js.org/d3.v7.min.js"></script>
2
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
3
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]/build/d3-flextree.js"></script>
4
+
5
+ <style type="text/css">
6
+ .hide {
7
+ display: none;
8
+ }
9
+
10
+ .drag-enabled:not(.dragging-active) .node.draggable {
11
+ stroke: grey;
12
+ stroke-width: 3px;
13
+ stroke-dasharray: 2px;
14
+ }
15
+
16
+ .drag-enabled.dragging-active .droppable {
17
+ stroke: green;
18
+ stroke-width: 3px;
19
+ stroke-dasharray: 5px;
20
+ }
21
+
22
+ .node.dragging {
23
+ stroke-dasharray: 0 !important;
24
+ stroke-width: 0 !important;
25
+ }
26
+
27
+ .node.dragging .content-container {
28
+ background-color: #ffffff;
29
+ }
30
+ </style>
31
+
32
+ <script>
33
+ var chart = null;
34
+ let dragNode;
35
+ let dropNode;
36
+ let dragEnabled = false;
37
+ let dragStartX;
38
+ let dragStartY;
39
+ let isDragStarting = false;
40
+
41
+ let undoActions = [];
42
+ let redoActions = [];
43
+
44
+ // This is the data used - https://github.com/bumbeishvili/sample-data/blob/main/data-oracle.csv
45
+ d3.csv(
46
+ 'new.csv',
47
+ ).then((data) => {
48
+ console.log(data);
49
+ chart = new d3.OrgChart()
50
+ .nodeHeight((d) => 85 + 25)
51
+ .nodeWidth((d) => 220 + 2)
52
+ .childrenMargin((d) => 50)
53
+ .compactMarginBetween((d) => 35)
54
+ .compactMarginPair((d) => 30)
55
+ .neighbourMargin((a, b) => 20)
56
+ .nodeContent(function (d, i, arr, state) {
57
+ return generateContent(d);
58
+ })
59
+ .nodeEnter(function (node) {
60
+ d3.select(this).call(
61
+ d3
62
+ .drag()
63
+ .filter(function (x, node) {
64
+ return dragEnabled && this.classList.contains('draggable');
65
+ })
66
+ .on('start', function (d, node) {
67
+ onDragStart(this, d, node);
68
+ })
69
+ .on('drag', function (dragEvent, node) {
70
+ onDrag(this, dragEvent);
71
+ })
72
+ .on('end', function (d) {
73
+ onDragEnd(this, d);
74
+ })
75
+ );
76
+ })
77
+ .nodeUpdate(function (d) {
78
+ if (d.id === '102' || d.id === '120' || d.id === '124') {
79
+ d3.select(this).classed('droppable', false);
80
+ } else {
81
+ d3.select(this).classed('droppable', true);
82
+ }
83
+
84
+ if (d.id === '101') {
85
+ d3.select(this).classed('draggable', false);
86
+ } else {
87
+ d3.select(this).classed('draggable', true);
88
+ }
89
+ })
90
+ .container('.chart-container')
91
+ .data(data)
92
+ .render();
93
+ });
94
+
95
+ function onDragStart(element, dragEvent, node) {
96
+ dragNode = node;
97
+ const width = dragEvent.subject.width;
98
+ const half = width / 2;
99
+ const x = dragEvent.x - half;
100
+ dragStartX = x;
101
+ dragStartY = parseFloat(dragEvent.y);
102
+ isDragStarting = true;
103
+
104
+ d3.select(element).classed('dragging', true);
105
+ }
106
+
107
+ function onDrag(element, dragEvent) {
108
+ if (!dragNode) {
109
+ return;
110
+ }
111
+
112
+ const state = chart.getChartState();
113
+ const g = d3.select(element);
114
+
115
+ // This condition is designed to run at the start of a drag only
116
+ if (isDragStarting) {
117
+ isDragStarting = false;
118
+ document
119
+ .querySelector('.chart-container')
120
+ .classList.add('dragging-active');
121
+
122
+ // This sets the Z-Index above all other nodes, by moving the dragged node to be the last-child.
123
+ g.raise();
124
+
125
+ const descendants = dragEvent.subject.descendants();
126
+ const linksToRemove = [...(descendants || []), dragEvent.subject];
127
+ const nodesToRemove = descendants.filter(
128
+ (x) => x.data.id !== dragEvent.subject.id
129
+ );
130
+
131
+ // Remove all links associated with the dragging node
132
+ state['linksWrapper']
133
+ .selectAll('path.link')
134
+ .data(linksToRemove, (d) => state.nodeId(d))
135
+ .remove();
136
+
137
+ // Remove all descendant nodes associated with the dragging node
138
+ if (nodesToRemove) {
139
+ state['nodesWrapper']
140
+ .selectAll('g.node')
141
+ .data(nodesToRemove, (d) => state.nodeId(d))
142
+ .remove();
143
+ }
144
+ }
145
+
146
+ dropNode = null;
147
+ const cP = {
148
+ width: dragEvent.subject.width,
149
+ height: dragEvent.subject.height,
150
+ left: dragEvent.x,
151
+ right: dragEvent.x + dragEvent.subject.width,
152
+ top: dragEvent.y,
153
+ bottom: dragEvent.y + dragEvent.subject.height,
154
+ midX: dragEvent.x + dragEvent.subject.width / 2,
155
+ midY: dragEvent.y + dragEvent.subject.height / 2,
156
+ };
157
+
158
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
159
+ const allNodes = d3.selectAll('g.node:not(.dragging)');
160
+ allNodes.select('rect').attr('fill', 'none');
161
+
162
+ allNodes
163
+ .filter(function (d2, i) {
164
+ const cPInner = {
165
+ left: d2.x,
166
+ right: d2.x + d2.width,
167
+ top: d2.y,
168
+ bottom: d2.y + d2.height,
169
+ };
170
+
171
+ if (
172
+ cP.midX > cPInner.left &&
173
+ cP.midX < cPInner.right &&
174
+ cP.midY > cPInner.top &&
175
+ cP.midY < cPInner.bottom &&
176
+ this.classList.contains('droppable')
177
+ ) {
178
+ dropNode = d2;
179
+ return d2;
180
+ }
181
+ })
182
+ .select('rect')
183
+ .attr('fill', '#e4e1e1');
184
+
185
+ dragStartX += parseFloat(dragEvent.dx);
186
+ dragStartY += parseFloat(dragEvent.dy);
187
+ g.attr('transform', 'translate(' + dragStartX + ',' + dragStartY + ')');
188
+ }
189
+
190
+ function onDragEnd(element, dragEvent) {
191
+ document
192
+ .querySelector('.chart-container')
193
+ .classList.remove('dragging-active');
194
+
195
+ if (!dragNode) {
196
+ return;
197
+ }
198
+
199
+ d3.select(element).classed('dragging', false);
200
+
201
+ if (!dropNode) {
202
+ chart.render();
203
+ return;
204
+ }
205
+
206
+ if (dragEvent.subject.parent.id === dropNode.id) {
207
+ chart.render();
208
+ return;
209
+ }
210
+
211
+ d3.select(element).remove();
212
+
213
+ const data = chart.getChartState().data;
214
+ const node = data?.find((x) => x.id === dragEvent.subject.id);
215
+ const oldParentId = node.parentId;
216
+ node.parentId = dropNode.id;
217
+
218
+ redoActions = [];
219
+ undoActions.push({
220
+ id: dragEvent.subject.id,
221
+ parentId: oldParentId,
222
+ });
223
+
224
+ dropNode = null;
225
+ dragNode = null;
226
+ chart.render();
227
+ updateDragActions();
228
+ }
229
+
230
+ function enableDrag() {
231
+ dragEnabled = true;
232
+ document.querySelector('.chart-container').classList.add('drag-enabled');
233
+ document.getElementById('enableDragButton').classList.add('hide');
234
+ document.getElementById('dragActions').classList.remove('hide');
235
+ }
236
+
237
+ function disableDrag() {
238
+ dragEnabled = false;
239
+ document.querySelector('.chart-container').classList.remove('drag-enabled');
240
+ document.getElementById('enableDragButton').classList.remove('hide');
241
+ document.getElementById('dragActions').classList.add('hide');
242
+ undoActions = [];
243
+ redoActions = [];
244
+ updateDragActions();
245
+ }
246
+
247
+ function cancelDrag() {
248
+ if (undoActions.length === 0) {
249
+ disableDrag();
250
+ return;
251
+ }
252
+
253
+ const data = chart.getChartState().data;
254
+ undoActions.reverse().forEach((action) => {
255
+ const node = data.find((x) => x.id === action.id);
256
+ node.parentId = action.parentId;
257
+ });
258
+
259
+ disableDrag();
260
+ chart.render();
261
+ }
262
+
263
+ function undo() {
264
+ const action = undoActions.pop();
265
+ if (action) {
266
+ const node = chart.getChartState().data.find((x) => x.id === action.id);
267
+ const currentParentId = node.parentId;
268
+ const previousParentId = action.parentId;
269
+ action.parentId = currentParentId;
270
+ node.parentId = previousParentId;
271
+
272
+ redoActions.push(action);
273
+ chart.render();
274
+ updateDragActions();
275
+ }
276
+ }
277
+
278
+ function redo() {
279
+ const action = redoActions.pop();
280
+ if (action) {
281
+ const node = chart.getChartState().data.find((x) => x.id === action.id);
282
+ const currentParentId = node.parentId;
283
+ const previousParentId = action.parentId;
284
+ action.parentId = currentParentId;
285
+ node.parentId = previousParentId;
286
+ undoActions.push(action);
287
+ chart.render();
288
+ updateDragActions();
289
+ }
290
+ }
291
+
292
+ function updateDragActions() {
293
+ if (undoActions.length > 0) {
294
+ const undoButton = document.getElementById('undoButton');
295
+ undoButton.disabled = false;
296
+ } else {
297
+ undoButton.disabled = true;
298
+ }
299
+
300
+ if (redoActions.length > 0) {
301
+ const redoButton = document.getElementById('redoButton');
302
+ redoButton.disabled = false;
303
+ } else {
304
+ redoButton.disabled = true;
305
+ }
306
+ }
307
+
308
+ function generateContent(d) {
309
+ const color = '#FFFFFF';
310
+ const imageDiffVert = 25 + 2;
311
+ return `
312
+ <div class="node-container" style='
313
+ width:${d.width}px;
314
+ height:${d.height}px;
315
+ padding-top:${imageDiffVert - 2}px;
316
+ padding-left:1px;
317
+ padding-right:1px'>
318
+ <div class="content-container" style="font-family: 'Inter', sans-serif; margin-left:-1px;width:${
319
+ d.width - 2
320
+ }px;height:${
321
+ d.height - imageDiffVert
322
+ }px;border-radius:10px;border: ${
323
+ d.data._highlighted || d.data._upToTheRootHighlighted
324
+ ? '5px solid #E27396"'
325
+ : '1px solid #E4E2E9"'
326
+ } >
327
+ <div style="display:flex;justify-content:flex-end;margin-top:5px;margin-right:8px">#${
328
+ d.data.id
329
+ }</div>
330
+ <div style="margin-top:${
331
+ -imageDiffVert - 20
332
+ }px;margin-left:${15}px;border-radius:100px;width:50px;height:50px;" ></div>
333
+ <div style="margin-top:${
334
+ -imageDiffVert - 20
335
+ }px;"> <img src=" ${
336
+ d.data.image
337
+ }" style="margin-left:${20}px;border-radius:100px;width:40px;height:40px;" /></div>
338
+ <div style="font-size:15px;color:#08011E;margin-left:20px;margin-top:10px"> ${
339
+ d.data.name
340
+ } </div>
341
+ <div style="color:#716E7B;margin-left:20px;margin-top:3px;font-size:10px;"> ${
342
+ d.data.position
343
+ } </div>
344
+
345
+ </div>
346
+ </div>
347
+ `;
348
+ }
349
+ </script>
350
+
351
+ <!--
352
+ This is the code which is used to show of feature , other parts of the code are part of the boilerplate
353
+
354
+ -->
355
+
356
+ <button id="enableDragButton" onclick="enableDrag()">Organize</button>
357
+ <div id="dragActions" class="hide">
358
+ <button id="finishDrag" onclick="disableDrag()">Done</button>
359
+ <button id="undoButton" disabled onclick="undo()">Undo</button>
360
+ <button id="redoButton" disabled onclick="redo()">Redo</button>
361
+ <button id="cancelDrag" onclick="cancelDrag()">Cancel</button>
362
+ </div>
363
+
364
+ <!--
365
+ End of adding node functionality
366
+ -->
367
+ <div class="chart-container"></div>
new.csv ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id,parentId,name,position,image
2
+ 1000,,Project Tree,All Projects,https://aemi.ie/wp-content/uploads/2021/10/Project-Arts-Centre-Logo-Black-1-scaled.jpg
3
+ 101,1000,Benefits Boost,Allison Bergmann,https://static.vecteezy.com/system/resources/previews/004/698/023/non_2x/the-initial-letter-bb-logo-design-free-vector.jpg
4
+ 102,1000,Avocat,Andres Levando,1707395398692.jpeg
5
+ 103,1000,Ubix,Peter,https://avatars.githubusercontent.com/u/17702955?s=200&v=4
6
+ 104,1000,Bmoxi,Shawn Haydel,image.png
7
+ 105,1000,Nalu,Samual,download.png
8
+ 106,101,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
9
+ 107,106,Dhara Solanki,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjU9qfxBupvJHrajC-orgLWaPWHKCh7Z55ch2YKJyTgXCrfz-OI=s128-p-k-rw-no
10
+ 108,106,Gneya Pandya,Shadow Developer, https://img.freepik.com/free-vector/young-redhead-woman_24877-82290.jpg
11
+ 109,106,Rutvi Rajesh,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjWtXxouenXBLtDqiyYCStIHzTQ693c5vxPZHqhLF4f6RYq972U=s128-p-k-rw-no
12
+ 109,105,Rutvi Rajesh,Main Developer, https://lh3.googleusercontent.com/a-/ALV-UjWtXxouenXBLtDqiyYCStIHzTQ693c5vxPZHqhLF4f6RYq972U=s128-p-k-rw-no
13
+ 110,102,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
14
+ 111,104,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
15
+ 112,111,Neha Rani,Shadow Developer, https://img.freepik.com/free-vector/woman-green-with-blue-hair_24877-81805.jpg
16
+ 113,111,Harsh Shanghvi,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjXOexOP5mMTJ3Gdeta5WK06vHHKevbIRn468hpmgB6oEEMyM3WN=s128-p-k-rw-no
17
+ 114,111,Prit Manvar,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjVUkndwQt_YXXCjzWuQtr5AEnpyKyLiNDtIYRCfS7qINjeptRw=s128-p-k-rw-no
18
+ 115,103,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
19
+ 116,103,Nayan Gajjar,Main Developer, https://bumbeishvili.github.io/avatars/avatars/portrait109.png
20
+ 117,103,Hima Soni,Main Developer, https://lh3.googleusercontent.com/a-/ALV-UjV0wedvoTt_fYcTttZaZIFdH64vxzgv2cfZ2EyJr6NsZU0kAFc=s88-w88-h88-c-k-no
21
+ 118,103,Ravi Nandani,Main Developer, https://img.freepik.com/premium-photo/male-female-profile-avatar-user-avatars-gender-icons_1020867-74966.jpg
22
+ 119,103,Ketan Nandani,Main Developer, https://lh3.googleusercontent.com/a-/ALV-UjUvcgsN4vgkYoYybcMDTaYLw_e0KDwLeSQxxlUUpb6rq6J9U_0=s128-p-k-rw-no
23
+ 120,1000,Bank OCR,HDFC BANK,https://s3-symbol-logo.tradingview.com/hdfc-bank--600.png
24
+ 121,120,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
25
+ 122,121,Kuldeep,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjVu2CScpMWttor6QmiSIFSk1RVv7Bvpz9z5C3uCvxznjsukx3A=s128-p-k-rw-no
26
+ 123,1000,IVY Mobility ,Nisarg Patel,https://dynamic.placementindia.com/recruiter_comp_logo/866155_20190911141539.jpg
27
+ 124,123,Ravi Nandani,Main Developer, https://img.freepik.com/premium-photo/male-female-profile-avatar-user-avatars-gender-icons_1020867-74966.jpg
28
+ 125,124,Yash Kothari,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjWNgiF6Hi9gQJRran9UgR3Hzb2wyk6JFypsV7Uz9XYthWPDzlmG=s64-p
29
+ 126,124,Dharak Patel,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjX0xWov15jBbgxX5L0pC_BYnVGblnlWWlWlvXFBLjPOMF3jlNZ5=s72-p-k-rw-no
30
+ 127,1000,Stackshare.io ,Stackshare LLP,https://media.licdn.com/dms/image/C560BAQF6ChuKvla6GA/company-logo_200_200/0/1631347132099?e=2147483647&v=beta&t=2mcDHTt1hXykVN_5UVZM_ZM9KU2hgM--PlkOy83SMYs
31
+ 128,127,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
32
+ 129,1000,Bacancy GPT ,Bacancy Technology,https://develop4u.co/media/reviews/photos/thumbnail/200x200c/10/03/4a/bacancy-logo-B-21-1591877541.png
33
+ 130,129,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
34
+ 131,129,Hima Soni,Main Developer, https://lh3.googleusercontent.com/a-/ALV-UjV0wedvoTt_fYcTttZaZIFdH64vxzgv2cfZ2EyJr6NsZU0kAFc=s88-w88-h88-c-k-no
35
+ 132,1000,NueraTN,Resume Parser,nura.png
36
+ 133,132,Jignesh Patel,Main Developer, https://lh3.googleusercontent.com/a/ACg8ocLxB0MrNvQWrnXrs95LqCPAIf0HkVasJT10O335Z6D1x6V9JQw=s128-p-k-rw-no
37
+ 134,133,Dhara Solanki,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjU9qfxBupvJHrajC-orgLWaPWHKCh7Z55ch2YKJyTgXCrfz-OI=s128-p-k-rw-no
38
+ 135,133,Gneya Pandya,Shadow Developer, https://img.freepik.com/free-vector/young-redhead-woman_24877-82290.jpg
39
+ 136,1000,Free Project,Free Developers,devs.jpeg
40
+ 137,136,Simran Chandani,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjVRhgphz6U2BTgMwj3kYMw9wTadFy4m2Qc5ixFg-J4-HZzmr-c=s72-p-k-rw-no
41
+ 138,136,Aakash Bhavsar,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjULDWP4XPXYyhNvqjmAD-PTVKKFFnXosrzadxMDdpUlvZd3hjI=s32-c
42
+ 139,136,Amir Ali,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjXrWM2yR5ittP-qgdNjvPHgs5fF4DS4WMenPZdnB23vNI2ibns=s32-c
43
+ 140,136,Pratham Patel,Shadow Developer, https://lh3.googleusercontent.com/a-/ALV-UjW5PBbzwhSUuQtUPDzKR3A6t6e15UF8jAXQ6gbUZQH5JgN-t9M=s32-c
44
+ 141,136,Dhara Adesara,Shadow Developer, https://img.freepik.com/free-vector/young-redhead-woman_24877-82290.jpg
45
+ 142,136,Avnisha Patel,Shadow Developer,https://lh3.googleusercontent.com/a-/ALV-UjW3QipS6uLnN95fa-Zppg8IYgcm62WUqPnVzRUijrAOfpPfXVQ=s32-c
nura.png ADDED
package.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "js",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "dependencies": {
6
+ "d3-org-chart": "github:joelcoxokc/org-chart#feat/drag"
7
+ }
8
+ }
9
+
style.css CHANGED
@@ -1,28 +1,4 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
- }
5
-
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
- }
10
-
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
- }
17
-
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
- }
25
-
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
1
+ h1,
2
+ h2 {
3
+ font-family: Lato;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
tsconfig.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "esnext"
4
+ }
5
+ }