@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.
- package/dist/chrome/AccountSwitcher.js +8 -8
- package/dist/chrome/AppShellLayout.d.ts +4 -1
- package/dist/chrome/AppShellLayout.d.ts.map +1 -1
- package/dist/chrome/AppShellLayout.js +1 -1
- package/dist/chrome/AutoBreadcrumbs.d.ts.map +1 -1
- package/dist/chrome/AutoBreadcrumbs.js +6 -6
- package/dist/chrome/Breadcrumbs.js +3 -3
- package/dist/chrome/CommandPalette.js +15 -15
- package/dist/chrome/ContextSwitcher.js +1 -1
- package/dist/chrome/Footer.js +1 -1
- package/dist/chrome/FooterBar.js +2 -2
- package/dist/chrome/GlobalSearch.js +3 -3
- package/dist/chrome/HeaderBar.d.ts.map +1 -1
- package/dist/chrome/HeaderBar.js +6 -6
- package/dist/chrome/LanguagePickerSheet.js +1 -1
- package/dist/chrome/LanguageSwitcher.js +4 -4
- package/dist/chrome/NavLink.d.ts.map +1 -1
- package/dist/chrome/NavLink.js +5 -6
- package/dist/chrome/PageHeader.js +3 -3
- package/dist/chrome/PanelTabs.js +5 -5
- package/dist/chrome/PluginContextMenuTarget.js +2 -2
- package/dist/chrome/PluginFooterStrip.js +2 -2
- package/dist/chrome/PluginSettingsPage.js +3 -3
- package/dist/chrome/PluginWidgetGrid.js +1 -1
- package/dist/chrome/ProductPickerSheet.js +3 -3
- package/dist/chrome/ProductSwitcher.js +9 -9
- package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
- package/dist/chrome/ProfileSwitcher.js +11 -11
- package/dist/chrome/ShortcutHelpDialog.js +9 -9
- package/dist/chrome/SideNavigation.js +3 -3
- package/dist/chrome/Sidebar.js +8 -8
- package/dist/chrome/StatusBar.js +1 -1
- package/dist/chrome/Tabs.js +1 -1
- package/dist/chrome/contextSwitcher/OrganizationList.js +1 -1
- package/dist/chrome/contextSwitcher/ProjectList.js +1 -1
- package/dist/chrome/contextSwitcher/SearchInput.js +1 -1
- package/dist/chrome/contextSwitcher/TabButton.js +1 -1
- package/dist/chrome/contextSwitcher/TriggerButton.js +1 -1
- package/dist/chrome/contextSwitcher/WorkspaceList.js +1 -1
- package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +29 -29
- package/dist/chrome/globalSearch/CategoryTabs.js +3 -3
- package/dist/chrome/globalSearch/ResultsList.js +8 -8
- package/dist/chrome/globalSearch/SearchInput.js +4 -4
- package/dist/chrome/globalSearch/SearchModeBar.js +3 -3
- package/dist/chrome/notificationCenter/BellButton.js +1 -1
- package/dist/chrome/notificationCenter/NotificationCardItem.js +5 -5
- package/dist/chrome/notificationCenter/NotificationFilters.js +5 -5
- package/dist/chrome/notificationCenter/NotificationFooter.js +1 -1
- package/dist/chrome/notificationCenter/NotificationHeader.js +2 -2
- package/dist/chrome/notificationCenter/NotificationList.js +2 -2
- package/dist/chrome/notificationCenter/NotificationPanel.d.ts.map +1 -1
- package/dist/chrome/notificationCenter/NotificationPanel.js +2 -2
- package/dist/chrome/notificationCenter/SkeletonCard.js +4 -4
- package/dist/chrome/notificationCenter/constants.js +5 -5
- package/dist/chrome/sideNavigation/CollapseToggle.js +1 -1
- package/dist/chrome/sideNavigation/MobileActionsBar.js +2 -2
- package/dist/chrome/sideNavigation/NavItemRenderer.d.ts.map +1 -1
- package/dist/chrome/sideNavigation/NavItemRenderer.js +23 -20
- package/dist/chrome/sideNavigation/SidebarHeader.js +1 -1
- package/dist/form/Checkbox.d.ts.map +1 -1
- package/dist/form/Checkbox.js +1 -1
- package/dist/form/FormDescription.js +1 -1
- package/dist/form/FormLabel.js +4 -4
- package/dist/form/FormMessage.js +1 -1
- package/dist/form/FormSection.d.ts.map +1 -1
- package/dist/form/FormSection.js +3 -3
- package/dist/form/Input.js +1 -1
- package/dist/form/Radio.d.ts.map +1 -1
- package/dist/form/Radio.js +2 -2
- package/dist/form/Select.d.ts.map +1 -1
- package/dist/form/Select.js +6 -6
- package/dist/form/Textarea.js +1 -1
- package/dist/shared/providers/shell/ThemeProvider.d.ts +20 -1
- package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/ThemeProvider.js +58 -47
- package/dist/ui/accordion.js +4 -4
- package/dist/ui/alert-dialog.js +3 -3
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/badge.js +8 -8
- package/dist/ui/bottom-sheet.js +4 -4
- package/dist/ui/button.d.ts.map +1 -1
- package/dist/ui/button.js +8 -8
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +3 -3
- package/dist/ui/checkbox.js +1 -1
- package/dist/ui/command.d.ts.map +1 -1
- package/dist/ui/command.js +11 -11
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +5 -5
- package/dist/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/ui/dropdown-menu.js +10 -10
- package/dist/ui/empty-state.d.ts.map +1 -1
- package/dist/ui/empty-state.js +3 -3
- package/dist/ui/input.js +1 -1
- package/dist/ui/label.js +1 -1
- package/dist/ui/optional-fields.d.ts.map +1 -1
- package/dist/ui/optional-fields.js +2 -2
- package/dist/ui/popover.js +1 -1
- package/dist/ui/responsive-table.js +2 -2
- package/dist/ui/scroll-area.js +2 -2
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +6 -6
- package/dist/ui/separator.js +1 -1
- package/dist/ui/sheet.js +3 -3
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/sonner.js +4 -4
- package/dist/ui/spinner.js +1 -1
- package/dist/ui/stepper.d.ts.map +1 -1
- package/dist/ui/stepper.js +6 -6
- package/dist/ui/switch.js +2 -2
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +7 -7
- package/dist/ui/tabs.js +2 -2
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/tooltip.js +1 -1
- package/package.json +1 -1
- package/src/shared/tokens/build/foundation.css +31 -12
- package/src/shared/tokens/build/semantic.css +84 -24
- package/src/shared/tokens/build/tailwind.preset.js +13 -0
- package/src/shared/tokens/build/themes.css +280 -0
- package/src/shared/tokens/tokens.css +5 -0
package/dist/ui/stepper.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-action-primary-bg", 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
}
|
package/dist/ui/table.d.ts.map
CHANGED
|
@@ -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,
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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("
|
|
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
|
}
|
package/dist/ui/textarea.js
CHANGED
|
@@ -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-
|
|
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
|
});
|
package/dist/ui/tooltip.js
CHANGED
|
@@ -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-
|
|
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
|
@@ -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
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
|
155
|
-
--shadow-elevation-2: 0 4px
|
|
156
|
-
--shadow-elevation-3: 0
|
|
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-
|
|
161
|
-
--motion-duration-
|
|
162
|
-
--motion-duration-
|
|
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.
|
|
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
|
-
|
|
117
|
-
--radius-
|
|
118
|
-
--radius-
|
|
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
|
|
121
|
-
--shadow-elevation-2: 0 4px
|
|
122
|
-
--shadow-elevation-3: 0
|
|
123
|
-
--shadow-
|
|
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
|
-
|
|
165
|
-
--color-bg-
|
|
166
|
-
--color-bg-
|
|
167
|
-
--color-bg-
|
|
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(
|
|
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: #
|
|
173
|
-
--color-text-primary: #
|
|
174
|
-
--color-text-secondary: #
|
|
175
|
-
--color-text-tertiary: #
|
|
176
|
-
--color-text-muted: #
|
|
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: #
|
|
179
|
-
--color-text-linkHover: #
|
|
180
|
-
--color-text-placeholder: #
|
|
181
|
-
--color-text-disabled: #
|
|
182
|
-
--color-border-default: #
|
|
183
|
-
--color-border-subtle: #
|
|
184
|
-
--color-border-strong: #
|
|
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: {
|