@burdenoff/fe-libs 2026.619.2 → 2026.623.1

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 (121) hide show
  1. package/dist/chrome/AccountSwitcher.js +8 -8
  2. package/dist/chrome/AppShellLayout.d.ts +4 -1
  3. package/dist/chrome/AppShellLayout.d.ts.map +1 -1
  4. package/dist/chrome/AppShellLayout.js +1 -1
  5. package/dist/chrome/AutoBreadcrumbs.d.ts.map +1 -1
  6. package/dist/chrome/AutoBreadcrumbs.js +6 -6
  7. package/dist/chrome/Breadcrumbs.js +3 -3
  8. package/dist/chrome/CommandPalette.js +15 -15
  9. package/dist/chrome/ContextSwitcher.js +1 -1
  10. package/dist/chrome/Footer.js +1 -1
  11. package/dist/chrome/FooterBar.js +2 -2
  12. package/dist/chrome/GlobalSearch.js +3 -3
  13. package/dist/chrome/HeaderBar.d.ts.map +1 -1
  14. package/dist/chrome/HeaderBar.js +6 -6
  15. package/dist/chrome/LanguagePickerSheet.js +1 -1
  16. package/dist/chrome/LanguageSwitcher.js +4 -4
  17. package/dist/chrome/NavLink.d.ts.map +1 -1
  18. package/dist/chrome/NavLink.js +5 -6
  19. package/dist/chrome/PageHeader.js +3 -3
  20. package/dist/chrome/PanelTabs.js +5 -5
  21. package/dist/chrome/PluginContextMenuTarget.js +2 -2
  22. package/dist/chrome/PluginFooterStrip.js +2 -2
  23. package/dist/chrome/PluginSettingsPage.js +3 -3
  24. package/dist/chrome/PluginWidgetGrid.js +1 -1
  25. package/dist/chrome/ProductPickerSheet.js +3 -3
  26. package/dist/chrome/ProductSwitcher.js +9 -9
  27. package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
  28. package/dist/chrome/ProfileSwitcher.js +11 -11
  29. package/dist/chrome/ShortcutHelpDialog.js +9 -9
  30. package/dist/chrome/SideNavigation.js +3 -3
  31. package/dist/chrome/Sidebar.js +8 -8
  32. package/dist/chrome/StatusBar.js +1 -1
  33. package/dist/chrome/Tabs.js +1 -1
  34. package/dist/chrome/contextSwitcher/OrganizationList.js +1 -1
  35. package/dist/chrome/contextSwitcher/ProjectList.js +1 -1
  36. package/dist/chrome/contextSwitcher/SearchInput.js +1 -1
  37. package/dist/chrome/contextSwitcher/TabButton.js +1 -1
  38. package/dist/chrome/contextSwitcher/TriggerButton.js +1 -1
  39. package/dist/chrome/contextSwitcher/WorkspaceList.js +1 -1
  40. package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +29 -29
  41. package/dist/chrome/globalSearch/CategoryTabs.js +3 -3
  42. package/dist/chrome/globalSearch/ResultsList.js +8 -8
  43. package/dist/chrome/globalSearch/SearchInput.js +4 -4
  44. package/dist/chrome/globalSearch/SearchModeBar.js +3 -3
  45. package/dist/chrome/notificationCenter/BellButton.js +1 -1
  46. package/dist/chrome/notificationCenter/NotificationCardItem.js +5 -5
  47. package/dist/chrome/notificationCenter/NotificationFilters.js +5 -5
  48. package/dist/chrome/notificationCenter/NotificationFooter.js +1 -1
  49. package/dist/chrome/notificationCenter/NotificationHeader.js +2 -2
  50. package/dist/chrome/notificationCenter/NotificationList.js +2 -2
  51. package/dist/chrome/notificationCenter/NotificationPanel.d.ts.map +1 -1
  52. package/dist/chrome/notificationCenter/NotificationPanel.js +2 -2
  53. package/dist/chrome/notificationCenter/SkeletonCard.js +4 -4
  54. package/dist/chrome/notificationCenter/constants.js +5 -5
  55. package/dist/chrome/sideNavigation/CollapseToggle.js +1 -1
  56. package/dist/chrome/sideNavigation/MobileActionsBar.js +2 -2
  57. package/dist/chrome/sideNavigation/NavItemRenderer.d.ts.map +1 -1
  58. package/dist/chrome/sideNavigation/NavItemRenderer.js +23 -20
  59. package/dist/chrome/sideNavigation/SidebarHeader.js +1 -1
  60. package/dist/form/Checkbox.d.ts.map +1 -1
  61. package/dist/form/Checkbox.js +1 -1
  62. package/dist/form/FormDescription.js +1 -1
  63. package/dist/form/FormLabel.js +4 -4
  64. package/dist/form/FormMessage.js +1 -1
  65. package/dist/form/FormSection.d.ts.map +1 -1
  66. package/dist/form/FormSection.js +3 -3
  67. package/dist/form/Input.js +1 -1
  68. package/dist/form/Radio.d.ts.map +1 -1
  69. package/dist/form/Radio.js +2 -2
  70. package/dist/form/Select.d.ts.map +1 -1
  71. package/dist/form/Select.js +6 -6
  72. package/dist/form/Textarea.js +1 -1
  73. package/dist/shared/providers/shell/ThemeProvider.d.ts +20 -1
  74. package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
  75. package/dist/shared/providers/shell/ThemeProvider.js +58 -47
  76. package/dist/ui/accordion.js +4 -4
  77. package/dist/ui/alert-dialog.js +3 -3
  78. package/dist/ui/badge.d.ts.map +1 -1
  79. package/dist/ui/badge.js +8 -8
  80. package/dist/ui/bottom-sheet.js +4 -4
  81. package/dist/ui/button.d.ts.map +1 -1
  82. package/dist/ui/button.js +8 -8
  83. package/dist/ui/card.d.ts.map +1 -1
  84. package/dist/ui/card.js +3 -3
  85. package/dist/ui/checkbox.js +1 -1
  86. package/dist/ui/command.d.ts.map +1 -1
  87. package/dist/ui/command.js +11 -11
  88. package/dist/ui/dialog.d.ts.map +1 -1
  89. package/dist/ui/dialog.js +5 -5
  90. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  91. package/dist/ui/dropdown-menu.js +10 -10
  92. package/dist/ui/empty-state.d.ts.map +1 -1
  93. package/dist/ui/empty-state.js +3 -3
  94. package/dist/ui/input.js +1 -1
  95. package/dist/ui/label.js +1 -1
  96. package/dist/ui/optional-fields.d.ts.map +1 -1
  97. package/dist/ui/optional-fields.js +2 -2
  98. package/dist/ui/popover.js +1 -1
  99. package/dist/ui/responsive-table.js +2 -2
  100. package/dist/ui/scroll-area.js +2 -2
  101. package/dist/ui/select.d.ts.map +1 -1
  102. package/dist/ui/select.js +6 -6
  103. package/dist/ui/separator.js +1 -1
  104. package/dist/ui/sheet.js +3 -3
  105. package/dist/ui/skeleton.js +1 -1
  106. package/dist/ui/sonner.js +4 -4
  107. package/dist/ui/spinner.js +1 -1
  108. package/dist/ui/stepper.d.ts.map +1 -1
  109. package/dist/ui/stepper.js +6 -6
  110. package/dist/ui/switch.js +2 -2
  111. package/dist/ui/table.d.ts.map +1 -1
  112. package/dist/ui/table.js +7 -7
  113. package/dist/ui/tabs.js +2 -2
  114. package/dist/ui/textarea.js +1 -1
  115. package/dist/ui/tooltip.js +1 -1
  116. package/package.json +1 -1
  117. package/src/shared/tokens/build/foundation.css +31 -12
  118. package/src/shared/tokens/build/semantic.css +84 -24
  119. package/src/shared/tokens/build/tailwind.preset.js +13 -0
  120. package/src/shared/tokens/build/themes.css +280 -0
  121. package/src/shared/tokens/tokens.css +5 -0
@@ -0,0 +1,280 @@
1
+ /* Boff UI — Expressive & Accessibility Themes
2
+ *
3
+ * These four themes extend the light/dark base defined in semantic.css. They
4
+ * are selected via `data-theme="<name>"` on the document root and live in the
5
+ * `themes` CSS @layer (imported AFTER `brands` in tokens.css), so an expressive
6
+ * theme may set its own accent (--color-action-primary-*) and win over the
7
+ * per-brand accent. forest/ocean/sunset/high-contrast are all dark-family; the
8
+ * host ThemeProvider also adds the Tailwind `.dark` class for them, so any
9
+ * token a theme does NOT override inherits the dark base (and var()/color-mix
10
+ * derived tokens — accent-soft, focus ring, shadow glow, back-compat aliases —
11
+ * recompute automatically against the theme's accent).
12
+ *
13
+ * Rule: never change spacing, type scale, layout, or component behavior per
14
+ * theme — only color/surface/elevation/glass/accent/focus.
15
+ */
16
+
17
+ /* ============================ FOREST ============================ *
18
+ * Immersive farm / nature. Deep green-charcoal surfaces, green accent. */
19
+ [data-theme='forest'] {
20
+ color-scheme: dark;
21
+
22
+ --color-bg-canvas: #0A130D;
23
+ --color-bg-surface: #122019;
24
+ --color-bg-elevated: #192C22;
25
+ --color-bg-sunken: #060C09;
26
+ --color-bg-inverse: #EDF6F0;
27
+ --color-bg-overlay: rgba(4, 10, 7, 0.72);
28
+ --color-bg-accent: #0E2A1B;
29
+ --color-bg-accentSubtle: #0B3D26;
30
+ --color-bg-disabled: #192C22;
31
+
32
+ --color-text-primary: #EDF6F0;
33
+ --color-text-secondary: #B0C7B9;
34
+ --color-text-tertiary: #87A292;
35
+ --color-text-muted: #87A292;
36
+ --color-text-inverse: #0A130D;
37
+ --color-text-link: #6EE7A8;
38
+ --color-text-linkHover: #9CF0C2;
39
+ --color-text-placeholder: #6A8576;
40
+ --color-text-disabled: #56705F;
41
+
42
+ --color-border-default: #294437;
43
+ --color-border-subtle: #1B2E24;
44
+ --color-border-strong: #3B5A49;
45
+
46
+ --color-action-primary-bg: #22C55E;
47
+ --color-action-primary-bgHover: #34D77A;
48
+ --color-action-primary-bgActive: #16A34A;
49
+ --color-action-primary-bgDisabled: #1F3A2C;
50
+ --color-action-primary-text: #04210F;
51
+ --color-action-primary-border: #22C55E;
52
+
53
+ --color-action-secondary-bg: #19271F;
54
+ --color-action-secondary-bgHover: #21342A;
55
+ --color-action-secondary-bgActive: #2A4234;
56
+ --color-action-secondary-bgDisabled: #19271F;
57
+ --color-action-secondary-text: #EDF6F0;
58
+ --color-action-secondary-border: #294437;
59
+
60
+ --color-action-ghost-bgHover: #19271F;
61
+ --color-action-ghost-bgActive: #21342A;
62
+ --color-action-ghost-text: #B0C7B9;
63
+
64
+ --color-overlay-tooltipBg: #21342A;
65
+ --color-overlay-popoverBg: #19271F;
66
+ --color-surface-glass: rgba(18, 32, 25, 0.66);
67
+
68
+ --color-chart-1: #22C55E;
69
+ --color-chart-2: #2DD4BF;
70
+ --color-chart-positive: #34D399;
71
+ }
72
+
73
+ /* ============================ OCEAN ============================ *
74
+ * Analytical / calm. Deep blue surfaces, blue accent. */
75
+ [data-theme='ocean'] {
76
+ color-scheme: dark;
77
+
78
+ --color-bg-canvas: #091018;
79
+ --color-bg-surface: #10192A;
80
+ --color-bg-elevated: #182740;
81
+ --color-bg-sunken: #060B12;
82
+ --color-bg-inverse: #EEF3FB;
83
+ --color-bg-overlay: rgba(3, 8, 16, 0.72);
84
+ --color-bg-accent: #0E2440;
85
+ --color-bg-accentSubtle: #0B335C;
86
+ --color-bg-disabled: #182740;
87
+
88
+ --color-text-primary: #EEF3FB;
89
+ --color-text-secondary: #AAB9CE;
90
+ --color-text-tertiary: #8493AB;
91
+ --color-text-muted: #8493AB;
92
+ --color-text-inverse: #091018;
93
+ --color-text-link: #7AB6FF;
94
+ --color-text-linkHover: #A8CFFF;
95
+ --color-text-placeholder: #687893;
96
+ --color-text-disabled: #586278;
97
+
98
+ --color-border-default: #233246;
99
+ --color-border-subtle: #172333;
100
+ --color-border-strong: #34465E;
101
+
102
+ --color-action-primary-bg: #2563EB;
103
+ --color-action-primary-bgHover: #3B82F6;
104
+ --color-action-primary-bgActive: #1D4ED8;
105
+ --color-action-primary-bgDisabled: #1B2D4A;
106
+ --color-action-primary-text: #FFFFFF;
107
+ --color-action-primary-border: #2563EB;
108
+
109
+ --color-action-secondary-bg: #16243A;
110
+ --color-action-secondary-bgHover: #1E3150;
111
+ --color-action-secondary-bgActive: #26406A;
112
+ --color-action-secondary-bgDisabled: #16243A;
113
+ --color-action-secondary-text: #EEF3FB;
114
+ --color-action-secondary-border: #233246;
115
+
116
+ --color-action-ghost-bgHover: #16243A;
117
+ --color-action-ghost-bgActive: #1E3150;
118
+ --color-action-ghost-text: #AAB9CE;
119
+
120
+ --color-overlay-tooltipBg: #1E3150;
121
+ --color-overlay-popoverBg: #182740;
122
+ --color-surface-glass: rgba(16, 25, 42, 0.66);
123
+
124
+ --color-chart-1: #3B82F6;
125
+ --color-chart-2: #22D3EE;
126
+ --color-chart-positive: #34D399;
127
+ }
128
+
129
+ /* ============================ SUNSET ============================ *
130
+ * Warm / energetic. Plum-warm surfaces, orange accent. */
131
+ [data-theme='sunset'] {
132
+ color-scheme: dark;
133
+
134
+ --color-bg-canvas: #15101C;
135
+ --color-bg-surface: #20182A;
136
+ --color-bg-elevated: #2C2138;
137
+ --color-bg-sunken: #0F0B16;
138
+ --color-bg-inverse: #F6EEF3;
139
+ --color-bg-overlay: rgba(12, 7, 18, 0.72);
140
+ --color-bg-accent: #3A1E12;
141
+ --color-bg-accentSubtle: #4A2410;
142
+ --color-bg-disabled: #2C2138;
143
+
144
+ --color-text-primary: #F6EEF3;
145
+ --color-text-secondary: #C8B6C6;
146
+ --color-text-tertiary: #A290A0;
147
+ --color-text-muted: #A290A0;
148
+ --color-text-inverse: #15101C;
149
+ --color-text-link: #FBA56A;
150
+ --color-text-linkHover: #FDC9A0;
151
+ --color-text-placeholder: #82707F;
152
+ --color-text-disabled: #6B5C69;
153
+
154
+ --color-border-default: #3A2C44;
155
+ --color-border-subtle: #251B30;
156
+ --color-border-strong: #4E3C5A;
157
+
158
+ --color-action-primary-bg: #F97316;
159
+ --color-action-primary-bgHover: #FB923C;
160
+ --color-action-primary-bgActive: #EA580C;
161
+ --color-action-primary-bgDisabled: #45301F;
162
+ --color-action-primary-text: #210C02;
163
+ --color-action-primary-border: #F97316;
164
+
165
+ --color-action-secondary-bg: #271B30;
166
+ --color-action-secondary-bgHover: #33243F;
167
+ --color-action-secondary-bgActive: #3F2D4E;
168
+ --color-action-secondary-bgDisabled: #271B30;
169
+ --color-action-secondary-text: #F6EEF3;
170
+ --color-action-secondary-border: #3A2C44;
171
+
172
+ --color-action-ghost-bgHover: #271B30;
173
+ --color-action-ghost-bgActive: #33243F;
174
+ --color-action-ghost-text: #C8B6C6;
175
+
176
+ --color-overlay-tooltipBg: #33243F;
177
+ --color-overlay-popoverBg: #2C2138;
178
+ --color-surface-glass: rgba(32, 24, 42, 0.66);
179
+
180
+ --color-chart-1: #F97316;
181
+ --color-chart-2: #FB7185;
182
+ --color-chart-positive: #34D399;
183
+ }
184
+
185
+ /* ======================= HIGH CONTRAST ======================= *
186
+ * Accessibility-first. Pure black/white, vivid green accent, yellow focus.
187
+ * No translucency / blur (solid surfaces for maximum legibility). */
188
+ [data-theme='high-contrast'] {
189
+ color-scheme: dark;
190
+
191
+ --color-bg-canvas: #000000;
192
+ --color-bg-surface: #0A0A0A;
193
+ --color-bg-elevated: #141414;
194
+ --color-bg-sunken: #000000;
195
+ --color-bg-inverse: #FFFFFF;
196
+ --color-bg-overlay: rgba(0, 0, 0, 0.85);
197
+ --color-bg-accent: #052E16;
198
+ --color-bg-accentSubtle: #06351A;
199
+ --color-bg-disabled: #1A1A1A;
200
+
201
+ --color-text-primary: #FFFFFF;
202
+ --color-text-secondary: #EDEDED;
203
+ --color-text-tertiary: #D4D4D4;
204
+ --color-text-muted: #D4D4D4;
205
+ --color-text-inverse: #000000;
206
+ --color-text-link: #6FB3FF;
207
+ --color-text-linkHover: #A8D1FF;
208
+ --color-text-placeholder: #BFBFBF;
209
+ --color-text-disabled: #8A8A8A;
210
+
211
+ --color-border-default: #6B6B6B;
212
+ --color-border-subtle: #4A4A4A;
213
+ --color-border-strong: #9A9A9A;
214
+ --color-border-hover: #9A9A9A;
215
+
216
+ --color-action-primary-bg: #00E676;
217
+ --color-action-primary-bgHover: #4DFF9D;
218
+ --color-action-primary-bgActive: #00C853;
219
+ --color-action-primary-bgDisabled: #1A1A1A;
220
+ --color-action-primary-text: #000000;
221
+ --color-action-primary-border: #00E676;
222
+
223
+ --color-action-secondary-bg: #1A1A1A;
224
+ --color-action-secondary-bgHover: #262626;
225
+ --color-action-secondary-bgActive: #333333;
226
+ --color-action-secondary-bgDisabled: #1A1A1A;
227
+ --color-action-secondary-text: #FFFFFF;
228
+ --color-action-secondary-border: #6B6B6B;
229
+
230
+ --color-action-ghost-bgHover: #1A1A1A;
231
+ --color-action-ghost-bgActive: #262626;
232
+ --color-action-ghost-text: #EDEDED;
233
+
234
+ --color-action-danger-bg: #FF453A;
235
+ --color-action-danger-bgHover: #FF6961;
236
+ --color-action-danger-bgActive: #E0352B;
237
+ --color-action-danger-text: #000000;
238
+ --color-action-danger-border: #FF453A;
239
+
240
+ --color-status-success-bg: #00C853;
241
+ --color-status-success-bgSubtle: #052E16;
242
+ --color-status-success-text: #4DFF9D;
243
+ --color-status-success-border: #00C853;
244
+ --color-status-warning-bg: #FFB300;
245
+ --color-status-warning-bgSubtle: #2E2305;
246
+ --color-status-warning-text: #FFE000;
247
+ --color-status-warning-border: #FFB300;
248
+ --color-status-error-bg: #FF453A;
249
+ --color-status-error-bgSubtle: #2E0606;
250
+ --color-status-error-text: #FF8A80;
251
+ --color-status-error-border: #FF453A;
252
+ --color-status-info-bg: #2196F3;
253
+ --color-status-info-bgSubtle: #06243A;
254
+ --color-status-info-text: #6FB3FF;
255
+ --color-status-info-border: #2196F3;
256
+
257
+ --color-overlay-scrim: rgba(0, 0, 0, 0.85);
258
+ --color-overlay-tooltipBg: #141414;
259
+ --color-overlay-tooltipText: #FFFFFF;
260
+ --color-overlay-popoverBg: #141414;
261
+
262
+ --color-chart-1: #00E676;
263
+ --color-chart-2: #29B6F6;
264
+ --color-chart-3: #FFEE58;
265
+ --color-chart-4: #FF7043;
266
+ --color-chart-5: #EC407A;
267
+ --color-chart-grid: #4A4A4A;
268
+ --color-chart-axis: #BFBFBF;
269
+ --color-chart-positive: #4DFF9D;
270
+ --color-chart-negative: #FF8A80;
271
+
272
+ /* Solid surfaces — no glass/blur in high contrast */
273
+ --color-surface-glass: #0A0A0A;
274
+ --color-border-glass: #6B6B6B;
275
+ --blur-glass: 0px;
276
+
277
+ /* Vivid yellow focus ring */
278
+ --color-focus-ring: #FFFF00;
279
+ --shadow-focus: 0 0 0 3px rgba(255, 255, 0, 0.55);
280
+ }
@@ -20,3 +20,8 @@
20
20
  @import './build/brands/healthybowl.css' layer(brands);
21
21
  @import './build/brands/fluidgrids.css' layer(brands);
22
22
  @import './build/brands/vibecontrols.css' layer(brands);
23
+
24
+ /* Boff UI expressive + accessibility themes (forest/ocean/sunset/high-contrast).
25
+ * Imported into the `themes` layer LAST so an expressive theme's accent wins
26
+ * over the per-brand accent. See build/themes.css. */
27
+ @import './build/themes.css' layer(themes);