powr-sdk-web 4.0.2 → 4.0.3

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.
@@ -10,6 +10,7 @@ var _auth = require("../utils/auth");
10
10
  var _PowrToolList = _interopRequireDefault(require("./PowrToolList"));
11
11
  var _PowrToolConfig = _interopRequireDefault(require("./PowrToolConfig"));
12
12
  var _PowrToolStatus = _interopRequireDefault(require("./PowrToolStatus"));
13
+ require("./tools.css");
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t6 in e) "default" !== _t6 && {}.hasOwnProperty.call(e, _t6) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t6)) && (i.get || i.set) ? o(f, _t6, i) : f[_t6] = e[_t6]); return f; })(e, t); }
15
16
  function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
@@ -34,6 +34,31 @@ var PowrToolCard = function PowrToolCard(_ref) {
34
34
  onExecute(tool.id, actionId, params);
35
35
  }
36
36
  };
37
+
38
+ // Get icon based on tool name
39
+ var getToolIcon = function getToolIcon(toolName) {
40
+ var name = toolName.toLowerCase();
41
+ if (name.includes('gmail') || name.includes('email')) return '📧';
42
+ if (name.includes('slack')) return '💬';
43
+ if (name.includes('github')) return '🐙';
44
+ if (name.includes('openai') || name.includes('ai')) return '🤖';
45
+ if (name.includes('stripe') || name.includes('payment')) return '💳';
46
+ if (name.includes('aws') || name.includes('s3')) return '☁️';
47
+ if (name.includes('google') || name.includes('drive')) return '📁';
48
+ if (name.includes('twitter') || name.includes('x')) return '🐦';
49
+ if (name.includes('linkedin')) return '💼';
50
+ if (name.includes('discord')) return '🎮';
51
+ if (name.includes('notion')) return '📝';
52
+ if (name.includes('trello') || name.includes('jira')) return '📋';
53
+ if (name.includes('zoom') || name.includes('meet')) return '📹';
54
+ if (name.includes('calendar')) return '📅';
55
+ if (name.includes('dropbox')) return '📦';
56
+ if (name.includes('figma')) return '🎨';
57
+ if (name.includes('shopify')) return '🛒';
58
+ if (name.includes('mailchimp')) return '📢';
59
+ if (name.includes('hubspot')) return '🎯';
60
+ return '🔧'; // Default icon
61
+ };
37
62
  return /*#__PURE__*/_react["default"].createElement("div", {
38
63
  className: "powr-tool-card ".concat(isEnabled ? 'enabled' : 'disabled', " ").concat(isConfigured ? 'configured' : ''),
39
64
  onClick: function onClick() {
@@ -45,7 +70,7 @@ var PowrToolCard = function PowrToolCard(_ref) {
45
70
  className: "tool-icon"
46
71
  }, /*#__PURE__*/_react["default"].createElement("span", {
47
72
  className: "icon"
48
- }, tool.icon)), /*#__PURE__*/_react["default"].createElement("div", {
73
+ }, getToolIcon(tool.name))), /*#__PURE__*/_react["default"].createElement("div", {
49
74
  className: "tool-info"
50
75
  }, /*#__PURE__*/_react["default"].createElement("h3", {
51
76
  className: "tool-name"
@@ -0,0 +1,680 @@
1
+ /* PowrBaseTools Component Styles */
2
+ .powr-base-tools {
3
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
4
+ color: #374151;
5
+ background: #ffffff;
6
+ border-radius: 8px;
7
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
8
+ overflow: hidden;
9
+ }
10
+
11
+ /* Dark theme */
12
+ .powr-base-tools.theme-dark {
13
+ background: #1f2937;
14
+ color: #f9fafb;
15
+ }
16
+
17
+ /* Header */
18
+ .tools-header {
19
+ padding: 24px 24px 0;
20
+ border-bottom: 1px solid #e5e7eb;
21
+ }
22
+
23
+ .theme-dark .tools-header {
24
+ border-bottom-color: #374151;
25
+ }
26
+
27
+ .tools-header h2 {
28
+ font-size: 24px;
29
+ font-weight: 700;
30
+ margin: 0 0 8px 0;
31
+ color: #111827;
32
+ }
33
+
34
+ .theme-dark .tools-header h2 {
35
+ color: #f9fafb;
36
+ }
37
+
38
+ .tools-header p {
39
+ font-size: 14px;
40
+ color: #6b7280;
41
+ margin: 0 0 24px 0;
42
+ }
43
+
44
+ .theme-dark .tools-header p {
45
+ color: #9ca3af;
46
+ }
47
+
48
+ /* Tabs */
49
+ .tools-tabs {
50
+ display: flex;
51
+ border-bottom: 1px solid #e5e7eb;
52
+ background: #f9fafb;
53
+ }
54
+
55
+ .theme-dark .tools-tabs {
56
+ border-bottom-color: #374151;
57
+ background: #111827;
58
+ }
59
+
60
+ .tools-tabs .tab {
61
+ flex: 1;
62
+ padding: 16px 24px;
63
+ background: none;
64
+ border: none;
65
+ font-size: 14px;
66
+ font-weight: 500;
67
+ color: #6b7280;
68
+ cursor: pointer;
69
+ transition: all 0.2s ease;
70
+ border-bottom: 2px solid transparent;
71
+ }
72
+
73
+ .theme-dark .tools-tabs .tab {
74
+ color: #9ca3af;
75
+ }
76
+
77
+ .tools-tabs .tab:hover {
78
+ color: #374151;
79
+ background: #f3f4f6;
80
+ }
81
+
82
+ .theme-dark .tools-tabs .tab:hover {
83
+ color: #d1d5db;
84
+ background: #1f2937;
85
+ }
86
+
87
+ .tools-tabs .tab.active {
88
+ color: #2563eb;
89
+ border-bottom-color: #2563eb;
90
+ background: #ffffff;
91
+ }
92
+
93
+ .theme-dark .tools-tabs .tab.active {
94
+ background: #1f2937;
95
+ }
96
+
97
+ /* Content */
98
+ .tools-content {
99
+ padding: 24px;
100
+ }
101
+
102
+ /* Loading State */
103
+ .powr-tools-loading {
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ min-height: 200px;
108
+ font-size: 16px;
109
+ color: #6b7280;
110
+ }
111
+
112
+ .theme-dark .powr-tools-loading {
113
+ color: #9ca3af;
114
+ }
115
+
116
+ .loading-spinner {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 12px;
120
+ }
121
+
122
+ .loading-spinner::before {
123
+ content: '';
124
+ width: 20px;
125
+ height: 20px;
126
+ border: 2px solid #e5e7eb;
127
+ border-top: 2px solid #2563eb;
128
+ border-radius: 50%;
129
+ animation: spin 1s linear infinite;
130
+ }
131
+
132
+ @keyframes spin {
133
+ 0% { transform: rotate(0deg); }
134
+ 100% { transform: rotate(360deg); }
135
+ }
136
+
137
+ /* Error State */
138
+ .powr-tools-error {
139
+ padding: 24px;
140
+ text-align: center;
141
+ }
142
+
143
+ .error-message {
144
+ color: #dc2626;
145
+ margin-bottom: 16px;
146
+ font-size: 14px;
147
+ }
148
+
149
+ .theme-dark .error-message {
150
+ color: #f87171;
151
+ }
152
+
153
+ .powr-tools-error button {
154
+ background: #2563eb;
155
+ color: white;
156
+ border: none;
157
+ padding: 8px 16px;
158
+ border-radius: 6px;
159
+ font-size: 14px;
160
+ cursor: pointer;
161
+ transition: background 0.2s ease;
162
+ }
163
+
164
+ .powr-tools-error button:hover {
165
+ background: #1d4ed8;
166
+ }
167
+
168
+ /* Tool List Styles */
169
+ .powr-tool-list {
170
+ width: 100%;
171
+ }
172
+
173
+ /* Filters and Search */
174
+ .tool-filters {
175
+ display: flex;
176
+ gap: 16px;
177
+ margin-bottom: 24px;
178
+ flex-wrap: wrap;
179
+ }
180
+
181
+ .search-box {
182
+ flex: 1;
183
+ min-width: 200px;
184
+ }
185
+
186
+ .search-input {
187
+ width: 100%;
188
+ padding: 12px 16px;
189
+ border: 1px solid #d1d5db;
190
+ border-radius: 8px;
191
+ font-size: 14px;
192
+ background: #ffffff;
193
+ color: #374151;
194
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
195
+ }
196
+
197
+ .theme-dark .search-input {
198
+ background: #374151;
199
+ border-color: #4b5563;
200
+ color: #f9fafb;
201
+ }
202
+
203
+ .search-input:focus {
204
+ outline: none;
205
+ border-color: #2563eb;
206
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
207
+ }
208
+
209
+ .theme-dark .search-input:focus {
210
+ box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3);
211
+ }
212
+
213
+ .filter-controls {
214
+ display: flex;
215
+ gap: 12px;
216
+ }
217
+
218
+ .category-filter,
219
+ .sort-filter {
220
+ padding: 12px 16px;
221
+ border: 1px solid #d1d5db;
222
+ border-radius: 8px;
223
+ font-size: 14px;
224
+ background: #ffffff;
225
+ color: #374151;
226
+ cursor: pointer;
227
+ transition: border-color 0.2s ease;
228
+ }
229
+
230
+ .theme-dark .category-filter,
231
+ .theme-dark .sort-filter {
232
+ background: #374151;
233
+ border-color: #4b5563;
234
+ color: #f9fafb;
235
+ }
236
+
237
+ .category-filter:focus,
238
+ .sort-filter:focus {
239
+ outline: none;
240
+ border-color: #2563eb;
241
+ }
242
+
243
+ /* Results Info */
244
+ .results-info {
245
+ margin-bottom: 16px;
246
+ font-size: 14px;
247
+ color: #6b7280;
248
+ }
249
+
250
+ .theme-dark .results-info {
251
+ color: #9ca3af;
252
+ }
253
+
254
+ /* Tools Grid */
255
+ .tools-grid {
256
+ display: grid;
257
+ grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
258
+ gap: 20px;
259
+ margin-bottom: 24px;
260
+ }
261
+
262
+ /* Tool Card */
263
+ .powr-tool-card {
264
+ background: #ffffff;
265
+ border: 1px solid #e5e7eb;
266
+ border-radius: 12px;
267
+ padding: 20px;
268
+ cursor: pointer;
269
+ transition: all 0.2s ease;
270
+ position: relative;
271
+ }
272
+
273
+ .theme-dark .powr-tool-card {
274
+ background: #374151;
275
+ border-color: #4b5563;
276
+ }
277
+
278
+ .powr-tool-card:hover {
279
+ border-color: #2563eb;
280
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
281
+ transform: translateY(-2px);
282
+ }
283
+
284
+ .theme-dark .powr-tool-card:hover {
285
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
286
+ }
287
+
288
+ .powr-tool-card.enabled {
289
+ border-color: #10b981;
290
+ }
291
+
292
+ .powr-tool-card.configured {
293
+ border-left: 4px solid #2563eb;
294
+ }
295
+
296
+ /* Tool Header */
297
+ .tool-header {
298
+ display: flex;
299
+ align-items: flex-start;
300
+ gap: 16px;
301
+ margin-bottom: 16px;
302
+ }
303
+
304
+ .tool-icon {
305
+ flex-shrink: 0;
306
+ width: 48px;
307
+ height: 48px;
308
+ background: #f3f4f6;
309
+ border-radius: 12px;
310
+ display: flex;
311
+ align-items: center;
312
+ justify-content: center;
313
+ font-size: 24px;
314
+ }
315
+
316
+ .theme-dark .tool-icon {
317
+ background: #4b5563;
318
+ }
319
+
320
+ .tool-info {
321
+ flex: 1;
322
+ min-width: 0;
323
+ }
324
+
325
+ .tool-name {
326
+ font-size: 18px;
327
+ font-weight: 600;
328
+ margin: 0 0 4px 0;
329
+ color: #111827;
330
+ line-height: 1.2;
331
+ }
332
+
333
+ .theme-dark .tool-name {
334
+ color: #f9fafb;
335
+ }
336
+
337
+ .tool-description {
338
+ font-size: 14px;
339
+ color: #6b7280;
340
+ margin: 0 0 8px 0;
341
+ line-height: 1.4;
342
+ }
343
+
344
+ .theme-dark .tool-description {
345
+ color: #9ca3af;
346
+ }
347
+
348
+ .tool-meta {
349
+ display: flex;
350
+ gap: 12px;
351
+ align-items: center;
352
+ }
353
+
354
+ .category {
355
+ background: #dbeafe;
356
+ color: #1e40af;
357
+ padding: 4px 8px;
358
+ border-radius: 6px;
359
+ font-size: 12px;
360
+ font-weight: 500;
361
+ text-transform: capitalize;
362
+ }
363
+
364
+ .theme-dark .category {
365
+ background: #1e3a8a;
366
+ color: #93c5fd;
367
+ }
368
+
369
+ .version {
370
+ font-size: 12px;
371
+ color: #6b7280;
372
+ font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
373
+ }
374
+
375
+ .theme-dark .version {
376
+ color: #9ca3af;
377
+ }
378
+
379
+ .tool-status {
380
+ flex-shrink: 0;
381
+ }
382
+
383
+ .status-badge {
384
+ padding: 4px 8px;
385
+ border-radius: 6px;
386
+ font-size: 12px;
387
+ font-weight: 500;
388
+ }
389
+
390
+ .status-badge.enabled {
391
+ background: #dcfce7;
392
+ color: #166534;
393
+ }
394
+
395
+ .theme-dark .status-badge.enabled {
396
+ background: #14532d;
397
+ color: #86efac;
398
+ }
399
+
400
+ .status-badge.disabled {
401
+ background: #fef2f2;
402
+ color: #991b1b;
403
+ }
404
+
405
+ .theme-dark .status-badge.disabled {
406
+ background: #450a0a;
407
+ color: #fca5a5;
408
+ }
409
+
410
+ /* Tool Actions */
411
+ .tool-actions {
412
+ margin-top: 16px;
413
+ }
414
+
415
+ .available-actions {
416
+ margin-bottom: 16px;
417
+ }
418
+
419
+ .available-actions h4 {
420
+ font-size: 14px;
421
+ font-weight: 600;
422
+ margin: 0 0 8px 0;
423
+ color: #374151;
424
+ }
425
+
426
+ .theme-dark .available-actions h4 {
427
+ color: #d1d5db;
428
+ }
429
+
430
+ .actions-list {
431
+ display: flex;
432
+ flex-direction: column;
433
+ gap: 6px;
434
+ }
435
+
436
+ .action-item {
437
+ display: flex;
438
+ justify-content: space-between;
439
+ align-items: center;
440
+ padding: 8px 12px;
441
+ background: #f9fafb;
442
+ border-radius: 6px;
443
+ font-size: 13px;
444
+ }
445
+
446
+ .theme-dark .action-item {
447
+ background: #4b5563;
448
+ }
449
+
450
+ .action-name {
451
+ font-weight: 500;
452
+ color: #374151;
453
+ }
454
+
455
+ .theme-dark .action-name {
456
+ color: #d1d5db;
457
+ }
458
+
459
+ .action-description {
460
+ color: #6b7280;
461
+ font-size: 12px;
462
+ }
463
+
464
+ .theme-dark .action-description {
465
+ color: #9ca3af;
466
+ }
467
+
468
+ .action-buttons {
469
+ display: flex;
470
+ gap: 8px;
471
+ flex-wrap: wrap;
472
+ }
473
+
474
+ .toggle-btn,
475
+ .test-btn,
476
+ .configure-btn {
477
+ padding: 8px 16px;
478
+ border: none;
479
+ border-radius: 6px;
480
+ font-size: 13px;
481
+ font-weight: 500;
482
+ cursor: pointer;
483
+ transition: all 0.2s ease;
484
+ flex: 1;
485
+ min-width: 80px;
486
+ }
487
+
488
+ .toggle-btn.enabled {
489
+ background: #dc2626;
490
+ color: white;
491
+ }
492
+
493
+ .toggle-btn.enabled:hover {
494
+ background: #b91c1c;
495
+ }
496
+
497
+ .toggle-btn.disabled {
498
+ background: #10b981;
499
+ color: white;
500
+ }
501
+
502
+ .toggle-btn.disabled:hover {
503
+ background: #059669;
504
+ }
505
+
506
+ .test-btn {
507
+ background: #f59e0b;
508
+ color: white;
509
+ }
510
+
511
+ .test-btn:hover {
512
+ background: #d97706;
513
+ }
514
+
515
+ .configure-btn {
516
+ background: #2563eb;
517
+ color: white;
518
+ }
519
+
520
+ .configure-btn:hover {
521
+ background: #1d4ed8;
522
+ }
523
+
524
+ /* Tool Tags */
525
+ .tool-tags {
526
+ display: flex;
527
+ flex-wrap: wrap;
528
+ gap: 6px;
529
+ margin-top: 12px;
530
+ }
531
+
532
+ .tag {
533
+ background: #f3f4f6;
534
+ color: #374151;
535
+ padding: 4px 8px;
536
+ border-radius: 4px;
537
+ font-size: 12px;
538
+ font-weight: 500;
539
+ }
540
+
541
+ .theme-dark .tag {
542
+ background: #4b5563;
543
+ color: #d1d5db;
544
+ }
545
+
546
+ /* Empty State */
547
+ .no-tools {
548
+ grid-column: 1 / -1;
549
+ text-align: center;
550
+ padding: 48px 24px;
551
+ }
552
+
553
+ .empty-state {
554
+ max-width: 400px;
555
+ margin: 0 auto;
556
+ }
557
+
558
+ .empty-icon {
559
+ font-size: 48px;
560
+ margin-bottom: 16px;
561
+ }
562
+
563
+ .empty-state h3 {
564
+ font-size: 18px;
565
+ font-weight: 600;
566
+ margin: 0 0 8px 0;
567
+ color: #374151;
568
+ }
569
+
570
+ .theme-dark .empty-state h3 {
571
+ color: #f9fafb;
572
+ }
573
+
574
+ .empty-state p {
575
+ font-size: 14px;
576
+ color: #6b7280;
577
+ margin: 0 0 16px 0;
578
+ }
579
+
580
+ .theme-dark .empty-state p {
581
+ color: #9ca3af;
582
+ }
583
+
584
+ .clear-filters-btn {
585
+ background: #2563eb;
586
+ color: white;
587
+ border: none;
588
+ padding: 8px 16px;
589
+ border-radius: 6px;
590
+ font-size: 14px;
591
+ cursor: pointer;
592
+ transition: background 0.2s ease;
593
+ }
594
+
595
+ .clear-filters-btn:hover {
596
+ background: #1d4ed8;
597
+ }
598
+
599
+ /* Load More */
600
+ .load-more-section {
601
+ text-align: center;
602
+ margin-top: 24px;
603
+ }
604
+
605
+ .load-more-btn {
606
+ background: #f3f4f6;
607
+ color: #374151;
608
+ border: 1px solid #d1d5db;
609
+ padding: 12px 24px;
610
+ border-radius: 8px;
611
+ font-size: 14px;
612
+ font-weight: 500;
613
+ cursor: pointer;
614
+ transition: all 0.2s ease;
615
+ }
616
+
617
+ .theme-dark .load-more-btn {
618
+ background: #4b5563;
619
+ color: #d1d5db;
620
+ border-color: #6b7280;
621
+ }
622
+
623
+ .load-more-btn:hover {
624
+ background: #e5e7eb;
625
+ border-color: #9ca3af;
626
+ }
627
+
628
+ .theme-dark .load-more-btn:hover {
629
+ background: #6b7280;
630
+ border-color: #9ca3af;
631
+ }
632
+
633
+ /* Configured Tools Section */
634
+ .configured-tools h3 {
635
+ font-size: 20px;
636
+ font-weight: 600;
637
+ margin: 0 0 16px 0;
638
+ color: #111827;
639
+ }
640
+
641
+ .theme-dark .configured-tools h3 {
642
+ color: #f9fafb;
643
+ }
644
+
645
+ /* Responsive Design */
646
+ @media (max-width: 768px) {
647
+ .tools-tabs {
648
+ flex-direction: column;
649
+ }
650
+
651
+ .tools-tabs .tab {
652
+ border-bottom: 1px solid #e5e7eb;
653
+ border-right: none;
654
+ }
655
+
656
+ .theme-dark .tools-tabs .tab {
657
+ border-bottom-color: #374151;
658
+ }
659
+
660
+ .tool-filters {
661
+ flex-direction: column;
662
+ }
663
+
664
+ .filter-controls {
665
+ flex-direction: column;
666
+ }
667
+
668
+ .tools-grid {
669
+ grid-template-columns: 1fr;
670
+ }
671
+
672
+ .tool-header {
673
+ flex-direction: column;
674
+ align-items: flex-start;
675
+ }
676
+
677
+ .action-buttons {
678
+ flex-direction: column;
679
+ }
680
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-web",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "babel src -d dist --copy-files",