@burdenoff/fe-libs 2026.527.2 → 2026.527.3

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 (78) hide show
  1. package/dist/button/Button.js +18 -16
  2. package/dist/chrome/AccountSwitcher.js +10 -7
  3. package/dist/chrome/AutoBreadcrumbs.js +2 -0
  4. package/dist/chrome/Breadcrumbs.js +2 -0
  5. package/dist/chrome/CommandPalette.js +5 -3
  6. package/dist/chrome/ContextSwitcher.js +12 -11
  7. package/dist/chrome/DynamicFooter.js +7 -7
  8. package/dist/chrome/Footer.js +5 -5
  9. package/dist/chrome/GeographySwitcher.js +3 -3
  10. package/dist/chrome/GlobalSearch.js +18 -9
  11. package/dist/chrome/HeaderBar.js +6 -1
  12. package/dist/chrome/LanguagePickerSheet.js +1 -1
  13. package/dist/chrome/LanguageSwitcher.js +2 -2
  14. package/dist/chrome/NotificationCenter.js +19 -10
  15. package/dist/chrome/PanelTabs.js +7 -4
  16. package/dist/chrome/PluginContextMenuTarget.js +1 -1
  17. package/dist/chrome/ProductPickerSheet.js +4 -4
  18. package/dist/chrome/ProductSideNav.js +1 -1
  19. package/dist/chrome/ProductSwitcher.js +3 -3
  20. package/dist/chrome/ProfileSwitcher.js +13 -8
  21. package/dist/chrome/ShortcutHelpDialog.js +2 -1
  22. package/dist/chrome/SideNavigation.js +7 -3
  23. package/dist/chrome/Sidebar.js +1 -0
  24. package/dist/form/Checkbox.js +17 -15
  25. package/dist/form/FormDescription.js +9 -10
  26. package/dist/form/FormField.js +11 -12
  27. package/dist/form/FormLabel.js +13 -13
  28. package/dist/form/FormMessage.js +10 -11
  29. package/dist/form/Input.js +11 -10
  30. package/dist/form/Radio.js +25 -21
  31. package/dist/form/Select.js +81 -66
  32. package/dist/form/Textarea.js +10 -9
  33. package/dist/shared/components/AccessDenied.js +8 -4
  34. package/dist/shared/components/AppErrorBoundary.js +2 -0
  35. package/dist/shared/components/ContextConversationWidget.js +15 -15
  36. package/dist/shared/components/ErrorFallback.js +3 -0
  37. package/dist/shared/components/PWAInstallBanner.js +8 -4
  38. package/dist/shared/components/RequireAuth.js +4 -4
  39. package/dist/shared/components/SSORedirectGuard.js +1 -1
  40. package/dist/shared/feature-flags/FeatureFlagProvider.js +21 -21
  41. package/dist/shared/geography/GeographyProvider.js +20 -20
  42. package/dist/shared/graphql/GatewayContext.js +1 -1
  43. package/dist/shared/motion/MotionList.js +1 -1
  44. package/dist/shared/pages/AiPage.js +3 -3
  45. package/dist/shared/pages/SearchPage.js +38 -33
  46. package/dist/shared/plugins/PluginRuntimeProvider.js +1 -1
  47. package/dist/shared/providers/shell/ActiveContextProvider.js +12 -12
  48. package/dist/shared/providers/shell/AppShellContext.js +1 -1
  49. package/dist/shared/providers/shell/AuthProvider.js +17 -17
  50. package/dist/shared/providers/shell/AuthTokenProvider.js +6 -6
  51. package/dist/shared/providers/shell/ContextManagerProvider.js +1 -1
  52. package/dist/shared/providers/shell/FeatureFlagsProvider.js +5 -5
  53. package/dist/shared/providers/shell/GlobalUiProvider.js +17 -17
  54. package/dist/shared/providers/shell/I18nProvider.js +15 -15
  55. package/dist/shared/providers/shell/PageConversationContextProvider.js +14 -14
  56. package/dist/shared/providers/shell/PermissionProvider.js +16 -16
  57. package/dist/shared/providers/shell/ShellUiProvider.js +13 -13
  58. package/dist/shared/providers/shell/ThemeProvider.js +9 -9
  59. package/dist/shared/tours/TourPlayer.js +1 -0
  60. package/dist/shared/tours/TourPlayerProvider.js +1 -1
  61. package/dist/shared/tours/TourTooltip.js +3 -0
  62. package/dist/shared/tours/TourTrigger.js +12 -9
  63. package/dist/shared/tours/ToursContext.js +11 -11
  64. package/dist/shared-events.js +3 -3
  65. package/dist/shared-hooks.js +1 -1
  66. package/dist/storage/SaveToFilesButton.js +3 -3
  67. package/dist/storage/SaveToFilesDialog.js +1 -1
  68. package/dist/tag/TagBadge.js +1 -1
  69. package/dist/tag/TagsWidget.js +6 -6
  70. package/dist/ui/card.js +44 -39
  71. package/dist/ui/dropdown-menu.js +82 -66
  72. package/dist/ui/input.js +10 -10
  73. package/dist/ui/label.js +13 -11
  74. package/dist/ui/select.js +80 -66
  75. package/dist/ui/table.js +61 -54
  76. package/dist/ui/textarea.js +9 -9
  77. package/dist/ui/tooltip.js +13 -11
  78. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { cn as e } from "../shared-utils.js";
2
- import * as t from "react";
3
- import { jsx as n } from "react/jsx-runtime";
4
- import { Slot as r } from "@radix-ui/react-slot";
5
- import { cva as i } from "class-variance-authority";
2
+ import "react";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { Slot as n } from "@radix-ui/react-slot";
5
+ import { cva as r } from "class-variance-authority";
6
6
  //#region src/button/Button.tsx
7
- var a = i("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] hover:shadow-md", {
7
+ var i = r("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] hover:shadow-md", {
8
8
  variants: {
9
9
  variant: {
10
10
  default: "bg-primary text-primary-foreground shadow hover:bg-primary/90 hover:shadow-lg active:shadow-sm",
@@ -25,15 +25,17 @@ var a = i("inline-flex items-center justify-center gap-2 whitespace-nowrap round
25
25
  variant: "default",
26
26
  size: "default"
27
27
  }
28
- }), o = t.forwardRef(({ className: t, variant: i, size: o, asChild: s = !1, ...c }, l) => /* @__PURE__ */ n(s ? r : "button", {
29
- className: e(a({
30
- variant: i,
31
- size: o,
32
- className: t
33
- })),
34
- ref: l,
35
- ...c
36
- }));
37
- o.displayName = "Button";
28
+ });
29
+ function a({ ref: r, className: a, variant: o, size: s, asChild: c = !1, ...l }) {
30
+ return /* @__PURE__ */ t(c ? n : "button", {
31
+ className: e(i({
32
+ variant: o,
33
+ size: s,
34
+ className: a
35
+ })),
36
+ ref: r,
37
+ ...l
38
+ });
39
+ }
38
40
  //#endregion
39
- export { o as Button };
41
+ export { a as Button };
@@ -37,7 +37,7 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
37
37
  },
38
38
  children: [
39
39
  /* @__PURE__ */ c("div", {
40
- className: "w-10 h-10 rounded-full bg-action-primary-bg flex items-center justify-center flex-shrink-0",
40
+ className: "size-10 rounded-full bg-action-primary-bg flex items-center justify-center flex-shrink-0",
41
41
  children: e.avatar ? /* @__PURE__ */ c("img", {
42
42
  src: e.avatar,
43
43
  alt: e.name,
@@ -58,7 +58,7 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
58
58
  })]
59
59
  }),
60
60
  t && /* @__PURE__ */ c("svg", {
61
- className: "w-5 h-5 text-action-primary-bg flex-shrink-0",
61
+ className: "size-5 text-action-primary-bg flex-shrink-0",
62
62
  fill: "currentColor",
63
63
  viewBox: "0 0 20 20",
64
64
  children: /* @__PURE__ */ c("path", {
@@ -68,13 +68,14 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
68
68
  })
69
69
  }),
70
70
  !t && g && /* @__PURE__ */ c("button", {
71
+ type: "button",
71
72
  onClick: (t) => {
72
73
  t.stopPropagation(), g(e.id);
73
74
  },
74
75
  className: "p-1 rounded hover:bg-status-error-bg/20 text-text-tertiary hover:text-status-error-text transition-colors",
75
76
  "aria-label": `Remove ${e.name}`,
76
77
  children: /* @__PURE__ */ c("svg", {
77
- className: "w-4 h-4",
78
+ className: "size-4",
78
79
  fill: "none",
79
80
  stroke: "currentColor",
80
81
  viewBox: "0 0 24 24",
@@ -106,12 +107,13 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
106
107
  /* @__PURE__ */ l("div", {
107
108
  className: "p-2 space-y-1",
108
109
  children: [h && /* @__PURE__ */ l("button", {
110
+ type: "button",
109
111
  onClick: () => {
110
112
  h(), b(!1);
111
113
  },
112
114
  className: "w-full flex items-center gap-3 px-3 py-2 rounded-lg text-text-primary hover:bg-action-ghost-bg-hover transition-colors",
113
115
  children: [/* @__PURE__ */ c("svg", {
114
- className: "w-5 h-5",
116
+ className: "size-5",
115
117
  fill: "none",
116
118
  stroke: "currentColor",
117
119
  viewBox: "0 0 24 24",
@@ -126,12 +128,13 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
126
128
  children: "Add Another Account"
127
129
  })]
128
130
  }), _ && f.length > 0 && /* @__PURE__ */ l("button", {
131
+ type: "button",
129
132
  onClick: () => {
130
133
  _(), b(!1);
131
134
  },
132
135
  className: "w-full flex items-center gap-3 px-3 py-2 rounded-lg text-status-error-text hover:bg-status-error-bg/10 transition-colors",
133
136
  children: [/* @__PURE__ */ c("svg", {
134
- className: "w-5 h-5",
137
+ className: "size-5",
135
138
  fill: "none",
136
139
  stroke: "currentColor",
137
140
  viewBox: "0 0 24 24",
@@ -154,7 +157,7 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
154
157
  "aria-expanded": y,
155
158
  children: [
156
159
  C && /* @__PURE__ */ c("div", {
157
- className: "w-8 h-8 rounded-full bg-action-primary-bg flex items-center justify-center",
160
+ className: "size-8 rounded-full bg-action-primary-bg flex items-center justify-center",
158
161
  children: C.avatar ? /* @__PURE__ */ c("img", {
159
162
  src: C.avatar,
160
163
  alt: C.name,
@@ -182,7 +185,7 @@ var f = ({ accounts: f, activeAccountId: p, onSwitchAccount: m, onAddAccount: h,
182
185
  d: "M19 9l-7 7-7-7"
183
186
  })
184
187
  }), /* @__PURE__ */ c("span", {
185
- className: "absolute -top-1 -right-1 w-3 h-3 text-[10px] bg-action-primary-bg text-action-primary-text rounded-full flex items-center justify-center font-bold",
188
+ className: "absolute -top-1 -right-1 size-3 text-[10px] bg-action-primary-bg text-action-primary-text rounded-full flex items-center justify-center font-bold",
186
189
  children: f.length
187
190
  })]
188
191
  })
@@ -53,6 +53,7 @@ function m() {
53
53
  className: "flex items-center gap-spacing-xs text-body-sm flex-wrap",
54
54
  children: [
55
55
  /* @__PURE__ */ o("li", { children: /* @__PURE__ */ s("button", {
56
+ type: "button",
56
57
  onClick: () => p("/"),
57
58
  className: "flex items-center gap-icon-gap text-text-secondary hover:text-text-primary transition-colors",
58
59
  "aria-label": "Home",
@@ -71,6 +72,7 @@ function m() {
71
72
  className: "text-text-primary font-medium truncate max-w-[200px] sm:max-w-none",
72
73
  children: e.label
73
74
  }) : /* @__PURE__ */ o("button", {
75
+ type: "button",
74
76
  onClick: () => p(e.path),
75
77
  className: "text-text-secondary hover:text-text-primary transition-colors truncate max-w-[120px] sm:max-w-[200px]",
76
78
  children: e.label
@@ -29,6 +29,7 @@ var a = ({ items: a, separator: o, showHome: s = !0, onHomeClick: c, maxItems: l
29
29
  children: /* @__PURE__ */ i("ol", {
30
30
  className: "flex items-center gap-icon-gap",
31
31
  children: [s && /* @__PURE__ */ r("li", { children: /* @__PURE__ */ r("button", {
32
+ type: "button",
32
33
  onClick: c,
33
34
  className: "text-text-secondary hover:text-text-primary transition-colors p-1 rounded hover:bg-action-ghost-bg-hover",
34
35
  "aria-label": "Home",
@@ -55,6 +56,7 @@ var a = ({ items: a, separator: o, showHome: s = !0, onHomeClick: c, maxItems: l
55
56
  className: "text-text-tertiary px-2",
56
57
  children: "..."
57
58
  }) : n.href || n.onClick ? /* @__PURE__ */ i("button", {
59
+ type: "button",
58
60
  onClick: n.onClick || (() => {}),
59
61
  className: e("flex items-center gap-icon-gap px-2 py-1 rounded transition-colors", n.isCurrentPage ? "text-text-primary font-medium pointer-events-none" : "text-text-secondary hover:text-text-primary hover:bg-action-ghost-bg-hover"),
60
62
  "aria-current": n.isCurrentPage ? "page" : void 0,
@@ -98,7 +98,7 @@ function d({ actions: l, shortcuts: d = [], placeholder: f = "Type a command or
98
98
  /* @__PURE__ */ c("div", {
99
99
  className: "flex items-center border-b px-3",
100
100
  children: [
101
- /* @__PURE__ */ s(a, { className: "h-4 w-4 mr-2 flex-shrink-0 opacity-50" }),
101
+ /* @__PURE__ */ s(a, { className: "size-4 mr-2 flex-shrink-0 opacity-50" }),
102
102
  /* @__PURE__ */ s("input", {
103
103
  type: "text",
104
104
  placeholder: f,
@@ -108,10 +108,11 @@ function d({ actions: l, shortcuts: d = [], placeholder: f = "Type a command or
108
108
  autoFocus: !0
109
109
  }),
110
110
  g && /* @__PURE__ */ s("button", {
111
+ type: "button",
111
112
  onClick: () => _(""),
112
113
  className: "ml-2 rounded-sm opacity-70 hover:opacity-100",
113
114
  "aria-label": "Clear search",
114
- children: /* @__PURE__ */ s(o, { className: "h-4 w-4" })
115
+ children: /* @__PURE__ */ s(o, { className: "size-4" })
115
116
  })
116
117
  ]
117
118
  }),
@@ -128,10 +129,11 @@ function d({ actions: l, shortcuts: d = [], placeholder: f = "Type a command or
128
129
  }), n.map((t) => {
129
130
  let n = t.icon, r = w;
130
131
  return w++, /* @__PURE__ */ c("button", {
132
+ type: "button",
131
133
  onClick: () => void x(t),
132
134
  className: e("w-full flex items-start gap-2 px-2 py-2 text-sm rounded-md transition-colors text-left", r === v ? "bg-accent" : "hover:bg-accent/50"),
133
135
  children: [
134
- n && /* @__PURE__ */ s(n, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
136
+ n && /* @__PURE__ */ s(n, { className: "size-4 mt-0.5 flex-shrink-0" }),
135
137
  /* @__PURE__ */ c("div", {
136
138
  className: "flex-1 min-w-0",
137
139
  children: [/* @__PURE__ */ s("div", {
@@ -15,7 +15,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
15
15
  className: "relative",
16
16
  children: [
17
17
  /* @__PURE__ */ l("svg", {
18
- className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]",
18
+ className: "absolute left-3 top-1/2 -translate-y-1/2 size-4 text-[var(--color-text-tertiary)]",
19
19
  fill: "none",
20
20
  stroke: "currentColor",
21
21
  viewBox: "0 0 24 24",
@@ -35,11 +35,12 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
35
35
  className: "w-full pl-9 pr-8 py-2 text-sm bg-[var(--color-bg-surface)] border border-[var(--color-border-subtle)] rounded-md focus:outline-none focus:ring-2 focus:ring-[var(--color-action-primary-border)] focus:border-transparent text-[var(--color-text-primary)] placeholder:text-[var(--color-text-tertiary)] transition-all duration-200"
36
36
  }),
37
37
  e && /* @__PURE__ */ l("button", {
38
+ type: "button",
38
39
  onClick: () => t(""),
39
40
  className: "absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded-md hover:bg-[var(--color-action-ghost-bgHover)] text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)] transition-all duration-150 ease-out",
40
41
  "aria-label": "Clear search",
41
42
  children: /* @__PURE__ */ l("svg", {
42
- className: "w-4 h-4",
43
+ className: "size-4",
43
44
  fill: "none",
44
45
  stroke: "currentColor",
45
46
  viewBox: "0 0 24 24",
@@ -57,7 +58,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
57
58
  className: "px-4 py-8 text-center animate-in fade-in-0 duration-200",
58
59
  children: t ? /* @__PURE__ */ u(c, { children: [
59
60
  /* @__PURE__ */ l("svg", {
60
- className: "w-8 h-8 mx-auto mb-2 text-[var(--color-text-tertiary)]",
61
+ className: "size-8 mx-auto mb-2 text-[var(--color-text-tertiary)]",
61
62
  fill: "none",
62
63
  stroke: "currentColor",
63
64
  viewBox: "0 0 24 24",
@@ -172,7 +173,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
172
173
  style: { animationDelay: `${t * 30}ms` },
173
174
  children: [
174
175
  /* @__PURE__ */ l("svg", {
175
- className: "w-5 h-5 text-[var(--color-text-secondary)] flex-shrink-0",
176
+ className: "size-5 text-[var(--color-text-secondary)] flex-shrink-0",
176
177
  fill: "none",
177
178
  stroke: "currentColor",
178
179
  viewBox: "0 0 24 24",
@@ -188,7 +189,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
188
189
  children: e.name
189
190
  }),
190
191
  e.id === v && /* @__PURE__ */ l("svg", {
191
- className: "w-5 h-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
192
+ className: "size-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
192
193
  fill: "currentColor",
193
194
  viewBox: "0 0 20 20",
194
195
  children: /* @__PURE__ */ l("path", {
@@ -219,7 +220,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
219
220
  style: { animationDelay: `${t * 30}ms` },
220
221
  children: [
221
222
  /* @__PURE__ */ l("svg", {
222
- className: "w-5 h-5 text-[var(--color-text-secondary)] flex-shrink-0",
223
+ className: "size-5 text-[var(--color-text-secondary)] flex-shrink-0",
223
224
  fill: "none",
224
225
  stroke: "currentColor",
225
226
  viewBox: "0 0 24 24",
@@ -235,7 +236,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
235
236
  children: e.name
236
237
  }),
237
238
  e.id === y && /* @__PURE__ */ l("svg", {
238
- className: "w-5 h-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
239
+ className: "size-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
239
240
  fill: "currentColor",
240
241
  viewBox: "0 0 20 20",
241
242
  children: /* @__PURE__ */ l("path", {
@@ -266,7 +267,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
266
267
  style: { animationDelay: `${t * 30}ms` },
267
268
  children: [
268
269
  /* @__PURE__ */ l("svg", {
269
- className: "w-5 h-5 text-[var(--color-text-secondary)] flex-shrink-0",
270
+ className: "size-5 text-[var(--color-text-secondary)] flex-shrink-0",
270
271
  fill: "none",
271
272
  stroke: "currentColor",
272
273
  viewBox: "0 0 24 24",
@@ -282,7 +283,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
282
283
  children: e.name
283
284
  }),
284
285
  e.id === b && /* @__PURE__ */ l("svg", {
285
- className: "w-5 h-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
286
+ className: "size-5 text-[var(--color-action-primary-bg)] flex-shrink-0 animate-in zoom-in-50 duration-200",
286
287
  fill: "currentColor",
287
288
  viewBox: "0 0 20 20",
288
289
  children: /* @__PURE__ */ l("path", {
@@ -305,7 +306,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
305
306
  "aria-label": "Switch context",
306
307
  "aria-expanded": T,
307
308
  children: w ? /* @__PURE__ */ l("svg", {
308
- className: "w-5 h-5 text-[var(--color-text-primary)]",
309
+ className: "size-5 text-[var(--color-text-primary)]",
309
310
  fill: "none",
310
311
  stroke: "currentColor",
311
312
  viewBox: "0 0 24 24",
@@ -318,7 +319,7 @@ var f = ({ value: e, onChange: t, placeholder: n, inputRef: r }) => /* @__PURE__
318
319
  }) : /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ u("div", {
319
320
  className: "flex items-center gap-1.5",
320
321
  children: [/* @__PURE__ */ l("svg", {
321
- className: "w-4 h-4 text-[var(--color-text-secondary)]",
322
+ className: "size-4 text-[var(--color-text-secondary)]",
322
323
  fill: "none",
323
324
  stroke: "currentColor",
324
325
  viewBox: "0 0 24 24",
@@ -39,12 +39,12 @@ var _ = h`
39
39
  about: "about",
40
40
  contact: "contact"
41
41
  }, b = {
42
- twitter: /* @__PURE__ */ m(f, { className: "w-5 h-5" }),
43
- x: /* @__PURE__ */ m(f, { className: "w-5 h-5" }),
44
- github: /* @__PURE__ */ m(c, { className: "w-5 h-5" }),
45
- discord: /* @__PURE__ */ m(d, { className: "w-5 h-5" }),
46
- linkedin: /* @__PURE__ */ m(u, { className: "w-5 h-5" }),
47
- youtube: /* @__PURE__ */ m(p, { className: "w-5 h-5" })
42
+ twitter: /* @__PURE__ */ m(f, { className: "size-5" }),
43
+ x: /* @__PURE__ */ m(f, { className: "size-5" }),
44
+ github: /* @__PURE__ */ m(c, { className: "size-5" }),
45
+ discord: /* @__PURE__ */ m(d, { className: "size-5" }),
46
+ linkedin: /* @__PURE__ */ m(u, { className: "size-5" }),
47
+ youtube: /* @__PURE__ */ m(p, { className: "size-5" })
48
48
  }, x = [
49
49
  "terms-of-service",
50
50
  "privacy-policy",
@@ -98,7 +98,7 @@ function S({ productSlug: c, productName: u, tagline: d, version: f = "v1.0.0",
98
98
  id: e,
99
99
  label: e.charAt(0).toUpperCase() + e.slice(1),
100
100
  href: t,
101
- icon: b[e.toLowerCase()] || /* @__PURE__ */ m(l, { className: "w-5 h-5" })
101
+ icon: b[e.toLowerCase()] || /* @__PURE__ */ m(l, { className: "size-5" })
102
102
  }));
103
103
  r.length > 0 && A(r);
104
104
  }).catch(() => {}), () => {
@@ -87,19 +87,19 @@ var s = [
87
87
  id: "twitter",
88
88
  label: "Twitter",
89
89
  href: "https://twitter.com/burdenoff",
90
- icon: /* @__PURE__ */ a(i, { className: "w-5 h-5" })
90
+ icon: /* @__PURE__ */ a(i, { className: "size-5" })
91
91
  },
92
92
  {
93
93
  id: "github",
94
94
  label: "GitHub",
95
95
  href: "https://github.com/algoshred",
96
- icon: /* @__PURE__ */ a(n, { className: "w-5 h-5" })
96
+ icon: /* @__PURE__ */ a(n, { className: "size-5" })
97
97
  },
98
98
  {
99
99
  id: "discord",
100
100
  label: "Discord",
101
101
  href: "https://discord.gg/burdenoff",
102
- icon: /* @__PURE__ */ a(r, { className: "w-5 h-5" })
102
+ icon: /* @__PURE__ */ a(r, { className: "size-5" })
103
103
  }
104
104
  ], l = ({ logo: n, productName: r = "Burdenoff Workspaces", tagline: i = "Enterprise collaboration made simple", columns: l = s, socialLinks: u = c, copyright: d, version: f, buildInfo: p, context: m, children: h, renderLink: g }) => {
105
105
  let _ = (/* @__PURE__ */ new Date()).getFullYear(), v = d ?? `${_} Burdenoff. All rights reserved.`, y = g ?? (({ href: e, external: t, children: n, className: r }) => /* @__PURE__ */ a("a", {
@@ -122,7 +122,7 @@ var s = [
122
122
  /* @__PURE__ */ o("div", {
123
123
  className: "flex items-center gap-3 mb-4",
124
124
  children: [n ?? /* @__PURE__ */ a("div", {
125
- className: "w-8 h-8 rounded-md bg-gradient-to-br from-brand-primary to-brand-secondary flex items-center justify-center text-white font-bold text-sm",
125
+ className: "size-8 rounded-md bg-gradient-to-br from-brand-primary to-brand-secondary flex items-center justify-center text-white font-bold text-sm",
126
126
  children: "B"
127
127
  }), /* @__PURE__ */ a("span", {
128
128
  className: "text-lg font-semibold text-text-primary",
@@ -157,7 +157,7 @@ var s = [
157
157
  children: [
158
158
  e.icon,
159
159
  e.label,
160
- e.external && /* @__PURE__ */ a(t, { className: "w-3 h-3" })
160
+ e.external && /* @__PURE__ */ a(t, { className: "size-3" })
161
161
  ]
162
162
  }) }, e.id))
163
163
  })] }, e.title))]
@@ -41,7 +41,7 @@ var s = [
41
41
  "aria-label": "Change country",
42
42
  "aria-expanded": f,
43
43
  children: d ? /* @__PURE__ */ a("svg", {
44
- className: "w-5 h-5 text-text-primary",
44
+ className: "size-5 text-text-primary",
45
45
  fill: "none",
46
46
  stroke: "currentColor",
47
47
  viewBox: "0 0 24 24",
@@ -88,7 +88,7 @@ var s = [
88
88
  children: /* @__PURE__ */ o("div", {
89
89
  className: "relative",
90
90
  children: [/* @__PURE__ */ a("svg", {
91
- className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-text-secondary pointer-events-none",
91
+ className: "absolute left-2.5 top-1/2 -translate-y-1/2 size-4 text-text-secondary pointer-events-none",
92
92
  fill: "none",
93
93
  stroke: "currentColor",
94
94
  viewBox: "0 0 24 24",
@@ -136,7 +136,7 @@ var s = [
136
136
  children: e.code
137
137
  }),
138
138
  e.code === l && /* @__PURE__ */ a("svg", {
139
- className: "w-5 h-5 text-action-primary-bg flex-shrink-0",
139
+ className: "size-5 text-action-primary-bg flex-shrink-0",
140
140
  fill: "currentColor",
141
141
  viewBox: "0 0 20 20",
142
142
  children: /* @__PURE__ */ a("path", {
@@ -113,7 +113,7 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
113
113
  /* @__PURE__ */ o("div", {
114
114
  className: "flex items-center border-b px-3",
115
115
  children: [
116
- /* @__PURE__ */ a(ae, { className: "h-4 w-4 mr-2 flex-shrink-0 opacity-50" }),
116
+ /* @__PURE__ */ a(ae, { className: "size-4 mr-2 flex-shrink-0 opacity-50" }),
117
117
  /* @__PURE__ */ a("input", {
118
118
  type: "text",
119
119
  placeholder: de,
@@ -123,25 +123,28 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
123
123
  autoFocus: !0
124
124
  }),
125
125
  u && /* @__PURE__ */ a("button", {
126
+ type: "button",
126
127
  onClick: () => d(""),
127
128
  className: "ml-2 rounded-sm opacity-70 hover:opacity-100",
128
129
  "aria-label": "Clear search",
129
- children: /* @__PURE__ */ a(se, { className: "h-4 w-4" })
130
+ children: /* @__PURE__ */ a(se, { className: "size-4" })
130
131
  })
131
132
  ]
132
133
  }),
133
134
  ue.length > 0 && /* @__PURE__ */ o("div", {
134
135
  className: "flex items-center gap-1 p-2 border-b overflow-x-auto scrollbar-hide scroll-smooth snap-x snap-mandatory",
135
136
  children: [/* @__PURE__ */ a("button", {
137
+ type: "button",
136
138
  onClick: () => p(void 0),
137
139
  className: e("px-3 py-1.5 text-xs rounded-md transition-colors whitespace-nowrap flex-shrink-0 snap-start", f === void 0 ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80"),
138
140
  children: "All"
139
141
  }), ue.map((t) => {
140
142
  let n = t.icon;
141
143
  return /* @__PURE__ */ o("button", {
144
+ type: "button",
142
145
  onClick: () => p(t.name),
143
146
  className: e("px-3 py-1.5 text-xs rounded-md transition-colors whitespace-nowrap flex-shrink-0 flex items-center gap-1.5 snap-start", f === t.name ? "bg-primary text-primary-foreground" : "bg-muted hover:bg-muted/80"),
144
- children: [/* @__PURE__ */ a(n, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ a("span", {
147
+ children: [/* @__PURE__ */ a(n, { className: "size-3.5" }), /* @__PURE__ */ a("span", {
145
148
  className: "hidden xs:inline",
146
149
  children: t.label
147
150
  })]
@@ -157,19 +160,21 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
157
160
  "FULLTEXT",
158
161
  "EXACT"
159
162
  ].map((t) => /* @__PURE__ */ a("button", {
163
+ type: "button",
160
164
  onClick: () => S(t),
161
165
  className: e("px-2 py-1 text-[10px] font-medium rounded transition-colors", x === t ? "bg-primary text-primary-foreground" : "bg-muted/60 text-muted-foreground hover:bg-muted"),
162
166
  title: t === "PARTIAL" ? "Autocomplete — matches prefixes and substrings" : t === "FULLTEXT" ? "Full-text — BM25 word matching with stemming" : "Exact — all search terms must appear",
163
167
  children: t === "PARTIAL" ? "Partial" : t === "FULLTEXT" ? "Fulltext" : "Exact"
164
168
  }, t))
165
169
  }), /* @__PURE__ */ o("button", {
170
+ type: "button",
166
171
  onClick: () => _e((e) => !e),
167
172
  className: "flex items-center gap-1 px-2 py-1 text-[10px] font-medium text-muted-foreground rounded hover:bg-muted transition-colors",
168
173
  "aria-expanded": b,
169
174
  children: [
170
- /* @__PURE__ */ a(oe, { className: "h-3 w-3" }),
175
+ /* @__PURE__ */ a(oe, { className: "size-3" }),
171
176
  "Filters",
172
- a(b ? te : ee, { className: "h-3 w-3" })
177
+ a(b ? te : ee, { className: "size-3" })
173
178
  ]
174
179
  })]
175
180
  }),
@@ -412,6 +417,7 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
412
417
  /* @__PURE__ */ a("div", {
413
418
  className: "flex justify-end",
414
419
  children: /* @__PURE__ */ a("button", {
420
+ type: "button",
415
421
  onClick: () => {
416
422
  S("PARTIAL"), w("SCORE_DESC"), E(""), O(""), A(""), M(""), P(""), I(""), R(""), B(""), H(""), W(""), K(""), J(""), X(""), Q("EQUALS");
417
423
  },
@@ -426,7 +432,7 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
426
432
  children: [
427
433
  g && /* @__PURE__ */ a("div", {
428
434
  className: "flex items-center justify-center py-6",
429
- children: /* @__PURE__ */ a(ie, { className: "h-4 w-4 animate-spin" })
435
+ children: /* @__PURE__ */ a(ie, { className: "size-4 animate-spin" })
430
436
  }),
431
437
  v && /* @__PURE__ */ a("div", {
432
438
  className: "py-6 text-center text-sm text-destructive",
@@ -436,9 +442,10 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
436
442
  className: "px-2 py-1.5 text-xs font-medium text-muted-foreground",
437
443
  children: "Recent Searches"
438
444
  }), fe.map((e, t) => /* @__PURE__ */ o("button", {
445
+ type: "button",
439
446
  onClick: () => d(e),
440
447
  className: "w-full flex items-center gap-2 px-2 py-2 text-sm rounded-md hover:bg-accent transition-colors text-left",
441
- children: [/* @__PURE__ */ a(ne, { className: "h-4 w-4 opacity-50" }), e]
448
+ children: [/* @__PURE__ */ a(ne, { className: "size-4 opacity-50" }), e]
442
449
  }, t))] }),
443
450
  !g && !v && u && m.length === 0 && /* @__PURE__ */ o("div", {
444
451
  className: "py-6 text-center text-sm text-muted-foreground",
@@ -454,9 +461,10 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
454
461
  }), t.map((e) => {
455
462
  let t = e.icon;
456
463
  return /* @__PURE__ */ o("button", {
464
+ type: "button",
457
465
  onClick: () => be(e),
458
466
  className: "w-full flex items-start gap-2 px-2 py-2 text-sm rounded-md hover:bg-accent transition-colors text-left",
459
- children: [t && /* @__PURE__ */ a(t, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }), /* @__PURE__ */ o("div", {
467
+ children: [t && /* @__PURE__ */ a(t, { className: "size-4 mt-0.5 flex-shrink-0" }), /* @__PURE__ */ o("div", {
460
468
  className: "flex-1 min-w-0",
461
469
  children: [/* @__PURE__ */ a("div", {
462
470
  className: "font-medium truncate",
@@ -473,11 +481,12 @@ function l({ open: c, onClose: l, categories: ue = [], placeholder: de = "Search
473
481
  u && m.length > 0 && he && /* @__PURE__ */ a("div", {
474
482
  className: "border-t p-2",
475
483
  children: /* @__PURE__ */ o("button", {
484
+ type: "button",
476
485
  onClick: () => {
477
486
  he(u, $(), f), l();
478
487
  },
479
488
  className: "w-full flex items-center justify-center gap-2 py-2 text-sm text-primary hover:bg-accent rounded-md transition-colors",
480
- children: [/* @__PURE__ */ a(re, { className: "h-4 w-4" }), "View all results"]
489
+ children: [/* @__PURE__ */ a(re, { className: "size-4" }), "View all results"]
481
490
  })
482
491
  })
483
492
  ]
@@ -5,6 +5,7 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
5
5
  children: [/* @__PURE__ */ t("div", {
6
6
  className: "flex items-center gap-2 md:gap-control-gap",
7
7
  children: [a && /* @__PURE__ */ e("button", {
8
+ type: "button",
8
9
  onClick: a,
9
10
  className: "p-2 hover:bg-action-ghost-bg-hover rounded-button text-text-primary",
10
11
  "aria-label": "Toggle sidebar",
@@ -52,6 +53,7 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
52
53
  }),
53
54
  (_ || v || y || b) && /* @__PURE__ */ e("div", { className: "hidden md:block h-6 w-px bg-border-subtle" }),
54
55
  S && /* @__PURE__ */ e("button", {
56
+ type: "button",
55
57
  onClick: S,
56
58
  className: `p-2 hover:bg-action-ghost-bg-hover rounded-button text-text-primary ${C ? "hidden md:block" : ""}`,
57
59
  "aria-label": "Keyboard shortcuts",
@@ -70,6 +72,7 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
70
72
  })
71
73
  }),
72
74
  o && /* @__PURE__ */ e("button", {
75
+ type: "button",
73
76
  onClick: o,
74
77
  className: "p-2 hover:bg-action-ghost-bg-hover rounded-button text-text-primary",
75
78
  "aria-label": "Search",
@@ -89,6 +92,7 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
89
92
  }),
90
93
  g,
91
94
  d || (u ? /* @__PURE__ */ t("button", {
95
+ type: "button",
92
96
  onClick: u,
93
97
  className: "relative p-2 hover:bg-action-ghost-bg-hover rounded-button text-text-primary",
94
98
  "aria-label": "Notifications",
@@ -103,9 +107,10 @@ var n = ({ logo: n, appName: r, onLogoClick: i, onMenuToggle: a, onSearchClick:
103
107
  strokeWidth: 2,
104
108
  d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
105
109
  })
106
- }), l > 0 && /* @__PURE__ */ e("span", { className: "absolute top-1 right-1 w-2 h-2 bg-status-error-bg rounded-full border border-bg-elevated" })]
110
+ }), l > 0 && /* @__PURE__ */ e("span", { className: "absolute top-1 right-1 size-2 bg-status-error-bg rounded-full border border-bg-elevated" })]
107
111
  }) : null),
108
112
  p && /* @__PURE__ */ e("button", {
113
+ type: "button",
109
114
  onClick: p,
110
115
  className: `p-2 hover:bg-action-ghost-bg-hover rounded-button text-text-primary ${C ? "hidden md:block" : ""}`,
111
116
  "aria-label": "Toggle theme",
@@ -38,7 +38,7 @@ var o = ({ open: o, onOpenChange: s, languages: c, currentLanguage: l, onLanguag
38
38
  })]
39
39
  }),
40
40
  e.code === l && /* @__PURE__ */ i("svg", {
41
- className: "w-5 h-5 text-action-primary-bg flex-shrink-0",
41
+ className: "size-5 text-action-primary-bg flex-shrink-0",
42
42
  fill: "currentColor",
43
43
  viewBox: "0 0 20 20",
44
44
  children: /* @__PURE__ */ i("path", {
@@ -21,7 +21,7 @@ var o = ({ languages: o, currentLanguage: s, onLanguageChange: c, compact: l = !
21
21
  "aria-label": "Change language",
22
22
  "aria-expanded": u,
23
23
  children: l ? /* @__PURE__ */ i("svg", {
24
- className: "w-5 h-5 text-text-primary",
24
+ className: "size-5 text-text-primary",
25
25
  fill: "none",
26
26
  stroke: "currentColor",
27
27
  viewBox: "0 0 24 24",
@@ -75,7 +75,7 @@ var o = ({ languages: o, currentLanguage: s, onLanguageChange: c, compact: l = !
75
75
  })]
76
76
  }),
77
77
  e.code === s && /* @__PURE__ */ i("svg", {
78
- className: "w-5 h-5 text-action-primary-bg flex-shrink-0",
78
+ className: "size-5 text-action-primary-bg flex-shrink-0",
79
79
  fill: "currentColor",
80
80
  viewBox: "0 0 20 20",
81
81
  children: /* @__PURE__ */ i("path", {