commons-shared-web-ui 0.0.20 → 0.0.22

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commons-shared-web-ui",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "20.3.15",
6
6
  "@angular/cdk": "20.2.14",
@@ -0,0 +1,212 @@
1
+ @use 'sass:map';
2
+
3
+ // ─────────────────────────────────────────────────────────────────────────────
4
+ // Form Builder Theme
5
+ // ─────────────────────────────────────────────────────────────────────────────
6
+
7
+ $form-builder-config: (
8
+ bg: #ffffff,
9
+ border-color: #E5E7EB,
10
+ header-bg: #F9FAFB,
11
+ accent-color: #3B82F6,
12
+
13
+ // Step Indicator
14
+ step-bubble-size: 32px,
15
+ step-bubble-active-bg: #3B82F6,
16
+ step-bubble-active-color: #ffffff,
17
+ step-bubble-inactive-bg: #E5E7EB,
18
+ step-bubble-inactive-color: #6B7280,
19
+
20
+ // Sidebar / Tree
21
+ sidebar-width: 320px,
22
+ node-hover-bg: #F3F4F6,
23
+ node-selected-bg: #EFF6FF,
24
+ node-selected-border: #3B82F6,
25
+
26
+ // Config Panel (Premium Card Style)
27
+ config-panel-padding: 32px,
28
+ config-card-bg: #ffffff,
29
+ config-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.05),
30
+ config-section-gap: 24px,
31
+ );
32
+
33
+ @mixin form-builder-theme($user-config: ()) {
34
+ $config: map.merge($form-builder-config, $user-config);
35
+
36
+ // Variables
37
+ --fb-bg: #{map.get($config, bg)};
38
+ --fb-border-color: #{map.get($config, border-color)};
39
+ --fb-accent: #{map.get($config, accent-color)};
40
+ --fb-font-family: 'Inter', sans-serif;
41
+
42
+ background: var(--fb-bg);
43
+ font-family: var(--fb-font-family);
44
+
45
+ // Premium Stepper (Lifecycle)
46
+ .fb-stepper {
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ background: #ffffff;
51
+ padding: 1.5rem;
52
+ border-radius: 1rem;
53
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
54
+ margin-bottom: 2rem;
55
+
56
+ .fb-step {
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 0.75rem;
60
+ cursor: pointer;
61
+ padding: 0.5rem 1rem;
62
+ border-radius: 0.75rem;
63
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
64
+
65
+ &:hover { background: #F3F4F6; }
66
+
67
+ &.active {
68
+ background: #EFF6FF;
69
+ .fb-step__icon {
70
+ background: var(--fb-accent);
71
+ color: #ffffff;
72
+ border-color: var(--fb-accent);
73
+ transform: scale(1.1);
74
+ }
75
+ .fb-step__label {
76
+ color: #111827;
77
+ font-weight: 700;
78
+ }
79
+ }
80
+
81
+ &.completed .fb-step__icon {
82
+ background: #10B981;
83
+ color: #ffffff;
84
+ border-color: #10B981;
85
+ }
86
+
87
+ &__icon {
88
+ width: 32px;
89
+ height: 32px;
90
+ border-radius: 50%;
91
+ border: 2px solid #D1D5DB;
92
+ display: flex;
93
+ align-items: center;
94
+ justify-content: center;
95
+ font-size: 14px;
96
+ font-weight: 700;
97
+ color: #6B7280;
98
+ background: #ffffff;
99
+ transition: all 0.3s;
100
+ flex-shrink: 0;
101
+ }
102
+
103
+ &__label {
104
+ font-size: 14px;
105
+ font-weight: 600;
106
+ color: #6B7280;
107
+ white-space: nowrap;
108
+ }
109
+
110
+ &__line {
111
+ width: 60px;
112
+ height: 2px;
113
+ background: #E5E7EB;
114
+ margin: 0 1rem;
115
+ flex-shrink: 0;
116
+ }
117
+ }
118
+ }
119
+
120
+ // ── Field Selection Component ───────────────────────────────────────────────
121
+ --fb-fs-padding: 16px;
122
+ --fb-fs-group-gap: 16px;
123
+ --fb-fs-group-bg: #ffffff;
124
+ --fb-fs-group-border: #e5e7eb;
125
+ --fb-fs-group-radius: 12px;
126
+ --fb-fs-header-padding: 14px 16px;
127
+ --fb-fs-header-gap: 10px;
128
+ --fb-fs-header-hover-bg: #f9fafb;
129
+ --fb-fs-chevron-color: #9ca3af;
130
+ --fb-fs-group-label-size: 14px;
131
+ --fb-fs-group-label-color: #111827;
132
+ --fb-fs-body-padding: 0 16px 16px 28px;
133
+ --fb-fs-section-gap: 12px;
134
+ --fb-fs-section-border: #e5e7eb;
135
+ --fb-fs-section-radius: 10px;
136
+ --fb-fs-section-bg: #ffffff;
137
+ --fb-fs-section-nested-border: #f3f4f6;
138
+ --fb-fs-section-nested-bg: #fafafa;
139
+ --fb-fs-section-header-padding: 10px 14px;
140
+ --fb-fs-section-header-hover: #f9fafb;
141
+ --fb-fs-section-label-size: 13px;
142
+ --fb-fs-section-label-color: #111827;
143
+ --fb-fs-section-body-padding: 4px 14px 14px 28px;
144
+ --fb-fs-field-gap: 6px;
145
+ --fb-fs-field-padding: 8px 12px;
146
+ --fb-fs-field-radius: 6px;
147
+ --fb-fs-field-bg: #ffffff;
148
+ --fb-fs-field-border: #e5e7eb;
149
+ --fb-fs-field-hover-border: #3b82f6;
150
+ --fb-fs-field-hover-bg: #f8fafc;
151
+ --fb-fs-field-selected-bg: #eff6ff;
152
+ --fb-fs-field-selected-border: #bfdbfe;
153
+ --fb-fs-field-locked-bg: #f3f4f6;
154
+ --fb-fs-field-locked-color: #6b7280;
155
+ --fb-fs-field-label-size: 13px;
156
+ --fb-fs-field-label-color: #111827;
157
+ --fb-fs-toggle-width: 36px;
158
+ --fb-fs-toggle-height: 20px;
159
+ --fb-fs-toggle-off-bg: #d1d5db;
160
+ --fb-fs-toggle-on-bg: #f5a623;
161
+ --fb-fs-toggle-thumb: #ffffff;
162
+ --fb-fs-checkbox-border: #d1d5db;
163
+ --fb-fs-checkbox-checked-bg: #3b82f6;
164
+ --fb-fs-lock-color: #9ca3af;
165
+ --fb-fs-empty-color: #9ca3af;
166
+
167
+ // ── Field Configurator Component ──────────────────────────────────────────
168
+ --fb-fc-bg: #ffffff;
169
+ --fb-fc-sidebar-width: 400px;
170
+ --fb-fc-sidebar-bg: #f9fafb;
171
+ --fb-fc-main-bg: #ffffff;
172
+ --fb-fc-border: #e5e7eb;
173
+ --fb-fc-tree-header-bg: #ffffff;
174
+ --fb-fc-tree-title-color: #111827;
175
+ --fb-fc-tree-subtitle-color: #6b7280;
176
+ --fb-fc-section-divider: #f3f4f6;
177
+ --fb-fc-section-hover: #f9fafb;
178
+ --fb-fc-chevron-color: #9ca3af;
179
+ --fb-fc-section-label-color: #111827;
180
+ --fb-fc-item-bg: #ffffff;
181
+ --fb-fc-item-border: #e5e7eb;
182
+ --fb-fc-item-hover-border: #3b82f6;
183
+ --fb-fc-item-active-border: #3b82f6;
184
+ --fb-fc-item-active-bg: #f0f7ff;
185
+ --fb-fc-drag-color: #d1d5db;
186
+ --fb-fc-item-label-color: #111827;
187
+ --fb-fc-item-type-color: #6b7280;
188
+ --fb-fc-panel-bg: #f9fafb;
189
+ --fb-fc-header-bg: #ffffff;
190
+ --fb-fc-title-color: #111827;
191
+ --fb-fc-badge-bg: #eff6ff;
192
+ --fb-fc-badge-color: #3b82f6;
193
+ --fb-fc-badge-border: #dbeafe;
194
+ --fb-fc-card-bg: #ffffff;
195
+ --fb-fc-card-border: #e5e7eb;
196
+ --fb-fc-accent: #3b82f6;
197
+ --fb-fc-empty-color: #9ca3af;
198
+ // ── Type Switcher (Standalone header select) ─────────────────────────────
199
+ --fb-fc-type-label-color: #6b7280;
200
+ --fb-fc-type-label-size: 0.75rem;
201
+ --fb-fc-type-select-height: 36px;
202
+ --fb-fc-type-select-border: #d1d5db;
203
+ --fb-fc-type-select-radius: 8px;
204
+ --fb-fc-type-select-bg: #ffffff;
205
+ --fb-fc-type-select-color: #111827;
206
+ --fb-fc-type-select-hover-border: #9ca3af;
207
+
208
+ // Shared Components Overrides
209
+ ::ng-deep lib-button button {
210
+ font-family: var(--fb-font-family) !important;
211
+ }
212
+ }
@@ -1,8 +1,10 @@
1
1
  @use '../modules/side-nav/side-nav.theme' as sideNav;
2
+ @use '../modules/form-builder/form-builder.theme' as fb;
2
3
  @import 'quill/dist/quill.snow.css';
3
4
 
4
5
  :root {
5
- /* Default Variables (Can be overridden) */
6
+ @include sideNav.side-nav-theme();
7
+ @include fb.form-builder-theme();
6
8
  --cc-card-bg: #ffffff;
7
9
  --cc-card-border-color: #e0e0e0;
8
10
  --cc-card-border-radius: 8px;