@burdenoff/fe-libs 2026.619.2 → 2026.623.2

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 (122) 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/storage/uploadBlob.d.ts.map +1 -1
  77. package/dist/ui/accordion.js +4 -4
  78. package/dist/ui/alert-dialog.js +3 -3
  79. package/dist/ui/badge.d.ts.map +1 -1
  80. package/dist/ui/badge.js +8 -8
  81. package/dist/ui/bottom-sheet.js +4 -4
  82. package/dist/ui/button.d.ts.map +1 -1
  83. package/dist/ui/button.js +8 -8
  84. package/dist/ui/card.d.ts.map +1 -1
  85. package/dist/ui/card.js +3 -3
  86. package/dist/ui/checkbox.js +1 -1
  87. package/dist/ui/command.d.ts.map +1 -1
  88. package/dist/ui/command.js +11 -11
  89. package/dist/ui/dialog.d.ts.map +1 -1
  90. package/dist/ui/dialog.js +5 -5
  91. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  92. package/dist/ui/dropdown-menu.js +10 -10
  93. package/dist/ui/empty-state.d.ts.map +1 -1
  94. package/dist/ui/empty-state.js +3 -3
  95. package/dist/ui/input.js +1 -1
  96. package/dist/ui/label.js +1 -1
  97. package/dist/ui/optional-fields.d.ts.map +1 -1
  98. package/dist/ui/optional-fields.js +2 -2
  99. package/dist/ui/popover.js +1 -1
  100. package/dist/ui/responsive-table.js +2 -2
  101. package/dist/ui/scroll-area.js +2 -2
  102. package/dist/ui/select.d.ts.map +1 -1
  103. package/dist/ui/select.js +6 -6
  104. package/dist/ui/separator.js +1 -1
  105. package/dist/ui/sheet.js +3 -3
  106. package/dist/ui/skeleton.js +1 -1
  107. package/dist/ui/sonner.js +4 -4
  108. package/dist/ui/spinner.js +1 -1
  109. package/dist/ui/stepper.d.ts.map +1 -1
  110. package/dist/ui/stepper.js +6 -6
  111. package/dist/ui/switch.js +2 -2
  112. package/dist/ui/table.d.ts.map +1 -1
  113. package/dist/ui/table.js +7 -7
  114. package/dist/ui/tabs.js +2 -2
  115. package/dist/ui/textarea.js +1 -1
  116. package/dist/ui/tooltip.js +1 -1
  117. package/package.json +1 -1
  118. package/src/shared/tokens/build/foundation.css +31 -12
  119. package/src/shared/tokens/build/semantic.css +84 -24
  120. package/src/shared/tokens/build/tailwind.preset.js +13 -0
  121. package/src/shared/tokens/build/themes.css +304 -0
  122. package/src/shared/tokens/tokens.css +5 -0
@@ -4,7 +4,7 @@ import { jsx as t } from "react/jsx-runtime";
4
4
  function n({ className: n, ...r }) {
5
5
  return /* @__PURE__ */ t("div", {
6
6
  "data-slot": "skeleton",
7
- className: e("bg-accent animate-pulse rounded-md", n),
7
+ className: e("bg-bg-sunken animate-pulse rounded-card", n),
8
8
  ...r
9
9
  });
10
10
  }
package/dist/ui/sonner.js CHANGED
@@ -16,10 +16,10 @@ var c = ({ ...c }) => {
16
16
  loading: /* @__PURE__ */ o(r, { className: "size-4 animate-spin" })
17
17
  },
18
18
  style: {
19
- "--normal-bg": "var(--popover)",
20
- "--normal-text": "var(--popover-foreground)",
21
- "--normal-border": "var(--border)",
22
- "--border-radius": "var(--radius)"
19
+ "--normal-bg": "var(--color-bg-elevated)",
20
+ "--normal-text": "var(--color-text-primary)",
21
+ "--normal-border": "var(--color-border-subtle)",
22
+ "--border-radius": "var(--radius-card)"
23
23
  },
24
24
  ...c
25
25
  });
@@ -11,7 +11,7 @@ function i({ size: i = "md", className: a, ...o }) {
11
11
  return /* @__PURE__ */ n("div", {
12
12
  className: e("flex items-center justify-center", a),
13
13
  ...o,
14
- children: /* @__PURE__ */ n(t, { className: e("animate-spin text-muted-foreground", r[i]) })
14
+ children: /* @__PURE__ */ n(t, { className: e("animate-spin text-text-muted", r[i]) })
15
15
  });
16
16
  }
17
17
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/ui/stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,MAAM,EACN,WAAW,EACX,cAAsB,EACtB,SAAS,GACV,EAAE,YAAY,2CAyHd"}
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/ui/stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,MAAM,EACN,WAAW,EACX,cAAsB,EACtB,SAAS,GACV,EAAE,YAAY,2CA0Hd"}
@@ -9,7 +9,7 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
9
9
  let t = a[o];
10
10
  return /* @__PURE__ */ i("div", {
11
11
  "data-slot": "stepper-mobile",
12
- className: e("flex flex-col gap-2 rounded-lg border border-border-default bg-bg-surface px-4 py-3", l),
12
+ className: e("flex flex-col gap-2 rounded-card border border-border-subtle bg-bg-surface shadow-elevation-1 px-4 py-3", l),
13
13
  role: "navigation",
14
14
  "aria-label": "Steps",
15
15
  children: [/* @__PURE__ */ i("div", {
@@ -31,7 +31,7 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
31
31
  return /* @__PURE__ */ r("span", {
32
32
  role: "listitem",
33
33
  "aria-current": i === "active" ? "step" : void 0,
34
- className: e("h-1.5 flex-1 rounded-full transition-colors", i === "done" && "bg-action-primary-bg", i === "active" && "bg-action-primary-bg", i === "todo" && "bg-border-default")
34
+ className: e("h-1.5 flex-1 rounded-full transition-colors", i === "done" && "bg-action-primary-bg", i === "active" && "bg-action-primary-bg", i === "todo" && "bg-border-subtle")
35
35
  }, t.key);
36
36
  })
37
37
  })]
@@ -43,7 +43,7 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
43
43
  "aria-label": "Steps",
44
44
  children: a.map((t, l) => {
45
45
  let u = l < o ? "done" : l === o ? "active" : "todo", d = !!s && (c || l <= o), f = /* @__PURE__ */ r("span", {
46
- className: e("inline-flex size-7 items-center justify-center rounded-full border text-xs font-semibold transition-colors", u === "done" && "border-action-primary-bg bg-action-primary-bg text-action-primary-text", u === "active" && "border-action-primary-bg text-action-primary-bg", u === "todo" && "border-border-default text-text-tertiary"),
46
+ className: e("inline-flex size-7 items-center justify-center rounded-full border text-xs font-semibold transition-colors", u === "done" && "border-action-primary-bg bg-action-primary-bg text-action-primary-text", u === "active" && "border-action-primary-bg bg-[var(--color-accent-soft)] text-text-primary", u === "todo" && "border-border-default text-text-muted"),
47
47
  "aria-hidden": "true",
48
48
  children: u === "done" ? /* @__PURE__ */ r(n, { className: "size-4" }) : l + 1
49
49
  }), p = /* @__PURE__ */ i("span", {
@@ -52,7 +52,7 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
52
52
  className: e("block text-sm font-medium", u === "todo" ? "text-text-secondary" : "text-text-primary"),
53
53
  children: t.label
54
54
  }), t.description ? /* @__PURE__ */ r("span", {
55
- className: "block text-xs text-text-tertiary",
55
+ className: "block text-xs text-text-muted",
56
56
  children: t.description
57
57
  }) : null]
58
58
  });
@@ -62,13 +62,13 @@ function a({ steps: a, active: o, onStepClick: s, allowSkipAhead: c = !1, classN
62
62
  children: [d ? /* @__PURE__ */ i("button", {
63
63
  type: "button",
64
64
  onClick: () => s(l),
65
- className: "flex items-center gap-3 min-w-0 rounded-md py-1 pr-1 transition-colors hover:bg-bg-sunken focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-action-primary-bg/40",
65
+ className: "flex items-center gap-3 min-w-0 rounded-button py-1 pr-1 transition-colors hover:bg-bg-sunken focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)] focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)]",
66
66
  children: [f, p]
67
67
  }) : /* @__PURE__ */ i("div", {
68
68
  className: "flex items-center gap-3 min-w-0",
69
69
  children: [f, p]
70
70
  }), l < a.length - 1 ? /* @__PURE__ */ r("span", {
71
- className: e("flex-1 h-px", u === "done" ? "bg-action-primary-bg" : "bg-border-default"),
71
+ className: e("flex-1 h-px", u === "done" ? "bg-action-primary-bg" : "bg-border-subtle"),
72
72
  "aria-hidden": "true"
73
73
  }) : null]
74
74
  }, t.key);
package/dist/ui/switch.js CHANGED
@@ -7,11 +7,11 @@ import * as n from "@radix-ui/react-switch";
7
7
  function r({ className: r, ...i }) {
8
8
  return /* @__PURE__ */ t(n.Root, {
9
9
  "data-slot": "switch",
10
- className: e("peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-border-default shadow-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:ring-action-primary-bg/40 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-action-primary-bg data-[state=checked]:bg-action-primary-bg data-[state=unchecked]:bg-bg-sunken", r),
10
+ className: e("peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-border-default shadow-elevation-1 outline-none transition-colors duration-200 ease-[var(--motion-easing-out)] focus-visible:shadow-[var(--shadow-focus)] focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-action-primary-bg data-[state=checked]:bg-action-primary-bg data-[state=unchecked]:bg-bg-sunken", r),
11
11
  ...i,
12
12
  children: /* @__PURE__ */ t(n.Thumb, {
13
13
  "data-slot": "switch-thumb",
14
- className: e("pointer-events-none block size-4 rounded-full border border-border-default bg-bg-surface shadow-sm ring-0 transition-transform dark:bg-text-primary data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")
14
+ className: e("pointer-events-none block size-4 rounded-full border border-border-default bg-bg-surface shadow-elevation-1 ring-0 transition-transform dark:bg-text-primary data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")
15
15
  })
16
16
  });
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/ui/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI1F,iBAAS,KAAK,CAAC,EACb,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAE,2CAM1E;AACD,iBAAS,WAAW,CAAC,EACnB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAExF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAExF;AACD,iBAAS,WAAW,CAAC,EACnB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAQxF;AACD,iBAAS,QAAQ,CAAC,EAChB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,mBAAmB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;CAAE,2CAWhF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,2CAWpF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,2CAQpF;AACD,iBAAS,YAAY,CAAC,EACpB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAIxF;AACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/ui/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI1F,iBAAS,KAAK,CAAC,EACb,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAE,2CAM1E;AACD,iBAAS,WAAW,CAAC,EACnB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAQxF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAQxF;AACD,iBAAS,WAAW,CAAC,EACnB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAWxF;AACD,iBAAS,QAAQ,CAAC,EAChB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,mBAAmB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;CAAE,2CAWhF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,2CAWpF;AACD,iBAAS,SAAS,CAAC,EACjB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,2CAQpF;AACD,iBAAS,YAAY,CAAC,EACpB,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;CAAE,2CAIxF;AACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
package/dist/ui/table.js CHANGED
@@ -14,49 +14,49 @@ function n({ ref: n, className: r, ...i }) {
14
14
  function r({ ref: n, className: r, ...i }) {
15
15
  return /* @__PURE__ */ t("thead", {
16
16
  ref: n,
17
- className: e("[&_tr]:border-b", r),
17
+ className: e("[&_tr]:border-b [&_tr]:border-border-subtle", r),
18
18
  ...i
19
19
  });
20
20
  }
21
21
  function i({ ref: n, className: r, ...i }) {
22
22
  return /* @__PURE__ */ t("tbody", {
23
23
  ref: n,
24
- className: e("[&_tr:last-child]:border-0", r),
24
+ className: e("divide-y divide-border-subtle [&_tr:last-child]:border-0", r),
25
25
  ...i
26
26
  });
27
27
  }
28
28
  function a({ ref: n, className: r, ...i }) {
29
29
  return /* @__PURE__ */ t("tfoot", {
30
30
  ref: n,
31
- className: e("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", r),
31
+ className: e("border-t border-border-subtle bg-bg-sunken font-medium text-text-primary [&>tr]:last:border-b-0", r),
32
32
  ...i
33
33
  });
34
34
  }
35
35
  function o({ ref: n, className: r, ...i }) {
36
36
  return /* @__PURE__ */ t("tr", {
37
37
  ref: n,
38
- className: e("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", r),
38
+ className: e("border-b border-border-subtle transition-colors hover:bg-bg-sunken data-[state=selected]:bg-[var(--color-accent-soft)]", r),
39
39
  ...i
40
40
  });
41
41
  }
42
42
  function s({ ref: n, className: r, ...i }) {
43
43
  return /* @__PURE__ */ t("th", {
44
44
  ref: n,
45
- className: e("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", r),
45
+ className: e("h-11 px-4 text-left align-middle text-xs font-medium uppercase tracking-wide text-text-muted [&:has([role=checkbox])]:pr-0", r),
46
46
  ...i
47
47
  });
48
48
  }
49
49
  function c({ ref: n, className: r, ...i }) {
50
50
  return /* @__PURE__ */ t("td", {
51
51
  ref: n,
52
- className: e("p-4 align-middle [&:has([role=checkbox])]:pr-0", r),
52
+ className: e("p-4 align-middle text-text-primary [&:has([role=checkbox])]:pr-0", r),
53
53
  ...i
54
54
  });
55
55
  }
56
56
  function l({ ref: n, className: r, ...i }) {
57
57
  return /* @__PURE__ */ t("caption", {
58
58
  ref: n,
59
- className: e("mt-4 text-sm text-muted-foreground", r),
59
+ className: e("mt-4 text-sm text-text-secondary", r),
60
60
  ...i
61
61
  });
62
62
  }
package/dist/ui/tabs.js CHANGED
@@ -13,14 +13,14 @@ function r({ className: r, ...i }) {
13
13
  function i({ className: r, ...i }) {
14
14
  return /* @__PURE__ */ t(n.List, {
15
15
  "data-slot": "tabs-list",
16
- className: e("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", r),
16
+ className: e("bg-bg-sunken text-text-secondary inline-flex h-9 w-fit items-center justify-center rounded-button p-[3px]", r),
17
17
  ...i
18
18
  });
19
19
  }
20
20
  function a({ className: r, ...i }) {
21
21
  return /* @__PURE__ */ t(n.Trigger, {
22
22
  "data-slot": "tabs-trigger",
23
- className: e("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
23
+ className: e("text-text-secondary data-[state=active]:bg-bg-surface data-[state=active]:text-text-primary data-[state=active]:shadow-elevation-1 inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-button border border-transparent px-3 py-1 text-sm font-medium whitespace-nowrap transition-all duration-200 ease-[var(--motion-easing-out)] hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)] focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
24
24
  ...i
25
25
  });
26
26
  }
@@ -3,7 +3,7 @@ import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/ui/textarea.tsx
4
4
  function n({ ref: n, className: r, ...i }) {
5
5
  return /* @__PURE__ */ t("textarea", {
6
- className: e("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", r),
6
+ className: e("flex min-h-[80px] w-full rounded-input border border-border-default bg-bg-surface px-3 py-2 text-sm text-text-primary transition-colors duration-200 placeholder:text-text-placeholder focus-visible:border-border-focus focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)] focus-visible:ring-1 focus-visible:ring-[var(--color-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50 aria-[invalid=true]:border-status-error-border", r),
7
7
  ref: n,
8
8
  ...i
9
9
  });
@@ -7,7 +7,7 @@ function o({ ref: r, className: i, sideOffset: a = 4, ...o }) {
7
7
  return /* @__PURE__ */ t(n.Content, {
8
8
  ref: r,
9
9
  sideOffset: a,
10
- className: e("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", i),
10
+ className: e("z-50 overflow-hidden rounded-button bg-bg-inverse px-3 py-1.5 text-xs font-medium text-text-inverse shadow-elevation-3 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", i),
11
11
  ...o
12
12
  });
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.619.2",
3
+ "version": "2026.623.2",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {
@@ -142,28 +142,47 @@
142
142
  --font-family-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
143
143
  --font-family-mono: 'Fira Code', 'Roboto Mono', 'Courier New', monospace;
144
144
 
145
- /* Border Radius */
146
- --radius-sm: 4px;
147
- --radius-md: 6px;
148
- --radius-lg: 8px;
145
+ /* Border Radius
146
+ * Boff UI uses a softer, modern geometry. xs/2xl/3xl extend the original
147
+ * sm/md/lg/xl scale without breaking existing tokens. Semantic radius
148
+ * aliases (--radius-card/button/input) live in semantic.css. */
149
+ --radius-xs: 4px;
150
+ --radius-sm: 6px;
151
+ --radius-md: 8px;
152
+ --radius-lg: 10px;
149
153
  --radius-xl: 12px;
154
+ --radius-2xl: 16px;
155
+ --radius-3xl: 20px;
150
156
  --radius-pill: 9999px;
151
157
 
152
- /* Shadows */
158
+ /* Shadows (light-mode defaults; dark-family themes deepen these in
159
+ * semantic.css / themes.css so elevation stays legible on dark surfaces).
160
+ * elevation-4/5 are Boff UI additions for popovers / modals / palettes. */
153
161
  --shadow-elevation-0: none;
154
- --shadow-elevation-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
155
- --shadow-elevation-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
156
- --shadow-elevation-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
162
+ --shadow-elevation-1: 0 1px 2px 0 rgba(15, 23, 42, 0.06), 0 1px 3px -1px rgba(15, 23, 42, 0.08);
163
+ --shadow-elevation-2: 0 2px 4px -1px rgba(15, 23, 42, 0.07), 0 8px 16px -6px rgba(15, 23, 42, 0.10);
164
+ --shadow-elevation-3: 0 8px 20px -6px rgba(15, 23, 42, 0.12), 0 16px 32px -12px rgba(15, 23, 42, 0.12);
165
+ --shadow-elevation-4: 0 16px 32px -10px rgba(15, 23, 42, 0.16), 0 24px 56px -20px rgba(15, 23, 42, 0.18);
166
+ --shadow-elevation-5: 0 24px 56px -16px rgba(15, 23, 42, 0.22), 0 40px 88px -32px rgba(15, 23, 42, 0.24);
157
167
  --shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.2);
158
168
 
169
+ /* Glass blur primitives (consumed via backdrop-blur-[var(--blur-glass)]) */
170
+ --blur-glass-sm: 8px;
171
+ --blur-glass: 16px;
172
+ --blur-glass-lg: 24px;
173
+
159
174
  /* Motion Durations */
160
- --motion-duration-fast: 150ms;
161
- --motion-duration-normal: 250ms;
162
- --motion-duration-slow: 350ms;
175
+ --motion-duration-instant: 60ms;
176
+ --motion-duration-fast: 140ms;
177
+ --motion-duration-normal: 220ms;
178
+ --motion-duration-slow: 320ms;
179
+ --motion-duration-slower: 480ms;
163
180
 
164
181
  /* Motion Easings */
165
- --motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
182
+ --motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
166
183
  --motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
184
+ --motion-easing-out: cubic-bezier(0.16, 1, 0.3, 1);
185
+ --motion-easing-spring: cubic-bezier(0.22, 1, 0.36, 1);
167
186
 
168
187
  /* Z-Index */
169
188
  --z-base: 0;
@@ -113,14 +113,30 @@
113
113
  --size-icon-md: 20px;
114
114
  --size-icon-lg: 24px;
115
115
  --size-icon-xl: 32px;
116
- --radius-card: 8px;
117
- --radius-button: 6px;
118
- --radius-input: 6px;
116
+ /* Boff UI: softer modern geometry */
117
+ --radius-card: 12px;
118
+ --radius-button: 8px;
119
+ --radius-input: 8px;
120
+ /* Light-mode elevation — layered, soft, neutral-slate tinted */
119
121
  --shadow-elevation-0: none;
120
- --shadow-elevation-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
121
- --shadow-elevation-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
122
- --shadow-elevation-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
123
- --shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.2);
122
+ --shadow-elevation-1: 0 1px 2px 0 rgba(15, 23, 42, 0.06), 0 1px 3px -1px rgba(15, 23, 42, 0.08);
123
+ --shadow-elevation-2: 0 2px 4px -1px rgba(15, 23, 42, 0.07), 0 8px 16px -6px rgba(15, 23, 42, 0.10);
124
+ --shadow-elevation-3: 0 8px 20px -6px rgba(15, 23, 42, 0.12), 0 16px 32px -12px rgba(15, 23, 42, 0.12);
125
+ --shadow-elevation-4: 0 16px 32px -10px rgba(15, 23, 42, 0.16), 0 24px 56px -20px rgba(15, 23, 42, 0.18);
126
+ --shadow-elevation-5: 0 24px 56px -16px rgba(15, 23, 42, 0.22), 0 40px 88px -32px rgba(15, 23, 42, 0.24);
127
+ --shadow-focus: 0 0 0 3px color-mix(in oklab, var(--color-action-primary-bg) 28%, transparent);
128
+ /* Boff UI semantic elevation aliases (used by redesigned surfaces) */
129
+ --shadow-card: var(--shadow-elevation-1);
130
+ --shadow-float: var(--shadow-elevation-3);
131
+ --shadow-overlay: var(--shadow-elevation-5);
132
+ --shadow-glow: 0 0 0 1px color-mix(in oklab, var(--color-action-primary-bg) 28%, transparent), 0 10px 28px -10px color-mix(in oklab, var(--color-action-primary-bg) 30%, transparent);
133
+ /* Boff UI glass + accent wash + focus ring (theme-aware) */
134
+ --color-surface-glass: rgba(255, 255, 255, 0.72);
135
+ --color-border-glass: rgba(15, 23, 42, 0.08);
136
+ --color-accent-soft: color-mix(in oklab, var(--color-action-primary-bg) 10%, transparent);
137
+ --color-accent-softHover: color-mix(in oklab, var(--color-action-primary-bg) 16%, transparent);
138
+ --color-focus-ring: var(--color-action-primary-bg);
139
+ --blur-glass: 16px;
124
140
  /* Accent color tokens */
125
141
  --color-accent-blue: #2563EB;
126
142
  --color-accent-blue-hover: #1D4ED8;
@@ -161,27 +177,28 @@
161
177
  [data-theme="dark"],
162
178
  .dark,
163
179
  :root.dark {
164
- --color-bg-canvas: #030712;
165
- --color-bg-surface: #111827;
166
- --color-bg-elevated: #1F2937;
167
- --color-bg-sunken: #030712;
180
+ /* Boff UI dark family — deep blue-charcoal with clear elevation steps */
181
+ --color-bg-canvas: #0A0E16;
182
+ --color-bg-surface: #121826;
183
+ --color-bg-elevated: #1B2333;
184
+ --color-bg-sunken: #070A11;
168
185
  --color-bg-inverse: #F9FAFB;
169
- --color-bg-overlay: rgba(0, 0, 0, 0.7);
186
+ --color-bg-overlay: rgba(3, 6, 12, 0.72);
170
187
  --color-bg-accent: #172554;
171
188
  --color-bg-accentSubtle: #1E3A8A;
172
- --color-bg-disabled: #1F2937;
173
- --color-text-primary: #F9FAFB;
174
- --color-text-secondary: #9CA3AF;
175
- --color-text-tertiary: #9CA3AF;
176
- --color-text-muted: #9CA3AF;
189
+ --color-bg-disabled: #1B2333;
190
+ --color-text-primary: #F4F6FB;
191
+ --color-text-secondary: #AEB6C5;
192
+ --color-text-tertiary: #8B94A6;
193
+ --color-text-muted: #8B94A6;
177
194
  --color-text-inverse: #111827;
178
- --color-text-link: #60A5FA;
179
- --color-text-linkHover: #93C5FD;
180
- --color-text-placeholder: #6B7280;
181
- --color-text-disabled: #6B7280;
182
- --color-border-default: #374151;
183
- --color-border-subtle: #1F2937;
184
- --color-border-strong: #4B5563;
195
+ --color-text-link: #7AB6FF;
196
+ --color-text-linkHover: #A8CFFF;
197
+ --color-text-placeholder: #6B7587;
198
+ --color-text-disabled: #5A6377;
199
+ --color-border-default: #2A3343;
200
+ --color-border-subtle: #1C2433;
201
+ --color-border-strong: #3C4759;
185
202
  --color-action-primary-bg: #2563EB;
186
203
  --color-action-primary-bgHover: #1D4ED8;
187
204
  --color-action-primary-bgActive: #1E40AF;
@@ -252,6 +269,23 @@
252
269
  --color-accent-indigo: #818CF8;
253
270
  --color-accent-indigo-hover: #A5B4FC;
254
271
  --color-accent-indigo-subtle: #312E81;
272
+ /* Boff UI dark elevation — deeper ambient + faint top highlight so cards
273
+ * read as lifted on dark surfaces (light-mode shadows are invisible here) */
274
+ --shadow-elevation-1: 0 1px 0 0 rgba(255, 255, 255, 0.03), 0 2px 6px -2px rgba(0, 0, 0, 0.4);
275
+ --shadow-elevation-2: 0 1px 0 0 rgba(255, 255, 255, 0.03), 0 10px 24px -8px rgba(0, 0, 0, 0.5);
276
+ --shadow-elevation-3: 0 1px 0 0 rgba(255, 255, 255, 0.04), 0 18px 44px -12px rgba(0, 0, 0, 0.56);
277
+ --shadow-elevation-4: 0 1px 0 0 rgba(255, 255, 255, 0.04), 0 28px 64px -16px rgba(0, 0, 0, 0.62);
278
+ --shadow-elevation-5: 0 1px 0 0 rgba(255, 255, 255, 0.05), 0 40px 96px -24px rgba(0, 0, 0, 0.7);
279
+ --shadow-card: var(--shadow-elevation-1);
280
+ --shadow-float: var(--shadow-elevation-3);
281
+ --shadow-overlay: var(--shadow-elevation-5);
282
+ --shadow-glow: 0 0 0 1px color-mix(in oklab, var(--color-action-primary-bg) 36%, transparent), 0 12px 32px -10px color-mix(in oklab, var(--color-action-primary-bg) 40%, transparent);
283
+ /* Boff UI glass + accent wash + focus ring - dark mode */
284
+ --color-surface-glass: rgba(20, 27, 41, 0.66);
285
+ --color-border-glass: rgba(255, 255, 255, 0.08);
286
+ --color-accent-soft: color-mix(in oklab, var(--color-action-primary-bg) 22%, transparent);
287
+ --color-accent-softHover: color-mix(in oklab, var(--color-action-primary-bg) 30%, transparent);
288
+ --color-focus-ring: var(--color-action-primary-bg);
255
289
  /* Semantic aliases - dark mode */
256
290
  --color-bg-muted: var(--color-bg-sunken);
257
291
  --color-border-hover: var(--color-border-strong);
@@ -289,6 +323,21 @@
289
323
  --size-controlHeight-lg: 40px;
290
324
  }
291
325
 
326
+ /* Boff UI Spacious Density — touch-friendly / public-facing screens */
327
+ [data-density="spacious"] {
328
+ --space-pagePadding: 32px;
329
+ --space-sectionGap: 40px;
330
+ --space-cardPadding: 20px;
331
+ --space-formGap: 20px;
332
+ --space-controlGap: 12px;
333
+ --space-listGap: 12px;
334
+ --space-inlineGap: 12px;
335
+ --space-iconGap: 10px;
336
+ --size-controlHeight-sm: 40px;
337
+ --size-controlHeight-md: 44px;
338
+ --size-controlHeight-lg: 52px;
339
+ }
340
+
292
341
  /* Large Typography Scale - Auto-generated */
293
342
  [data-typography="large"] {
294
343
  --font-size-body-sm: 16px;
@@ -299,3 +348,14 @@
299
348
  --font-size-heading-h3: 28px;
300
349
  --font-size-heading-h4: 24px;
301
350
  }
351
+
352
+ /* Boff UI Small Typography Scale — dense power-user screens */
353
+ [data-typography="small"] {
354
+ --font-size-body-sm: 13px;
355
+ --font-size-body-md: 14px;
356
+ --font-size-body-lg: 16px;
357
+ --font-size-heading-h1: 30px;
358
+ --font-size-heading-h2: 24px;
359
+ --font-size-heading-h3: 20px;
360
+ --font-size-heading-h4: 18px;
361
+ }
@@ -104,6 +104,13 @@ export default {
104
104
  'accent-indigo-hover': 'var(--color-accent-indigo-hover)',
105
105
  'accent-indigo-subtle': 'var(--color-accent-indigo-subtle)',
106
106
 
107
+ // Boff UI glass + accent wash + focus ring (theme-aware)
108
+ 'surface-glass': 'var(--color-surface-glass)',
109
+ 'border-glass': 'var(--color-border-glass)',
110
+ 'accent-soft': 'var(--color-accent-soft)',
111
+ 'accent-soft-hover': 'var(--color-accent-softHover)',
112
+ 'focus-ring': 'var(--color-focus-ring)',
113
+
107
114
  // Semantic aliases
108
115
  'bg-muted': 'var(--color-bg-muted)',
109
116
  'border-hover': 'var(--color-border-hover)',
@@ -176,6 +183,12 @@ export default {
176
183
  'elevation-1': 'var(--shadow-elevation-1)',
177
184
  'elevation-2': 'var(--shadow-elevation-2)',
178
185
  'elevation-3': 'var(--shadow-elevation-3)',
186
+ 'elevation-4': 'var(--shadow-elevation-4)',
187
+ 'elevation-5': 'var(--shadow-elevation-5)',
188
+ 'card': 'var(--shadow-card)',
189
+ 'float': 'var(--shadow-float)',
190
+ 'overlay': 'var(--shadow-overlay)',
191
+ 'glow': 'var(--shadow-glow)',
179
192
  'focus': 'var(--shadow-focus)',
180
193
  },
181
194
  height: {