slicejs-web-framework 2.4.8 → 3.0.0

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.
Files changed (114) hide show
  1. package/.worktrees/bundling-v2-precompiled-registrars/LICENSE +21 -0
  2. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManager.js +369 -0
  3. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +297 -0
  4. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Controller/Controller.js +972 -0
  5. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.css +620 -0
  6. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.html +73 -0
  7. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.js +1548 -0
  8. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManager.js +338 -0
  9. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManagerDebugger.js +361 -0
  10. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Log.js +10 -0
  11. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Logger.js +146 -0
  12. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Router/Router.js +721 -0
  13. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/StylesManager.js +78 -0
  14. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +84 -0
  15. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Slice.js +504 -0
  16. package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/bundle-v2-runtime-contract.test.js +268 -0
  17. package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/router-loading-finally.test.js +68 -0
  18. package/.worktrees/bundling-v2-precompiled-registrars/api/index.js +286 -0
  19. package/.worktrees/bundling-v2-precompiled-registrars/api/middleware/securityMiddleware.js +253 -0
  20. package/.worktrees/bundling-v2-precompiled-registrars/package.json +37 -0
  21. package/.worktrees/bundling-v2-precompiled-registrars/sliceConfig.schema.json +109 -0
  22. package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.html +22 -0
  23. package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.js +23 -0
  24. package/.worktrees/bundling-v2-precompiled-registrars/src/App/style.css +40 -0
  25. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.css +201 -0
  26. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.html +37 -0
  27. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.js +210 -0
  28. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.css +12 -0
  29. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.html +0 -0
  30. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.js +111 -0
  31. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/FetchManager/FetchManager.js +133 -0
  32. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/IndexedDbManager/IndexedDbManager.js +141 -0
  33. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/LocalStorageManager/LocalStorageManager.js +45 -0
  34. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.css +47 -0
  35. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.html +5 -0
  36. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.js +93 -0
  37. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.css +68 -0
  38. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.html +7 -0
  39. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.js +107 -0
  40. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.css +87 -0
  41. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.html +8 -0
  42. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.js +86 -0
  43. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +130 -0
  44. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +4 -0
  45. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +262 -0
  46. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.css +70 -0
  47. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.html +9 -0
  48. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.js +76 -0
  49. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.css +60 -0
  50. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.html +5 -0
  51. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.js +63 -0
  52. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.css +7 -0
  53. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.html +1 -0
  54. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.js +57 -0
  55. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.css +510 -0
  56. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.html +1 -0
  57. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.js +89 -0
  58. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.eot +0 -0
  59. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.json +555 -0
  60. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.styl +507 -0
  61. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.svg +1485 -0
  62. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.symbol.svg +1059 -0
  63. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.ttf +0 -0
  64. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff +0 -0
  65. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff2 +0 -0
  66. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.css +91 -0
  67. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.html +4 -0
  68. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.js +215 -0
  69. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.css +0 -0
  70. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.html +0 -0
  71. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.js +49 -0
  72. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.css +8 -0
  73. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.html +1 -0
  74. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.js +63 -0
  75. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.css +56 -0
  76. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.html +83 -0
  77. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.js +38 -0
  78. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/MultiRoute/MultiRoute.js +93 -0
  79. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.css +115 -0
  80. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.html +44 -0
  81. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.js +141 -0
  82. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.css +117 -0
  83. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.html +24 -0
  84. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.js +16 -0
  85. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Route/Route.js +93 -0
  86. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.css +84 -0
  87. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.html +8 -0
  88. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.js +195 -0
  89. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.css +76 -0
  90. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.html +8 -0
  91. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.js +102 -0
  92. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.css +36 -0
  93. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.html +1 -0
  94. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.js +126 -0
  95. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.css +8 -0
  96. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.html +1 -0
  97. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.js +48 -0
  98. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/components.js +27 -0
  99. package/.worktrees/bundling-v2-precompiled-registrars/src/Styles/sliceStyles.css +34 -0
  100. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Dark.css +42 -0
  101. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Light.css +31 -0
  102. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Slice.css +47 -0
  103. package/.worktrees/bundling-v2-precompiled-registrars/src/images/Slice.js-logo.png +0 -0
  104. package/.worktrees/bundling-v2-precompiled-registrars/src/images/favicon.ico +0 -0
  105. package/.worktrees/bundling-v2-precompiled-registrars/src/images/im2/Slice.js-logo.png +0 -0
  106. package/.worktrees/bundling-v2-precompiled-registrars/src/routes.js +16 -0
  107. package/.worktrees/bundling-v2-precompiled-registrars/src/sliceConfig.json +73 -0
  108. package/.worktrees/bundling-v2-precompiled-registrars/src/testing.js +888 -0
  109. package/Slice/Components/Structural/Controller/Controller.js +51 -29
  110. package/Slice/Components/Structural/Router/Router.js +25 -24
  111. package/Slice/Slice.js +50 -46
  112. package/Slice/tests/bundle-v2-runtime-contract.test.js +268 -0
  113. package/Slice/tests/router-loading-finally.test.js +68 -0
  114. package/package.json +1 -1
@@ -0,0 +1,620 @@
1
+ #debugger-container {
2
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
3
+ display: none;
4
+ position: fixed;
5
+ top: 20px;
6
+ right: 20px;
7
+ width: 420px;
8
+ height: 85vh;
9
+ max-height: 85vh;
10
+ background: var(--primary-background-color);
11
+ border: 1px solid var(--medium-color);
12
+ border-radius: 12px;
13
+ box-shadow: 0 20px 40px rgba(var(--primary-color-rgb), 0.15), 0 4px 12px rgba(0, 0, 0, 0.1);
14
+ z-index: 10000;
15
+ overflow: hidden;
16
+ backdrop-filter: blur(10px);
17
+ }
18
+
19
+ #debugger-container.active {
20
+ display: flex;
21
+ flex-direction: column;
22
+ }
23
+
24
+ .debugger-header {
25
+ background: linear-gradient(135deg, var(--primary-color), var(--primary-color-shade));
26
+ color: var(--primary-color-contrast);
27
+ padding: 12px 16px;
28
+ border-radius: 12px 12px 0 0;
29
+ user-select: none;
30
+ cursor: grab;
31
+ }
32
+
33
+ .debugger-header:active {
34
+ cursor: grabbing;
35
+ }
36
+
37
+ .header-content {
38
+ display: flex;
39
+ justify-content: space-between;
40
+ align-items: center;
41
+ }
42
+
43
+ .component-info {
44
+ display: flex;
45
+ align-items: center;
46
+ gap: 10px;
47
+ }
48
+
49
+ .component-icon {
50
+ font-size: 20px;
51
+ opacity: 0.9;
52
+ }
53
+
54
+ .component-name {
55
+ font-size: 14px;
56
+ font-weight: 600;
57
+ margin-bottom: 2px;
58
+ }
59
+
60
+ .component-id {
61
+ font-size: 11px;
62
+ opacity: 0.8;
63
+ }
64
+
65
+ .header-actions {
66
+ display: flex;
67
+ gap: 8px;
68
+ }
69
+
70
+ .minimize-btn, #close-debugger {
71
+ background: rgba(255, 255, 255, 0.2);
72
+ border: none;
73
+ color: var(--primary-color-contrast);
74
+ width: 28px;
75
+ height: 28px;
76
+ border-radius: 6px;
77
+ cursor: pointer;
78
+ display: flex;
79
+ align-items: center;
80
+ justify-content: center;
81
+ font-size: 16px;
82
+ font-weight: bold;
83
+ transition: background 0.2s ease;
84
+ }
85
+
86
+ .minimize-btn:hover, #close-debugger:hover {
87
+ background: rgba(255, 255, 255, 0.3);
88
+ }
89
+
90
+ .debugger-content {
91
+ flex: 1;
92
+ display: flex;
93
+ flex-direction: column;
94
+ overflow: hidden;
95
+ }
96
+
97
+ .tabs-container {
98
+ border-bottom: 1px solid var(--medium-color);
99
+ }
100
+
101
+ .tab-nav {
102
+ display: flex;
103
+ background: var(--tertiary-background-color);
104
+ }
105
+
106
+ .tab-btn {
107
+ flex: 1;
108
+ padding: 10px 14px;
109
+ border: none;
110
+ background: transparent;
111
+ color: var(--font-secondary-color);
112
+ font-size: 12px;
113
+ font-weight: 500;
114
+ cursor: pointer;
115
+ transition: all 0.2s ease;
116
+ border-bottom: 2px solid transparent;
117
+ }
118
+
119
+ .tab-btn:hover {
120
+ background: var(--secondary-background-color);
121
+ color: var(--font-primary-color);
122
+ }
123
+
124
+ .tab-btn.active {
125
+ background: var(--primary-background-color);
126
+ color: var(--primary-color);
127
+ border-bottom-color: var(--primary-color);
128
+ font-weight: 600;
129
+ }
130
+
131
+ .tab-content {
132
+ flex: 1;
133
+ overflow: hidden;
134
+ height: calc(85vh - 100px);
135
+ }
136
+
137
+ .tab-pane {
138
+ display: none;
139
+ height: 100%;
140
+ overflow-y: auto;
141
+ overflow-x: hidden;
142
+ padding: 16px;
143
+ }
144
+
145
+ .tab-pane.active {
146
+ display: block;
147
+ }
148
+
149
+ .tab-pane::-webkit-scrollbar {
150
+ width: 4px;
151
+ }
152
+
153
+ .tab-pane::-webkit-scrollbar-track {
154
+ background: var(--tertiary-background-color);
155
+ border-radius: 2px;
156
+ }
157
+
158
+ .tab-pane::-webkit-scrollbar-thumb {
159
+ background: var(--medium-color);
160
+ border-radius: 2px;
161
+ }
162
+
163
+ .tab-pane::-webkit-scrollbar-thumb:hover {
164
+ background: var(--primary-color);
165
+ }
166
+
167
+ .props-container {
168
+ display: flex;
169
+ flex-direction: column;
170
+ gap: 12px;
171
+ margin-bottom: 16px;
172
+ }
173
+
174
+ .props-actions {
175
+ border-top: 1px solid var(--medium-color);
176
+ padding-top: 16px;
177
+ margin-top: 8px;
178
+ }
179
+
180
+ .actions-note {
181
+ margin-top: 12px;
182
+ padding: 8px 12px;
183
+ background: var(--tertiary-background-color);
184
+ border-radius: 6px;
185
+ border: 1px solid var(--medium-color);
186
+ }
187
+
188
+ .actions-note small {
189
+ color: var(--font-secondary-color);
190
+ font-size: 11px;
191
+ display: flex;
192
+ align-items: center;
193
+ gap: 6px;
194
+ }
195
+
196
+ .props-section {
197
+ background: var(--tertiary-background-color);
198
+ border: 1px solid var(--medium-color);
199
+ border-radius: 8px;
200
+ padding: 12px;
201
+ }
202
+
203
+ .section-title {
204
+ font-size: 12px;
205
+ font-weight: 600;
206
+ color: var(--font-primary-color);
207
+ margin-bottom: 12px;
208
+ display: flex;
209
+ align-items: center;
210
+ gap: 6px;
211
+ }
212
+
213
+ .prop-item {
214
+ display: flex;
215
+ flex-direction: column;
216
+ gap: 6px;
217
+ padding: 12px;
218
+ background: var(--primary-background-color);
219
+ border: 1px solid var(--medium-color);
220
+ border-radius: 6px;
221
+ margin-bottom: 8px;
222
+ transition: border-color 0.2s ease;
223
+ }
224
+
225
+ .prop-item:hover {
226
+ border-color: var(--primary-color);
227
+ }
228
+
229
+ .prop-header {
230
+ display: flex;
231
+ justify-content: space-between;
232
+ align-items: center;
233
+ }
234
+
235
+ .prop-name {
236
+ font-size: 13px;
237
+ font-weight: 600;
238
+ color: var(--font-primary-color);
239
+ }
240
+
241
+ .prop-name.required::after {
242
+ content: " *";
243
+ color: var(--danger-color);
244
+ }
245
+
246
+ .prop-meta {
247
+ display: flex;
248
+ align-items: center;
249
+ gap: 8px;
250
+ }
251
+
252
+ .prop-type {
253
+ font-size: 11px;
254
+ padding: 2px 6px;
255
+ background: var(--secondary-color);
256
+ color: var(--secondary-color-contrast);
257
+ border-radius: 4px;
258
+ font-family: monospace;
259
+ font-weight: 500;
260
+ }
261
+
262
+ .prop-status {
263
+ font-size: 12px;
264
+ font-weight: 500;
265
+ }
266
+
267
+ .status-used {
268
+ color: var(--success-color);
269
+ }
270
+
271
+ .status-missing {
272
+ color: var(--danger-color);
273
+ }
274
+
275
+ .status-optional {
276
+ color: var(--medium-color);
277
+ }
278
+
279
+ .prop-input {
280
+ margin-top: 8px;
281
+ }
282
+
283
+ .input-group {
284
+ position: relative;
285
+ }
286
+
287
+ .prop-control {
288
+ width: 100%;
289
+ padding: 8px 32px 8px 10px;
290
+ border: 1px solid var(--medium-color);
291
+ border-radius: 6px;
292
+ background: var(--primary-background-color);
293
+ color: var(--font-primary-color);
294
+ font-size: 13px;
295
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
296
+ font-family: monospace;
297
+ }
298
+
299
+ .prop-control:focus {
300
+ outline: none;
301
+ border-color: var(--primary-color);
302
+ box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
303
+ }
304
+
305
+ .prop-control:disabled {
306
+ background: var(--disabled-color);
307
+ color: var(--font-secondary-color);
308
+ cursor: not-allowed;
309
+ }
310
+
311
+ .prop-control[readonly] {
312
+ background: var(--tertiary-background-color);
313
+ cursor: pointer;
314
+ }
315
+
316
+ .prop-control[readonly]:focus {
317
+ border-color: var(--accent-color);
318
+ box-shadow: 0 0 0 3px rgba(var(--accent-color), 0.1);
319
+ }
320
+
321
+ /* Estilos específicos para checkboxes */
322
+ .prop-control[type="checkbox"] {
323
+ width: auto;
324
+ padding: 0;
325
+ margin: 0;
326
+ cursor: pointer;
327
+ }
328
+
329
+ .edit-btn {
330
+ position: absolute;
331
+ right: 4px;
332
+ top: 50%;
333
+ transform: translateY(-50%);
334
+ background: var(--accent-color);
335
+ border: none;
336
+ color: white;
337
+ width: 24px;
338
+ height: 24px;
339
+ border-radius: 4px;
340
+ cursor: pointer;
341
+ font-size: 12px;
342
+ display: flex;
343
+ align-items: center;
344
+ justify-content: center;
345
+ transition: background 0.2s ease;
346
+ }
347
+
348
+ .edit-btn:hover {
349
+ background: var(--primary-color);
350
+ }
351
+
352
+ .default-value {
353
+ font-size: 11px;
354
+ color: var(--font-secondary-color);
355
+ font-style: italic;
356
+ margin-top: 4px;
357
+ }
358
+
359
+ .info-list {
360
+ display: flex;
361
+ flex-direction: column;
362
+ gap: 12px;
363
+ }
364
+
365
+ .info-item {
366
+ display: flex;
367
+ justify-content: space-between;
368
+ padding: 12px;
369
+ background: var(--tertiary-background-color);
370
+ border-radius: 6px;
371
+ border: 1px solid var(--medium-color);
372
+ }
373
+
374
+ .info-label {
375
+ font-weight: 600;
376
+ color: var(--font-primary-color);
377
+ font-size: 13px;
378
+ }
379
+
380
+ .info-value {
381
+ color: var(--font-secondary-color);
382
+ font-family: monospace;
383
+ font-size: 12px;
384
+ }
385
+
386
+ .actions-container {
387
+ display: flex;
388
+ flex-direction: column;
389
+ gap: 16px;
390
+ }
391
+
392
+ .action-buttons {
393
+ display: flex;
394
+ flex-direction: column;
395
+ gap: 8px;
396
+ }
397
+
398
+ .action-btn {
399
+ padding: 12px 16px;
400
+ border: none;
401
+ border-radius: 6px;
402
+ font-size: 13px;
403
+ font-weight: 500;
404
+ cursor: pointer;
405
+ transition: all 0.2s ease;
406
+ display: flex;
407
+ align-items: center;
408
+ justify-content: center;
409
+ gap: 8px;
410
+ }
411
+
412
+ .action-btn.primary {
413
+ background: var(--primary-color);
414
+ color: var(--primary-color-contrast);
415
+ }
416
+
417
+ .action-btn.primary:hover {
418
+ background: var(--primary-color-shade);
419
+ }
420
+
421
+ .action-btn.secondary {
422
+ background: var(--secondary-color);
423
+ color: var(--secondary-color-contrast);
424
+ }
425
+
426
+ .action-btn.secondary:hover {
427
+ opacity: 0.9;
428
+ }
429
+
430
+ .action-btn.tertiary {
431
+ background: var(--tertiary-background-color);
432
+ color: var(--font-primary-color);
433
+ border: 1px solid var(--medium-color);
434
+ }
435
+
436
+ .action-btn.tertiary:hover {
437
+ background: var(--secondary-background-color);
438
+ }
439
+
440
+ /* Modal Styles */
441
+ .editor-modal {
442
+ display: none;
443
+ position: fixed;
444
+ top: 0;
445
+ left: 0;
446
+ width: 100%;
447
+ height: 100%;
448
+ background: rgba(0, 0, 0, 0.6);
449
+ z-index: 20000;
450
+ backdrop-filter: blur(4px);
451
+ }
452
+
453
+ .editor-modal.active {
454
+ display: flex;
455
+ align-items: center;
456
+ justify-content: center;
457
+ }
458
+
459
+ .modal-content {
460
+ background: var(--primary-background-color);
461
+ border-radius: 12px;
462
+ width: 90%;
463
+ max-width: 600px;
464
+ max-height: 80%;
465
+ display: flex;
466
+ flex-direction: column;
467
+ box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
468
+ border: 1px solid var(--medium-color);
469
+ }
470
+
471
+ .modal-header {
472
+ padding: 16px 20px;
473
+ background: var(--tertiary-background-color);
474
+ border-radius: 12px 12px 0 0;
475
+ border-bottom: 1px solid var(--medium-color);
476
+ display: flex;
477
+ justify-content: space-between;
478
+ align-items: center;
479
+ }
480
+
481
+ .modal-header h3 {
482
+ margin: 0;
483
+ font-size: 16px;
484
+ font-weight: 600;
485
+ color: var(--font-primary-color);
486
+ }
487
+
488
+ .modal-close {
489
+ background: none;
490
+ border: none;
491
+ font-size: 20px;
492
+ color: var(--font-secondary-color);
493
+ cursor: pointer;
494
+ width: 32px;
495
+ height: 32px;
496
+ border-radius: 6px;
497
+ display: flex;
498
+ align-items: center;
499
+ justify-content: center;
500
+ transition: background 0.2s ease;
501
+ }
502
+
503
+ .modal-close:hover {
504
+ background: var(--secondary-background-color);
505
+ }
506
+
507
+ .modal-body {
508
+ flex: 1;
509
+ padding: 20px;
510
+ display: flex;
511
+ flex-direction: column;
512
+ gap: 16px;
513
+ overflow: hidden;
514
+ }
515
+
516
+ .editor-type-selector {
517
+ display: flex;
518
+ gap: 4px;
519
+ background: var(--tertiary-background-color);
520
+ padding: 4px;
521
+ border-radius: 6px;
522
+ }
523
+
524
+ .type-btn {
525
+ flex: 1;
526
+ padding: 8px 12px;
527
+ border: none;
528
+ background: transparent;
529
+ color: var(--font-secondary-color);
530
+ font-size: 12px;
531
+ font-weight: 500;
532
+ cursor: pointer;
533
+ border-radius: 4px;
534
+ transition: all 0.2s ease;
535
+ }
536
+
537
+ .type-btn.active {
538
+ background: var(--primary-color);
539
+ color: var(--primary-color-contrast);
540
+ }
541
+
542
+ .editor-container {
543
+ flex: 1;
544
+ position: relative;
545
+ min-height: 200px;
546
+ }
547
+
548
+ #property-editor {
549
+ width: 100%;
550
+ height: 100%;
551
+ border: 1px solid var(--medium-color);
552
+ border-radius: 6px;
553
+ padding: 12px;
554
+ background: var(--primary-background-color);
555
+ color: var(--font-primary-color);
556
+ font-family: 'Monaco', 'Consolas', monospace;
557
+ font-size: 13px;
558
+ line-height: 1.5;
559
+ resize: none;
560
+ outline: none;
561
+ min-height: 200px;
562
+ }
563
+
564
+ #property-editor:focus {
565
+ border-color: var(--primary-color);
566
+ box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
567
+ }
568
+
569
+ .validation-message {
570
+ font-size: 12px;
571
+ color: var(--danger-color);
572
+ min-height: 18px;
573
+ display: flex;
574
+ align-items: center;
575
+ gap: 6px;
576
+ }
577
+
578
+ .modal-actions {
579
+ padding: 16px 20px;
580
+ background: var(--tertiary-background-color);
581
+ border-radius: 0 0 12px 12px;
582
+ border-top: 1px solid var(--medium-color);
583
+ display: flex;
584
+ gap: 12px;
585
+ justify-content: flex-end;
586
+ }
587
+
588
+ .modal-btn {
589
+ padding: 10px 20px;
590
+ border: none;
591
+ border-radius: 6px;
592
+ font-size: 13px;
593
+ font-weight: 500;
594
+ cursor: pointer;
595
+ transition: all 0.2s ease;
596
+ }
597
+
598
+ .modal-btn.cancel {
599
+ background: var(--tertiary-background-color);
600
+ color: var(--font-primary-color);
601
+ border: 1px solid var(--medium-color);
602
+ }
603
+
604
+ .modal-btn.cancel:hover {
605
+ background: var(--secondary-background-color);
606
+ }
607
+
608
+ .modal-btn.save {
609
+ background: var(--success-color);
610
+ color: var(--success-contrast);
611
+ }
612
+
613
+ .modal-btn.save:hover {
614
+ opacity: 0.9;
615
+ }
616
+
617
+ .modal-btn.save:disabled {
618
+ background: var(--disabled-color);
619
+ cursor: not-allowed;
620
+ }
@@ -0,0 +1,73 @@
1
+ <div id="debugger-container">
2
+ <div class="debugger-header">
3
+ <div class="header-content">
4
+ <div class="component-info">
5
+ <div class="component-icon">🔍</div>
6
+ <div class="component-details">
7
+ <div class="component-name">Component Inspector</div>
8
+ <div class="component-id">Ready to debug</div>
9
+ </div>
10
+ </div>
11
+ <div class="header-actions">
12
+ <button class="minimize-btn" title="Minimize">−</button>
13
+ <button id="close-debugger" title="Close">×</button>
14
+ </div>
15
+ </div>
16
+ </div>
17
+
18
+ <div class="debugger-content">
19
+ <div class="tabs-container">
20
+ <div class="tab-nav">
21
+ <button class="tab-btn active" data-tab="props">📋 Props</button>
22
+ <button class="tab-btn" data-tab="info">â„šī¸ Info</button>
23
+ </div>
24
+ </div>
25
+
26
+ <div class="tab-content">
27
+ <div class="tab-pane active" id="props-tab">
28
+ <div class="props-container"></div>
29
+ <div class="props-actions">
30
+ <div class="action-buttons">
31
+ <button class="action-btn primary" id="apply-changes">✅ Apply Changes</button>
32
+ <button class="action-btn secondary" id="reset-values">🔄 Reset Values</button>
33
+ </div>
34
+ <div class="actions-note">
35
+ <small>💡 Press Enter on any input to apply changes automatically</small>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <div class="tab-pane" id="info-tab">
41
+ <div class="info-container">
42
+ <div class="info-list"></div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ </div>
47
+
48
+ <!-- Modal para editar objetos/funciones -->
49
+ <div class="editor-modal" id="editor-modal">
50
+ <div class="modal-content">
51
+ <div class="modal-header">
52
+ <h3 id="modal-title">Edit Property</h3>
53
+ <button class="modal-close" id="modal-close">×</button>
54
+ </div>
55
+ <div class="modal-body">
56
+ <div class="editor-type-selector">
57
+ <button class="type-btn active" data-type="json">📋 JSON</button>
58
+ <button class="type-btn" data-type="function">⚡ Function</button>
59
+ </div>
60
+ <div class="editor-container">
61
+ <textarea id="property-editor" spellcheck="false"></textarea>
62
+ </div>
63
+ <div class="editor-footer">
64
+ <div class="validation-message"></div>
65
+ </div>
66
+ </div>
67
+ <div class="modal-actions">
68
+ <button class="modal-btn cancel" id="modal-cancel">Cancel</button>
69
+ <button class="modal-btn save" id="modal-save">Save Changes</button>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>