@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,7 +1,7 @@
1
1
  import { useTourPlayer as e } from "./useTourPlayer.js";
2
2
  import { TourSpotlight as t } from "./TourSpotlight.js";
3
3
  import { TourTooltip as n } from "./TourTooltip.js";
4
- import { createContext as r, useContext as i, useEffect as a } from "react";
4
+ import { createContext as r, use as i, useEffect as a } from "react";
5
5
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
6
  //#region src/shared/tours/TourPlayerProvider.tsx
7
7
  var l = r(null);
@@ -166,6 +166,7 @@ var u = e(function({ step: e, stepIndex: s, totalSteps: u, onNext: d, onPrevious
166
166
  backgroundColor: "#f9fafb"
167
167
  },
168
168
  children: [/* @__PURE__ */ i("button", {
169
+ type: "button",
169
170
  onClick: p,
170
171
  style: {
171
172
  padding: "8px 12px",
@@ -186,6 +187,7 @@ var u = e(function({ step: e, stepIndex: s, totalSteps: u, onNext: d, onPrevious
186
187
  gap: 8
187
188
  },
188
189
  children: [g && /* @__PURE__ */ i("button", {
190
+ type: "button",
189
191
  onClick: f,
190
192
  style: {
191
193
  padding: "8px 16px",
@@ -205,6 +207,7 @@ var u = e(function({ step: e, stepIndex: s, totalSteps: u, onNext: d, onPrevious
205
207
  },
206
208
  children: "Previous"
207
209
  }), /* @__PURE__ */ i("button", {
210
+ type: "button",
208
211
  onClick: _ ? m : d,
209
212
  disabled: !h,
210
213
  style: {
@@ -163,7 +163,7 @@ function N({ pathname: r, navigateTo: i }) {
163
163
  "aria-expanded": a,
164
164
  "aria-haspopup": "true",
165
165
  title: "Help & Tours",
166
- children: [/* @__PURE__ */ _(f, { className: "w-5 h-5" }), U && /* @__PURE__ */ _("span", { className: "absolute top-1 right-1 w-2 h-2 bg-action-primary-bg rounded-full" })]
166
+ children: [/* @__PURE__ */ _(f, { className: "size-5" }), U && /* @__PURE__ */ _("span", { className: "absolute top-1 right-1 size-2 bg-action-primary-bg rounded-full" })]
167
167
  }),
168
168
  a && b && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
169
169
  className: "fixed inset-0 bg-black/50 z-[100] animate-in fade-in duration-200",
@@ -180,28 +180,30 @@ function N({ pathname: r, navigateTo: i }) {
180
180
  className: "flex items-center justify-between px-4 pb-3 border-b border-border-subtle",
181
181
  children: [/* @__PURE__ */ v("div", {
182
182
  className: "flex items-center gap-2",
183
- children: [/* @__PURE__ */ _(m, { className: "w-5 h-5 text-action-primary-bg" }), /* @__PURE__ */ _("h2", {
183
+ children: [/* @__PURE__ */ _(m, { className: "size-5 text-action-primary-bg" }), /* @__PURE__ */ _("h2", {
184
184
  className: "text-lg font-semibold text-text-primary",
185
185
  children: "Product Tours"
186
186
  })]
187
187
  }), /* @__PURE__ */ _("button", {
188
+ type: "button",
188
189
  onClick: () => y(!1),
189
190
  className: "p-2 hover:bg-action-ghost-bg-hover rounded-full",
190
191
  "aria-label": "Close",
191
- children: /* @__PURE__ */ _(h, { className: "w-5 h-5" })
192
+ children: /* @__PURE__ */ _(h, { className: "size-5" })
192
193
  })]
193
194
  }),
194
195
  /* @__PURE__ */ _("div", {
195
196
  className: "flex-1 overflow-y-auto p-4",
196
197
  children: I ? /* @__PURE__ */ _("div", {
197
198
  className: "flex items-center justify-center py-8",
198
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full h-6 w-6 border-2 border-action-primary-bg border-t-transparent" })
199
+ children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full size-6 border-2 border-action-primary-bg border-t-transparent" })
199
200
  }) : H.length > 0 ? /* @__PURE__ */ v("div", {
200
201
  className: "space-y-3",
201
202
  children: [/* @__PURE__ */ _("p", {
202
203
  className: "text-sm text-text-secondary mb-4",
203
204
  children: "Take a guided tour. Current-page tours are shown first."
204
205
  }), H.map((e) => /* @__PURE__ */ _("button", {
206
+ type: "button",
205
207
  onClick: () => B(e),
206
208
  className: "w-full p-4 bg-bg-muted hover:bg-action-ghost-bg-hover rounded-xl transition-colors text-left group",
207
209
  children: /* @__PURE__ */ v("div", {
@@ -235,14 +237,14 @@ function N({ pathname: r, navigateTo: i }) {
235
237
  ]
236
238
  }), /* @__PURE__ */ _("div", {
237
239
  className: "ml-3 p-2 bg-action-primary-bg rounded-full text-action-primary-text group-hover:scale-110 transition-transform",
238
- children: /* @__PURE__ */ _(p, { className: "w-4 h-4" })
240
+ children: /* @__PURE__ */ _(p, { className: "size-4" })
239
241
  })]
240
242
  })
241
243
  }, e.id))]
242
244
  }) : /* @__PURE__ */ v("div", {
243
245
  className: "text-center py-8",
244
246
  children: [
245
- /* @__PURE__ */ _(f, { className: "w-12 h-12 mx-auto text-text-tertiary mb-3" }),
247
+ /* @__PURE__ */ _(f, { className: "size-12 mx-auto text-text-tertiary mb-3" }),
246
248
  /* @__PURE__ */ _("p", {
247
249
  className: "text-text-secondary",
248
250
  children: "No tours available for this page"
@@ -263,7 +265,7 @@ function N({ pathname: r, navigateTo: i }) {
263
265
  children: [
264
266
  /* @__PURE__ */ v("div", {
265
267
  className: "flex items-center gap-2 px-4 py-3 border-b border-border-subtle",
266
- children: [/* @__PURE__ */ _(m, { className: "w-4 h-4 text-action-primary-bg" }), /* @__PURE__ */ _("h3", {
268
+ children: [/* @__PURE__ */ _(m, { className: "size-4 text-action-primary-bg" }), /* @__PURE__ */ _("h3", {
267
269
  className: "font-medium text-text-primary",
268
270
  children: "Product Tours"
269
271
  })]
@@ -272,10 +274,11 @@ function N({ pathname: r, navigateTo: i }) {
272
274
  className: "max-h-80 overflow-y-auto",
273
275
  children: I ? /* @__PURE__ */ _("div", {
274
276
  className: "flex items-center justify-center py-6",
275
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full h-5 w-5 border-2 border-action-primary-bg border-t-transparent" })
277
+ children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full size-5 border-2 border-action-primary-bg border-t-transparent" })
276
278
  }) : H.length > 0 ? /* @__PURE__ */ _("div", {
277
279
  className: "p-2",
278
280
  children: H.map((e) => /* @__PURE__ */ _("button", {
281
+ type: "button",
279
282
  onClick: () => B(e),
280
283
  className: "w-full p-3 hover:bg-action-ghost-bg-hover rounded-md transition-colors text-left group",
281
284
  children: /* @__PURE__ */ v("div", {
@@ -299,7 +302,7 @@ function N({ pathname: r, navigateTo: i }) {
299
302
  children: /* @__PURE__ */ v("span", { children: [e.steps?.length || 0, " steps"] })
300
303
  })
301
304
  ]
302
- }), /* @__PURE__ */ _(d, { className: "w-4 h-4 text-text-tertiary group-hover:text-action-primary-bg group-hover:translate-x-0.5 transition-all" })]
305
+ }), /* @__PURE__ */ _(d, { className: "size-4 text-text-tertiary group-hover:text-action-primary-bg group-hover:translate-x-0.5 transition-all" })]
303
306
  })
304
307
  }, e.id))
305
308
  }) : /* @__PURE__ */ _("div", {
@@ -8,7 +8,7 @@ import "../../shared-logger.js";
8
8
  import { detectDeviceType as a } from "./types.js";
9
9
  import { isTourVisibleForContext as o } from "./routeCatalog.js";
10
10
  import { withTourProgressStatus as s } from "./progress.js";
11
- import { createContext as c, useCallback as l, useContext as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
11
+ import { createContext as c, use as l, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
12
12
  import { jsx as ee } from "react/jsx-runtime";
13
13
  import { gql as h } from "@apollo/client/core";
14
14
  import { useLocation as te } from "react-router-dom";
@@ -209,10 +209,10 @@ function le(e, t, n, r) {
209
209
  };
210
210
  }
211
211
  var w = c(null);
212
- function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disabled: h = !1 }) {
213
- let g = te(), _ = e("global"), { workspaceId: x } = n(), { user: S } = t(), { productSlug: T } = r(), E = i("ToursContext"), D = x ?? void 0, O = h || g.pathname.startsWith("/devportal"), { moduleId: k, pageId: A } = f(() => le(g.pathname, T, c, u), [
212
+ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: l, disabled: h = !1 }) {
213
+ let g = te(), _ = e("global"), { workspaceId: x } = n(), { user: S } = t(), { productSlug: T } = r(), E = i("ToursContext"), D = x ?? void 0, O = h || g.pathname.startsWith("/devportal"), { moduleId: k, pageId: A } = f(() => le(g.pathname, T, c, l), [
214
214
  c,
215
- u,
215
+ l,
216
216
  g.pathname,
217
217
  T
218
218
  ]), [j, M] = m([]), [N, P] = m(!1), [F, I] = m(null), [L, ue] = m(!1);
@@ -231,7 +231,7 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
231
231
  d(() => (U.current = !0, () => {
232
232
  U.current = !1;
233
233
  }), []);
234
- let K = l(async (e = !1) => {
234
+ let K = u(async (e = !1) => {
235
235
  if (!L && !e) return;
236
236
  if (O) {
237
237
  U.current && (M([]), P(!1), I(null));
@@ -312,7 +312,7 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
312
312
  }, [K]), d(() => {
313
313
  R.current = j;
314
314
  }, [j]);
315
- let J = l(() => {
315
+ let J = u(() => {
316
316
  K(!0);
317
317
  }, [K]), Y = f(() => j.filter((e) => e.isActive && e.steps?.length > 0 && o(e, {
318
318
  productId: T,
@@ -323,7 +323,7 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
323
323
  k,
324
324
  A,
325
325
  T
326
- ]), X = f(() => L ? Y.find((e) => e.triggerType === "AUTO_FIRST_VISIT" || e.triggerType === "AUTO_ALWAYS") ?? null : null, [Y, L]), Z = l(async (e, t, n) => {
326
+ ]), X = f(() => L ? Y.find((e) => e.triggerType === "AUTO_FIRST_VISIT" || e.triggerType === "AUTO_ALWAYS") ?? null : null, [Y, L]), Z = u(async (e, t, n) => {
327
327
  if (!_ || !S?.id) return;
328
328
  let r = t === "started" ? "IN_PROGRESS" : t === "completed" ? "COMPLETED" : "SKIPPED", i = R.current.find((t) => t.id === e)?.myProgress, a = z.current + 1;
329
329
  z.current = a, B.current.set(e, a), M((t) => {
@@ -371,7 +371,7 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
371
371
  } finally {
372
372
  B.current.get(e) === a && B.current.delete(e);
373
373
  }
374
- }, [_, S?.id]), Q = l(async (e, t) => {
374
+ }, [_, S?.id]), Q = u(async (e, t) => {
375
375
  if (!(!_ || !S?.id || !t)) try {
376
376
  await _.mutate({
377
377
  mutation: ae,
@@ -382,7 +382,7 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
382
382
  }
383
383
  });
384
384
  } catch {}
385
- }, [_, S?.id]), $ = l(async (e, t, n) => {
385
+ }, [_, S?.id]), $ = u(async (e, t, n) => {
386
386
  if (!(!_ || !S?.id)) try {
387
387
  await _.mutate({
388
388
  mutation: oe,
@@ -453,12 +453,12 @@ function T({ children: a, defaultPageId: c = "home", getPageIdFromPath: u, disab
453
453
  });
454
454
  }
455
455
  function E() {
456
- let e = u(w);
456
+ let e = l(w);
457
457
  if (!e) throw Error("useToursContext must be used within a ToursProvider");
458
458
  return e;
459
459
  }
460
460
  function D() {
461
- return u(w) || {
461
+ return l(w) || {
462
462
  tours: [],
463
463
  pageTours: [],
464
464
  loading: !1,
@@ -5,7 +5,7 @@ import { BackendAuditSink as r } from "./shared/events/sinks/BackendAuditSink.js
5
5
  import { RybbitSink as i } from "./shared/events/sinks/RybbitSink.js";
6
6
  import { OtelBrowserSink as a } from "./shared/events/sinks/OtelBrowserSink.js";
7
7
  import "./shared/events/sinks/index.js";
8
- import { createContext as o, useCallback as s, useContext as c, useEffect as l, useMemo as u } from "react";
8
+ import { createContext as o, use as s, useCallback as c, useEffect as l, useMemo as u } from "react";
9
9
  import { jsx as d } from "react/jsx-runtime";
10
10
  //#region src/shared/events/index.tsx
11
11
  var f = o({
@@ -122,7 +122,7 @@ function v({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe:
122
122
  };
123
123
  }
124
124
  function y() {
125
- return c(f);
125
+ return s(f);
126
126
  }
127
127
  function b(e, t) {
128
128
  let n = y();
@@ -134,7 +134,7 @@ function b(e, t) {
134
134
  }
135
135
  function x(e, t) {
136
136
  let n = y();
137
- return s((r) => n.emit(e, r, t), [
137
+ return c((r) => n.emit(e, r, t), [
138
138
  n,
139
139
  e,
140
140
  t
@@ -28,7 +28,7 @@ import { useHasAnimated as J } from "./shared/hooks/useHasAnimated.js";
28
28
  import { useReferralAttribution as Y } from "./shared/hooks/useReferralAttribution.js";
29
29
  import { useRecordProductVisit as X } from "./shared/hooks/useRecordProductVisit.js";
30
30
  import { QUOTA_EXHAUSTED_EVENT as Z, dispatchQuotaExhausted as Q, useQuotaErrorToast as ne } from "./shared/hooks/useQuotaErrorToast.js";
31
- import re, { useContext as ie } from "react";
31
+ import re, { use as ie } from "react";
32
32
  //#region src/shared/hooks/index.ts
33
33
  var $ = re.createContext(null);
34
34
  function ae() {
@@ -19,7 +19,7 @@ function p({ source: p, defaultFolderPath: m, onDownload: h, onSaved: g, label:
19
19
  onClick: () => void h(),
20
20
  "data-testid": `${y}-download`,
21
21
  className: "rounded-r-none",
22
- children: [/* @__PURE__ */ u(s, { className: "mr-1.5 h-3.5 w-3.5" }), _]
22
+ children: [/* @__PURE__ */ u(s, { className: "mr-1.5 size-3.5" }), _]
23
23
  }), /* @__PURE__ */ d(t, { children: [/* @__PURE__ */ u(i, {
24
24
  asChild: !0,
25
25
  children: /* @__PURE__ */ u(e, {
@@ -36,11 +36,11 @@ function p({ source: p, defaultFolderPath: m, onDownload: h, onSaved: g, label:
36
36
  children: [/* @__PURE__ */ d(r, {
37
37
  onSelect: () => void h(),
38
38
  "data-testid": `${y}-menu-download`,
39
- children: [/* @__PURE__ */ u(s, { className: "mr-2 h-3.5 w-3.5" }), "Download"]
39
+ children: [/* @__PURE__ */ u(s, { className: "mr-2 size-3.5" }), "Download"]
40
40
  }), /* @__PURE__ */ d(r, {
41
41
  onSelect: () => S(!0),
42
42
  "data-testid": `${y}-menu-save`,
43
- children: [/* @__PURE__ */ u(c, { className: "mr-2 h-3.5 w-3.5" }), "Save to Files…"]
43
+ children: [/* @__PURE__ */ u(c, { className: "mr-2 size-3.5" }), "Save to Files…"]
44
44
  })]
45
45
  })] })]
46
46
  }), /* @__PURE__ */ u(a, {
@@ -79,7 +79,7 @@ function g({ open: g, onOpenChange: _, source: v, defaultFolderPath: y, filename
79
79
  } catch {}
80
80
  },
81
81
  "data-testid": "save-to-files-save",
82
- children: T ? /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(l, { className: "mr-2 h-3 w-3" }), "Saving…"] }) : "Save"
82
+ children: T ? /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(l, { className: "mr-2 size-3" }), "Saving…"] }) : "Save"
83
83
  })] })
84
84
  ] })
85
85
  });
@@ -35,7 +35,7 @@ function u({ label: u, icon: d, color: f, description: p, removable: m = !1, onC
35
35
  },
36
36
  className: "flex-shrink-0 ml-0.5 rounded-full p-0.5 hover:bg-black/10 dark:hover:bg-white/10 transition-colors",
37
37
  "aria-label": `Remove ${u}`,
38
- children: /* @__PURE__ */ s(o, { className: "h-3 w-3" })
38
+ children: /* @__PURE__ */ s(o, { className: "size-3" })
39
39
  })
40
40
  ]
41
41
  });
@@ -192,7 +192,7 @@ function S({ entityType: g, entityId: S, workspaceId: de, tags: C, onAdd: w, onR
192
192
  type: "button",
193
193
  "aria-label": "Add tag",
194
194
  className: t("inline-flex items-center gap-1 px-2 py-0.5 rounded-full border border-dashed", "border-border text-muted-foreground text-xs", "hover:border-foreground hover:text-foreground transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),
195
- children: [/* @__PURE__ */ m(f, { className: "h-3 w-3" }), /* @__PURE__ */ m("span", { children: C.length === 0 ? "Add tags" : "Add" })]
195
+ children: [/* @__PURE__ */ m(f, { className: "size-3" }), /* @__PURE__ */ m("span", { children: C.length === 0 ? "Add tags" : "Add" })]
196
196
  })
197
197
  }), /* @__PURE__ */ m(ne, {
198
198
  className: "w-64 p-0",
@@ -205,14 +205,14 @@ function S({ entityType: g, entityId: S, workspaceId: de, tags: C, onAdd: w, onR
205
205
  /* @__PURE__ */ h("div", {
206
206
  className: "flex items-center border-b border-border px-3",
207
207
  children: [
208
- /* @__PURE__ */ m(d, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
208
+ /* @__PURE__ */ m(d, { className: "size-4 shrink-0 text-muted-foreground" }),
209
209
  /* @__PURE__ */ m(a, {
210
210
  placeholder: "Search or create a tag...",
211
211
  value: A,
212
212
  onValueChange: _e,
213
213
  className: "h-9 flex-1 border-0 bg-transparent px-2 text-sm outline-none placeholder:text-muted-foreground"
214
214
  }),
215
- V && /* @__PURE__ */ m(l, { className: "h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground" })
215
+ V && /* @__PURE__ */ m(l, { className: "size-3.5 shrink-0 animate-spin text-muted-foreground" })
216
216
  ]
217
217
  }),
218
218
  /* @__PURE__ */ h(ee, {
@@ -237,7 +237,7 @@ function S({ entityType: g, entityId: S, workspaceId: de, tags: C, onAdd: w, onR
237
237
  style: e.color ? { color: e.color } : void 0,
238
238
  children: e.label
239
239
  }),
240
- q && /* @__PURE__ */ m(l, { className: "ml-auto h-3 w-3 animate-spin" })
240
+ q && /* @__PURE__ */ m(l, { className: "ml-auto size-3 animate-spin" })
241
241
  ]
242
242
  }, e.id)) }),
243
243
  $ && /* @__PURE__ */ m(i, { children: /* @__PURE__ */ h(o, {
@@ -245,7 +245,7 @@ function S({ entityType: g, entityId: S, workspaceId: de, tags: C, onAdd: w, onR
245
245
  onSelect: () => void ve(),
246
246
  className: "flex items-center gap-2 px-3 py-2 cursor-pointer text-primary",
247
247
  disabled: K,
248
- children: [K ? /* @__PURE__ */ m(l, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ m(u, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ m("span", {
248
+ children: [K ? /* @__PURE__ */ m(l, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ m(u, { className: "size-3.5" }), /* @__PURE__ */ m("span", {
249
249
  className: "text-sm truncate",
250
250
  children: K ? "Creating..." : `Create "${A}"`
251
251
  })]
@@ -263,7 +263,7 @@ function S({ entityType: g, entityId: S, workspaceId: de, tags: C, onAdd: w, onR
263
263
  !z && /* @__PURE__ */ h("div", {
264
264
  className: "border-t border-border px-3 py-2 text-xs text-muted-foreground flex items-center gap-1",
265
265
  children: [
266
- /* @__PURE__ */ m(p, { className: "h-3 w-3" }),
266
+ /* @__PURE__ */ m(p, { className: "size-3" }),
267
267
  "Maximum ",
268
268
  O,
269
269
  " tags reached"
package/dist/ui/card.js CHANGED
@@ -1,42 +1,47 @@
1
1
  import { cn as e } from "../shared-utils.js";
2
- import { forwardRef as t } from "react";
3
- import { jsx as n } from "react/jsx-runtime";
2
+ import { jsx as t } from "react/jsx-runtime";
4
3
  //#region src/ui/card.tsx
5
- var r = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("div", {
6
- ref: i,
7
- className: e("rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 ease-out hover:shadow-md hover:border-border-default/80", t),
8
- ...r
9
- }));
10
- r.displayName = "Card";
11
- var i = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("div", {
12
- ref: i,
13
- className: e("flex flex-col space-y-1.5 p-6", t),
14
- ...r
15
- }));
16
- i.displayName = "CardHeader";
17
- var a = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("h3", {
18
- ref: i,
19
- className: e("text-2xl font-semibold leading-none tracking-tight", t),
20
- ...r
21
- }));
22
- a.displayName = "CardTitle";
23
- var o = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("p", {
24
- ref: i,
25
- className: e("text-sm text-muted-foreground", t),
26
- ...r
27
- }));
28
- o.displayName = "CardDescription";
29
- var s = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("div", {
30
- ref: i,
31
- className: e("p-6 pt-0", t),
32
- ...r
33
- }));
34
- s.displayName = "CardContent";
35
- var c = t(({ className: t, ...r }, i) => /* @__PURE__ */ n("div", {
36
- ref: i,
37
- className: e("flex items-center p-6 pt-0", t),
38
- ...r
39
- }));
40
- c.displayName = "CardFooter";
4
+ function n({ ref: n, className: r, ...i }) {
5
+ return /* @__PURE__ */ t("div", {
6
+ ref: n,
7
+ className: e("rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 ease-out hover:shadow-md hover:border-border-default/80", r),
8
+ ...i
9
+ });
10
+ }
11
+ function r({ ref: n, className: r, ...i }) {
12
+ return /* @__PURE__ */ t("div", {
13
+ ref: n,
14
+ className: e("flex flex-col space-y-1.5 p-6", r),
15
+ ...i
16
+ });
17
+ }
18
+ function i({ ref: n, className: r, ...i }) {
19
+ return /* @__PURE__ */ t("h3", {
20
+ ref: n,
21
+ className: e("text-2xl font-semibold leading-none tracking-tight", r),
22
+ ...i
23
+ });
24
+ }
25
+ function a({ ref: n, className: r, ...i }) {
26
+ return /* @__PURE__ */ t("p", {
27
+ ref: n,
28
+ className: e("text-sm text-muted-foreground", r),
29
+ ...i
30
+ });
31
+ }
32
+ function o({ ref: n, className: r, ...i }) {
33
+ return /* @__PURE__ */ t("div", {
34
+ ref: n,
35
+ className: e("p-6 pt-0", r),
36
+ ...i
37
+ });
38
+ }
39
+ function s({ ref: n, className: r, ...i }) {
40
+ return /* @__PURE__ */ t("div", {
41
+ ref: n,
42
+ className: e("flex items-center p-6 pt-0", r),
43
+ ...i
44
+ });
45
+ }
41
46
  //#endregion
42
- export { r as Card, s as CardContent, o as CardDescription, c as CardFooter, i as CardHeader, a as CardTitle };
47
+ export { n as Card, o as CardContent, a as CardDescription, s as CardFooter, r as CardHeader, i as CardTitle };
@@ -1,72 +1,88 @@
1
1
  import { cn as e } from "../shared-utils.js";
2
- import { forwardRef as t } from "react";
3
- import { Check as n, ChevronRight as r, Circle as i } from "lucide-react";
4
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
- import * as s from "@radix-ui/react-dropdown-menu";
2
+ import { Check as t, ChevronRight as n, Circle as r } from "lucide-react";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import * as o from "@radix-ui/react-dropdown-menu";
6
5
  //#region src/ui/dropdown-menu.tsx
7
- var c = s.Root, l = s.Trigger, u = s.Group, d = s.Portal, f = s.Sub, p = s.RadioGroup, m = t(({ className: t, inset: n, children: i, ...c }, l) => /* @__PURE__ */ o(s.SubTrigger, {
8
- ref: l,
9
- className: e("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", n && "pl-8", t),
10
- ...c,
11
- children: [i, /* @__PURE__ */ a(r, { className: "ml-auto h-4 w-4" })]
12
- }));
13
- m.displayName = s.SubTrigger.displayName;
14
- var h = t(({ className: t, ...n }, r) => /* @__PURE__ */ a(s.SubContent, {
15
- ref: r,
16
- className: e("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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", t),
17
- ...n
18
- }));
19
- h.displayName = s.SubContent.displayName;
20
- var g = t(({ className: t, sideOffset: n = 4, ...r }, i) => /* @__PURE__ */ a(s.Portal, { children: /* @__PURE__ */ a(s.Content, {
21
- ref: i,
22
- sideOffset: n,
23
- className: e("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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", t),
24
- ...r
25
- }) }));
26
- g.displayName = s.Content.displayName;
27
- var _ = t(({ className: t, inset: n, ...r }, i) => /* @__PURE__ */ a(s.Item, {
28
- ref: i,
29
- className: e("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", n && "pl-8", t),
30
- ...r
31
- }));
32
- _.displayName = s.Item.displayName;
33
- var v = t(({ className: t, children: r, checked: i, ...c }, l) => /* @__PURE__ */ o(s.CheckboxItem, {
34
- ref: l,
35
- className: e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", t),
36
- checked: i,
37
- ...c,
38
- children: [/* @__PURE__ */ a("span", {
39
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
40
- children: /* @__PURE__ */ a(s.ItemIndicator, { children: /* @__PURE__ */ a(n, { className: "h-4 w-4" }) })
41
- }), r]
42
- }));
43
- v.displayName = s.CheckboxItem.displayName;
44
- var y = t(({ className: t, children: n, ...r }, c) => /* @__PURE__ */ o(s.RadioItem, {
45
- ref: c,
46
- className: e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", t),
47
- ...r,
48
- children: [/* @__PURE__ */ a("span", {
49
- className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center",
50
- children: /* @__PURE__ */ a(s.ItemIndicator, { children: /* @__PURE__ */ a(i, { className: "h-2 w-2 fill-current" }) })
51
- }), n]
52
- }));
53
- y.displayName = s.RadioItem.displayName;
54
- var b = t(({ className: t, inset: n, ...r }, i) => /* @__PURE__ */ a(s.Label, {
55
- ref: i,
56
- className: e("px-2 py-1.5 text-sm font-semibold", n && "pl-8", t),
57
- ...r
58
- }));
59
- b.displayName = s.Label.displayName;
60
- var x = t(({ className: t, ...n }, r) => /* @__PURE__ */ a(s.Separator, {
61
- ref: r,
62
- className: e("-mx-1 my-1 h-px bg-muted", t),
63
- ...n
64
- }));
65
- x.displayName = s.Separator.displayName;
66
- var S = ({ className: t, ...n }) => /* @__PURE__ */ a("span", {
6
+ var s = o.Root, c = o.Trigger, l = o.Group, u = o.Portal, d = o.Sub, f = o.RadioGroup;
7
+ function p({ ref: t, className: r, inset: s, children: c, ...l }) {
8
+ return /* @__PURE__ */ a(o.SubTrigger, {
9
+ ref: t,
10
+ className: e("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", s && "pl-8", r),
11
+ ...l,
12
+ children: [c, /* @__PURE__ */ i(n, { className: "ml-auto size-4" })]
13
+ });
14
+ }
15
+ p.displayName = o.SubTrigger.displayName;
16
+ function m({ ref: t, className: n, ...r }) {
17
+ return /* @__PURE__ */ i(o.SubContent, {
18
+ ref: t,
19
+ className: e("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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", n),
20
+ ...r
21
+ });
22
+ }
23
+ m.displayName = o.SubContent.displayName;
24
+ function h({ ref: t, className: n, sideOffset: r = 4, ...a }) {
25
+ return /* @__PURE__ */ i(o.Portal, { children: /* @__PURE__ */ i(o.Content, {
26
+ ref: t,
27
+ sideOffset: r,
28
+ className: e("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-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", n),
29
+ ...a
30
+ }) });
31
+ }
32
+ h.displayName = o.Content.displayName;
33
+ function g({ ref: t, className: n, inset: r, ...a }) {
34
+ return /* @__PURE__ */ i(o.Item, {
35
+ ref: t,
36
+ className: e("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", r && "pl-8", n),
37
+ ...a
38
+ });
39
+ }
40
+ g.displayName = o.Item.displayName;
41
+ function _({ ref: n, className: r, children: s, checked: c, ...l }) {
42
+ return /* @__PURE__ */ a(o.CheckboxItem, {
43
+ ref: n,
44
+ className: e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", r),
45
+ checked: c,
46
+ ...l,
47
+ children: [/* @__PURE__ */ i("span", {
48
+ className: "absolute left-2 flex size-3.5 items-center justify-center",
49
+ children: /* @__PURE__ */ i(o.ItemIndicator, { children: /* @__PURE__ */ i(t, { className: "size-4" }) })
50
+ }), s]
51
+ });
52
+ }
53
+ _.displayName = o.CheckboxItem.displayName;
54
+ function v({ ref: t, className: n, children: s, ...c }) {
55
+ return /* @__PURE__ */ a(o.RadioItem, {
56
+ ref: t,
57
+ className: e("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", n),
58
+ ...c,
59
+ children: [/* @__PURE__ */ i("span", {
60
+ className: "absolute left-2 flex size-3.5 items-center justify-center",
61
+ children: /* @__PURE__ */ i(o.ItemIndicator, { children: /* @__PURE__ */ i(r, { className: "size-2 fill-current" }) })
62
+ }), s]
63
+ });
64
+ }
65
+ v.displayName = o.RadioItem.displayName;
66
+ function y({ ref: t, className: n, inset: r, ...a }) {
67
+ return /* @__PURE__ */ i(o.Label, {
68
+ ref: t,
69
+ className: e("px-2 py-1.5 text-sm font-semibold", r && "pl-8", n),
70
+ ...a
71
+ });
72
+ }
73
+ y.displayName = o.Label.displayName;
74
+ function b({ ref: t, className: n, ...r }) {
75
+ return /* @__PURE__ */ i(o.Separator, {
76
+ ref: t,
77
+ className: e("-mx-1 my-1 h-px bg-muted", n),
78
+ ...r
79
+ });
80
+ }
81
+ b.displayName = o.Separator.displayName;
82
+ var x = ({ className: t, ...n }) => /* @__PURE__ */ i("span", {
67
83
  className: e("ml-auto text-xs tracking-widest opacity-60", t),
68
84
  ...n
69
85
  });
70
- S.displayName = "DropdownMenuShortcut";
86
+ x.displayName = "DropdownMenuShortcut";
71
87
  //#endregion
72
- export { c as DropdownMenu, v as DropdownMenuCheckboxItem, g as DropdownMenuContent, u as DropdownMenuGroup, _ as DropdownMenuItem, b as DropdownMenuLabel, d as DropdownMenuPortal, p as DropdownMenuRadioGroup, y as DropdownMenuRadioItem, x as DropdownMenuSeparator, S as DropdownMenuShortcut, f as DropdownMenuSub, h as DropdownMenuSubContent, m as DropdownMenuSubTrigger, l as DropdownMenuTrigger };
88
+ export { s as DropdownMenu, _ as DropdownMenuCheckboxItem, h as DropdownMenuContent, l as DropdownMenuGroup, g as DropdownMenuItem, y as DropdownMenuLabel, u as DropdownMenuPortal, f as DropdownMenuRadioGroup, v as DropdownMenuRadioItem, b as DropdownMenuSeparator, x as DropdownMenuShortcut, d as DropdownMenuSub, m as DropdownMenuSubContent, p as DropdownMenuSubTrigger, c as DropdownMenuTrigger };
package/dist/ui/input.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { cn as e } from "../shared-utils.js";
2
- import { forwardRef as t } from "react";
3
- import { jsx as n } from "react/jsx-runtime";
2
+ import { jsx as t } from "react/jsx-runtime";
4
3
  //#region src/ui/input.tsx
5
- var r = t(({ className: t, type: r, ...i }, a) => /* @__PURE__ */ n("input", {
6
- type: r,
7
- className: e("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground 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", t),
8
- ref: a,
9
- ...i
10
- }));
11
- r.displayName = "Input";
4
+ function n({ ref: n, className: r, type: i, ...a }) {
5
+ return /* @__PURE__ */ t("input", {
6
+ type: i,
7
+ className: e("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground 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),
8
+ ref: n,
9
+ ...a
10
+ });
11
+ }
12
12
  //#endregion
13
- export { r as Input };
13
+ export { n as Input };