@decido/ui 0.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 (95) hide show
  1. package/.eslintrc.cjs +10 -0
  2. package/.turbo/turbo-build.log +13 -0
  3. package/.turbo/turbo-lint.log +54 -0
  4. package/dist/components/DebugPanel.d.ts +3 -0
  5. package/dist/components/DebugPanel.js +195 -0
  6. package/dist/components/DebugPanelManager.d.ts +3 -0
  7. package/dist/components/DebugPanelManager.js +20 -0
  8. package/dist/components/DecidoButton.d.ts +11 -0
  9. package/dist/components/DecidoButton.js +15 -0
  10. package/dist/components/LoginView.d.ts +6 -0
  11. package/dist/components/LoginView.js +36 -0
  12. package/dist/components/WelcomeView.d.ts +6 -0
  13. package/dist/components/WelcomeView.js +16 -0
  14. package/dist/components/base/BaseComponent.d.ts +12 -0
  15. package/dist/components/base/BaseComponent.js +43 -0
  16. package/dist/components/base/BaseComponentBacjup.d.ts +12 -0
  17. package/dist/components/base/BaseComponentBacjup.js +43 -0
  18. package/dist/components/base/BaseComponentLit.d.ts +9 -0
  19. package/dist/components/base/BaseComponentLit.js +30 -0
  20. package/dist/components/base/shared-styles.d.ts +4 -0
  21. package/dist/components/base/shared-styles.js +18 -0
  22. package/dist/components/index.d.ts +6 -0
  23. package/dist/components/index.js +7 -0
  24. package/dist/components/landing/index.d.ts +11 -0
  25. package/dist/components/landing/index.js +11 -0
  26. package/dist/components/landing/landing-button.d.ts +9 -0
  27. package/dist/components/landing/landing-button.js +5 -0
  28. package/dist/components/landing/landing-card.d.ts +6 -0
  29. package/dist/components/landing/landing-card.js +5 -0
  30. package/dist/components/landing/landing-cta.d.ts +10 -0
  31. package/dist/components/landing/landing-cta.js +5 -0
  32. package/dist/components/landing/landing-feature-card.d.ts +35 -0
  33. package/dist/components/landing/landing-feature-card.js +35 -0
  34. package/dist/components/landing/landing-footer.d.ts +18 -0
  35. package/dist/components/landing/landing-footer.js +7 -0
  36. package/dist/components/landing/landing-header.d.ts +21 -0
  37. package/dist/components/landing/landing-header.js +7 -0
  38. package/dist/components/landing/landing-hero.d.ts +22 -0
  39. package/dist/components/landing/landing-hero.js +10 -0
  40. package/dist/components/landing/landing-page.d.ts +3 -0
  41. package/dist/components/landing/landing-page.js +34 -0
  42. package/dist/components/landing/landing-section.d.ts +14 -0
  43. package/dist/components/landing/landing-section.js +8 -0
  44. package/dist/components/landing/landing-testimonial-card.d.ts +11 -0
  45. package/dist/components/landing/landing-testimonial-card.js +9 -0
  46. package/dist/components/landing/landing-waitlist.d.ts +27 -0
  47. package/dist/components/landing/landing-waitlist.js +18 -0
  48. package/dist/components/theming/ColorPicker.d.ts +8 -0
  49. package/dist/components/theming/ColorPicker.js +19 -0
  50. package/dist/components/theming/ThemePanel.d.ts +5 -0
  51. package/dist/components/theming/ThemePanel.js +12 -0
  52. package/dist/index.d.ts +13 -0
  53. package/dist/index.js +19 -0
  54. package/dist/utils/counter.d.ts +1 -0
  55. package/dist/utils/counter.js +9 -0
  56. package/eslint.config.js +11 -0
  57. package/package.json +47 -0
  58. package/src/components/DebugPanel.tsx +347 -0
  59. package/src/components/DebugPanelManager.tsx +40 -0
  60. package/src/components/DecidoButton.tsx +43 -0
  61. package/src/components/LoginView.tsx +85 -0
  62. package/src/components/WelcomeView.tsx +47 -0
  63. package/src/components/base/landing.css +477 -0
  64. package/src/components/base/shared-styles.ts +21 -0
  65. package/src/components/index.ts +7 -0
  66. package/src/components/landing/index.tsx +11 -0
  67. package/src/components/landing/landing-button.tsx +26 -0
  68. package/src/components/landing/landing-card.tsx +15 -0
  69. package/src/components/landing/landing-cta.tsx +42 -0
  70. package/src/components/landing/landing-feature-card.tsx +149 -0
  71. package/src/components/landing/landing-footer.tsx +66 -0
  72. package/src/components/landing/landing-header.tsx +55 -0
  73. package/src/components/landing/landing-hero.tsx +94 -0
  74. package/src/components/landing/landing-page.tsx +143 -0
  75. package/src/components/landing/landing-section.tsx +42 -0
  76. package/src/components/landing/landing-testimonial-card.tsx +50 -0
  77. package/src/components/landing/landing-waitlist.tsx +115 -0
  78. package/src/components/theming/ColorPicker.tsx +40 -0
  79. package/src/components/theming/ThemePanel.tsx +43 -0
  80. package/src/css/base.css +483 -0
  81. package/src/css/components.css +309 -0
  82. package/src/css/debug-panel.css +1368 -0
  83. package/src/css/layout.css +289 -0
  84. package/src/css/login-view.css +45 -0
  85. package/src/css/style.css +20 -0
  86. package/src/css/welcome-view.css +56 -0
  87. package/src/css/workbench.css +383 -0
  88. package/src/globals.d.ts +8 -0
  89. package/src/index.ts +24 -0
  90. package/src/utils/counter.d.ts.map +1 -0
  91. package/src/utils/counter.js +9 -0
  92. package/src/utils/counter.ts +9 -0
  93. package/src/vite-env.d.ts +1 -0
  94. package/tailwind.config.js +7 -0
  95. package/tsconfig.json +35 -0
@@ -0,0 +1,289 @@
1
+ /* /css/layout.css */
2
+
3
+ /* Variables específicas del layout */
4
+ :root {
5
+ --sidebar-width: 320px;
6
+ --sidebar-right-width: 350px;
7
+ --activity-bar-width: 50px;
8
+ --status-bar-height: 25px;
9
+ --panel-height: 250px;
10
+ --resizer-width: 5px;
11
+ --top-bar-height: 48px;
12
+ }
13
+
14
+ /* #region estructura del Grid */
15
+ #app-grid-layout {
16
+ height: 100%;
17
+ width: 100%;
18
+ display: grid;
19
+
20
+ /* 6 columnas: activity, sidebar, resizer, main, resizer, sidebar-right */
21
+ grid-template-columns:
22
+ var(--activity-bar-width) var(--sidebar-width) var(--resizer-width) 1fr var(--resizer-width) var(--sidebar-right-width);
23
+
24
+ grid-template-rows:
25
+ var(--top-bar-height) 1fr var(--resizer-width) var(--panel-height) var(--status-bar-height);
26
+
27
+ grid-template-areas:
28
+ "top-bar top-bar top-bar top-bar top-bar top-bar"
29
+ "activity sidebar v-resizer main v-resizer-right sidebar-right"
30
+ "activity panel-resizer panel-resizer panel-resizer panel-resizer panel-resizer"
31
+ "activity panel panel panel panel panel"
32
+ "statusbar statusbar statusbar statusbar statusbar statusbar";
33
+
34
+ background-color: var(--bg-darker);
35
+ /* transition: grid-template-columns 0.2s ease-in-out; */
36
+ }
37
+
38
+ /* #endregion */
39
+
40
+ /* #region Asignación de Áreas Grid --- */
41
+ #app-top-bar {
42
+ grid-area: top-bar;
43
+ }
44
+
45
+ #app-activity-bar {
46
+ grid-area: activity;
47
+ }
48
+
49
+ #app-sidebar {
50
+ grid-area: sidebar;
51
+ }
52
+
53
+ #app-sidebar-resizer {
54
+ grid-area: v-resizer;
55
+ }
56
+
57
+ #app-main {
58
+ grid-area: main;
59
+ overflow: hidden;
60
+ }
61
+
62
+ #app-sidebar-right-resizer {
63
+ grid-area: v-resizer-right;
64
+ }
65
+
66
+ #app-sidebar-right {
67
+ grid-area: sidebar-right;
68
+ }
69
+
70
+ #app-panel-resize-handle {
71
+ grid-area: panel-resizer;
72
+ }
73
+
74
+ #app-panel {
75
+ grid-area: panel;
76
+ }
77
+
78
+ #app-status-bar {
79
+ grid-area: statusbar;
80
+ }
81
+
82
+ /* #endregion */
83
+
84
+ /* --- Estilos de los Paneles Principales --- */
85
+
86
+ /* #region topbar */
87
+ #app-top-bar {
88
+ @apply border-b border-white/5 flex items-center justify-between px-4;
89
+ }
90
+
91
+ .top-bar-section {
92
+ @apply flex items-center gap-2;
93
+ }
94
+
95
+ .top-bar-button {
96
+ @apply w-8 h-8 flex items-center justify-center rounded-lg text-gray-400 hover:bg-white/10 hover:text-white transition-colors;
97
+ }
98
+
99
+ /* .top-bar-button.active {
100
+ @apply bg-primary/20 text-primary;
101
+ } */
102
+
103
+ .top-bar-separator {
104
+ @apply w-px h-6 bg-white/10 mx-2;
105
+ }
106
+
107
+ /* #endregion */
108
+
109
+ /* #region Activity bar */
110
+ /* #app-activity-bar {
111
+ @apply bg-darker flex flex-col items-center py-2 gap-2 border-r border-white/5;
112
+ } */
113
+
114
+ .logo-icon {
115
+ @apply mb-4;
116
+ }
117
+
118
+ .activity-bar-item {
119
+ @apply w-10 h-10 flex items-center justify-center text-xl rounded-lg text-gray-500 relative transition-all duration-200;
120
+ }
121
+
122
+ .activity-bar-item:hover {
123
+ @apply bg-white/10 text-white;
124
+ }
125
+
126
+ /* .activity-bar-item.active {
127
+ @apply bg-primary/20 text-primary;
128
+ } */
129
+
130
+ .activity-bar-item.active::before {
131
+ content: "";
132
+ @apply absolute left-0 top-1/4 h-1/2 w-1 bg-primary rounded-r-full;
133
+ }
134
+
135
+ /* #endregion */
136
+
137
+ /* #region Sidebar left --- */
138
+ /* #app-sidebar {
139
+ @apply bg-dark flex flex-col overflow-hidden;
140
+ } */
141
+
142
+ #app-sidebar.hidden {
143
+ width: 0px;
144
+ min-width: 0px;
145
+ border-right: none;
146
+ }
147
+
148
+ .sidebar-header {
149
+ @apply p-4 flex justify-between items-center border-b border-white/5 flex-shrink-0;
150
+ }
151
+
152
+ .sidebar-title {
153
+ @apply text-sm uppercase font-bold text-gray-400 tracking-wider;
154
+ }
155
+
156
+ .sidebar-close-btn {
157
+ @apply text-gray-500 hover:text-white;
158
+ }
159
+
160
+ .sidebar-content {
161
+ @apply p-4 overflow-y-auto flex-grow;
162
+ }
163
+
164
+ /* #endregion */
165
+
166
+ /* #region Sidebar right --- */
167
+ /* #app-sidebar-right {
168
+ @apply bg-dark flex flex-col overflow-hidden border-l border-white/5;
169
+ } */
170
+
171
+ #app-sidebar-right.hidden {
172
+ width: 0px;
173
+ min-width: 0px;
174
+ border-right: none;
175
+ }
176
+
177
+ /* #endregion */
178
+
179
+ /* #app-panel {
180
+ @apply bg-dark flex flex-col overflow-hidden;
181
+ } */
182
+
183
+ /* #app-status-bar {
184
+ @apply bg-primary/10 text-xs text-gray-400 border-t border-white/5 flex items-center justify-between px-4;
185
+ } */
186
+
187
+ /* Estilos para los separadores redimensionables */
188
+ .sidebar-resizer.v-resizer {
189
+ background: var(--bg-darker);
190
+ cursor: col-resize;
191
+ transition: background-color 0.2s;
192
+ }
193
+
194
+ .sidebar-resizer.v-resizer:hover {
195
+ background: var(--primary);
196
+ }
197
+
198
+ #app-panel-resize-handle {
199
+ background: var(--bg-darker);
200
+ cursor: row-resize;
201
+ transition: background-color 0.2s;
202
+ }
203
+
204
+ #app-panel-resize-handle:hover {
205
+ background: var(--primary);
206
+ }
207
+
208
+ /* --- Lógica para Ocultar Paneles --- */
209
+ #app-grid-layout.sidebar-hidden {
210
+ grid-template-columns:
211
+ var(--activity-bar-width) 0px 0px 1fr var(--resizer-width) var(--sidebar-right-width);
212
+ }
213
+
214
+ #app-grid-layout.sidebar-right-hidden {
215
+ grid-template-columns:
216
+ var(--activity-bar-width) var(--sidebar-width) var(--resizer-width) 1fr 0px 0px;
217
+ }
218
+
219
+ #app-grid-layout.panel-hidden {
220
+ grid-template-rows: var(--top-bar-height) 1fr 0px 0px var(--status-bar-height);
221
+ }
222
+
223
+
224
+ /* --- Estilos para Redimensionamiento (Resizer/Splitter) --- */
225
+ .pane-resizer {
226
+ flex: 0 0 5px;
227
+ background: var(--bg-main);
228
+ cursor: col-resize;
229
+ transition: background-color 0.2s;
230
+ z-index: 10;
231
+ }
232
+
233
+ .pane-resizer:hover {
234
+ background: var(--color-primary);
235
+ }
236
+
237
+ /* --- Estilos para Arrastrar y Soltar (Drag & Drop) --- */
238
+ .tab-item.dragging {
239
+ opacity: 0.4;
240
+ background: var(--color-primary);
241
+ }
242
+
243
+ .drop-indicator {
244
+ position: absolute;
245
+ top: 0;
246
+ bottom: 0;
247
+ width: 2px;
248
+ background-color: var(--color-primary);
249
+ pointer-events: none;
250
+ z-index: 20;
251
+ }
252
+
253
+ .drop-overlay {
254
+ position: absolute;
255
+ inset: 0;
256
+ background: rgba(var(--color-primary-rgb, 0, 122, 204), 0.2);
257
+ border: 2px dashed var(--color-primary);
258
+ pointer-events: none;
259
+ z-index: 20;
260
+ display: flex;
261
+ justify-content: center;
262
+ align-items: center;
263
+ color: var(--color-primary);
264
+ }
265
+
266
+ /* --- Fix: Ensure Editor Pane and Tab Content take full height --- */
267
+ .editor-pane {
268
+ display: flex;
269
+ flex-direction: column;
270
+ height: 100%;
271
+ width: 100%;
272
+ overflow: hidden;
273
+ }
274
+
275
+ .tab-content {
276
+ flex-grow: 1;
277
+ height: 0;
278
+ /* Important for flex child scrolling/containment */
279
+ width: 100%;
280
+ position: relative;
281
+ }
282
+
283
+ /* Fix for Custom Element Wrapper (React Mount Point) */
284
+ .tab-content>* {
285
+ display: block;
286
+ width: 100%;
287
+ height: 100%;
288
+ overflow: hidden;
289
+ }
@@ -0,0 +1,45 @@
1
+ .login-container {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ height: 100vh; /* Full viewport height */
6
+ width: 100vw; /* Full viewport width */
7
+ position: fixed; /* Cover the entire page */
8
+ top: 0;
9
+ left: 0;
10
+ background: var(--darker);
11
+ }
12
+ .login-box {
13
+ max-width: 400px;
14
+ width: 100%;
15
+ padding: 3rem;
16
+ background: var(--dark);
17
+ border-radius: 16px;
18
+ border: 1px solid var(--border-color);
19
+ box-shadow: 0 10px 40px rgba(0,0,0,0.3);
20
+ }
21
+ .login-title {
22
+ text-align: center;
23
+ font-size: 2rem;
24
+ font-weight: 700;
25
+ color: var(--text-primary);
26
+ margin-bottom: 2rem;
27
+ }
28
+ .login-form .form-group {
29
+ margin-bottom: 1.5rem;
30
+ }
31
+ .login-form .form-actions {
32
+ margin-top: 2rem;
33
+ }
34
+ .register-link {
35
+ text-align: center;
36
+ margin-top: 1.5rem;
37
+ }
38
+ .register-link a {
39
+ color: var(--secondary);
40
+ text-decoration: none;
41
+ font-weight: 500;
42
+ }
43
+ .register-link a:hover {
44
+ text-decoration: underline;
45
+ }
@@ -0,0 +1,20 @@
1
+ /* /css/style.css (Punto de Entrada Principal) */
2
+
3
+ /* 1. Fundamentos y variables de diseño */
4
+ @import url("./base.css");
5
+
6
+ /* 2. Estructura principal de la aplicación */
7
+ @import url("./layout.css");
8
+
9
+ /* 3. Estilos para componentes reutilizables */
10
+ @import url("./components.css");
11
+
12
+ /* 4. Estilos para herramientas de desarrollo (opcional) */
13
+ @import url("./debug-panel.css");
14
+
15
+ /* 5. Estilos específicos de módulos (si los hubiera globales) */
16
+ /* Idealmente, estos se cargan desde el propio módulo */
17
+ /* @import url("../src/modules/decido.marketplace/styles/marketplace.css"); */
18
+
19
+ /* 6. Estilos estructurales del Workbench */
20
+ @import url("./workbench.css");
@@ -0,0 +1,56 @@
1
+ .welcome-container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: center;
5
+ justify-content: center;
6
+ height: 100%;
7
+ text-align: center;
8
+ color: var(--text-primary);
9
+ }
10
+ .logo {
11
+ background: linear-gradient(135deg, var(--primary), var(--secondary));
12
+ border-radius: 24px;
13
+ padding: 20px;
14
+ margin-bottom: 2rem;
15
+ box-shadow: 0 10px 30px rgba(0,0,0,0.2);
16
+ }
17
+ .logo i {
18
+ font-size: 4rem;
19
+ color: white;
20
+ }
21
+ .welcome-title {
22
+ font-size: 3rem;
23
+ font-weight: 700;
24
+ margin-bottom: 0.5rem;
25
+ }
26
+ .welcome-subtitle {
27
+ font-size: 1.2rem;
28
+ color: var(--text-secondary);
29
+ margin-bottom: 3rem;
30
+ }
31
+ .quick-links-grid {
32
+ display: grid;
33
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
34
+ gap: 1rem;
35
+ max-width: 650px;
36
+ }
37
+ .quick-link {
38
+ background: var(--bg-content);
39
+ border: 1px solid var(--border-color);
40
+ padding: 1.5rem;
41
+ border-radius: 12px;
42
+ text-decoration: none;
43
+ color: var(--text-secondary);
44
+ transition: all 0.2s ease-in-out;
45
+ }
46
+ .quick-link:hover {
47
+ transform: translateY(-5px);
48
+ background: var(--bg-main);
49
+ color: var(--primary);
50
+ box-shadow: 0 5px 15px rgba(0,0,0,0.1);
51
+ }
52
+ .quick-link i {
53
+ font-size: 1.5rem;
54
+ margin-bottom: 0.5rem;
55
+ display: block;
56
+ }