@rendra-ui/web 2.5.0 → 2.7.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 (68) hide show
  1. package/README.md +13 -3
  2. package/dist/base.css +1 -1
  3. package/dist/{empty-state-Cdb1vkMT.js → brand-feedback-icon-BYNcqBel.js} +4 -64
  4. package/dist/brand-feedback-icon-BYNcqBel.js.map +1 -0
  5. package/dist/{button-BzJgR2gH.js → button-DlzWwpZk.js} +7 -7
  6. package/dist/button-DlzWwpZk.js.map +1 -0
  7. package/dist/chart.js +15 -13
  8. package/dist/chart.js.map +1 -1
  9. package/dist/cli/auditar.js +1 -1
  10. package/dist/cli/codigos.js +2 -2
  11. package/dist/cli/executar-auditar.js +1 -1
  12. package/dist/cli/help.js +1 -1
  13. package/dist/cli/trocar.js +2 -2
  14. package/dist/cli/typescript-loader.js +1 -1
  15. package/dist/{cn-Cw7M5kEP.js → cn-B0N3Pek0.js} +2 -2
  16. package/dist/{cn-Cw7M5kEP.js.map → cn-B0N3Pek0.js.map} +1 -1
  17. package/dist/{components-DkpspH9h.js → components-CpQPMGfT.js} +18 -2
  18. package/dist/{components-DkpspH9h.js.map → components-CpQPMGfT.js.map} +1 -1
  19. package/dist/components.css +90 -1
  20. package/dist/document-viewer.js +4 -4
  21. package/dist/{tooltip-BAMSaGbS.js → dropdown-menu-M8vs0byD.js} +15 -81
  22. package/dist/dropdown-menu-M8vs0byD.js.map +1 -0
  23. package/dist/empty-state-a47Kd_Ci.js +67 -0
  24. package/dist/empty-state-a47Kd_Ci.js.map +1 -0
  25. package/dist/{features-max--5VEt6M7.js → features-max-ScxV8gb3.js} +1 -1
  26. package/dist/flow.js +1485 -0
  27. package/dist/flow.js.map +1 -0
  28. package/dist/index.js +130 -1899
  29. package/dist/index.js.map +1 -1
  30. package/dist/motion-context-BUMPf0e9.js +222 -0
  31. package/dist/motion-context-BUMPf0e9.js.map +1 -0
  32. package/dist/motion-on-CNN6y8g-.js +29 -0
  33. package/dist/motion-on-CNN6y8g-.js.map +1 -0
  34. package/dist/motion.js +3 -0
  35. package/dist/{rendra-provider-CRe0XdOU.js → rendra-provider-DEURIIL3.js} +3 -3
  36. package/dist/rendra-provider-DEURIIL3.js.map +1 -0
  37. package/dist/rich-text-editor.js +4 -3
  38. package/dist/rich-text-editor.js.map +1 -1
  39. package/dist/router-bridge.js +2 -2
  40. package/dist/router-bridge.js.map +1 -1
  41. package/dist/timeline-BOh7gUdA.js +1803 -0
  42. package/dist/timeline-BOh7gUdA.js.map +1 -0
  43. package/dist/tokens.css +1 -1
  44. package/dist/tooltip-Ym9S4h9_.js +76 -0
  45. package/dist/tooltip-Ym9S4h9_.js.map +1 -0
  46. package/dist/types/components/rendra-provider.d.ts +7 -2
  47. package/dist/types/components/rendra-router-bridge.d.ts +2 -1
  48. package/dist/types/components/ui/flow-editor.d.ts +11 -0
  49. package/dist/types/components/ui/flow-viewer.d.ts +58 -0
  50. package/dist/types/flow.d.ts +3 -0
  51. package/dist/types/index.d.ts +1 -0
  52. package/dist/types/lib/flow.d.ts +121 -0
  53. package/dist/types/lib/motion/index.d.ts +1 -1
  54. package/dist/types/lib/motion/motion-context.d.ts +21 -6
  55. package/dist/types/lib/motion/motion-on.d.ts +12 -0
  56. package/dist/types/motion.d.ts +1 -0
  57. package/dist/{use-breakpoint-O9eqFmsF.js → use-breakpoint-En17oXKY.js} +2 -2
  58. package/dist/{use-breakpoint-O9eqFmsF.js.map → use-breakpoint-En17oXKY.js.map} +1 -1
  59. package/dist/{use-motion-presets-BrkgL8lG.js → use-motion-presets-D3ww1oJX.js} +3 -3
  60. package/dist/{use-motion-presets-BrkgL8lG.js.map → use-motion-presets-D3ww1oJX.js.map} +1 -1
  61. package/dist/widget-grid.js +2 -2
  62. package/package.json +14 -1
  63. package/dist/button-BzJgR2gH.js.map +0 -1
  64. package/dist/empty-state-Cdb1vkMT.js.map +0 -1
  65. package/dist/motion-context-5BRIQAJm.js +0 -107
  66. package/dist/motion-context-5BRIQAJm.js.map +0 -1
  67. package/dist/rendra-provider-CRe0XdOU.js.map +0 -1
  68. package/dist/tooltip-BAMSaGbS.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ /*! Rendra Design System v2.7.0 | MIT | © 2026 Bruno Magalhaes | brunomagalhaes.me */
2
+ import { t as cn } from "./cn-B0N3Pek0.js";
3
+ import { i as useMotionLib } from "./motion-context-BUMPf0e9.js";
4
+ import { t as useMotionPresets } from "./use-motion-presets-D3ww1oJX.js";
5
+ import { t as BrandFeedbackIcon } from "./brand-feedback-icon-BYNcqBel.js";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/components/ui/empty-state.tsx
8
+ /** Estado vazio (e de erro) com o ícone de feedback da marca. */
9
+ function EmptyState({ title, description, type = "info", actions, size = "default", className }) {
10
+ const lib = useMotionLib();
11
+ const on = lib !== null;
12
+ const presets = useMotionPresets();
13
+ const Icon = on ? lib.m.span : "span";
14
+ const Title = on ? lib.m.p : "p";
15
+ const Description = on ? lib.m.p : "p";
16
+ const Actions = on ? lib.m.div : "div";
17
+ const part = (index) => {
18
+ if (!on) return {};
19
+ const enter = presets.slide("bottom", "short");
20
+ return {
21
+ ...enter,
22
+ transition: {
23
+ ...enter.transition,
24
+ ...presets.stagger(index)
25
+ }
26
+ };
27
+ };
28
+ return /* @__PURE__ */ jsxs("div", {
29
+ "data-rendra": "VAZ-001",
30
+ className: cn("flex flex-col items-center justify-center gap-4 text-center", size === "compact" ? "px-4 py-8" : "px-4 py-12 md:py-16", className),
31
+ children: [
32
+ /* @__PURE__ */ jsxs(Icon, {
33
+ className: "relative flex items-center justify-center",
34
+ ...part(0),
35
+ children: [/* @__PURE__ */ jsx("span", {
36
+ "aria-hidden": true,
37
+ className: "absolute size-16 rounded-full bg-gradient-soft"
38
+ }), /* @__PURE__ */ jsx(BrandFeedbackIcon, {
39
+ type,
40
+ size: size === "compact" ? "xl" : "2xl",
41
+ className: "relative"
42
+ })]
43
+ }),
44
+ /* @__PURE__ */ jsxs("div", {
45
+ className: "flex w-full flex-col gap-1",
46
+ children: [/* @__PURE__ */ jsx(Title, {
47
+ className: "text-base font-semibold wrap-break-word",
48
+ ...part(1),
49
+ children: title
50
+ }), description && /* @__PURE__ */ jsx(Description, {
51
+ className: "text-sm wrap-break-word text-muted-foreground",
52
+ ...part(2),
53
+ children: description
54
+ })]
55
+ }),
56
+ actions && /* @__PURE__ */ jsx(Actions, {
57
+ className: "flex flex-wrap justify-center gap-3",
58
+ ...part(3),
59
+ children: actions
60
+ })
61
+ ]
62
+ });
63
+ }
64
+ //#endregion
65
+ export { EmptyState as t };
66
+
67
+ //# sourceMappingURL=empty-state-a47Kd_Ci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state-a47Kd_Ci.js","names":[],"sources":["../src/components/ui/empty-state.tsx"],"sourcesContent":["import type { ElementType, ReactNode } from 'react'\nimport type { FeedbackType } from '@/brand/types'\nimport { BrandFeedbackIcon } from '@/components/ui/brand-feedback-icon'\nimport { cn } from '@/lib/cn'\nimport { useMotionLib, useMotionPresets } from '@/lib/motion'\n\nexport interface EmptyStateProps {\n title: string\n description?: ReactNode\n /** Tipo do ícone de feedback da marca. info para \"sem dados\", error para falha. */\n type?: FeedbackType\n /** Ações: no máximo uma principal e uma secundária. */\n actions?: ReactNode\n /** compact: dentro de tabela ou card pequeno. */\n size?: 'default' | 'compact'\n /**\n * Classes extras, que vencem as do componente. Para zerar o respiro vertical (por exemplo,\n * dentro de um card que já tem o seu) use `className=\"py-0 md:py-0\"`.\n */\n className?: string\n}\n\n/** Estado vazio (e de erro) com o ícone de feedback da marca. */\nexport function EmptyState({\n title,\n description,\n type = 'info',\n actions,\n size = 'default',\n className,\n}: EmptyStateProps) {\n const lib = useMotionLib()\n const on = lib !== null\n const presets = useMotionPresets()\n // Em `on` as quatro partes (ícone, título, descrição e ações) sobem em cascata de 60 ms, cada\n // uma com o deslize curto; a raiz em si não anima. Estado vazio é cota de encanto: ocasional,\n // sem teclado no caminho. Em `off` o HTML é o de sempre.\n const Icon: ElementType = on ? lib.m.span : 'span'\n const Title: ElementType = on ? lib.m.p : 'p'\n const Description: ElementType = on ? lib.m.p : 'p'\n const Actions: ElementType = on ? lib.m.div : 'div'\n const part = (index: number) => {\n if (!on) return {}\n const enter = presets.slide('bottom', 'short')\n return { ...enter, transition: { ...enter.transition, ...presets.stagger(index) } }\n }\n return (\n <div\n data-rendra=\"VAZ-001\"\n className={cn(\n 'flex flex-col items-center justify-center gap-4 text-center',\n size === 'compact' ? 'px-4 py-8' : 'px-4 py-12 md:py-16',\n className,\n )}\n >\n <Icon className=\"relative flex items-center justify-center\" {...part(0)}>\n <span aria-hidden className=\"absolute size-16 rounded-full bg-gradient-soft\" />\n <BrandFeedbackIcon\n type={type}\n size={size === 'compact' ? 'xl' : '2xl'}\n className=\"relative\"\n />\n </Icon>\n <div className=\"flex w-full flex-col gap-1\">\n <Title className=\"text-base font-semibold wrap-break-word\" {...part(1)}>\n {title}\n </Title>\n {description && (\n <Description className=\"text-sm wrap-break-word text-muted-foreground\" {...part(2)}>\n {description}\n </Description>\n )}\n </div>\n {actions && (\n <Actions className=\"flex flex-wrap justify-center gap-3\" {...part(3)}>\n {actions}\n </Actions>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAuBA,SAAgB,WAAW,EACzB,OACA,aACA,OAAO,QACP,SACA,OAAO,WACP,aACkB;CAClB,MAAM,MAAM,aAAa;CACzB,MAAM,KAAK,QAAQ;CACnB,MAAM,UAAU,iBAAiB;CAIjC,MAAM,OAAoB,KAAK,IAAI,EAAE,OAAO;CAC5C,MAAM,QAAqB,KAAK,IAAI,EAAE,IAAI;CAC1C,MAAM,cAA2B,KAAK,IAAI,EAAE,IAAI;CAChD,MAAM,UAAuB,KAAK,IAAI,EAAE,MAAM;CAC9C,MAAM,QAAQ,UAAkB;EAC9B,IAAI,CAAC,IAAI,OAAO,CAAC;EACjB,MAAM,QAAQ,QAAQ,MAAM,UAAU,OAAO;EAC7C,OAAO;GAAE,GAAG;GAAO,YAAY;IAAE,GAAG,MAAM;IAAY,GAAG,QAAQ,QAAQ,KAAK;GAAE;EAAE;CACpF;CACA,OACE,qBAAC,OAAD;EACE,eAAY;EACZ,WAAW,GACT,+DACA,SAAS,YAAY,cAAc,uBACnC,SACF;EANF,UAAA;GAQE,qBAAC,MAAD;IAAM,WAAU;IAA4C,GAAI,KAAK,CAAC;IAAtE,UAAA,CACE,oBAAC,QAAD;KAAM,eAAA;KAAY,WAAU;IAAkD,CAAA,GAC9E,oBAAC,mBAAD;KACQ;KACN,MAAM,SAAS,YAAY,OAAO;KAClC,WAAU;IACX,CAAA,CACG;;GACN,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,oBAAC,OAAD;KAAO,WAAU;KAA0C,GAAI,KAAK,CAAC;KAClE,UAAA;IACI,CAAA,GACN,eACC,oBAAC,aAAD;KAAa,WAAU;KAAgD,GAAI,KAAK,CAAC;KAC9E,UAAA;IACU,CAAA,CAEZ;;GACJ,WACC,oBAAC,SAAD;IAAS,WAAU;IAAsC,GAAI,KAAK,CAAC;IAChE,UAAA;GACM,CAAA;EAER;;AAET"}
@@ -1,3 +1,3 @@
1
- /*! Rendra Design System v2.5.0 | MIT | © 2026 Bruno Magalhaes | brunomagalhaes.me */
1
+ /*! Rendra Design System v2.7.0 | MIT | © 2026 Bruno Magalhaes | brunomagalhaes.me */
2
2
  import { domMax as react_default } from "motion/react";
3
3
  export { react_default as default };