@snksergio/design-system 0.42.0 → 0.43.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 (45) hide show
  1. package/dist-lib/chunks/{kpi-delta-DaDwKOaP.mjs → kpi-delta-B_1xjDu_.mjs} +2 -2
  2. package/dist-lib/chunks/{kpi-delta-DaDwKOaP.mjs.map → kpi-delta-B_1xjDu_.mjs.map} +1 -1
  3. package/dist-lib/chunks/{kpi-delta-DAfakvFp.cjs → kpi-delta-CXGg2nBx.cjs} +2 -2
  4. package/dist-lib/chunks/{kpi-delta-DAfakvFp.cjs.map → kpi-delta-CXGg2nBx.cjs.map} +1 -1
  5. package/dist-lib/chunks/{panel-INPypAHe.cjs → panel-C3fekbdr.cjs} +118 -97
  6. package/dist-lib/chunks/panel-C3fekbdr.cjs.map +1 -0
  7. package/dist-lib/chunks/{panel-BI52RBEn.mjs → panel-UwUWfDLf.mjs} +35 -14
  8. package/dist-lib/chunks/panel-UwUWfDLf.mjs.map +1 -0
  9. package/dist-lib/chunks/{textarea-K20CL_gF.cjs → sheet-B68Q4-Hn.cjs} +206 -206
  10. package/dist-lib/chunks/sheet-B68Q4-Hn.cjs.map +1 -0
  11. package/dist-lib/chunks/{textarea-BPRIHZVd.mjs → sheet-BgA2g6m4.mjs} +206 -206
  12. package/dist-lib/chunks/sheet-BgA2g6m4.mjs.map +1 -0
  13. package/dist-lib/chunks/{useTheme-3iZAognE.cjs → useTheme-C9Y6vxTf.cjs} +103 -52
  14. package/dist-lib/chunks/useTheme-C9Y6vxTf.cjs.map +1 -0
  15. package/dist-lib/chunks/{useTheme-B3ZakPqk.mjs → useTheme-DCmzLBUR.mjs} +103 -52
  16. package/dist-lib/chunks/{useTheme-3iZAognE.cjs.map → useTheme-DCmzLBUR.mjs.map} +1 -1
  17. package/dist-lib/index.cjs +17 -17
  18. package/dist-lib/index.cjs.map +1 -1
  19. package/dist-lib/index.mjs +11 -11
  20. package/dist-lib/index.mjs.map +1 -1
  21. package/dist-lib/preview/chat.cjs +1 -1
  22. package/dist-lib/preview/chat.mjs +1 -1
  23. package/dist-lib/preview/clientes.cjs +8 -14
  24. package/dist-lib/preview/clientes.cjs.map +1 -1
  25. package/dist-lib/preview/clientes.mjs +8 -14
  26. package/dist-lib/preview/clientes.mjs.map +1 -1
  27. package/dist-lib/preview/dashboard.cjs +2 -2
  28. package/dist-lib/preview/dashboard.mjs +2 -2
  29. package/dist-lib/shadcn.cjs +50 -50
  30. package/dist-lib/shadcn.mjs +1 -1
  31. package/dist-lib/src/components/ui/ColorPicker/color-picker.d.ts.map +1 -1
  32. package/dist-lib/src/components/ui/DataTable/column-types/definitions/date-column-type.d.ts.map +1 -1
  33. package/dist-lib/src/components/ui/DataTable/column-types/definitions/datetime-column-type.d.ts.map +1 -1
  34. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts.map +1 -1
  35. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts.map +1 -1
  36. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts +82 -3
  37. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts.map +1 -1
  38. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.styles.d.ts +3 -3
  39. package/dist-lib/src/preview/pages/ClientesShowcase/ClientesShowcase.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/dist-lib/chunks/panel-BI52RBEn.mjs.map +0 -1
  42. package/dist-lib/chunks/panel-INPypAHe.cjs.map +0 -1
  43. package/dist-lib/chunks/textarea-BPRIHZVd.mjs.map +0 -1
  44. package/dist-lib/chunks/textarea-K20CL_gF.cjs.map +0 -1
  45. package/dist-lib/chunks/useTheme-B3ZakPqk.mjs.map +0 -1
@@ -1310,7 +1310,7 @@ const sidebarRailUserDefault = avatar.tv({
1310
1310
  "bg-bg-brand text-fg-on-brand font-bold text-caption-sm uppercase tracking-[0.02em]"
1311
1311
  ]
1312
1312
  });
1313
- const sidebarPanel = avatar.tv({
1313
+ const sidebarPanel$1 = avatar.tv({
1314
1314
  base: [
1315
1315
  "w-[264px] flex-none h-full sticky top-0 flex flex-col overflow-hidden",
1316
1316
  "bg-bg-sidebar border-r border-border-sidebar",
@@ -1998,7 +1998,7 @@ function SidebarPanel({
1998
1998
  return /* @__PURE__ */ jsxRuntime.jsxs(
1999
1999
  "aside",
2000
2000
  {
2001
- className: avatar.cn(sidebarPanel({ collapsed, floating, mobile }), className),
2001
+ className: avatar.cn(sidebarPanel$1({ collapsed, floating, mobile }), className),
2002
2002
  "aria-hidden": collapsed,
2003
2003
  children: [
2004
2004
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: sidebarPanelHeader(), children: hasSwitcher ? /* @__PURE__ */ jsxRuntime.jsxs(avatar.DropdownMenu, { children: [
@@ -2335,21 +2335,62 @@ function useSingleMenuSidebarState(defaultExpanded, controlledExpanded, onExpand
2335
2335
  };
2336
2336
  }
2337
2337
  const sidebarRoot = avatar.tv({
2338
+ base: "relative h-full shrink-0",
2339
+ variants: {
2340
+ // Largura NO FLUXO. `rail` cobre recolhida E peek por hover — é isso que
2341
+ // impede o conteúdo ao lado de se mexer durante a espiada.
2342
+ flowWidth: {
2343
+ rail: "hidden md:block md:w-20",
2344
+ full: "w-full md:w-[280px]"
2345
+ }
2346
+ },
2347
+ defaultVariants: {
2348
+ flowWidth: "full"
2349
+ }
2350
+ });
2351
+ const sidebarPanel = avatar.tv({
2338
2352
  base: [
2339
- "relative flex h-full flex-col overflow-x-hidden",
2353
+ "flex h-full flex-col overflow-x-hidden",
2340
2354
  "border-r border-border-sidebar bg-bg-sidebar",
2341
2355
  "transition-[width] duration-300 ease-in-out"
2342
2356
  ],
2343
2357
  variants: {
2344
- // Mobile (< md): expandida = 100% da largura; recolhida = SOME (hidden).
2345
- // Desktop (md+): largura fixa, expandida (280px) ou recolhida (rail 80px).
2346
- expanded: {
2347
- true: "w-full md:w-[280px]",
2348
- false: "hidden md:flex md:w-20"
2358
+ /**
2359
+ * `overlay` segue o estado TRAVADO, não o hover e isso é o que evita um
2360
+ * defeito medido.
2361
+ *
2362
+ * A versão ligava `overlay` ao `isHoverExpand`. Ao sair do hover, o
2363
+ * `position` voltava a `static` **antes** de a largura terminar de animar:
2364
+ * aferido, aos +400ms o painel estava `static` com **279px** dentro de um
2365
+ * `<aside>` de 80px, sem `z-index` — grande, no fluxo e passível de ser
2366
+ * pintado atrás do conteúdo por ~300ms.
2367
+ *
2368
+ * Amarrando ao travado, o `position` **nunca troca durante a animação**:
2369
+ * fora do estado travado o painel é sempre absoluto, e só a largura anima.
2370
+ *
2371
+ * `md:` em tudo porque overlay é comportamento de DESKTOP — abaixo de md a
2372
+ * sidebar é drawer de largura cheia e não existe hover em touch.
2373
+ */
2374
+ overlay: {
2375
+ true: "md:absolute md:inset-y-0 md:left-0 md:z-40",
2376
+ false: ""
2377
+ },
2378
+ /** Largura VISUAL — independente da que o `<aside>` ocupa no fluxo. */
2379
+ visualWidth: {
2380
+ rail: "w-full md:w-20",
2381
+ full: "w-full md:w-[280px]"
2349
2382
  }
2350
2383
  },
2384
+ compoundVariants: [
2385
+ // Sombra só na espiada: é ela que indica "isto está flutuando sobre o
2386
+ // conteúdo". Recolhida, o painel também é absoluto (pra não trocar de
2387
+ // `position` no meio da animação), mas ali ele coincide com o rail e uma
2388
+ // sombra seria ruído.
2389
+ { overlay: true, visualWidth: "full", class: "md:shadow-sh-lg" }
2390
+ ],
2351
2391
  defaultVariants: {
2352
- expanded: true
2392
+ overlay: false,
2393
+ visualWidth: "full"
2353
2394
  }
2354
2395
  });
2355
2396
  const category = avatar.tv({
@@ -2937,57 +2978,67 @@ function SingleMenuSidebar({
2937
2978
  setOpenCategoryId
2938
2979
  ]
2939
2980
  );
2981
+ const travadaAberta = expanded && !isHoverExpand;
2940
2982
  return /* @__PURE__ */ jsxRuntime.jsxs(SingleMenuSidebarContext.Provider, { value: contextValue, children: [
2941
- /* @__PURE__ */ jsxRuntime.jsx(avatar.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsxs(
2983
+ /* @__PURE__ */ jsxRuntime.jsx(avatar.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsxRuntime.jsx(
2942
2984
  "aside",
2943
2985
  {
2944
2986
  "aria-label": "Navegação lateral",
2945
- className: avatar.cn(sidebarRoot({ expanded }), className),
2987
+ className: avatar.cn(sidebarRoot({ flowWidth: travadaAberta ? "full" : "rail" }), className),
2946
2988
  onMouseEnter,
2947
2989
  onMouseLeave,
2948
2990
  ...props,
2949
- children: [
2950
- /* @__PURE__ */ jsxRuntime.jsx(
2951
- SingleMenuHeader,
2952
- {
2953
- logo,
2954
- title,
2955
- showToggleIndicator
2956
- }
2957
- ),
2958
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.divider }),
2959
- expanded && (moduleDisplay || showSearch) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: avatar.cn(styles.sectionPadding, styles.textFadeIn), children: [
2960
- moduleDisplay && /* @__PURE__ */ jsxRuntime.jsx(SingleMenuModuleSelector, { ...moduleDisplay }),
2961
- showSearch && /* @__PURE__ */ jsxRuntime.jsx(
2962
- SingleMenuSearch,
2963
- {
2964
- placeholder: searchPlaceholder,
2965
- onOpen: () => setCommandOpen(true)
2966
- }
2967
- )
2968
- ] }),
2969
- expanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.divider }),
2970
- /* @__PURE__ */ jsxRuntime.jsx(
2971
- "nav",
2972
- {
2973
- className: avatar.cn(
2974
- styles.navContainer,
2975
- expanded ? styles.navContainerExpanded : styles.navContainerCollapsed
2991
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
2992
+ "div",
2993
+ {
2994
+ className: sidebarPanel({
2995
+ overlay: !travadaAberta,
2996
+ visualWidth: expanded ? "full" : "rail"
2997
+ }),
2998
+ children: [
2999
+ /* @__PURE__ */ jsxRuntime.jsx(
3000
+ SingleMenuHeader,
3001
+ {
3002
+ logo,
3003
+ title,
3004
+ showToggleIndicator
3005
+ }
2976
3006
  ),
2977
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.navList, children: effectiveCategories.map((cat) => /* @__PURE__ */ jsxRuntime.jsx(
2978
- SingleMenuCategory,
3007
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.divider }),
3008
+ expanded && (moduleDisplay || showSearch) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: avatar.cn(styles.sectionPadding, styles.textFadeIn), children: [
3009
+ moduleDisplay && /* @__PURE__ */ jsxRuntime.jsx(SingleMenuModuleSelector, { ...moduleDisplay }),
3010
+ showSearch && /* @__PURE__ */ jsxRuntime.jsx(
3011
+ SingleMenuSearch,
3012
+ {
3013
+ placeholder: searchPlaceholder,
3014
+ onOpen: () => setCommandOpen(true)
3015
+ }
3016
+ )
3017
+ ] }),
3018
+ expanded && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.divider }),
3019
+ /* @__PURE__ */ jsxRuntime.jsx(
3020
+ "nav",
2979
3021
  {
2980
- ...cat,
2981
- activeItemId,
2982
- onItemClick,
2983
- renderLink
2984
- },
2985
- cat.id
2986
- )) })
2987
- }
2988
- ),
2989
- /* @__PURE__ */ jsxRuntime.jsx(SingleMenuFooter, { ...user })
2990
- ]
3022
+ className: avatar.cn(
3023
+ styles.navContainer,
3024
+ expanded ? styles.navContainerExpanded : styles.navContainerCollapsed
3025
+ ),
3026
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.navList, children: effectiveCategories.map((cat) => /* @__PURE__ */ jsxRuntime.jsx(
3027
+ SingleMenuCategory,
3028
+ {
3029
+ ...cat,
3030
+ activeItemId,
3031
+ onItemClick,
3032
+ renderLink
3033
+ },
3034
+ cat.id
3035
+ )) })
3036
+ }
3037
+ ),
3038
+ /* @__PURE__ */ jsxRuntime.jsx(SingleMenuFooter, { ...user })
3039
+ ]
3040
+ }
3041
+ )
2991
3042
  }
2992
3043
  ) }),
2993
3044
  showSearch && /* @__PURE__ */ jsxRuntime.jsx(
@@ -3458,4 +3509,4 @@ exports.shouldPreventNavigation = shouldPreventNavigation;
3458
3509
  exports.useControllable = useControllable;
3459
3510
  exports.useMediaQuery = useMediaQuery;
3460
3511
  exports.useTheme = useTheme;
3461
- //# sourceMappingURL=useTheme-3iZAognE.cjs.map
3512
+ //# sourceMappingURL=useTheme-C9Y6vxTf.cjs.map