@keenmate/pure-admin-core 1.0.0 → 1.1.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 (76) hide show
  1. package/README.md +77 -7
  2. package/dist/css/main.css +792 -431
  3. package/package.json +1 -1
  4. package/snippets/customization.html +1 -1
  5. package/snippets/layout.html +4 -4
  6. package/snippets/manifest.json +0 -50
  7. package/snippets/profile.html +51 -3
  8. package/src/scss/_base-css-variables.scss +432 -422
  9. package/src/scss/_core.scss +105 -105
  10. package/src/scss/_fonts.scss +0 -14
  11. package/src/scss/_variables.scss +12 -14
  12. package/src/scss/core-components/_alerts.scss +7 -7
  13. package/src/scss/core-components/_base.scss +3 -3
  14. package/src/scss/core-components/_buttons.scss +425 -425
  15. package/src/scss/core-components/_callouts.scss +139 -139
  16. package/src/scss/core-components/_cards.scss +321 -321
  17. package/src/scss/core-components/_checkbox-lists.scss +2 -2
  18. package/src/scss/core-components/_code.scss +4 -4
  19. package/src/scss/core-components/_command-palette.scss +518 -518
  20. package/src/scss/core-components/_comparison.scss +3 -3
  21. package/src/scss/core-components/_file-selector.scss +780 -780
  22. package/src/scss/core-components/_forms.scss +16 -16
  23. package/src/scss/core-components/_layout.scss +15 -15
  24. package/src/scss/core-components/_lists.scss +7 -7
  25. package/src/scss/core-components/_logic-tree.scss +280 -280
  26. package/src/scss/core-components/_modals.scss +2 -2
  27. package/src/scss/core-components/_notifications.scss +7 -7
  28. package/src/scss/core-components/_pagers.scss +3 -3
  29. package/src/scss/core-components/_popconfirm.scss +1 -1
  30. package/src/scss/core-components/_profile.scss +400 -389
  31. package/src/scss/core-components/_scrollbars.scss +40 -40
  32. package/src/scss/core-components/_settings-panel.scss +5 -5
  33. package/src/scss/core-components/_statistics.scss +6 -6
  34. package/src/scss/core-components/_tables.scss +566 -566
  35. package/src/scss/core-components/_tabs.scss +493 -493
  36. package/src/scss/core-components/_timeline.scss +15 -15
  37. package/src/scss/core-components/_toasts.scss +4 -4
  38. package/src/scss/core-components/_tooltips.scss +8 -8
  39. package/src/scss/core-components/_utilities.scss +11 -30
  40. package/src/scss/core-components/_web-components-theme.scss +294 -294
  41. package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
  42. package/src/scss/core-components/badges/_labels.scss +1 -1
  43. package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
  44. package/src/scss/core-components/forms/_form-inputs.scss +4 -4
  45. package/src/scss/core-components/forms/_form-layout.scss +2 -2
  46. package/src/scss/core-components/forms/_form-states.scss +1 -1
  47. package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
  48. package/src/scss/core-components/forms/_query-editor.scss +17 -17
  49. package/src/scss/core-components/layout/_layout-container.scss +1 -1
  50. package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
  51. package/src/scss/core-components/layout/_sidebar.scss +5 -5
  52. package/src/scss/utilities.scss +24 -0
  53. package/src/scss/variables/_base.scss +20 -10
  54. package/src/scss/variables/_colors.scss +7 -6
  55. package/src/scss/variables/_components.scss +8 -11
  56. package/src/scss/variables/_index.scss +11 -7
  57. package/src/scss/variables/_spacing.scss +12 -0
  58. package/src/scss/variables/_typography.scss +2 -2
  59. package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
  60. package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
  61. package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
  62. package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
  63. package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
  64. package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
  65. package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
  66. package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
  67. package/src/scss/themes/_dark-base.scss +0 -207
  68. package/src/scss/themes/audi-light.scss +0 -341
  69. package/src/scss/themes/audi.scss +0 -303
  70. package/src/scss/themes/corporate.scss +0 -229
  71. package/src/scss/themes/dark-blue.scss +0 -165
  72. package/src/scss/themes/dark-green.scss +0 -169
  73. package/src/scss/themes/dark-red.scss +0 -173
  74. package/src/scss/themes/dark.scss +0 -158
  75. package/src/scss/themes/express.scss +0 -294
  76. package/src/scss/themes/minimal.scss +0 -134
@@ -1,422 +1,432 @@
1
- // ============================================================================
2
- // BASE CSS VARIABLES OUTPUT MIXIN
3
- // ============================================================================
4
- // This mixin outputs all $base-* SCSS variables as --base-* CSS custom properties.
5
- // Include this in themes to enable web component theming.
6
- //
7
- // Usage in theme file:
8
- // @import '../base-css-variables';
9
- // :root {
10
- // @include output-base-css-variables;
11
- // }
12
- //
13
- // Web components consume these via fallback chains:
14
- // --ms-accent-color: var(--base-accent-color, #3b82f6);
15
- // ============================================================================
16
-
17
- @mixin output-base-css-variables {
18
- // === Accent Colors ===
19
- --base-accent-color: #{$base-accent-color};
20
- --base-accent-color-hover: #{$base-accent-color-hover};
21
- --base-accent-color-active: #{$base-accent-color-active};
22
- --base-accent-color-light: #{$base-accent-color-light};
23
- --base-accent-color-light-hover: #{$base-accent-color-light-hover};
24
-
25
- // === Text Colors ===
26
- --base-text-color-1: #{$base-text-color-1};
27
- --base-text-color-2: #{$base-text-color-2};
28
- --base-text-color-3: #{$base-text-color-3};
29
- --base-text-color-4: #{$base-text-color-4};
30
- --base-text-color-on-accent: #{$base-text-color-on-accent};
31
-
32
- // === Surface Colors ===
33
- --base-surface-1: #{$base-surface-1};
34
- --base-surface-2: #{$base-surface-2};
35
- --base-surface-3: #{$base-surface-3};
36
- --base-surface-inverse: #{$base-surface-inverse};
37
- --base-overlay-bg: #{$base-overlay-bg};
38
- --base-shadow-color: #{$base-shadow-color};
39
- --base-primary-bg: #{$base-primary-bg};
40
- --base-primary-bg-hover: #{$base-primary-bg-hover};
41
-
42
- // === Border Colors ===
43
- --base-border-color: #{$base-border-color};
44
- --base-border: #{$base-border};
45
-
46
- // === Input Fields ===
47
- --base-input-bg: #{$base-input-bg};
48
- --base-input-color: #{$base-input-color};
49
- --base-input-border: #{$base-input-border};
50
- --base-input-border-hover: #{$base-input-border-hover};
51
- --base-input-border-focus: #{$base-input-border-focus};
52
- --base-input-placeholder-color: #{$base-input-placeholder-color};
53
- --base-input-bg-disabled: #{$base-input-bg-disabled};
54
-
55
- // === Input Size Heights ===
56
- --base-input-size-xs-height: #{$base-input-size-xs-height};
57
- --base-input-size-sm-height: #{$base-input-size-sm-height};
58
- --base-input-size-md-height: #{$base-input-size-md-height};
59
- --base-input-size-lg-height: #{$base-input-size-lg-height};
60
- --base-input-size-xl-height: #{$base-input-size-xl-height};
61
-
62
- // === Dropdown/Popover ===
63
- --base-dropdown-bg: #{$base-dropdown-bg};
64
- --base-dropdown-border: #{$base-dropdown-border};
65
- --base-dropdown-box-shadow: #{$base-dropdown-box-shadow};
66
-
67
- // === Tooltip ===
68
- --base-tooltip-bg: #{$base-tooltip-bg};
69
- --base-tooltip-text-color: #{$base-tooltip-text-color};
70
-
71
- // === Contextual Colors - Success ===
72
- --base-success-color: #{$base-success-color};
73
- --base-success-color-hover: #{$base-success-color-hover};
74
- --base-success-bg-light: #{$base-success-bg-light};
75
- --base-success-bg-subtle: #{$base-success-bg-subtle};
76
- --base-success-border: #{$base-success-border};
77
- --base-success-text: #{$base-success-text};
78
- --base-success-text-light: #{$base-success-text-light};
79
- --base-text-on-success: #{$base-text-on-success};
80
-
81
- // === Contextual Colors - Danger ===
82
- --base-danger-color: #{$base-danger-color};
83
- --base-danger-color-hover: #{$base-danger-color-hover};
84
- --base-danger-bg-light: #{$base-danger-bg-light};
85
- --base-danger-bg-subtle: #{$base-danger-bg-subtle};
86
- --base-danger-border: #{$base-danger-border};
87
- --base-danger-text: #{$base-danger-text};
88
- --base-danger-text-light: #{$base-danger-text-light};
89
- --base-text-on-danger: #{$base-text-on-danger};
90
-
91
- // === Contextual Colors - Warning ===
92
- --base-warning-color: #{$base-warning-color};
93
- --base-warning-color-hover: #{$base-warning-color-hover};
94
- --base-warning-bg-light: #{$base-warning-bg-light};
95
- --base-warning-bg-subtle: #{$base-warning-bg-subtle};
96
- --base-warning-border: #{$base-warning-border};
97
- --base-warning-text: #{$base-warning-text};
98
- --base-warning-text-light: #{$base-warning-text-light};
99
- --base-text-on-warning: #{$base-text-on-warning};
100
-
101
- // === Contextual Colors - Info ===
102
- --base-info-color: #{$base-info-color};
103
- --base-info-color-hover: #{$base-info-color-hover};
104
- --base-info-bg-light: #{$base-info-bg-light};
105
- --base-info-bg-subtle: #{$base-info-bg-subtle};
106
- --base-info-border: #{$base-info-border};
107
- --base-info-text: #{$base-info-text};
108
- --base-info-text-light: #{$base-info-text-light};
109
- --base-text-on-info: #{$base-text-on-info};
110
-
111
- // === Interactive States ===
112
- --base-hover-overlay: #{$base-hover-overlay};
113
- --base-active-overlay: #{$base-active-overlay};
114
- --base-focus-ring-color: #{$base-focus-ring-color};
115
- --base-focus-ring-width: #{$base-focus-ring-width};
116
-
117
- // === Typography ===
118
- --base-font-family: #{$base-font-family};
119
- --base-font-family-mono: #{$base-font-family-mono};
120
- --base-font-size-2xs: #{$base-font-size-2xs};
121
- --base-font-size-xs: #{$base-font-size-xs};
122
- --base-font-size-sm: #{$base-font-size-sm};
123
- --base-font-size-base: #{$base-font-size-base};
124
- --base-font-size-lg: #{$base-font-size-lg};
125
- --base-font-size-xl: #{$base-font-size-xl};
126
- --base-font-size-2xl: #{$base-font-size-2xl};
127
- --base-font-weight-normal: #{$base-font-weight-normal};
128
- --base-font-weight-medium: #{$base-font-weight-medium};
129
- --base-font-weight-semibold: #{$base-font-weight-semibold};
130
- --base-font-weight-bold: #{$base-font-weight-bold};
131
- --base-line-height-tight: #{$base-line-height-tight};
132
- --base-line-height-normal: #{$base-line-height-normal};
133
- --base-line-height-relaxed: #{$base-line-height-relaxed};
134
-
135
- // === Border Radius ===
136
- --base-border-radius-sm: #{$base-border-radius-sm};
137
- --base-border-radius-md: #{$base-border-radius-md};
138
- --base-border-radius-lg: #{$base-border-radius-lg};
139
- }
140
-
141
- // ============================================================================
142
- // PURE ADMIN THEME CSS VARIABLES OUTPUT MIXIN
143
- // ============================================================================
144
- // This mixin outputs all themeable SCSS variables as --pa-* CSS custom properties.
145
- // Components use var(--pa-*) for runtime theme switching capability.
146
- //
147
- // Usage in theme file:
148
- // :root, .theme-light {
149
- // @include output-pa-css-variables;
150
- // }
151
- // .theme-dark {
152
- // @include output-pa-css-variables;
153
- // }
154
- // ============================================================================
155
-
156
- @mixin output-pa-css-variables {
157
- // =========================================================================
158
- // CORE COLORS
159
- // =========================================================================
160
-
161
- // Background colors
162
- --pa-primary-bg: #{$primary-bg};
163
- --pa-bg-secondary: #{$bg-secondary};
164
- --pa-content-bg: #{$content-background-color};
165
-
166
- // Text colors
167
- --pa-text-primary: #{$text-primary};
168
- --pa-text-secondary: #{$text-secondary};
169
-
170
- // Accent colors
171
- --pa-accent: #{$accent-color};
172
- --pa-accent-hover: #{$accent-hover};
173
- --pa-accent-light: #{$accent-light};
174
-
175
- // Border
176
- --pa-border-color: #{$border-color};
177
-
178
- // =========================================================================
179
- // LAYOUT COLORS
180
- // =========================================================================
181
-
182
- // Header
183
- --pa-header-bg: #{$header-bg};
184
- --pa-header-border-color: #{$header-border-color};
185
- --pa-header-text: #{$header-text};
186
- --pa-header-text-secondary: #{$header-text-secondary};
187
- --pa-header-profile-name-color: #{$header-profile-name-color};
188
-
189
- // Sidebar
190
- --pa-sidebar-bg: #{$sidebar-bg};
191
- --pa-sidebar-text: #{$sidebar-text};
192
- --pa-sidebar-text-secondary: #{$sidebar-text-secondary};
193
- --pa-sidebar-submenu-bg: #{$sidebar-submenu-bg};
194
- --pa-sidebar-submenu-hover-bg: #{$sidebar-submenu-hover-bg};
195
- --pa-sidebar-submenu-active-bg: #{$sidebar-submenu-active-bg};
196
-
197
- // Footer
198
- --pa-footer-bg: #{$footer-bg};
199
- --pa-footer-border-color: #{$footer-border-color};
200
-
201
- // =========================================================================
202
- // BUTTON COLORS
203
- // =========================================================================
204
-
205
- // Primary (uses accent color)
206
- --pa-btn-primary-bg: #{$btn-primary-bg};
207
- --pa-btn-primary-bg-hover: #{$btn-primary-bg-hover};
208
- --pa-btn-primary-bg-light: #{$accent-light};
209
- --pa-btn-primary-text: #{$btn-primary-text};
210
-
211
- // Secondary
212
- --pa-btn-secondary-bg: #{$btn-secondary-bg};
213
- --pa-btn-secondary-bg-hover: #{$btn-secondary-bg-hover};
214
- --pa-btn-secondary-text: #{$btn-secondary-text};
215
-
216
- // Success
217
- --pa-btn-success-bg: #{$btn-success-bg};
218
- --pa-btn-success-bg-hover: #{$btn-success-bg-hover};
219
- --pa-btn-success-text: #{$btn-success-text};
220
-
221
- // Danger
222
- --pa-btn-danger-bg: #{$btn-danger-bg};
223
- --pa-btn-danger-bg-hover: #{$btn-danger-bg-hover};
224
- --pa-btn-danger-text: #{$btn-danger-text};
225
-
226
- // Warning
227
- --pa-btn-warning-bg: #{$btn-warning-bg};
228
- --pa-btn-warning-bg-hover: #{$btn-warning-bg-hover};
229
- --pa-btn-warning-text: #{$btn-warning-text};
230
-
231
- // Info
232
- --pa-btn-info-bg: #{$btn-info-bg};
233
- --pa-btn-info-bg-hover: #{$btn-info-bg-hover};
234
- --pa-btn-info-text: #{$btn-info-text};
235
-
236
- // Light
237
- --pa-btn-light-bg: #{$btn-light-bg};
238
- --pa-btn-light-bg-hover: #{$btn-light-bg-hover};
239
- --pa-btn-light-text: #{$btn-light-text};
240
-
241
- // Dark
242
- --pa-btn-dark-bg: #{$btn-dark-bg};
243
- --pa-btn-dark-bg-hover: #{$btn-dark-bg-hover};
244
- --pa-btn-dark-text: #{$btn-dark-text};
245
-
246
- // =========================================================================
247
- // CONTEXTUAL/SEMANTIC COLORS
248
- // =========================================================================
249
-
250
- // Success
251
- --pa-success-bg: #{$success-bg};
252
- --pa-success-bg-hover: #{$success-bg-hover};
253
- --pa-success-bg-light: #{$success-bg-light};
254
- --pa-success-bg-subtle: #{$success-bg-subtle};
255
- --pa-success-border: #{$success-border};
256
- --pa-success-text: #{$success-text};
257
- --pa-success-text-light: #{$success-text-light};
258
-
259
- // Danger
260
- --pa-danger-bg: #{$danger-bg};
261
- --pa-danger-bg-hover: #{$danger-bg-hover};
262
- --pa-danger-bg-light: #{$danger-bg-light};
263
- --pa-danger-bg-subtle: #{$danger-bg-subtle};
264
- --pa-danger-border: #{$danger-border};
265
- --pa-danger-text: #{$danger-text};
266
- --pa-danger-text-light: #{$danger-text-light};
267
-
268
- // Warning
269
- --pa-warning-bg: #{$warning-bg};
270
- --pa-warning-bg-hover: #{$warning-bg-hover};
271
- --pa-warning-bg-light: #{$warning-bg-light};
272
- --pa-warning-bg-subtle: #{$warning-bg-subtle};
273
- --pa-warning-border: #{$warning-border};
274
- --pa-warning-text: #{$warning-text};
275
- --pa-warning-text-light: #{$warning-text-light};
276
-
277
- // Info
278
- --pa-info-bg: #{$info-bg};
279
- --pa-info-bg-hover: #{$info-bg-hover};
280
- --pa-info-bg-light: #{$info-bg-light};
281
- --pa-info-bg-subtle: #{$info-bg-subtle};
282
- --pa-info-border: #{$info-border};
283
- --pa-info-text: #{$info-text};
284
- --pa-info-text-light: #{$info-text-light};
285
-
286
- // =========================================================================
287
- // CARD COLORS
288
- // =========================================================================
289
- --pa-card-bg: #{$card-bg};
290
- --pa-card-header-bg: #{$card-header-bg};
291
- --pa-card-footer-bg: #{$card-footer-bg};
292
- --pa-card-tabs-bg: #{$card-tabs-bg};
293
-
294
- // =========================================================================
295
- // INPUT/FORM COLORS
296
- // =========================================================================
297
- --pa-input-bg: #{$input-bg};
298
- --pa-input-border: #{$input-border};
299
- --pa-input-text: #{$input-text};
300
- --pa-input-focus-border-color: #{$input-focus-border-color};
301
- --pa-select-focus-border-color: #{$select-focus-border-color};
302
- --pa-textarea-focus-border-color: #{$textarea-focus-border-color};
303
-
304
- // Checkbox
305
- --pa-checkbox-border-color: #{$checkbox-border-color};
306
- --pa-checkbox-border-color-hover: #{$checkbox-border-color-hover};
307
- --pa-checkbox-border-color-checked: #{$checkbox-border-color-checked};
308
- --pa-checkbox-bg: #{$checkbox-bg};
309
- --pa-checkbox-bg-checked: #{$checkbox-bg-checked};
310
- --pa-checkbox-bg-indeterminate: #{$checkbox-bg-indeterminate};
311
- --pa-checkbox-checkmark-color: #{$checkbox-checkmark-color};
312
- --pa-checkbox-focus-shadow: #{$checkbox-focus-shadow};
313
-
314
- // Input group
315
- --pa-input-group-prepend-bg: #{$input-group-prepend-bg};
316
- --pa-input-group-prepend-text: #{$input-group-prepend-text};
317
- --pa-input-group-append-bg: #{$input-group-append-bg};
318
- --pa-input-group-append-text: #{$input-group-append-text};
319
-
320
- // =========================================================================
321
- // TABLE COLORS
322
- // =========================================================================
323
- --pa-table-bg: #{$table-bg};
324
- --pa-table-header-bg: #{$table-header-bg};
325
- --pa-table-stripe: #{$table-stripe};
326
- --pa-table-hover-bg: #{$table-hover-bg};
327
- --pa-table-hover-accent-color: #{$table-hover-accent-color};
328
-
329
- // =========================================================================
330
- // MODAL COLORS
331
- // =========================================================================
332
- --pa-modal-overlay-bg: #{$modal-overlay-bg};
333
- --pa-modal-content-bg: #{$modal-content-bg};
334
-
335
- // =========================================================================
336
- // ALERT COLORS
337
- // =========================================================================
338
- --pa-alert-success-bg: #{$alert-success-bg};
339
- --pa-alert-success-border: #{$alert-success-border};
340
- --pa-alert-success-text: #{$alert-success-text};
341
- --pa-alert-danger-bg: #{$alert-danger-bg};
342
- --pa-alert-danger-border: #{$alert-danger-border};
343
- --pa-alert-danger-text: #{$alert-danger-text};
344
- --pa-alert-warning-bg: #{$alert-warning-bg};
345
- --pa-alert-warning-border: #{$alert-warning-border};
346
- --pa-alert-warning-text: #{$alert-warning-text};
347
- --pa-alert-info-bg: #{$alert-info-bg};
348
- --pa-alert-info-border: #{$alert-info-border};
349
- --pa-alert-info-text: #{$alert-info-text};
350
-
351
- // =========================================================================
352
- // BADGE COLORS
353
- // =========================================================================
354
- --pa-badge-success-bg: #{$badge-success-bg};
355
- --pa-badge-success-text: #{$badge-success-text};
356
- --pa-badge-warning-bg: #{$badge-warning-bg};
357
- --pa-badge-warning-text: #{$badge-warning-text};
358
- --pa-badge-info-bg: #{$badge-info-bg};
359
- --pa-badge-info-text: #{$badge-info-text};
360
- --pa-badge-danger-bg: #{$badge-danger-bg};
361
- --pa-badge-danger-text: #{$badge-danger-text};
362
-
363
- // Composite badge
364
- --pa-composite-badge-icon-bg: #{$composite-badge-icon-bg};
365
- --pa-composite-badge-label-bg: #{$composite-badge-label-bg};
366
- --pa-composite-badge-label-text: #{$composite-badge-label-text};
367
- --pa-composite-badge-label-hover-bg: #{$composite-badge-label-hover-bg};
368
-
369
- // =========================================================================
370
- // TOOLTIP & POPOVER COLORS
371
- // =========================================================================
372
- --pa-tooltip-bg: #{$tooltip-bg};
373
- --pa-tooltip-text: #{$tooltip-text};
374
- --pa-popover-content-bg: #{$popover-content-bg};
375
- --pa-popover-text-light: #{$popover-text-light};
376
- --pa-popover-text-dark: #{$popover-text-dark};
377
-
378
- // =========================================================================
379
- // LOADER COLORS
380
- // =========================================================================
381
- --pa-loader-overlay-bg: #{$loader-overlay-bg};
382
-
383
- // =========================================================================
384
- // PROFILE PANEL COLORS
385
- // =========================================================================
386
- --pa-profile-overlay-bg: #{$profile-overlay-bg};
387
-
388
- // =========================================================================
389
- // COMMAND PALETTE COLORS
390
- // =========================================================================
391
- --pa-command-palette-backdrop-bg: #{$command-palette-backdrop-bg};
392
- --pa-command-palette-item-hover-bg: #{$command-palette-item-hover-bg};
393
- --pa-command-palette-item-active-bg: #{$command-palette-item-active-bg};
394
- --pa-command-palette-highlight-bg: #{$command-palette-highlight-bg};
395
- --pa-command-palette-highlight-text: #{$command-palette-highlight-text};
396
-
397
- // =========================================================================
398
- // MULTISELECT COLORS
399
- // =========================================================================
400
- --pa-multiselect-dropdown-bg: #{$multiselect-dropdown-bg};
401
- --pa-multiselect-dropdown-border: #{$multiselect-dropdown-border};
402
- --pa-multiselect-dropdown-text: #{$multiselect-dropdown-text};
403
- --pa-multiselect-hint-bg: #{$multiselect-hint-bg};
404
- --pa-multiselect-hint-border: #{$multiselect-hint-border};
405
- --pa-multiselect-option-hover-bg: #{$multiselect-option-hover-bg};
406
- --pa-multiselect-pill-bg: #{$multiselect-pill-bg};
407
- --pa-multiselect-pill-border: #{$multiselect-pill-border};
408
-
409
- // =========================================================================
410
- // CUSTOM THEME COLORS (1-9)
411
- // Themes can override $color-1 through $color-9 to define branded colors
412
- // =========================================================================
413
- --pa-color-1: #{$color-1};
414
- --pa-color-2: #{$color-2};
415
- --pa-color-3: #{$color-3};
416
- --pa-color-4: #{$color-4};
417
- --pa-color-5: #{$color-5};
418
- --pa-color-6: #{$color-6};
419
- --pa-color-7: #{$color-7};
420
- --pa-color-8: #{$color-8};
421
- --pa-color-9: #{$color-9};
422
- }
1
+ // ============================================================================
2
+ // BASE CSS VARIABLES OUTPUT MIXIN
3
+ // ============================================================================
4
+ // This mixin outputs all $base-* SCSS variables as --base-* CSS custom properties.
5
+ // Include this in themes to enable web component theming.
6
+ //
7
+ // Usage in theme file:
8
+ // @import '../base-css-variables';
9
+ // :root {
10
+ // @include output-base-css-variables;
11
+ // }
12
+ //
13
+ // Web components consume these via fallback chains:
14
+ // --ms-accent-color: var(--base-accent-color, #3b82f6);
15
+ // ============================================================================
16
+
17
+ @mixin output-base-css-variables {
18
+ // === Accent Colors ===
19
+ --base-accent-color: #{$base-accent-color};
20
+ --base-accent-color-hover: #{$base-accent-color-hover};
21
+ --base-accent-color-active: #{$base-accent-color-active};
22
+ --base-accent-color-light: #{$base-accent-color-light};
23
+ --base-accent-color-light-hover: #{$base-accent-color-light-hover};
24
+
25
+ // === Text Colors ===
26
+ --base-text-color-1: #{$base-text-color-1};
27
+ --base-text-color-2: #{$base-text-color-2};
28
+ --base-text-color-3: #{$base-text-color-3};
29
+ --base-text-color-4: #{$base-text-color-4};
30
+ --base-text-color-on-accent: #{$base-text-color-on-accent};
31
+
32
+ // === Background Colors (semantic) ===
33
+ --base-main-bg: #{$base-main-bg};
34
+ --base-page-bg: #{$base-page-bg};
35
+ --base-subtle-bg: #{$base-subtle-bg};
36
+ --base-inverse-bg: #{$base-inverse-bg};
37
+ --base-overlay-bg: #{$base-overlay-bg};
38
+ --base-shadow-color: #{$base-shadow-color};
39
+ --base-hover-bg: #{$base-hover-bg};
40
+ --base-active-bg: #{$base-active-bg};
41
+ --base-disabled-bg: #{$base-disabled-bg};
42
+ --base-elevated-bg: #{$base-elevated-bg};
43
+
44
+ // === Background Colors (legacy aliases) ===
45
+ --base-surface-1: #{$base-surface-1};
46
+ --base-surface-2: #{$base-surface-2};
47
+ --base-surface-3: #{$base-surface-3};
48
+ --base-surface-inverse: #{$base-surface-inverse};
49
+ --base-primary-bg: #{$base-primary-bg};
50
+ --base-primary-bg-hover: #{$base-primary-bg-hover};
51
+
52
+ // === Border Colors ===
53
+ --base-border-color: #{$base-border-color};
54
+ --base-border: #{$base-border};
55
+
56
+ // === Input Fields ===
57
+ --base-input-bg: #{$base-input-bg};
58
+ --base-input-color: #{$base-input-color};
59
+ --base-input-border: #{$base-input-border};
60
+ --base-input-border-hover: #{$base-input-border-hover};
61
+ --base-input-border-focus: #{$base-input-border-focus};
62
+ --base-input-placeholder-color: #{$base-input-placeholder-color};
63
+ --base-input-bg-disabled: #{$base-input-bg-disabled};
64
+
65
+ // === Input Size Heights ===
66
+ --base-input-size-xs-height: #{$base-input-size-xs-height};
67
+ --base-input-size-sm-height: #{$base-input-size-sm-height};
68
+ --base-input-size-md-height: #{$base-input-size-md-height};
69
+ --base-input-size-lg-height: #{$base-input-size-lg-height};
70
+ --base-input-size-xl-height: #{$base-input-size-xl-height};
71
+
72
+ // === Dropdown/Popover ===
73
+ --base-dropdown-bg: #{$base-dropdown-bg};
74
+ --base-dropdown-border: #{$base-dropdown-border};
75
+ --base-dropdown-box-shadow: #{$base-dropdown-box-shadow};
76
+
77
+ // === Tooltip ===
78
+ --base-tooltip-bg: #{$base-tooltip-bg};
79
+ --base-tooltip-text-color: #{$base-tooltip-text-color};
80
+
81
+ // === Contextual Colors - Success ===
82
+ --base-success-color: #{$base-success-color};
83
+ --base-success-color-hover: #{$base-success-color-hover};
84
+ --base-success-bg-light: #{$base-success-bg-light};
85
+ --base-success-bg-subtle: #{$base-success-bg-subtle};
86
+ --base-success-border: #{$base-success-border};
87
+ --base-success-text: #{$base-success-text};
88
+ --base-success-text-light: #{$base-success-text-light};
89
+ --base-text-on-success: #{$base-text-on-success};
90
+
91
+ // === Contextual Colors - Danger ===
92
+ --base-danger-color: #{$base-danger-color};
93
+ --base-danger-color-hover: #{$base-danger-color-hover};
94
+ --base-danger-bg-light: #{$base-danger-bg-light};
95
+ --base-danger-bg-subtle: #{$base-danger-bg-subtle};
96
+ --base-danger-border: #{$base-danger-border};
97
+ --base-danger-text: #{$base-danger-text};
98
+ --base-danger-text-light: #{$base-danger-text-light};
99
+ --base-text-on-danger: #{$base-text-on-danger};
100
+
101
+ // === Contextual Colors - Warning ===
102
+ --base-warning-color: #{$base-warning-color};
103
+ --base-warning-color-hover: #{$base-warning-color-hover};
104
+ --base-warning-bg-light: #{$base-warning-bg-light};
105
+ --base-warning-bg-subtle: #{$base-warning-bg-subtle};
106
+ --base-warning-border: #{$base-warning-border};
107
+ --base-warning-text: #{$base-warning-text};
108
+ --base-warning-text-light: #{$base-warning-text-light};
109
+ --base-text-on-warning: #{$base-text-on-warning};
110
+
111
+ // === Contextual Colors - Info ===
112
+ --base-info-color: #{$base-info-color};
113
+ --base-info-color-hover: #{$base-info-color-hover};
114
+ --base-info-bg-light: #{$base-info-bg-light};
115
+ --base-info-bg-subtle: #{$base-info-bg-subtle};
116
+ --base-info-border: #{$base-info-border};
117
+ --base-info-text: #{$base-info-text};
118
+ --base-info-text-light: #{$base-info-text-light};
119
+ --base-text-on-info: #{$base-text-on-info};
120
+
121
+ // === Interactive States ===
122
+ --base-hover-overlay: #{$base-hover-overlay};
123
+ --base-active-overlay: #{$base-active-overlay};
124
+ --base-focus-ring-color: #{$base-focus-ring-color};
125
+ --base-focus-ring-width: #{$base-focus-ring-width};
126
+
127
+ // === Typography ===
128
+ --base-font-family: #{$base-font-family};
129
+ --base-font-family-mono: #{$base-font-family-mono};
130
+ --base-font-size-2xs: #{$base-font-size-2xs};
131
+ --base-font-size-xs: #{$base-font-size-xs};
132
+ --base-font-size-sm: #{$base-font-size-sm};
133
+ --base-font-size-base: #{$base-font-size-base};
134
+ --base-font-size-lg: #{$base-font-size-lg};
135
+ --base-font-size-xl: #{$base-font-size-xl};
136
+ --base-font-size-2xl: #{$base-font-size-2xl};
137
+ --base-font-weight-normal: #{$base-font-weight-normal};
138
+ --base-font-weight-medium: #{$base-font-weight-medium};
139
+ --base-font-weight-semibold: #{$base-font-weight-semibold};
140
+ --base-font-weight-bold: #{$base-font-weight-bold};
141
+ --base-line-height-tight: #{$base-line-height-tight};
142
+ --base-line-height-normal: #{$base-line-height-normal};
143
+ --base-line-height-relaxed: #{$base-line-height-relaxed};
144
+
145
+ // === Border Radius ===
146
+ --base-border-radius-sm: #{$base-border-radius-sm};
147
+ --base-border-radius-md: #{$base-border-radius-md};
148
+ --base-border-radius-lg: #{$base-border-radius-lg};
149
+ }
150
+
151
+ // ============================================================================
152
+ // PURE ADMIN THEME CSS VARIABLES OUTPUT MIXIN
153
+ // ============================================================================
154
+ // This mixin outputs all themeable SCSS variables as --pa-* CSS custom properties.
155
+ // Components use var(--pa-*) for runtime theme switching capability.
156
+ //
157
+ // Usage in theme file:
158
+ // :root, .theme-light {
159
+ // @include output-pa-css-variables;
160
+ // }
161
+ // .theme-dark {
162
+ // @include output-pa-css-variables;
163
+ // }
164
+ // ============================================================================
165
+
166
+ @mixin output-pa-css-variables {
167
+ // =========================================================================
168
+ // CORE COLORS
169
+ // =========================================================================
170
+
171
+ // Background colors
172
+ --pa-main-bg: #{$main-bg};
173
+ --pa-page-bg: #{$page-bg};
174
+ --pa-subtle-bg: #{$subtle-bg};
175
+
176
+ // Text colors
177
+ --pa-text-color-1: #{$text-color-1};
178
+ --pa-text-color-2: #{$text-color-2};
179
+
180
+ // Accent colors
181
+ --pa-accent: #{$accent-color};
182
+ --pa-accent-hover: #{$accent-hover};
183
+ --pa-accent-light: #{$accent-light};
184
+
185
+ // Border
186
+ --pa-border-color: #{$border-color};
187
+
188
+ // =========================================================================
189
+ // LAYOUT COLORS
190
+ // =========================================================================
191
+
192
+ // Header
193
+ --pa-header-bg: #{$header-bg};
194
+ --pa-header-border-color: #{$header-border-color};
195
+ --pa-header-text: #{$header-text};
196
+ --pa-header-text-secondary: #{$header-text-secondary};
197
+ --pa-header-profile-name-color: #{$header-profile-name-color};
198
+
199
+ // Sidebar
200
+ --pa-sidebar-bg: #{$sidebar-bg};
201
+ --pa-sidebar-text: #{$sidebar-text};
202
+ --pa-sidebar-text-secondary: #{$sidebar-text-secondary};
203
+ --pa-sidebar-submenu-bg: #{$sidebar-submenu-bg};
204
+ --pa-sidebar-submenu-hover-bg: #{$sidebar-submenu-hover-bg};
205
+ --pa-sidebar-submenu-active-bg: #{$sidebar-submenu-active-bg};
206
+
207
+ // Footer
208
+ --pa-footer-bg: #{$footer-bg};
209
+ --pa-footer-border-color: #{$footer-border-color};
210
+
211
+ // =========================================================================
212
+ // BUTTON COLORS
213
+ // =========================================================================
214
+
215
+ // Primary (uses accent color)
216
+ --pa-btn-primary-bg: #{$btn-primary-bg};
217
+ --pa-btn-primary-bg-hover: #{$btn-primary-bg-hover};
218
+ --pa-btn-primary-bg-light: #{$accent-light};
219
+ --pa-btn-primary-text: #{$btn-primary-text};
220
+
221
+ // Secondary
222
+ --pa-btn-secondary-bg: #{$btn-secondary-bg};
223
+ --pa-btn-secondary-bg-hover: #{$btn-secondary-bg-hover};
224
+ --pa-btn-secondary-text: #{$btn-secondary-text};
225
+
226
+ // Success
227
+ --pa-btn-success-bg: #{$btn-success-bg};
228
+ --pa-btn-success-bg-hover: #{$btn-success-bg-hover};
229
+ --pa-btn-success-text: #{$btn-success-text};
230
+
231
+ // Danger
232
+ --pa-btn-danger-bg: #{$btn-danger-bg};
233
+ --pa-btn-danger-bg-hover: #{$btn-danger-bg-hover};
234
+ --pa-btn-danger-text: #{$btn-danger-text};
235
+
236
+ // Warning
237
+ --pa-btn-warning-bg: #{$btn-warning-bg};
238
+ --pa-btn-warning-bg-hover: #{$btn-warning-bg-hover};
239
+ --pa-btn-warning-text: #{$btn-warning-text};
240
+
241
+ // Info
242
+ --pa-btn-info-bg: #{$btn-info-bg};
243
+ --pa-btn-info-bg-hover: #{$btn-info-bg-hover};
244
+ --pa-btn-info-text: #{$btn-info-text};
245
+
246
+ // Light
247
+ --pa-btn-light-bg: #{$btn-light-bg};
248
+ --pa-btn-light-bg-hover: #{$btn-light-bg-hover};
249
+ --pa-btn-light-text: #{$btn-light-text};
250
+
251
+ // Dark
252
+ --pa-btn-dark-bg: #{$btn-dark-bg};
253
+ --pa-btn-dark-bg-hover: #{$btn-dark-bg-hover};
254
+ --pa-btn-dark-text: #{$btn-dark-text};
255
+
256
+ // =========================================================================
257
+ // CONTEXTUAL/SEMANTIC COLORS
258
+ // =========================================================================
259
+
260
+ // Success
261
+ --pa-success-bg: #{$success-bg};
262
+ --pa-success-bg-hover: #{$success-bg-hover};
263
+ --pa-success-bg-light: #{$success-bg-light};
264
+ --pa-success-bg-subtle: #{$success-bg-subtle};
265
+ --pa-success-border: #{$success-border};
266
+ --pa-success-text: #{$success-text};
267
+ --pa-success-text-light: #{$success-text-light};
268
+
269
+ // Danger
270
+ --pa-danger-bg: #{$danger-bg};
271
+ --pa-danger-bg-hover: #{$danger-bg-hover};
272
+ --pa-danger-bg-light: #{$danger-bg-light};
273
+ --pa-danger-bg-subtle: #{$danger-bg-subtle};
274
+ --pa-danger-border: #{$danger-border};
275
+ --pa-danger-text: #{$danger-text};
276
+ --pa-danger-text-light: #{$danger-text-light};
277
+
278
+ // Warning
279
+ --pa-warning-bg: #{$warning-bg};
280
+ --pa-warning-bg-hover: #{$warning-bg-hover};
281
+ --pa-warning-bg-light: #{$warning-bg-light};
282
+ --pa-warning-bg-subtle: #{$warning-bg-subtle};
283
+ --pa-warning-border: #{$warning-border};
284
+ --pa-warning-text: #{$warning-text};
285
+ --pa-warning-text-light: #{$warning-text-light};
286
+
287
+ // Info
288
+ --pa-info-bg: #{$info-bg};
289
+ --pa-info-bg-hover: #{$info-bg-hover};
290
+ --pa-info-bg-light: #{$info-bg-light};
291
+ --pa-info-bg-subtle: #{$info-bg-subtle};
292
+ --pa-info-border: #{$info-border};
293
+ --pa-info-text: #{$info-text};
294
+ --pa-info-text-light: #{$info-text-light};
295
+
296
+ // =========================================================================
297
+ // CARD COLORS
298
+ // =========================================================================
299
+ --pa-card-bg: #{$card-bg};
300
+ --pa-card-header-bg: #{$card-header-bg};
301
+ --pa-card-footer-bg: #{$card-footer-bg};
302
+ --pa-card-tabs-bg: #{$card-tabs-bg};
303
+
304
+ // =========================================================================
305
+ // INPUT/FORM COLORS
306
+ // =========================================================================
307
+ --pa-input-bg: #{$input-bg};
308
+ --pa-input-border: #{$input-border};
309
+ --pa-input-text: #{$input-text};
310
+ --pa-input-focus-border-color: #{$input-focus-border-color};
311
+ --pa-select-focus-border-color: #{$select-focus-border-color};
312
+ --pa-textarea-focus-border-color: #{$textarea-focus-border-color};
313
+
314
+ // Checkbox
315
+ --pa-checkbox-border-color: #{$checkbox-border-color};
316
+ --pa-checkbox-border-color-hover: #{$checkbox-border-color-hover};
317
+ --pa-checkbox-border-color-checked: #{$checkbox-border-color-checked};
318
+ --pa-checkbox-bg: #{$checkbox-bg};
319
+ --pa-checkbox-bg-checked: #{$checkbox-bg-checked};
320
+ --pa-checkbox-bg-indeterminate: #{$checkbox-bg-indeterminate};
321
+ --pa-checkbox-checkmark-color: #{$checkbox-checkmark-color};
322
+ --pa-checkbox-focus-shadow: #{$checkbox-focus-shadow};
323
+
324
+ // Input group
325
+ --pa-input-group-prepend-bg: #{$input-group-prepend-bg};
326
+ --pa-input-group-prepend-text: #{$input-group-prepend-text};
327
+ --pa-input-group-append-bg: #{$input-group-append-bg};
328
+ --pa-input-group-append-text: #{$input-group-append-text};
329
+
330
+ // =========================================================================
331
+ // TABLE COLORS
332
+ // =========================================================================
333
+ --pa-table-bg: #{$table-bg};
334
+ --pa-table-header-bg: #{$table-header-bg};
335
+ --pa-table-stripe: #{$table-stripe};
336
+ --pa-table-hover-bg: #{$table-hover-bg};
337
+ --pa-table-hover-accent-color: #{$table-hover-accent-color};
338
+
339
+ // =========================================================================
340
+ // MODAL COLORS
341
+ // =========================================================================
342
+ --pa-modal-overlay-bg: #{$modal-overlay-bg};
343
+ --pa-modal-content-bg: #{$modal-content-bg};
344
+
345
+ // =========================================================================
346
+ // ALERT COLORS
347
+ // =========================================================================
348
+ --pa-alert-success-bg: #{$alert-success-bg};
349
+ --pa-alert-success-border: #{$alert-success-border};
350
+ --pa-alert-success-text: #{$alert-success-text};
351
+ --pa-alert-danger-bg: #{$alert-danger-bg};
352
+ --pa-alert-danger-border: #{$alert-danger-border};
353
+ --pa-alert-danger-text: #{$alert-danger-text};
354
+ --pa-alert-warning-bg: #{$alert-warning-bg};
355
+ --pa-alert-warning-border: #{$alert-warning-border};
356
+ --pa-alert-warning-text: #{$alert-warning-text};
357
+ --pa-alert-info-bg: #{$alert-info-bg};
358
+ --pa-alert-info-border: #{$alert-info-border};
359
+ --pa-alert-info-text: #{$alert-info-text};
360
+
361
+ // =========================================================================
362
+ // BADGE COLORS
363
+ // =========================================================================
364
+ --pa-badge-success-bg: #{$badge-success-bg};
365
+ --pa-badge-success-text: #{$badge-success-text};
366
+ --pa-badge-warning-bg: #{$badge-warning-bg};
367
+ --pa-badge-warning-text: #{$badge-warning-text};
368
+ --pa-badge-info-bg: #{$badge-info-bg};
369
+ --pa-badge-info-text: #{$badge-info-text};
370
+ --pa-badge-danger-bg: #{$badge-danger-bg};
371
+ --pa-badge-danger-text: #{$badge-danger-text};
372
+
373
+ // Composite badge
374
+ --pa-composite-badge-icon-bg: #{$composite-badge-icon-bg};
375
+ --pa-composite-badge-label-bg: #{$composite-badge-label-bg};
376
+ --pa-composite-badge-label-text: #{$composite-badge-label-text};
377
+ --pa-composite-badge-label-hover-bg: #{$composite-badge-label-hover-bg};
378
+
379
+ // =========================================================================
380
+ // TOOLTIP & POPOVER COLORS
381
+ // =========================================================================
382
+ --pa-tooltip-bg: #{$tooltip-bg};
383
+ --pa-tooltip-text: #{$tooltip-text};
384
+ --pa-popover-content-bg: #{$popover-content-bg};
385
+ --pa-popover-text-light: #{$popover-text-light};
386
+ --pa-popover-text-dark: #{$popover-text-dark};
387
+
388
+ // =========================================================================
389
+ // LOADER COLORS
390
+ // =========================================================================
391
+ --pa-loader-overlay-bg: #{$loader-overlay-bg};
392
+
393
+ // =========================================================================
394
+ // PROFILE PANEL COLORS
395
+ // =========================================================================
396
+ --pa-profile-overlay-bg: #{$profile-overlay-bg};
397
+
398
+ // =========================================================================
399
+ // COMMAND PALETTE COLORS
400
+ // =========================================================================
401
+ --pa-command-palette-backdrop-bg: #{$command-palette-backdrop-bg};
402
+ --pa-command-palette-item-hover-bg: #{$command-palette-item-hover-bg};
403
+ --pa-command-palette-item-active-bg: #{$command-palette-item-active-bg};
404
+ --pa-command-palette-highlight-bg: #{$command-palette-highlight-bg};
405
+ --pa-command-palette-highlight-text: #{$command-palette-highlight-text};
406
+
407
+ // =========================================================================
408
+ // MULTISELECT COLORS
409
+ // =========================================================================
410
+ --pa-multiselect-dropdown-bg: #{$multiselect-dropdown-bg};
411
+ --pa-multiselect-dropdown-border: #{$multiselect-dropdown-border};
412
+ --pa-multiselect-dropdown-text: #{$multiselect-dropdown-text};
413
+ --pa-multiselect-hint-bg: #{$multiselect-hint-bg};
414
+ --pa-multiselect-hint-border: #{$multiselect-hint-border};
415
+ --pa-multiselect-option-hover-bg: #{$multiselect-option-hover-bg};
416
+ --pa-multiselect-pill-bg: #{$multiselect-pill-bg};
417
+ --pa-multiselect-pill-border: #{$multiselect-pill-border};
418
+
419
+ // =========================================================================
420
+ // CUSTOM THEME COLORS (1-9)
421
+ // Themes can override $color-1 through $color-9 to define branded colors
422
+ // =========================================================================
423
+ --pa-color-1: #{$color-1};
424
+ --pa-color-2: #{$color-2};
425
+ --pa-color-3: #{$color-3};
426
+ --pa-color-4: #{$color-4};
427
+ --pa-color-5: #{$color-5};
428
+ --pa-color-6: #{$color-6};
429
+ --pa-color-7: #{$color-7};
430
+ --pa-color-8: #{$color-8};
431
+ --pa-color-9: #{$color-9};
432
+ }