powr-sdk-web 4.1.1 → 4.1.2

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.
@@ -242,12 +242,6 @@ var AdminDashboard = function AdminDashboard(_ref) {
242
242
  return /*#__PURE__*/_react["default"].createElement("div", {
243
243
  style: styles.container
244
244
  }, /*#__PURE__*/_react["default"].createElement("div", {
245
- style: styles.header
246
- }, /*#__PURE__*/_react["default"].createElement("h1", {
247
- style: styles.title
248
- }, "Admin Dashboard"), /*#__PURE__*/_react["default"].createElement("p", {
249
- style: styles.subtitle
250
- }, "Manage your project settings and users")), /*#__PURE__*/_react["default"].createElement("div", {
251
245
  style: styles.grid
252
246
  }, sections.map(function (section, index) {
253
247
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -24,11 +24,164 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
24
24
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25
25
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
26
26
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
27
+ // Inline styles for the tasks component
28
+ var styles = {
29
+ container: {
30
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
31
+ color: '#374151',
32
+ background: '#ffffff',
33
+ borderRadius: '8px',
34
+ boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
35
+ overflow: 'hidden'
36
+ },
37
+ containerDark: {
38
+ background: '#1f2937',
39
+ color: '#f9fafb'
40
+ },
41
+ header: {
42
+ padding: '24px 24px 0',
43
+ borderBottom: '1px solid #e5e7eb'
44
+ },
45
+ headerDark: {
46
+ borderBottomColor: '#374151'
47
+ },
48
+ headerTitle: {
49
+ fontSize: '24px',
50
+ fontWeight: '700',
51
+ margin: '0 0 8px 0',
52
+ color: '#111827'
53
+ },
54
+ headerTitleDark: {
55
+ color: '#f9fafb'
56
+ },
57
+ headerSubtitle: {
58
+ fontSize: '14px',
59
+ color: '#6b7280',
60
+ margin: '0 0 24px 0'
61
+ },
62
+ headerSubtitleDark: {
63
+ color: '#9ca3af'
64
+ },
65
+ content: {
66
+ padding: '24px'
67
+ },
68
+ loading: {
69
+ display: 'flex',
70
+ alignItems: 'center',
71
+ justifyContent: 'center',
72
+ minHeight: '200px',
73
+ fontSize: '16px',
74
+ color: '#6b7280'
75
+ },
76
+ loadingDark: {
77
+ color: '#9ca3af'
78
+ },
79
+ error: {
80
+ padding: '24px',
81
+ textAlign: 'center'
82
+ },
83
+ errorMessage: {
84
+ color: '#dc2626',
85
+ marginBottom: '16px',
86
+ fontSize: '14px'
87
+ },
88
+ errorMessageDark: {
89
+ color: '#f87171'
90
+ },
91
+ retryButton: {
92
+ background: '#2563eb',
93
+ color: 'white',
94
+ border: 'none',
95
+ padding: '8px 16px',
96
+ borderRadius: '6px',
97
+ fontSize: '14px',
98
+ cursor: 'pointer',
99
+ transition: 'background 0.2s ease'
100
+ },
101
+ addButton: {
102
+ background: '#2563eb',
103
+ color: 'white',
104
+ border: 'none',
105
+ padding: '12px 24px',
106
+ borderRadius: '6px',
107
+ fontSize: '14px',
108
+ fontWeight: '500',
109
+ cursor: 'pointer',
110
+ display: 'flex',
111
+ alignItems: 'center',
112
+ gap: '8px',
113
+ transition: 'background 0.2s ease'
114
+ },
115
+ addButtonHover: {
116
+ background: '#1d4ed8'
117
+ },
118
+ table: {
119
+ width: '100%',
120
+ borderCollapse: 'collapse',
121
+ fontSize: '14px'
122
+ },
123
+ tableHeader: {
124
+ background: '#f9fafb',
125
+ borderBottom: '1px solid #e5e7eb'
126
+ },
127
+ tableHeaderCell: {
128
+ padding: '12px 16px',
129
+ textAlign: 'left',
130
+ fontWeight: '600',
131
+ color: '#374151',
132
+ fontSize: '12px',
133
+ textTransform: 'uppercase',
134
+ letterSpacing: '0.05em'
135
+ },
136
+ tableRow: {
137
+ borderBottom: '1px solid #f3f4f6',
138
+ transition: 'background-color 0.2s ease'
139
+ },
140
+ tableRowHover: {
141
+ background: '#f9fafb'
142
+ },
143
+ tableCell: {
144
+ padding: '16px',
145
+ verticalAlign: 'top'
146
+ },
147
+ statusBadge: {
148
+ padding: '4px 12px',
149
+ borderRadius: '20px',
150
+ fontSize: '12px',
151
+ fontWeight: '600',
152
+ display: 'inline-flex'
153
+ },
154
+ statusActive: {
155
+ background: '#dcfce7',
156
+ color: '#166534'
157
+ },
158
+ statusInactive: {
159
+ background: '#fef2f2',
160
+ color: '#dc2626'
161
+ },
162
+ actionButton: {
163
+ padding: '6px',
164
+ borderRadius: '6px',
165
+ border: 'none',
166
+ cursor: 'pointer',
167
+ marginRight: '4px',
168
+ transition: 'all 0.2s ease'
169
+ },
170
+ emptyState: {
171
+ textAlign: 'center',
172
+ padding: '60px 20px',
173
+ color: '#6b7280'
174
+ }
175
+ };
27
176
  var PowrBaseTasks = function PowrBaseTasks(_ref) {
28
177
  var _tools$find;
29
178
  var apiUrl = _ref.apiUrl,
30
179
  onError = _ref.onError,
31
- projectId = _ref.projectId;
180
+ projectId = _ref.projectId,
181
+ _ref$theme = _ref.theme,
182
+ theme = _ref$theme === void 0 ? 'light' : _ref$theme,
183
+ _ref$className = _ref.className,
184
+ className = _ref$className === void 0 ? '' : _ref$className;
32
185
  var _useState = (0, _react.useState)([]),
33
186
  _useState2 = _slicedToArray(_useState, 2),
34
187
  tasks = _useState2[0],
@@ -354,76 +507,15 @@ var PowrBaseTasks = function PowrBaseTasks(_ref) {
354
507
  };
355
508
  if (loading) {
356
509
  return /*#__PURE__*/_react["default"].createElement("div", {
357
- style: {
358
- padding: '20px',
359
- textAlign: 'center'
360
- }
361
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Loading scheduled tasks..."));
510
+ style: _objectSpread(_objectSpread({}, styles.loading), theme === 'dark' ? styles.loadingDark : {})
511
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Loading tasks..."));
362
512
  }
363
513
  return /*#__PURE__*/_react["default"].createElement("div", {
364
- style: {
365
- padding: '20px',
366
- maxWidth: '1200px',
367
- margin: '0 auto'
368
- }
514
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.container), theme === 'dark' ? styles.containerDark : {}), className)
369
515
  }, /*#__PURE__*/_react["default"].createElement("div", {
370
- style: {
371
- display: 'flex',
372
- justifyContent: 'space-between',
373
- alignItems: 'center',
374
- marginBottom: '30px',
375
- borderBottom: '1px solid #e5e7eb',
376
- paddingBottom: '20px'
377
- }
378
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h1", {
379
- style: {
380
- fontSize: '2rem',
381
- fontWeight: 'bold',
382
- color: '#1f2937',
383
- margin: '0 0 8px 0'
384
- }
385
- }, "\uD83D\uDCC5 Scheduled Tasks"), /*#__PURE__*/_react["default"].createElement("p", {
386
- style: {
387
- color: '#6b7280',
388
- margin: '0',
389
- fontSize: '1.1rem'
390
- }
391
- }, "Manage your automated workflows and scheduled actions")), /*#__PURE__*/_react["default"].createElement("button", {
392
- onClick: function onClick() {
393
- setEditingTask(null);
394
- resetForm();
395
- setShowCreateModal(true);
396
- },
397
- style: {
398
- background: 'linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%)',
399
- color: 'white',
400
- padding: '12px 24px',
401
- borderRadius: '8px',
402
- border: 'none',
403
- fontSize: '1rem',
404
- fontWeight: '600',
405
- cursor: 'pointer',
406
- display: 'flex',
407
- alignItems: 'center',
408
- gap: '8px',
409
- transition: 'all 0.3s ease',
410
- boxShadow: '0 4px 15px rgba(59, 130, 246, 0.3)'
411
- }
412
- }, /*#__PURE__*/_react["default"].createElement(_lucideReact.Plus, {
413
- size: 20
414
- }), "Create Task")), /*#__PURE__*/_react["default"].createElement("div", {
415
- style: {
416
- background: 'white',
417
- borderRadius: '12px',
418
- boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',
419
- overflow: 'hidden'
420
- }
516
+ style: styles.content
421
517
  }, tasks.length === 0 ? /*#__PURE__*/_react["default"].createElement("div", {
422
- style: {
423
- padding: '60px 20px',
424
- textAlign: 'center',
425
- color: '#6b7280'
426
- }
518
+ style: styles.emptyState
427
519
  }, /*#__PURE__*/_react["default"].createElement(_lucideReact.Clock, {
428
520
  size: 48,
429
521
  style: {
@@ -439,90 +531,30 @@ var PowrBaseTasks = function PowrBaseTasks(_ref) {
439
531
  style: {
440
532
  margin: '0 0 24px 0'
441
533
  }
442
- }, "Create your first scheduled task to automate your workflows"), /*#__PURE__*/_react["default"].createElement("button", {
443
- onClick: function onClick() {
444
- setEditingTask(null);
445
- resetForm();
446
- setShowCreateModal(true);
447
- },
448
- style: {
449
- background: 'linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%)',
450
- color: 'white',
451
- padding: '10px 20px',
452
- borderRadius: '6px',
453
- border: 'none',
454
- fontSize: '0.9rem',
455
- fontWeight: '500',
456
- cursor: 'pointer'
457
- }
458
- }, "Create Your First Task")) : /*#__PURE__*/_react["default"].createElement("div", {
534
+ }, "No tasks have been created for this project yet")) : /*#__PURE__*/_react["default"].createElement("div", {
459
535
  style: {
460
536
  overflowX: 'auto'
461
537
  }
462
538
  }, /*#__PURE__*/_react["default"].createElement("table", {
463
- style: {
464
- width: '100%',
465
- borderCollapse: 'collapse',
466
- fontSize: '0.9rem'
467
- }
468
- }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", {
469
- style: {
470
- background: '#f9fafb',
471
- borderBottom: '1px solid #e5e7eb'
472
- }
473
- }, /*#__PURE__*/_react["default"].createElement("th", {
474
- style: {
475
- padding: '16px',
476
- textAlign: 'left',
477
- fontWeight: '600',
478
- color: '#374151'
479
- }
539
+ style: styles.table
540
+ }, /*#__PURE__*/_react["default"].createElement("thead", {
541
+ style: styles.tableHeader
542
+ }, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", {
543
+ style: styles.tableHeaderCell
480
544
  }, "Task"), /*#__PURE__*/_react["default"].createElement("th", {
481
- style: {
482
- padding: '16px',
483
- textAlign: 'left',
484
- fontWeight: '600',
485
- color: '#374151'
486
- }
545
+ style: styles.tableHeaderCell
487
546
  }, "Schedule"), /*#__PURE__*/_react["default"].createElement("th", {
488
- style: {
489
- padding: '16px',
490
- textAlign: 'left',
491
- fontWeight: '600',
492
- color: '#374151'
493
- }
547
+ style: styles.tableHeaderCell
494
548
  }, "Last Run"), /*#__PURE__*/_react["default"].createElement("th", {
495
- style: {
496
- padding: '16px',
497
- textAlign: 'left',
498
- fontWeight: '600',
499
- color: '#374151'
500
- }
501
- }, "Next Run"), /*#__PURE__*/_react["default"].createElement("th", {
502
- style: {
503
- padding: '16px',
504
- textAlign: 'center',
505
- fontWeight: '600',
506
- color: '#374151'
507
- }
549
+ style: styles.tableHeaderCell
508
550
  }, "Status"), /*#__PURE__*/_react["default"].createElement("th", {
509
- style: {
510
- padding: '16px',
511
- textAlign: 'center',
512
- fontWeight: '600',
513
- color: '#374151'
514
- }
551
+ style: styles.tableHeaderCell
515
552
  }, "Actions"))), /*#__PURE__*/_react["default"].createElement("tbody", null, tasks.map(function (task) {
516
553
  return /*#__PURE__*/_react["default"].createElement("tr", {
517
554
  key: task.id,
518
- style: {
519
- borderBottom: '1px solid #f3f4f6',
520
- transition: 'background-color 0.2s ease'
521
- }
555
+ style: styles.tableRow
522
556
  }, /*#__PURE__*/_react["default"].createElement("td", {
523
- style: {
524
- padding: '16px'
525
- }
557
+ style: styles.tableCell
526
558
  }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
527
559
  style: {
528
560
  fontWeight: '600',
@@ -542,9 +574,7 @@ var PowrBaseTasks = function PowrBaseTasks(_ref) {
542
574
  fontWeight: '500'
543
575
  }
544
576
  }, getToolName(task.toolId), " \u2192 ", getActionName(task.toolId, task.actionId)))), /*#__PURE__*/_react["default"].createElement("td", {
545
- style: {
546
- padding: '16px'
547
- }
577
+ style: styles.tableCell
548
578
  }, /*#__PURE__*/_react["default"].createElement("div", {
549
579
  style: {
550
580
  fontFamily: 'monospace',
@@ -555,105 +585,35 @@ var PowrBaseTasks = function PowrBaseTasks(_ref) {
555
585
  borderRadius: '4px'
556
586
  }
557
587
  }, formatCronExpression(task.cronExpression))), /*#__PURE__*/_react["default"].createElement("td", {
588
+ style: styles.tableCell
589
+ }, /*#__PURE__*/_react["default"].createElement("span", {
558
590
  style: {
559
- padding: '16px',
560
- color: '#6b7280',
561
- fontSize: '0.85rem'
562
- }
563
- }, formatDate(task.lastRun)), /*#__PURE__*/_react["default"].createElement("td", {
564
- style: {
565
- padding: '16px',
566
591
  color: '#6b7280',
567
592
  fontSize: '0.85rem'
568
593
  }
569
- }, formatDate(task.nextRun)), /*#__PURE__*/_react["default"].createElement("td", {
570
- style: {
571
- padding: '16px',
572
- textAlign: 'center'
573
- }
594
+ }, formatDate(task.lastRun))), /*#__PURE__*/_react["default"].createElement("td", {
595
+ style: styles.tableCell
574
596
  }, /*#__PURE__*/_react["default"].createElement("span", {
575
- style: {
576
- padding: '4px 12px',
577
- borderRadius: '20px',
578
- fontSize: '0.75rem',
579
- fontWeight: '600',
580
- background: task.isActive ? '#dcfce7' : '#fef2f2',
581
- color: task.isActive ? '#166534' : '#dc2626'
582
- }
597
+ style: _objectSpread(_objectSpread({}, styles.statusBadge), task.isActive ? styles.statusActive : styles.statusInactive)
583
598
  }, task.isActive ? 'Active' : 'Inactive')), /*#__PURE__*/_react["default"].createElement("td", {
584
- style: {
585
- padding: '16px',
586
- textAlign: 'center'
587
- }
599
+ style: styles.tableCell
588
600
  }, /*#__PURE__*/_react["default"].createElement("div", {
589
601
  style: {
590
602
  display: 'flex',
591
603
  gap: '8px',
592
- justifyContent: 'center',
593
- flexWrap: 'wrap'
604
+ justifyContent: 'center'
594
605
  }
595
606
  }, /*#__PURE__*/_react["default"].createElement("button", {
596
- onClick: function onClick() {
597
- return handleToggleTask(task.id, !task.isActive);
598
- },
599
- style: {
600
- padding: '6px',
601
- borderRadius: '6px',
602
- border: 'none',
603
- cursor: 'pointer',
604
- background: task.isActive ? '#fef2f2' : '#dcfce7',
605
- color: task.isActive ? '#dc2626' : '#166534'
606
- },
607
- title: task.isActive ? 'Pause Task' : 'Activate Task'
608
- }, task.isActive ? /*#__PURE__*/_react["default"].createElement(_lucideReact.Pause, {
609
- size: 16
610
- }) : /*#__PURE__*/_react["default"].createElement(_lucideReact.Play, {
611
- size: 16
612
- })), /*#__PURE__*/_react["default"].createElement("button", {
613
607
  onClick: function onClick() {
614
608
  return handleExecuteTask(task.id);
615
609
  },
616
- style: {
617
- padding: '6px',
618
- borderRadius: '6px',
619
- border: 'none',
620
- cursor: 'pointer',
610
+ style: _objectSpread(_objectSpread({}, styles.actionButton), {}, {
621
611
  background: '#dbeafe',
622
612
  color: '#1d4ed8'
623
- },
613
+ }),
624
614
  title: "Execute Now"
625
615
  }, /*#__PURE__*/_react["default"].createElement(_lucideReact.Zap, {
626
616
  size: 16
627
- })), /*#__PURE__*/_react["default"].createElement("button", {
628
- onClick: function onClick() {
629
- return handleEditTask(task);
630
- },
631
- style: {
632
- padding: '6px',
633
- borderRadius: '6px',
634
- border: 'none',
635
- cursor: 'pointer',
636
- background: '#fef3c7',
637
- color: '#d97706'
638
- },
639
- title: "Edit Task"
640
- }, /*#__PURE__*/_react["default"].createElement(_lucideReact.Edit, {
641
- size: 16
642
- })), /*#__PURE__*/_react["default"].createElement("button", {
643
- onClick: function onClick() {
644
- return handleDeleteTask(task.id);
645
- },
646
- style: {
647
- padding: '6px',
648
- borderRadius: '6px',
649
- border: 'none',
650
- cursor: 'pointer',
651
- background: '#fee2e2',
652
- color: '#dc2626'
653
- },
654
- title: "Delete Task"
655
- }, /*#__PURE__*/_react["default"].createElement(_lucideReact.Trash2, {
656
- size: 16
657
617
  })))));
658
618
  }))))), showCreateModal && /*#__PURE__*/_react["default"].createElement("div", {
659
619
  style: {
@@ -386,12 +386,6 @@ var PowrBaseTools = function PowrBaseTools(_ref) {
386
386
  return /*#__PURE__*/_react["default"].createElement("div", {
387
387
  style: _objectSpread(_objectSpread({}, styles.container), theme === 'dark' ? styles.containerDark : {})
388
388
  }, /*#__PURE__*/_react["default"].createElement("div", {
389
- style: _objectSpread(_objectSpread({}, styles.header), theme === 'dark' ? styles.headerDark : {})
390
- }, /*#__PURE__*/_react["default"].createElement("h2", {
391
- style: _objectSpread(_objectSpread({}, styles.headerTitle), theme === 'dark' ? styles.headerTitleDark : {})
392
- }, "Tools"), /*#__PURE__*/_react["default"].createElement("p", {
393
- style: _objectSpread(_objectSpread({}, styles.headerSubtitle), theme === 'dark' ? styles.headerSubtitleDark : {})
394
- }, "Connect and manage your tools and services")), /*#__PURE__*/_react["default"].createElement("div", {
395
389
  style: styles.content
396
390
  }, /*#__PURE__*/_react["default"].createElement(_PowrToolList["default"], {
397
391
  tools: tools,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-web",
3
- "version": "4.1.1",
3
+ "version": "4.1.2",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "babel src -d dist --copy-files",