@fayz-ai/ui 0.17.0 → 0.19.0

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 (69) hide show
  1. package/dist/analytics/derive.d.ts +1 -9
  2. package/dist/analytics/derive.d.ts.map +1 -1
  3. package/dist/{chunk-DFOAKWYB.js → chunk-5NEADAIP.js} +3 -3
  4. package/dist/{chunk-DFOAKWYB.js.map → chunk-5NEADAIP.js.map} +1 -1
  5. package/dist/{chunk-Z2ITFPGL.js → chunk-5WSKZU7M.js} +547 -74
  6. package/dist/chunk-5WSKZU7M.js.map +1 -0
  7. package/dist/{chunk-OBIU37AX.js → chunk-6YFPPK7X.js} +28 -14
  8. package/dist/chunk-6YFPPK7X.js.map +1 -0
  9. package/dist/{chunk-ZLPYNHXH.js → chunk-ERSX3C7T.js} +3 -3
  10. package/dist/{chunk-ZLPYNHXH.js.map → chunk-ERSX3C7T.js.map} +1 -1
  11. package/dist/{chunk-3OVZ5JJQ.js → chunk-GLRLWBBF.js} +4 -3
  12. package/dist/chunk-GLRLWBBF.js.map +1 -0
  13. package/dist/{chunk-AASANYXN.js → chunk-OB2ULDBD.js} +6 -4
  14. package/dist/chunk-OB2ULDBD.js.map +1 -0
  15. package/dist/chunk-SB6DWHXI.js +199 -0
  16. package/dist/chunk-SB6DWHXI.js.map +1 -0
  17. package/dist/dashboard/index.js +2 -2
  18. package/dist/icons.d.ts.map +1 -1
  19. package/dist/icons.js +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +11 -25
  23. package/dist/index.js.map +1 -1
  24. package/dist/layout/AppShell.d.ts +7 -1
  25. package/dist/layout/AppShell.d.ts.map +1 -1
  26. package/dist/layout/SaveBar.d.ts +10 -1
  27. package/dist/layout/SaveBar.d.ts.map +1 -1
  28. package/dist/layout/Sidebar.d.ts.map +1 -1
  29. package/dist/layout/index.js +3 -3
  30. package/dist/lib/error-message.d.ts +2 -0
  31. package/dist/lib/error-message.d.ts.map +1 -0
  32. package/dist/primitives/brand-marks.d.ts +11 -0
  33. package/dist/primitives/brand-marks.d.ts.map +1 -0
  34. package/dist/primitives/button.d.ts +1 -1
  35. package/dist/primitives/dot-badge.d.ts +27 -0
  36. package/dist/primitives/dot-badge.d.ts.map +1 -0
  37. package/dist/primitives/draft-commit-bar.d.ts +27 -0
  38. package/dist/primitives/draft-commit-bar.d.ts.map +1 -0
  39. package/dist/primitives/filter-check-list.d.ts +65 -0
  40. package/dist/primitives/filter-check-list.d.ts.map +1 -0
  41. package/dist/primitives/header-tabs.d.ts +19 -0
  42. package/dist/primitives/header-tabs.d.ts.map +1 -1
  43. package/dist/primitives/image-drop.d.ts.map +1 -1
  44. package/dist/primitives/index.d.ts +6 -0
  45. package/dist/primitives/index.d.ts.map +1 -1
  46. package/dist/primitives/index.js +4 -4
  47. package/dist/primitives/list-chrome.d.ts +5 -1
  48. package/dist/primitives/list-chrome.d.ts.map +1 -1
  49. package/dist/primitives/mini-calendar.d.ts +36 -0
  50. package/dist/primitives/mini-calendar.d.ts.map +1 -0
  51. package/dist/primitives/multi-select.d.ts +21 -0
  52. package/dist/primitives/multi-select.d.ts.map +1 -0
  53. package/dist/primitives/select.d.ts.map +1 -1
  54. package/dist/primitives/stock-entry-form.d.ts +52 -0
  55. package/dist/primitives/stock-entry-form.d.ts.map +1 -0
  56. package/dist/styles.css +100 -0
  57. package/dist/tailwind.cjs +1 -1
  58. package/dist/tailwind.cjs.map +1 -1
  59. package/dist/tailwind.js +1 -1
  60. package/dist/tailwind.js.map +1 -1
  61. package/dist/wizard/index.js +2 -2
  62. package/dist/wizard/useWizard.d.ts.map +1 -1
  63. package/package.json +2 -2
  64. package/dist/chunk-3OVZ5JJQ.js.map +0 -1
  65. package/dist/chunk-4GK6IHOI.js +0 -177
  66. package/dist/chunk-4GK6IHOI.js.map +0 -1
  67. package/dist/chunk-AASANYXN.js.map +0 -1
  68. package/dist/chunk-OBIU37AX.js.map +0 -1
  69. package/dist/chunk-Z2ITFPGL.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { useHasPageHeaderHost, usePageHeader, PageTitlePortal, useLayoutStore, useHasPageHeaderBack, useRegisterPageActions, usePageHeaderClaimed, usePageTitleSlotHost, useHasPageHeaderOutlet, useHasPageActions, usePageHeaderHost } from './chunk-HKGTF2YA.js';
2
2
  import { cn } from './chunk-OKZ6WQB3.js';
3
- import { ICON_MAP } from './chunk-4GK6IHOI.js';
3
+ import { ICON_MAP } from './chunk-SB6DWHXI.js';
4
4
  import * as React2 from 'react';
5
5
  import * as DialogPrimitive from '@radix-ui/react-dialog';
6
6
  import { X, Loader2, ArrowLeft, Search, Bell, PanelLeft, PanelLeftClose, Menu, Crown, ChevronDown, ChevronRight, ChevronLeft, ExternalLink, CreditCard, Sparkles, Home, Plus, UserCog, Settings, LogOut } from 'lucide-react';
@@ -208,16 +208,16 @@ function useBackHandler(onBack) {
208
208
  };
209
209
  }, [api]);
210
210
  }
211
- function useSaveBar({ dirty, saving = false, onSave, onDiscard, message, saveLabel, discardLabel }) {
211
+ function useSaveBar({ dirty, alwaysVisible, saving = false, onSave, onDiscard, message, saveLabel, discardLabel }) {
212
212
  const api = React2.useContext(SaveBarApiContext);
213
213
  React2.useEffect(() => {
214
214
  if (api) api.handlers.current = { onSave, onDiscard };
215
215
  });
216
216
  React2.useEffect(() => {
217
217
  if (!api) return;
218
- api.setState({ visible: dirty, saving, message, saveLabel, discardLabel });
218
+ api.setState({ visible: dirty || !!alwaysVisible, dirty, saving, message, saveLabel, discardLabel });
219
219
  return () => api.setState((s) => ({ ...s, visible: false }));
220
- }, [api, dirty, saving, message, saveLabel, discardLabel]);
220
+ }, [api, dirty, alwaysVisible, saving, message, saveLabel, discardLabel]);
221
221
  }
222
222
  function SaveBar({ className }) {
223
223
  const state = React2.useContext(SaveBarStateContext);
@@ -965,7 +965,7 @@ function Sidebar({
965
965
  Here it reads as what it is — a field — and says which key opens it.
966
966
  Clicking it opens the same palette ⌘K does; it is a button, not an
967
967
  input, because typing happens there. */
968
- /* @__PURE__ */ jsx("div", { className: "px-2 pb-2 pt-2", children: /* @__PURE__ */ jsxs(
968
+ /* @__PURE__ */ jsx("div", { className: cn("px-2 pb-2 pt-2", collapsed && "flex justify-center"), children: /* @__PURE__ */ jsxs(
969
969
  "button",
970
970
  {
971
971
  onClick: () => setCommandPaletteOpen(true),
@@ -1049,17 +1049,21 @@ function Sidebar({
1049
1049
  /* @__PURE__ */ jsx(
1050
1050
  "div",
1051
1051
  {
1052
- className: cn("py-2 pr-2", !borderless && "border-t border-sidebar-border"),
1052
+ className: cn("py-2", collapsed ? "px-2" : "pr-2", !borderless && "border-t border-sidebar-border"),
1053
1053
  style: drawer ? { paddingBottom: "calc(0.5rem + env(safe-area-inset-bottom))" } : void 0,
1054
1054
  children: /* @__PURE__ */ jsxs("div", { className: cn(
1055
1055
  "flex items-center rounded-button",
1056
- collapsed ? "flex-col gap-1" : "gap-1"
1056
+ collapsed ? "flex-col justify-center gap-1" : "gap-1"
1057
1057
  ), children: [
1058
- userMenuSlot,
1058
+ withCollapsed(userMenuSlot, collapsed),
1059
1059
  !collapsed && /* @__PURE__ */ jsx("div", { className: "flex-1" }),
1060
- notificationSlot ?? /* @__PURE__ */ jsxs(
1060
+ withCollapsed(notificationSlot, collapsed) ?? /* @__PURE__ */ jsxs(
1061
1061
  "button",
1062
1062
  {
1063
+ ...collapsed ? flyout.rowProps({
1064
+ key: "notifications",
1065
+ label: unreadCount > 0 ? `Notifica\xE7\xF5es (${unreadCount})` : "Notifica\xE7\xF5es"
1066
+ }) : {},
1063
1067
  className: "fz-tap relative inline-flex shrink-0 items-center justify-center rounded-button p-2 text-sidebar-muted transition-colors hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground",
1064
1068
  "aria-label": unreadCount > 0 ? `${unreadCount} unread notifications` : "Notifications",
1065
1069
  children: [
@@ -1072,6 +1076,7 @@ function Sidebar({
1072
1076
  "button",
1073
1077
  {
1074
1078
  onClick: onToggle,
1079
+ ...collapsed ? flyout.rowProps({ key: "expand-sidebar", label: "Expandir menu" }) : {},
1075
1080
  className: "fz-tap inline-flex shrink-0 items-center justify-center rounded-button p-2 text-sidebar-muted transition-colors hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground",
1076
1081
  "aria-label": collapsed ? "Expand sidebar" : "Collapse sidebar",
1077
1082
  title: collapsed ? "Expand sidebar" : "Collapse sidebar",
@@ -1387,6 +1392,7 @@ function SidebarLayout({
1387
1392
  sidebarNavTop,
1388
1393
  sidebarFooterContent,
1389
1394
  frame,
1395
+ immersive,
1390
1396
  currentPath,
1391
1397
  pageTitle,
1392
1398
  pageBack,
@@ -1465,15 +1471,21 @@ function SidebarLayout({
1465
1471
  // chrome between them made the assistant read as a separate window
1466
1472
  // parked next to the app rather than as a column of it — the rail's own
1467
1473
  // left border is then the single seam between the two.
1468
- frame && (railOpen ? "md:rounded-r-none md:border-r-0" : "md:mr-2")
1474
+ frame && (railOpen ? "md:rounded-r-none md:border-r-0" : "md:mr-2"),
1475
+ immersive && "md:overflow-hidden"
1469
1476
  ), children: [
1470
1477
  /* @__PURE__ */ jsx("div", { ref: setPageRailSlot, className: "flex shrink-0 empty:hidden" }),
1471
1478
  /* @__PURE__ */ jsxs("div", { className: "relative flex min-w-0 flex-1 flex-col overflow-hidden", children: [
1472
1479
  /* @__PURE__ */ jsxs("div", { className: cn(
1473
- "flex min-h-14 shrink-0 items-center justify-between gap-3 border-b border-border px-4 py-2",
1480
+ "flex shrink-0 items-center justify-between gap-3 px-4 py-2",
1481
+ "min-h-14 border-b border-border",
1474
1482
  // …unless the page put its actions in it. Hiding the bar on mobile
1475
1483
  // used to hide the only "Novo" the screen had.
1476
- mobileHeader !== "minimal" && !hasPageActions && "hidden md:flex"
1484
+ mobileHeader !== "minimal" && !hasPageActions && "hidden md:flex",
1485
+ // Immersive pages draw their own window bar. Keeping ours would be two
1486
+ // bars stating one thing — but only on desktop: on a phone this band
1487
+ // is where the hamburger lives, and the page's bar sits under it.
1488
+ immersive && "md:hidden"
1477
1489
  ), children: [
1478
1490
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
1479
1491
  !barOwnsNav && /* @__PURE__ */ jsx(
@@ -1849,6 +1861,7 @@ function AppShell({
1849
1861
  onAssistantToggle,
1850
1862
  assistantOpen,
1851
1863
  mobileHeader = "minimal",
1864
+ immersive = false,
1852
1865
  userMenuSlot,
1853
1866
  drawerUserMenuSlot,
1854
1867
  notificationSlot,
@@ -1911,6 +1924,7 @@ function AppShell({
1911
1924
  sidebarNavTop,
1912
1925
  sidebarFooterContent,
1913
1926
  frame: contentFrame,
1927
+ immersive,
1914
1928
  currentPath,
1915
1929
  pageTitle,
1916
1930
  pageBack,
@@ -2509,5 +2523,5 @@ function ModulePage({ title: _title, subtitle, nav, children, className, headerA
2509
2523
  }
2510
2524
 
2511
2525
  export { AppShell, BackStyleProvider, HeaderTabs, ModuleLayoutProvider, ModulePage, NavTransitionProvider, PageHeader, PageHeaderActions, PageHeaderCrumb, PageRail, PageTabs, PageTransition, RailNavItem, SaveBar, SaveBarProvider, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SubpageHeader, Topbar, bottomNavReachesAll, useBackHandler, useBackStyle, useCrossModuleBack, useModuleHeaderActionsSlot, useModuleHeaderSlot, useModuleLayout, useNavTransition, useRailRow, useSaveBar, useSaveBarVisible };
2512
- //# sourceMappingURL=chunk-OBIU37AX.js.map
2513
- //# sourceMappingURL=chunk-OBIU37AX.js.map
2526
+ //# sourceMappingURL=chunk-6YFPPK7X.js.map
2527
+ //# sourceMappingURL=chunk-6YFPPK7X.js.map