@snksergio/design-system 0.1.0 → 0.1.1

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 (26) hide show
  1. package/dist-lib/chunks/{app-shell-BNTvOETJ.mjs → app-shell-llilp6pT.cjs} +2 -2
  2. package/dist-lib/chunks/{app-shell-BNTvOETJ.mjs.map → app-shell-llilp6pT.cjs.map} +1 -1
  3. package/dist-lib/chunks/{app-shell-mocks-oO_IV3Gw.mjs → app-shell-mocks-oO_IV3Gw.cjs} +1 -1
  4. package/dist-lib/chunks/{app-shell-mocks-oO_IV3Gw.mjs.map → app-shell-mocks-oO_IV3Gw.cjs.map} +1 -1
  5. package/dist-lib/chunks/{badge-DKpXURa1.mjs → badge-ibpffgg9.cjs} +2 -2
  6. package/dist-lib/chunks/{badge-DKpXURa1.mjs.map → badge-ibpffgg9.cjs.map} +1 -1
  7. package/dist-lib/chunks/{chat-v2-mocks-BV9Wha_Z.mjs → chat-v2-mocks-BV9Wha_Z.cjs} +1 -1
  8. package/dist-lib/chunks/{chat-v2-mocks-BV9Wha_Z.mjs.map → chat-v2-mocks-BV9Wha_Z.cjs.map} +1 -1
  9. package/dist-lib/chunks/{chip-group-CsKBBHW2.mjs → chip-group-CsKBBHW2.cjs} +1 -1
  10. package/dist-lib/chunks/{chip-group-CsKBBHW2.mjs.map → chip-group-CsKBBHW2.cjs.map} +1 -1
  11. package/dist-lib/chunks/{clientes-showcase-mocks-BMfbNNJh.mjs → clientes-showcase-mocks-CSSyPTno.cjs} +3 -3
  12. package/dist-lib/chunks/{clientes-showcase-mocks-BMfbNNJh.mjs.map → clientes-showcase-mocks-CSSyPTno.cjs.map} +1 -1
  13. package/dist-lib/chunks/{input-374MpdBL.mjs → input-BAZKFbZQ.cjs} +2 -2
  14. package/dist-lib/chunks/{input-374MpdBL.mjs.map → input-BAZKFbZQ.cjs.map} +1 -1
  15. package/dist-lib/chunks/{page-header-Dw-3wqAG.mjs → page-header-DkdQkqTk.cjs} +2 -2
  16. package/dist-lib/chunks/{page-header-Dw-3wqAG.mjs.map → page-header-DkdQkqTk.cjs.map} +1 -1
  17. package/dist-lib/chunks/{panel-bzNmFlEZ.mjs → panel-CEGA_98Q.cjs} +5 -5
  18. package/dist-lib/chunks/{panel-bzNmFlEZ.mjs.map → panel-CEGA_98Q.cjs.map} +1 -1
  19. package/dist-lib/chunks/{useTheme-Dee4mo-A.mjs → useTheme-Dee4mo-A.cjs} +1 -1
  20. package/dist-lib/chunks/{useTheme-Dee4mo-A.mjs.map → useTheme-Dee4mo-A.cjs.map} +1 -1
  21. package/dist-lib/index.cjs +6 -6
  22. package/dist-lib/preview/chat.cjs +6 -6
  23. package/dist-lib/preview/clientes.cjs +9 -9
  24. package/dist-lib/preview/dashboard.cjs +5 -5
  25. package/dist-lib/preview/mocks.cjs +3 -3
  26. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"input-374MpdBL.mjs","sources":["../../src/components/shadcn/input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Input — alinhado com `.tbl-form-input` do design-and-table-v2.\n *\n * Specs base (md, default):\n * - h: 40px (form-lg), px: 12px (pad-xl), radius: 10px (radius-lg)\n * - bg-input (light) / dark:bg-bg-muted\n * - border: 1px solid border-input\n * - font: 13px, color fg-default, placeholder fg-muted\n * - focus: border + shadow-sh-ring por state\n *\n * Pra inputs com prefixo/sufixo/ícone/botão dentro → use `<InputGroup>`.\n * Este componente é puro (só o <input>) — sem wrapper, sem adornments inline.\n */\n\nexport type InputState = \"default\" | \"error\" | \"warning\" | \"success\";\n\nconst inputVariants = cva(\n [\n \"flex w-full\",\n \"bg-bg-input dark:bg-bg-muted\",\n \"hover:bg-bg-input-hover dark:hover:bg-bg-muted-hover\",\n \"border border-border-input rounded-radius-lg\",\n \"px-pad-xl\",\n \"text-[13px] text-fg-default placeholder:text-fg-muted placeholder:opacity-70\",\n \"transition-[border-color,box-shadow,background-color] outline-none\",\n \"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-bg-input dark:disabled:hover:bg-bg-muted\",\n \"file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-fg-default\",\n ],\n {\n variants: {\n size: {\n xxs: \"min-h-form-xs rounded-radius-md\",\n xs: \"min-h-form-sm rounded-radius-md\",\n sm: \"min-h-form-md\",\n md: \"min-h-form-lg\",\n },\n state: {\n default: \"focus-visible:border-border-brand focus-visible:shadow-sh-ring\",\n error: \"border-border-danger-muted focus-visible:border-border-danger-muted focus-visible:shadow-sh-ring-danger\",\n warning: \"border-border-warning-muted focus-visible:border-border-warning-muted focus-visible:shadow-sh-ring-warning\",\n success: \"border-border-success-muted focus-visible:border-border-success-muted focus-visible:shadow-sh-ring-success\",\n },\n },\n defaultVariants: {\n size: \"md\",\n state: \"default\",\n },\n },\n);\n\nexport type InputVariantProps = VariantProps<typeof inputVariants>;\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n InputVariantProps {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, size, state, ...props }, ref) => {\n return (\n <input\n type={type}\n ref={ref}\n className={cn(inputVariants({ size, state }), className)}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n"],"names":["cva","React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,gBAAgBA,uBAAAA;AAAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,IAAK;AAAA,QACL,IAAK;AAAA,QACL,IAAK;AAAA,MAAA;AAAA,MAEP,OAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAQA,MAAM,QAAQC,iBAAM;AAAA,EAClB,CAAC,EAAE,WAAW,MAAM,MAAM,OAAO,GAAG,MAAA,GAAS,QAAQ;AACnD,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAWC,UAAAA,GAAG,cAAc,EAAE,MAAM,MAAA,CAAO,GAAG,SAAS;AAAA,QACtD,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AACA,MAAM,cAAc;;;"}
1
+ {"version":3,"file":"input-BAZKFbZQ.cjs","sources":["../../src/components/shadcn/input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Input — alinhado com `.tbl-form-input` do design-and-table-v2.\n *\n * Specs base (md, default):\n * - h: 40px (form-lg), px: 12px (pad-xl), radius: 10px (radius-lg)\n * - bg-input (light) / dark:bg-bg-muted\n * - border: 1px solid border-input\n * - font: 13px, color fg-default, placeholder fg-muted\n * - focus: border + shadow-sh-ring por state\n *\n * Pra inputs com prefixo/sufixo/ícone/botão dentro → use `<InputGroup>`.\n * Este componente é puro (só o <input>) — sem wrapper, sem adornments inline.\n */\n\nexport type InputState = \"default\" | \"error\" | \"warning\" | \"success\";\n\nconst inputVariants = cva(\n [\n \"flex w-full\",\n \"bg-bg-input dark:bg-bg-muted\",\n \"hover:bg-bg-input-hover dark:hover:bg-bg-muted-hover\",\n \"border border-border-input rounded-radius-lg\",\n \"px-pad-xl\",\n \"text-[13px] text-fg-default placeholder:text-fg-muted placeholder:opacity-70\",\n \"transition-[border-color,box-shadow,background-color] outline-none\",\n \"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-bg-input dark:disabled:hover:bg-bg-muted\",\n \"file:inline-flex file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-fg-default\",\n ],\n {\n variants: {\n size: {\n xxs: \"min-h-form-xs rounded-radius-md\",\n xs: \"min-h-form-sm rounded-radius-md\",\n sm: \"min-h-form-md\",\n md: \"min-h-form-lg\",\n },\n state: {\n default: \"focus-visible:border-border-brand focus-visible:shadow-sh-ring\",\n error: \"border-border-danger-muted focus-visible:border-border-danger-muted focus-visible:shadow-sh-ring-danger\",\n warning: \"border-border-warning-muted focus-visible:border-border-warning-muted focus-visible:shadow-sh-ring-warning\",\n success: \"border-border-success-muted focus-visible:border-border-success-muted focus-visible:shadow-sh-ring-success\",\n },\n },\n defaultVariants: {\n size: \"md\",\n state: \"default\",\n },\n },\n);\n\nexport type InputVariantProps = VariantProps<typeof inputVariants>;\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n InputVariantProps {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, size, state, ...props }, ref) => {\n return (\n <input\n type={type}\n ref={ref}\n className={cn(inputVariants({ size, state }), className)}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input, inputVariants };\n"],"names":["cva","React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,gBAAgBA,uBAAAA;AAAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,IAAK;AAAA,QACL,IAAK;AAAA,QACL,IAAK;AAAA,MAAA;AAAA,MAEP,OAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAQA,MAAM,QAAQC,iBAAM;AAAA,EAClB,CAAC,EAAE,WAAW,MAAM,MAAM,OAAO,GAAG,MAAA,GAAS,QAAQ;AACnD,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAWC,UAAAA,GAAG,cAAc,EAAE,MAAM,MAAA,CAAO,GAAG,SAAS;AAAA,QACtD,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AACA,MAAM,cAAc;;;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
- const chipGroup = require("./chip-group-CsKBBHW2.mjs");
3
+ const chipGroup = require("./chip-group-CsKBBHW2.cjs");
4
4
  const pageHeaderStyles = chipGroup.tv({
5
5
  slots: {
6
6
  root: "shrink-0 flex flex-col gap-gp-md",
@@ -72,4 +72,4 @@ function PageHeader({
72
72
  PageHeader.displayName = "PageHeader";
73
73
  exports.PageHeader = PageHeader;
74
74
  exports.pageHeaderStyles = pageHeaderStyles;
75
- //# sourceMappingURL=page-header-Dw-3wqAG.mjs.map
75
+ //# sourceMappingURL=page-header-DkdQkqTk.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-header-Dw-3wqAG.mjs","sources":["../../src/components/ui/PageHeader/page-header.styles.ts","../../src/components/ui/PageHeader/page-header.tsx"],"sourcesContent":["import { tv } from \"@/utils/tv\";\n\n/**\n * PageHeader styles — bloco de título de página colocado dentro do body\n * do `<AppShell>`.\n *\n * Layout desktop:\n * ┌──────────────────────────────────────────────────────────┐\n * │ [title] [badge] [action1] [action2] [CTA] │\n * │ description │\n * ├──────────────────────────────────────────────────────────┤\n * │ {children — ex: <Tabs />} │\n * └──────────────────────────────────────────────────────────┘\n *\n * Mobile:\n * - Text section sai (hideTextOnMobile, default true)\n * - Actions ocupam toda a largura; último botão vira fluid (CTA primary)\n */\nexport const pageHeaderStyles = tv({\n slots: {\n root: \"shrink-0 flex flex-col gap-gp-md\",\n topRow: \"flex items-center justify-between gap-gp-2xl\",\n textCol: \"flex flex-col gap-gp-xs min-w-0 flex-1\",\n titleRow: \"flex items-center gap-gp-md\",\n title: \"m-0 text-title-lg font-bold tracking-[-0.01em] text-fg-default\",\n description: [\n \"m-0 text-paragraph-sm text-fg-subtle leading-[1.5]\",\n \"whitespace-nowrap overflow-hidden text-ellipsis\",\n ],\n actionsRow: \"flex items-center gap-gp-sm shrink-0\",\n extraRow: \"w-full\",\n },\n variants: {\n hideTextOnMobile: {\n true: { textCol: \"max-md:hidden\" },\n false: {},\n },\n /**\n * Mobile: actions ocupa o espaço (text hidden) + último filho vira fluid.\n * Off = mantém actions square e shrink-0 (mesmo comportamento desktop).\n */\n mobileFluid: {\n true: {\n actionsRow: [\n \"max-md:shrink max-md:flex-1 max-md:justify-end\",\n \"max-md:[&>:last-child]:flex-1\",\n ],\n },\n false: {},\n },\n },\n defaultVariants: {\n hideTextOnMobile: true,\n mobileFluid: true,\n },\n});\n","import { cn } from \"@/lib/utils\";\nimport { pageHeaderStyles } from \"./page-header.styles\";\nimport type { PageHeaderProps } from \"./page-header.types\";\n\n/**\n * PageHeader — bloco de título reutilizável colocado dentro do body do\n * `<AppShell>`. Cobre o caso comum:\n *\n * - Título (h1) + descrição (sub) + badge (chip ao lado)\n * - Slot de ações à direita (botões / dropdowns)\n * - Slot livre abaixo pra tabs, filtros ou qualquer conteúdo extra\n *\n * Mobile-ready por default:\n * - Title/description/badge somem em viewports pequenas\n * (Header global do AppShell já mostra title/breadcrumb)\n * - O último botão do `actions` vira fluid (CTA full-width)\n *\n * @example\n * ```tsx\n * <PageHeader\n * title=\"Clientes\"\n * description=\"Gerencie sua base de clientes.\"\n * badge={<Chip color=\"primary\" variant=\"soft\">87 registros</Chip>}\n * actions={\n * <>\n * <Button variant=\"outline\" size=\"icon-md\"><MoreHorizontal /></Button>\n * <Button variant=\"filled\" color=\"primary\">Novo cliente</Button>\n * </>\n * }\n * />\n * ```\n *\n * @example com tabs abaixo (slot children):\n * ```tsx\n * <PageHeader title=\"Configurações\" actions={<Button>Salvar</Button>}>\n * <Tabs ... />\n * </PageHeader>\n * ```\n */\nexport function PageHeader({\n title,\n description,\n badge,\n actions,\n children,\n hideTextOnMobile = true,\n fluidPrimaryOnMobile = true,\n className,\n}: PageHeaderProps) {\n const s = pageHeaderStyles({\n hideTextOnMobile,\n mobileFluid: fluidPrimaryOnMobile,\n });\n\n const hasText = !!(title || description || badge);\n const hasTopRow = hasText || !!actions;\n\n return (\n <header className={cn(s.root(), className)}>\n {hasTopRow && (\n <div className={s.topRow()}>\n {hasText && (\n <div className={s.textCol()}>\n {(title || badge) && (\n <div className={s.titleRow()}>\n {title && <h1 className={s.title()}>{title}</h1>}\n {badge}\n </div>\n )}\n {description && <p className={s.description()}>{description}</p>}\n </div>\n )}\n {actions && <div className={s.actionsRow()}>{actions}</div>}\n </div>\n )}\n {children && <div className={s.extraRow()}>{children}</div>}\n </header>\n );\n}\n\nPageHeader.displayName = \"PageHeader\";\n"],"names":["tv","jsxs","cn","jsx"],"mappings":";;;AAkBO,MAAM,mBAAmBA,UAAAA,GAAG;AAAA,EACjC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA,MACX;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAAA,EAEZ,UAAU;AAAA,IACR,kBAAkB;AAAA,MAChB,MAAM,EAAE,SAAS,gBAAA;AAAA,MACjB,OAAO,CAAA;AAAA,IAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAMV,aAAa;AAAA,MACX,MAAM;AAAA,QACJ,YAAY;AAAA,UACV;AAAA,UACA;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,OAAO,CAAA;AAAA,IAAC;AAAA,EACV;AAAA,EAEF,iBAAiB;AAAA,IACf,kBAAkB;AAAA,IAClB,aAAa;AAAA,EAAA;AAEjB,CAAC;AChBM,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB;AACF,GAAoB;AAClB,QAAM,IAAI,iBAAiB;AAAA,IACzB;AAAA,IACA,aAAa;AAAA,EAAA,CACd;AAED,QAAM,UAAU,CAAC,EAAE,SAAS,eAAe;AAC3C,QAAM,YAAY,WAAW,CAAC,CAAC;AAE/B,SACEC,2BAAAA,KAAC,YAAO,WAAWC,UAAAA,GAAG,EAAE,KAAA,GAAQ,SAAS,GACtC,UAAA;AAAA,IAAA,aACCD,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,UACf,UAAA;AAAA,MAAA,WACCA,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,WACd,UAAA;AAAA,SAAA,SAAS,UACTA,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,YACf,UAAA;AAAA,UAAA,wCAAU,MAAA,EAAG,WAAW,EAAE,MAAA,GAAU,UAAA,OAAM;AAAA,UAC1C;AAAA,QAAA,GACH;AAAA,QAED,eAAeE,2BAAAA,IAAC,KAAA,EAAE,WAAW,EAAE,YAAA,GAAgB,UAAA,YAAA,CAAY;AAAA,MAAA,GAC9D;AAAA,MAED,WAAWA,2BAAAA,IAAC,OAAA,EAAI,WAAW,EAAE,WAAA,GAAe,UAAA,QAAA,CAAQ;AAAA,IAAA,GACvD;AAAA,IAED,YAAYA,2BAAAA,IAAC,OAAA,EAAI,WAAW,EAAE,SAAA,GAAa,SAAA,CAAS;AAAA,EAAA,GACvD;AAEJ;AAEA,WAAW,cAAc;;;"}
1
+ {"version":3,"file":"page-header-DkdQkqTk.cjs","sources":["../../src/components/ui/PageHeader/page-header.styles.ts","../../src/components/ui/PageHeader/page-header.tsx"],"sourcesContent":["import { tv } from \"@/utils/tv\";\n\n/**\n * PageHeader styles — bloco de título de página colocado dentro do body\n * do `<AppShell>`.\n *\n * Layout desktop:\n * ┌──────────────────────────────────────────────────────────┐\n * │ [title] [badge] [action1] [action2] [CTA] │\n * │ description │\n * ├──────────────────────────────────────────────────────────┤\n * │ {children — ex: <Tabs />} │\n * └──────────────────────────────────────────────────────────┘\n *\n * Mobile:\n * - Text section sai (hideTextOnMobile, default true)\n * - Actions ocupam toda a largura; último botão vira fluid (CTA primary)\n */\nexport const pageHeaderStyles = tv({\n slots: {\n root: \"shrink-0 flex flex-col gap-gp-md\",\n topRow: \"flex items-center justify-between gap-gp-2xl\",\n textCol: \"flex flex-col gap-gp-xs min-w-0 flex-1\",\n titleRow: \"flex items-center gap-gp-md\",\n title: \"m-0 text-title-lg font-bold tracking-[-0.01em] text-fg-default\",\n description: [\n \"m-0 text-paragraph-sm text-fg-subtle leading-[1.5]\",\n \"whitespace-nowrap overflow-hidden text-ellipsis\",\n ],\n actionsRow: \"flex items-center gap-gp-sm shrink-0\",\n extraRow: \"w-full\",\n },\n variants: {\n hideTextOnMobile: {\n true: { textCol: \"max-md:hidden\" },\n false: {},\n },\n /**\n * Mobile: actions ocupa o espaço (text hidden) + último filho vira fluid.\n * Off = mantém actions square e shrink-0 (mesmo comportamento desktop).\n */\n mobileFluid: {\n true: {\n actionsRow: [\n \"max-md:shrink max-md:flex-1 max-md:justify-end\",\n \"max-md:[&>:last-child]:flex-1\",\n ],\n },\n false: {},\n },\n },\n defaultVariants: {\n hideTextOnMobile: true,\n mobileFluid: true,\n },\n});\n","import { cn } from \"@/lib/utils\";\nimport { pageHeaderStyles } from \"./page-header.styles\";\nimport type { PageHeaderProps } from \"./page-header.types\";\n\n/**\n * PageHeader — bloco de título reutilizável colocado dentro do body do\n * `<AppShell>`. Cobre o caso comum:\n *\n * - Título (h1) + descrição (sub) + badge (chip ao lado)\n * - Slot de ações à direita (botões / dropdowns)\n * - Slot livre abaixo pra tabs, filtros ou qualquer conteúdo extra\n *\n * Mobile-ready por default:\n * - Title/description/badge somem em viewports pequenas\n * (Header global do AppShell já mostra title/breadcrumb)\n * - O último botão do `actions` vira fluid (CTA full-width)\n *\n * @example\n * ```tsx\n * <PageHeader\n * title=\"Clientes\"\n * description=\"Gerencie sua base de clientes.\"\n * badge={<Chip color=\"primary\" variant=\"soft\">87 registros</Chip>}\n * actions={\n * <>\n * <Button variant=\"outline\" size=\"icon-md\"><MoreHorizontal /></Button>\n * <Button variant=\"filled\" color=\"primary\">Novo cliente</Button>\n * </>\n * }\n * />\n * ```\n *\n * @example com tabs abaixo (slot children):\n * ```tsx\n * <PageHeader title=\"Configurações\" actions={<Button>Salvar</Button>}>\n * <Tabs ... />\n * </PageHeader>\n * ```\n */\nexport function PageHeader({\n title,\n description,\n badge,\n actions,\n children,\n hideTextOnMobile = true,\n fluidPrimaryOnMobile = true,\n className,\n}: PageHeaderProps) {\n const s = pageHeaderStyles({\n hideTextOnMobile,\n mobileFluid: fluidPrimaryOnMobile,\n });\n\n const hasText = !!(title || description || badge);\n const hasTopRow = hasText || !!actions;\n\n return (\n <header className={cn(s.root(), className)}>\n {hasTopRow && (\n <div className={s.topRow()}>\n {hasText && (\n <div className={s.textCol()}>\n {(title || badge) && (\n <div className={s.titleRow()}>\n {title && <h1 className={s.title()}>{title}</h1>}\n {badge}\n </div>\n )}\n {description && <p className={s.description()}>{description}</p>}\n </div>\n )}\n {actions && <div className={s.actionsRow()}>{actions}</div>}\n </div>\n )}\n {children && <div className={s.extraRow()}>{children}</div>}\n </header>\n );\n}\n\nPageHeader.displayName = \"PageHeader\";\n"],"names":["tv","jsxs","cn","jsx"],"mappings":";;;AAkBO,MAAM,mBAAmBA,UAAAA,GAAG;AAAA,EACjC,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA,MACX;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAAA,EAEZ,UAAU;AAAA,IACR,kBAAkB;AAAA,MAChB,MAAM,EAAE,SAAS,gBAAA;AAAA,MACjB,OAAO,CAAA;AAAA,IAAC;AAAA;AAAA;AAAA;AAAA;AAAA,IAMV,aAAa;AAAA,MACX,MAAM;AAAA,QACJ,YAAY;AAAA,UACV;AAAA,UACA;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,OAAO,CAAA;AAAA,IAAC;AAAA,EACV;AAAA,EAEF,iBAAiB;AAAA,IACf,kBAAkB;AAAA,IAClB,aAAa;AAAA,EAAA;AAEjB,CAAC;AChBM,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB;AACF,GAAoB;AAClB,QAAM,IAAI,iBAAiB;AAAA,IACzB;AAAA,IACA,aAAa;AAAA,EAAA,CACd;AAED,QAAM,UAAU,CAAC,EAAE,SAAS,eAAe;AAC3C,QAAM,YAAY,WAAW,CAAC,CAAC;AAE/B,SACEC,2BAAAA,KAAC,YAAO,WAAWC,UAAAA,GAAG,EAAE,KAAA,GAAQ,SAAS,GACtC,UAAA;AAAA,IAAA,aACCD,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,UACf,UAAA;AAAA,MAAA,WACCA,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,WACd,UAAA;AAAA,SAAA,SAAS,UACTA,2BAAAA,KAAC,OAAA,EAAI,WAAW,EAAE,YACf,UAAA;AAAA,UAAA,wCAAU,MAAA,EAAG,WAAW,EAAE,MAAA,GAAU,UAAA,OAAM;AAAA,UAC1C;AAAA,QAAA,GACH;AAAA,QAED,eAAeE,2BAAAA,IAAC,KAAA,EAAE,WAAW,EAAE,YAAA,GAAgB,UAAA,YAAA,CAAY;AAAA,MAAA,GAC9D;AAAA,MAED,WAAWA,2BAAAA,IAAC,OAAA,EAAI,WAAW,EAAE,WAAA,GAAe,UAAA,QAAA,CAAQ;AAAA,IAAA,GACvD;AAAA,IAED,YAAYA,2BAAAA,IAAC,OAAA,EAAI,WAAW,EAAE,SAAA,GAAa,SAAA,CAAS;AAAA,EAAA,GACvD;AAEJ;AAEA,WAAW,cAAc;;;"}
@@ -7,12 +7,12 @@ const React = require("react");
7
7
  const core = require("@dnd-kit/core");
8
8
  const sortable = require("@dnd-kit/sortable");
9
9
  const reactVirtual = require("@tanstack/react-virtual");
10
- const chipGroup = require("./chip-group-CsKBBHW2.mjs");
11
- const badge = require("./badge-DKpXURa1.mjs");
12
- const appShell = require("./app-shell-BNTvOETJ.mjs");
10
+ const chipGroup = require("./chip-group-CsKBBHW2.cjs");
11
+ const badge = require("./badge-ibpffgg9.cjs");
12
+ const appShell = require("./app-shell-llilp6pT.cjs");
13
13
  const lucideReact = require("lucide-react");
14
14
  const PopoverPrimitive = require("@radix-ui/react-popover");
15
- const input = require("./input-374MpdBL.mjs");
15
+ const input = require("./input-BAZKFbZQ.cjs");
16
16
  const AlertDialogPrimitive = require("@radix-ui/react-alert-dialog");
17
17
  const classVarianceAuthority = require("class-variance-authority");
18
18
  const reactDayPicker = require("react-day-picker");
@@ -9734,4 +9734,4 @@ exports.savedViewsMockService = savedViewsMockService;
9734
9734
  exports.useColumnWidths = useColumnWidths;
9735
9735
  exports.useDataTableContext = useDataTableContext;
9736
9736
  exports.useFloatingPanelResize = useFloatingPanelResize;
9737
- //# sourceMappingURL=panel-bzNmFlEZ.mjs.map
9737
+ //# sourceMappingURL=panel-CEGA_98Q.cjs.map